
Hello,
I'm trying to start kernel 2.4.18 on M9328MX1ADS ver1.1 board with u-boot. For the moment, my Kernel image works on my evaluation board using specific bootloader provided by freescale.
I compile u-boot 1.1.4 with gnuarm-3.4.3 tools. make mrproper make mx1ads_config make all
I download u-boot.bin file with MX1Flash utility v2.0.1 On board power on, u-boot starts well.
There, some system information :
u-boot start sequence :
U-Boot 1.1.4 (Jul 27 2006 - 14:23:50)
U-Boot code: 08400000 -> 08418494 BSS: -> 0841C8EC RAM Configuration: Bank #0: 08000000 64 MB Flash: 16 MB In: serial Out: serial Err: serial MX1ADS board with UNKNOWN MC9328 cpu, Silicon ID 0x0001901d Hit any key to stop autoboot: 0 MX1ADS$
Board info structure :
MX1ADS$ bdinfo arch_number = 0x000000A0 env_t = 0x00000000 boot_params = 0x08000100 DRAM bank = 0x00000000 -> start = 0x08000000 -> size = 0x04000000 ethaddr = 00:00:00:00:00:00 ip_addr = 0.0.0.0 baudrate = 115200 bps MX1ADS$
Flash memory information :
MX1ADS$ flinfo
Bank # 1: Micron: 2x FLASH_MT28S4M16LC (16MB Total) Size: 16 MB in 16 Sectors Sector Start Addresses: 0C000000 (RO) 0C100000 0C200000 0C300000 0C400000 0C500000 0C600000 0C700000 0C800000 0C900000 0CA00000 0CB00000 0CC00000 0CD00000 0CE00000 0CF00000 (RO) MX1ADS$
I create kernel uImage like this :
arm-elf-copy -O binary -R .note -R .comment -S vmlinux linux.bin mkimage -A arm -O linux -T kernel -C none -a 0x08800000 -e 0x08800000
-n "Linux Kernel Image" -d linux.bin uImage
arm-elf-objcopy -I binary -O srec --change-address 0x0C100000 uImage
uImage.srec
Next, I erase flash sectors and download my uImage.srec file with u-boot :
MX1ADS$ erase 0C100000 0CAFFFFF Erasing sector 1 ... ok. Erasing sector 2 ... ok. Erasing sector 3 ... ok. Erasing sector 4 ... ok. Erasing sector 5 ... ok. Erasing sector 6 ... ok. Erasing sector 7 ... ok. Erasing sector 8 ... ok. Erasing sector 9 ... ok. Erasing sector 10 ... ok. Erased 10 sectors MX1ADS$ loads (uImage.srec) ## Ready for S-Record download ...
................................................................................
................................................................................ ## First Load Addr = 0x0C100000 ## Last Load Addr = 0x0C2D7BE6 ## Total Size = 0x001D7BE7 = 1932263 Bytes ## Start Addr = 0x0C100000 MX1ADS$
I verify kernel image at 0x0C100000 address :
MX1ADS$ imi 0C100000
## Checking Image at 0c100000 ... Image Name: Linux Kernel Image Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1932199 Bytes = 1.8 MB Load Address: 08800000 Entry Point: 08800000 Verifying Checksum ... OK MX1ADS$
Then I boot on the kernel image and problem starts...
MX1ADS$ bootm 0C100000 ## Booting image at 0c100000 ... Image Name: Linux Kernel Image Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1932199 Bytes = 1.8 MB Load Address: 08800000 Entry Point: 08800000 Verifying Checksum ... OK OK
Starting kernel ...
At this point, anything happens. The system is blocked. I use the mx1ads u-boot standard configuration. I have try a compressed kernel with no improvement, kernel is uncompressed in RAM but nothing happens after. I read data at 0x0C100000 address with 'md' u-boot command and data matches with the downloaded uImage file.
For testing, I copy manually kernel from 0x0C100000 to 0x08800000 and start the kernel with the u-boot 'go' command. Kernel first instructions are executed.
Have any idea concerning my kernel boot problem ?
I suppose it's a basic problem, thank you for your reply, Benoît Degand.