HI,
We have designed our board with DM365 processor and we are in the production mode.
We want to update Uboot in our DM365 based board from U-boot serial port prompt.
We have hardwired the nand boot mode and we can only update ubl/uboot using JTAG Emulator. We have a production lot of 100 boards with uboot, which does not have Ethernet support. We have recently added the Ethernet support in updated U-boot and we want to update all 100 boards without JTAG Emulator.
We tried following script to create an uboot.bin image with header but the resulted image does not solve our problem. The U-boot is written at 0x19 block
#####################################################################################
#!/bin/bash -ePAGESIZE=2048FIRSTBLOCK=25MAGIC=0xA1ACED66SIZE=$(stat --format '%s' u-boot.bin)ENTRYPOINT=$(readelf -h u-boot | grep "Entry point" | cut -d : -f 2)binary() { printf '\\x%02x' $(( $1 & 0xff )) printf '\\x%02x' $(( ($1 >> 8) & 0xff )) printf '\\x%02x' $(( ($1 >> 16) & 0xff )) printf '\\x%02x' $(( ($1 >> 24) & 0xff ))}printf $(binary $MAGIC) > u-boot.ublprintf $(binary $ENTRYPOINT) >> u-boot.ublprintf $(binary $(( ($SIZE / $PAGESIZE)+1 ))) >> u-boot.ublprintf $(binary FIRSTBLOCK) >> u-boot.ublprintf $(binary 1) >> u-boot.ublprintf $(binary $ENTRYPOINT) >> u-boot.ubldd if=u-boot.bin of=u-boot.ubl bs=$PAGESIZE seek=1echo "Created u-boot.ubl"
########################################################################################
After updating the image using following command
loady 0x80700000
nand write 0x320000 0x40000
When we reboot the system using reset command it gives following error
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
DM36x initialization passed!TI UBL Version: 1.50Booting Catalog Boot LoaderBootMode = NANDStarting NAND Copy...No valid boot image found!NAND Boot failed.Aborting...
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Can anyone please suggest us the solution for this problem?
Regards,
Jagdish
Hi Jagdish,
Can you send me the logs for your update procedure? Also can you let me know the size of the ubl, u-boot.bin and u-boot.ubl binares?
-Renjith | www.pathpartnertech.com | Verify the answer if you think your query is resolved
Hi Renjit,
Thanks for your quick support.
When the uboot is written with JTAG emulator it does not any error and log message is as below
###############################################################################
TI UBL Version: 1.50Booting Catalog Boot LoaderBootMode = NANDStarting NAND Copy...Valid magicnum, 0xA1ACED66, found in block 0x00000019. DONEJumping to entry point at 0x81080000.U-Boot 2009.03 (Jun 21 2010 - 15:55:57)I2C: readyDRAM: 128 MBNAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit)Bad block table found at page 65472, version 0x01Bad block table found at page 65408, version 0x01NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit)Bad block table found at page 65472, version 0x01Bad block table found at page 65408, version 0x01256 MiB*** Warning - bad CRC or NAND, using default environmentIn: serialOut: serialErr: serialNo ETH PHY detected!!!ethernet init failed!Hit any key to stop autoboot: 4 3 2 0 DM365 EVM >
I have changed script little bit because, when last command dd executes for writing header to u-boot.ubl it writes header and skips first page. Ideally the skipped bytes should be 0xFF but it fills it with 0x00. So i changed the script as below..
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
PAGESIZE=2048FIRSTBLOCK=25MAGIC=0xA1ACED66SIZE=$(stat --format '%s' u-boot.bin)ENTRYPOINT=$(readelf -h u-boot | grep "Entry point" | cut -d : -f 2)echo $ENTRYPOINTecho $SIZEbinary() { printf '\\x%02x' $(( $1 & 0xff )) printf '\\x%02x' $(( ($1 >> 8) & 0xff )) printf '\\x%02x' $(( ($1 >> 16) & 0xff )) printf '\\x%02x' $(( ($1 >> 24) & 0xff ))}printf $(binary $MAGIC) > headerprintf $(binary $ENTRYPOINT) >> headerprintf $(binary $(( ($SIZE / $PAGESIZE)+1 ))) >> headerprintf $(binary FIRSTBLOCK) >> headerprintf $(binary 1) >> headerprintf $(binary $ENTRYPOINT) >> header tr "\000" "\377" < /dev/zero | dd ibs=1k count=384 of=paddedfile.bin dd if=u-boot.bin of=paddedfile.bin bs=2048 seek=1 conv=notrunc dd if=header of=paddedfile.bin bs=2048 conv=notrunc
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
The size in bytes of the
1. Ubl = 20480
2. u-boot.bin = 297712
3. size of u-boot.ubl = 393216
The nand command sequence is as below.
1. loady 0x80700000
2. nand erase 0x320000 0x60000
3 nand write 0x80700000 0x320000 0x60000
4. reset
After resetting the board, i get following message.
Please let me know if i am missing something.
One more question, is it possible to update Uboot on Dm365 based board by this method ?
FYI : we are using 128Mbyte Micron of Nand Flash with same block size of 128KBytes and Page size 2K
Jagdish,
Why are you flashing the image to 0x320000? It should be flashed to 0x0 instead. The UBL logs that you are seeing is from the older ubl which was already there in flash. Since you've not erased that it will come up.
Try flashing it to 0x0. If your script is correct(I've not verified) it should boot-up properly. Atleast UBL should comeup.
Renjith,
Thanks for looking in to the matter.
I am not updating ubl. I am only updating uboot.bin file in nand flash. The script i have posted adds header to uboot.bin file with is required by ubl progrma while running uboot.
If you see in the log, which runs ubl/uboot properly . It shows below line
Starting NAND Copy...Valid magicnum, 0xA1ACED66, found in block 0x00000019.
This means ubl copies data from block 0x19 . The block size is of 128K and calculating the address it gives 128K*25 = 0x320000 starting address of U-boot, which should have proper header which contains the information about magicnum number and starting block number
The reference was taken from below link.
https://linuxlink.timesys.com/docs/gsg/dm365_evm
If you see closely,
I overlooked the script. You are right.
Can you upload the files u-boot.bin, header, paddedfile.bin?
Also can you send the logs of the commands.
Renjit,
Please find the log herewith as you have asked
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
DM365 EVM > loady 0x80700000## Ready for binary (ymodem) download to 0x80700000 at 115200 bps...CCCC xyzModem - CRC mode, 2(SOH)/384(STX)/0(CAN) packets, 6 retries## Total Size = 0x00060000 = 393216 BytesDM365 EVM >DM365 EVM > nand erase 0x320000 0x60000
NAND erase: device 0 offset 0x320000, size 0x60000Erasing at 0x360000 -- 100% complete.OKDM365 EVM > nand write 0x80700000 0x320000 0x60000
NAND write: device 0 offset 0x320000, size 0x60000 393216 bytes written: OKDM365 EVM > resetresetting ...DM36x initialization passed!TI UBL Version: 1.50Booting Catalog Boot LoaderBootMode = NANDStarting NAND Copy...No valid boot image found!NAND Boot failed.Aborting...
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
I could not upload all the files you asked for here so I have mailed it you on your email address.
I got the binaries. Can you do this small experiment and send me the logs?
run the command "nand dump 0x320000" from u-boot prompt, before flashing the image and after flashing the image?
Please find the nand dump log from uboot prompt.
1. Before flashing u-boot
DM365 EVM > nand dump 0x320000 Page 00320000 dump: 66 ed ac a1 00 00 08 81 4a 00 00 00 19 00 00 00 01 00 00 00 00 00 08 81 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffOOB: ff ff ff ff ff ff 27 42 7f 1a 80 60 b8 41 b6 e9 ff ff ff ff ff ff 3f 27 56 f5 29 d8 61 d9 9d 14 ff ff ff ff ff ff 3f 27 56 f5 29 d8 61 d9 9d 14 ff ff ff ff ff ff 3f 27 56 f5 29 d8 61 d9 9d 14
###########################################################################################
2. After writing flash memory the nand dump is
DM365 EVM > nand dump 0x320000 Page 00320000 dump: 66 ed ac a1 00 00 08 81 91 00 00 00 19 00 00 00 01 00 00 00 00 00 08 81 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffOOB: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff a5 bb da cd ae ee 77 30 24 78 3f 27 56 f5 29 d8 61 d9 9d 14 3f 27 56 f5 29 d8 61 d9 9d 14 3f 27 56 f5 29 d8 61 d9 9d 14
is something wrong is writing the flash memory ?
Its clear now. The ECC layout of u-boot is different from the layout what UBL expects. If you compare the OOB area of the dump you'll get it. In case of CCS the spare area is organized like, (6 + 10), (6 + 10), (6 + 10), (6 + 10) whereas in u-boot its (24 + 10 + 10 + 10 + 10). There will be ECC error when UBL tries to read from the NAND. That's the reason why you are not able to see the U-boot magic number.
To solve this, you've to change the NAND driver of either UBL or u-boot for this layout. Chaning u-boot makes sense as UBL is following same layout as ROM Bootloader follows.
If you are changing the u-boot layout, then if you are flashing your file system from u-boot, you'll face issues in mounting as kernel might be already following the u-boot layout. Do remember to change both if you are trying this.
Thanks a lot for pointing out the problem.
Will update uboot nand drivier according to ubl lay out you suggested.
You are right, i also need to update nand driver for kernel otherwise will get problems in mounting and re-writing filesystem.
Thanks once again for all the help and support.
I will update you about the issue after testing changed ECC layout.
I changed Uboot code to update ECC layout to be (6 + 10), (6 + 10), (6 + 10), (6 + 10). But I faced the same problem. It did not work.
1. If i update my new u-boot.bin (with (24 + 10 + 10 + 10 + 10 ECC layout ) using JTAG Emulator, it works well But if try to write the same u-boot.bin using uboot prompt, it does not work.
2. Even I created new padderfile.bin with original u-boot.bin(is provided with dm365 evm board and having ECC layout same as ubl) it also gives same oob out put
OOB:ff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffa5 bb da cd ae ee 77 3024 78 3f 27 56 f5 29 d861 d9 9d 14 3f 27 56 f529 d8 61 d9 9d 14 3f 2756 f5 29 d8 61 d9 9d 14
Can please suggest what might be going wrong in this case ?
I have also tried a different way to update u-boot memory area in to flash memory. I have one board with new u-boot.bin updated using JTAG Emulator. I logged in to the board and create blcok file using following command.
dd if=/dev/mtd1 of=uboot_mtd1.bin (checked the partition from linux partition table from board support file)
Even I checked the content of uboot_mtd1.bin file using hexdump -C command, it's same as the data written by JTAG emulator, but when i update the binary at 0x320000 location from uboot prompt, and give the reset command then the on the start ubl is not able to find uboot image and the device hangs. And i have to use JTAG emulator for updating the uboot in the device.
If the oob layout is like what you've given in the post, it will not work. The oob has to look like this.
ff ff ff ff ff ff a5 bb
da cd ae ee 77 30 24 78
ff ff ff ff ff ff 3f 27
56 f5 29 d8 61 d9 9d 14
After updating the u-boot image from your new u-boot the nand dump oob layout should like the above. Can you double check this?
I double checked it. It does not work.
Somehow the oob layout changes. The common thing in all the experiments is my script, which creates a uboot.bin file with a proper header. Is something wrong with the script ?
Can you please let me know, why the new uboot.bin works if i update using JTAG emulator ? The uboot is having 24+10+10+10+10 oob layout. ?