I am attempting to boot MQX using U-boot, and I was hoping it would be something as straightforward as using the "go" command in U-boot. Unfornunately that is not the case. Here's my output:
U-Boot 2015.04-dirty (May 19 2015 - 13:00:05) CPU: Freescale Vybrid VF610 at 396 MHz Reset cause: EXTERNAL RESET Board: vf610twr I2C: ready DRAM: 128 MiB WARNING: Caches not enabled NAND: 256 MiB MMC: FSL_SDHC: 0 In: serial Out: serial Err: serial Net: FEC Error: FEC address not set. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device 91608 bytes read in 67 ms (1.3 MiB/s) ## Starting application at 0x80000000 ...
And then it just hangs.
Following is the boot procedure:
baudrate=115200 => load mmc 0:1 $loadaddr /mqxapp.bin 91608 bytes read in 68 ms (1.3 MiB/s) => echo $loadaddr 0x80000000 => go $loadaddr ## Starting application at 0x80000000 ...
"mqxapp.bin" is produced using fromelf and is based the "hello2" example project found in "[MQX_ROOT]/mqx/examples":
fromelf --bincombined --fpu=vfpv4 --output=mqxapp.bin hello2_twrvf65gs10_a5.axf
The build target is "DDR Release" using "ddr.scf" provided with the VF610twr BSP:
#define CODE_BASE_ADDR_START 0x80000000 #define CODE_BASE_ADDR_END 0x800ffff0 #define CODE_SIZE (CODE_BASE_ADDR_END - CODE_BASE_ADDR_START) #define DATA_BASE_ADDR_START 0x80100000 #define DATA_BASE_ADDR_END 0x87fffff0 #define DATA_SIZE (DATA_BASE_ADDR_END - DATA_BASE_ADDR_START)
I imagine that the provided scatter file ("ddr.scf") is not suitable to be used with U-boot, and I cannot seem to find any relevant documentation that explain this process in detail. Does anyone have some pointers on how to boot MQX using U-boot on Vybrid?
EDIT: Formatting and spelling.