Month: January 2019

Flashing NuttX on Engie CE0035 board

$ JLinkExe -device ATSAML21G18 -if SWD
SEGGER J-Link Commander V6.40 (Compiled Oct 26 2018 15:08:38)
DLL version V6.40, compiled Oct 26 2018 15:08:28

Connecting to J-Link via USB…O.K.
Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46
Hardware version: V8.00
S/N: 268006167
License(s): FlashBP, GDB
OEM: SEGGER-EDU
VTref=3.313V

Type “connect” to establish a target connection, ‘?’ for help
J-Link>connect
Specify target interface speed [kHz]. : 4000 kHz
Speed>
Device “ATSAML21G18” selected.

Connecting to target via SWD
InitTarget()
Found SW-DP with ID 0x0BC11477
Scanning AP map to find all available APs
AP[1]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x04770031)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0x41003000
CPUID register: 0x410CC601. Implementer code: 0x41 (ARM)
Found Cortex-M0 r0p1, Little endian.
FPUnit: 4 code (BP) slots and 0 literal slots
CoreSight components:
ROMTbl[0] @ 41003000
ROMTbl[0][0]: E00FF000, CID: B105100D, PID: 000BB4C0 ROM Table
ROMTbl[1] @ E00FF000
ROMTbl[1][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
ROMTbl[1][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
ROMTbl[1][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
ROMTbl[0][1]: 41006000, CID: B105900D, PID: 001BB932 MTB-M0+
Cortex-M0 identified.
J-Link>loadbin nuttx.bin 0
Halting CPU for downloading file.
Downloading file [nuttx.bin]…
Comparing flash [100%] Done.
Erasing flash [100%] Done.
Programming flash [100%] Done.
Verifying flash [100%] Done.
J-Link: Flash download: Bank 0 @ 0x00000000: 8 ranges affected (40960 bytes)
J-Link: Flash download: Total time needed: 0.516s (Prepare: 0.024s, Compare: 0.040s, Erase: 0.136s, Program: 0.303s, Verify: 0.008s, Restore: 0.003s)
O.K.
J-Link>exit

Compiling NuttX to BeagleBoneBlack

These are the steps I took to get NuttX running on BeagleBoneBlack (BBB) :

$ git clone https://bitbucket.org/nuttx/nuttx
$ git clone https://bitbucket.org/nuttx/apps
$ cd nuttx
$ ./tools/configure.sh beaglebone-black/nsh
$ make menuconfig
Enter inside:
Build Setup —>
Build Host Platform (Linux)
Optimization Level (Normal, Full optimization)

$ make

After compilation it will create the file nuttx.bin! Copy this file to the root directory of a microSD Card formated as FAT32.

Put this microSD Card in the BBB!

Power on the BeagleBoneBlack and on serial console press some key to stop the U-Boot autoboot:

U-Boot SPL 2014.04-00015-gb4422bd (Apr 22 2014 – 13:24:29)
reading args
spl_load_image_fat_os: error reading image args, err – -1
reading u-boot.img
reading u-boot.img

U-Boot 2014.04-00015-gb4422bd (Apr 22 2014 – 13:24:29)

I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning – readenv() failed, using default environment

Net: not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot: 0
U-Boot#

Then execute:

U-Boot# load mmc 0 0x8a000000 nuttx.bin
reading nuttx.bin
188932 bytes read in 17 ms (10.6 MiB/s)

U-Boot# go 0x8a000000
## Starting application at 0x8A000000 …

NuttShell (NSH)
nsh>

Very easy! Kudos to Petro for creating this nice port!

Installing Jenkins on Ubuntu 18.04

I installed Jenkins on my Linux machine following this tutorial:

https://linuxize.com/post/how-to-install-jenkins-on-ubuntu-18-04/

But the command:

$ sudo apt install jenkins

Failed! It happened because my Ubuntu had a newer version of the openjdk, let to remove it:

$ dpkg -l openjdk*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============================-====================-====================-====================================================================
un openjdk-11-demo (no description available)
ii openjdk-11-jdk:amd64 10.0.2+13-1ubuntu0.1 amd64 OpenJDK Development Kit (JDK)
ii openjdk-11-jdk-headless:amd64 10.0.2+13-1ubuntu0.1 amd64 OpenJDK Development Kit (JDK) (headless)
ii openjdk-11-jre:amd64 10.0.2+13-1ubuntu0.1 amd64 OpenJDK Java runtime, using Hotspot JIT
ii openjdk-11-jre-headless:amd64 10.0.2+13-1ubuntu0.1 amd64 OpenJDK Java runtime, using Hotspot JIT (headless)
un openjdk-11-source (no description available)
un openjdk-6-jre-headless (no description available)
un openjdk-8-demo (no description available)
ii openjdk-8-jdk:amd64 8u191-b12-0ubuntu0.1 amd64 OpenJDK Development Kit (JDK)
ii openjdk-8-jdk-headless:amd64 8u191-b12-0ubuntu0.1 amd64 OpenJDK Development Kit (JDK) (headless)
ii openjdk-8-jre:amd64 8u191-b12-0ubuntu0.1 amd64 OpenJDK Java runtime, using Hotspot JIT
ii openjdk-8-jre-headless:amd64 8u191-b12-0ubuntu0.1 amd64 OpenJDK Java runtime, using Hotspot JIT (headless)
un openjdk-8-source (no description available)
$ sudo apt purge openjdk-11-jre:amd64 openjdk-11-jre-headless:amd64 openjdk-11-jdk-headless:amd64 openjdk-11-jdk:amd64

After doing it the instalation worked fine.