Hi,
We have downloaded the latest stock standard kernel (uImage-dm365-evm.bin) from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/latest/index_FDS.html. We have successfully tftpbooted using this but are having issues loading it now onto the NAND. The error seems to be that the kernel is larger than a single page and as a result cannot be copied across. Attempting to write over a page boundary isn't working for us either.
Kindly take a look at our logic below:
- The below is the default printout at bootup to 'uBoot halt'
Jumping to entry point at 0x81080000.
LSP 2.10 BETA RELEASE
VERSION: 2.10.008.02
U-Boot 1.3.4 (Mar 2 2009 - 11:50:39)
I2C: ready
DRAM: 128 MB
NAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)
Bad block table found at page 524096, version 0x01
Bad block table found at page 524032, version 0x01
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)
Bad block table not found for chip 0
Bad block table not found for chip 0
Bad block table written to 0x3ffe0000, version 0x01
Bad block table written to 0x3ffc0000, version 0x01
2048 MiB
In: serial
Out: serial
Err: serial
Ethernet PHY: GENERIC @ 0x00
Hit any key to stop autoboot: 0
- We load the kernel from TFTP into RAM & note its exact size.
DM365 EVM :>tftp 0x80700000 uImage-dm365-evm.bin
TFTP from server 10.0.0.10; our IP address is 10.0.0.9
Filename 'uImage-dm365-evm.bin'.
Load address: 0x80700000
Loading: #################################################################
#################################################################
##############
done
Bytes transferred = 2108492 (202c4c hex)
- If we bootm from here the system works correctly. If however we proceed to erase and program the flash as per the guide found at
DM365 EVM :>nand erase 0x400000 0x200000
NAND erase: device 0 offset 0x400000, size 0x200000
Erasing at 0x5e0000 -- 100% complete.
OK
DM365 EVM :>nand write 0x80700000 0x400000 0x200000
NAND write: device 0 offset 0x400000, size 0x200000
2097152 bytes written: OK
DM365 EVM :>nboot 0x80700000 0 0x400000
Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000
Image Name: Arago/2.6.31+2.6.32-rc1-r35+gitr
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2108428 Bytes = 2 MB
Load Address: 80008000
Entry Point: 80008000
DM365 EVM :>bootm
## Booting kernel from Legacy Image at 80700000 ...
Image Name: Arago/2.6.31+2.6.32-rc1-r35+gitr
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2108428 Bytes = 2 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
- It was here that we noticed that the kernel was larger than 0x200000 bytes(0x202c4c as per the tftpboot output from above). So we try to do this erase and flash again using these revised figures noting 105% as rather interesting?
DM365 EVM :>nand erase 0x400000 0x202c4c
NAND erase: device 0 offset 0x400000, size 0x202c4c
Erasing at 0x600000 -- 105% complete.
OK
DM365 EVM :>nand write 0x80700000 0x400000 0x202c4c
NAND write: device 0 offset 0x400000, size 0x202c4c
Attempt to write non page aligned data
2108492 bytes written: ERROR
- Although it was obvious at this point we would not have much luck booting; we tried anyway with the following result.
DM365 EVM :>nboot 0x80700000 0 0x400000
Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000
** Unknown image type
Is the kernel larger than it should be? Does uBoot need to be upgraded to support writing larger kernel images? Is the limitation the page size of the flash (we are working however with the original NAND supplied with the Rev E DM365 dvevm). Where are we going wrong?
Many thanks in advance.
Sincerely,
NickA