Download the following file to get U-Boot and Android firmware images for the ConnectCore 6 EA kit (based on the Adapter board):
https://ftp1.digi.com/support/developmentsoftware/82003474_1P.zip
Uncompress the zip the file to your TFTP exposed folder on your development PC.
- boot.img (Android kernel)
- system.img (Android root file system)
- u-boot-ccimx6adpt.imx (U-Boot image)
Connect an Ethernet cable to RJ45 on adapter board. Start a TFTP server.
Start the target and stop in U-Boot. On the boot message check the U-Boot version. If it is different than DUB-2.1.1.2 (lower or higher) you need to replace the boot loader using the downloaded U-Boot image. To update U-Boot via TFTP, you need to firstconfigure the network settings:
=> setenv ipaddr 192.168.42.30
(replace the above IP address with the static IP you can assign to the module)
=> setenv serverip 192.168.42.1
(replace the above IP address with the IP of your development machine running tftp server)
=> update uboot tftp
Do you really want to program the boot loader? <y/N> y
Using FEC device
TFTP from server 192.168.42.1; our IP address is 192.168.42.30
Filename 'u-boot-ccimx6adpt.imx'.
Load address: 0x12000000
Loading: ###################
543.9 KiB/s
done
Bytes transferred = 273532 (42c7c hex)
switch to partions #1, OK
mmc0(part 1) is current device
MMC write: dev # 0, block # 2, count 535 ... 535 blocks write:OK
mmc0(part 1) is current device
=>
Reset the board using U-Boot’s reset command:
=> reset
resetting ...
U-Boot 2013.04 - DUB-2.1.1.2 (Apr 09 2014 - 13:15:58)
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
CPU: Temperature 49 C, calibration data: 0x58b4ef69
Reset cause: WDOG
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
In: serial
Out: serial
Err: serial
Board: ConnectCore 6 on the Adapter board
Boot device: esdhc4 (eMMC)
PMIC: DA9063, Device: 0x61, Variant: 0x50, Customer: 0x00, Config: 0x56
Net: FEC[PRIME]
Hit any key to stop autoboot: 0
** No partition table - mmc 0 **
Error loading firmware file to RAM
=>
You need to reset the U-Boot environment to the defaults for the recently updated DUB-2.1.1.2 U-Boot. This will however reset the environment variables that hold the MAC addresses. Before resetting, please make sure you write down the MAC addresses of your device. There are three MAC addresses (Ethernet, WiFi, Bluetooth) that should be printed on a label on the ConnectCore 6 module. If not, the MACs can also be retrieved with the following command:
=> printenv ethaddr wlanaddr btaddr
ethaddr=11:11:11:11:11:11
wlanaddr=22:22:22:22:22:22
btaddr=33:33:33:33:33:33
Write them down to be able to restore them later. Then reset the environment with:
=> env default -a
Now restore the MAC addresses with the values read before(will be different on your case):
=> setenv -f ethaddr 11:11:11:11:11:11
=> setenv -f wlanaddr 22:22:22:22:22:22
=> setenv -f btaddr 33:33:33:33:33:33
Note: The variables that hold the MAC addresses have a write-once protection flag , to override the flag use -f along with protected variable.
Configure again the network addresses (lost after thereset):
=> setenv ipaddr 192.168.42.30
(replacethe above IP address with the static IP you can assign to the module)
=>setenv serverip 192.168.42.1
(replace the above IP address with the IP of your Linuxdevelopment machine running tftp server)
Optionallydisable the automatic bootscript by clearing the ‘bootscript’ variable:
=> setenv bootscript
Finally save all the changes in the environment.
=> saveenv
Partition the eMMC for holding Android images by running
=> setenv mmcdev 0
=> run partition_mmc_android
mmc0(part0) is current device
=>
Write the file boot.img to eMMC partition android
=> update android tftp boot.img
UsingFEC device
TFTPfrom server 192.168.42.1; our IP address is 192.168.42.30
Filename'boot.img'.
Loadaddress: 0x12000000
Loading:#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#######################################################
11.1 MiB/s
done
Bytestransferred = 5568000 (54f600 hex)
mmc0(part0) is current device
MMCwrite: dev # 0, block # 4096, count 10875 ... 10875 blocks write: OK
=>
Write the file system.img to eMMC partition system.
=> update system tftp system.img
Using FEC device
TFTP from server 192.168.42.1; our IP address is 192.168.42.30
Filename 'system.img'.
Load address: 0x12000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
(--- omittedlines---)
#################################################################
##################################
11.1 MiB/s
done
Bytes transferred = 536870912 (20000000 hex)
mmc0(part 0) is current device
MMC write: dev # 0, block # 266240, count 1048576 ... 1048576blocks write: OK
=>
Set the last environment variables
=> bootargs_once="androidboot.cache=formatandroidboot.data=format"
=> setenv bootcmd dboot android mmc
=> saveenv
Saving Environment to MMC...
Writing to MMC(0)... done
=>
You can now boot now Android
=> dboot android mmc
Last updated:
Jan 01, 2024