I might have corrupted both the NOR Flash banks of LS1043ARDB, how can I recover or boot from IF NOR now? I have created a Hard Coded RCW Override project, using Target Initialization file to debug.
I observed that I don't see “Hello from Core#0” displayed at the console output, (Attached - Debug_info). But I am not sure if I should be seeing this (I saw this in 'RAM boot using CodeWarrior on LS1046ARDB').
Probably, my target initialization file is incorrect or def Init_DDR () may not be properly functioning. Could you please share the correct Target Init File for LS1043ARDB. (Attached - Target_Init_File.txt)
I tried programming the 'u-boot-nor-2016.01+fslgit-r0.bin' to the NOR flash (Attached - FlashProgrammer_NOR), however I am not sure what offsets I should write this at. I tried both 0x0 and 0x100000 but board doesn't boot from NOR at all after setting DIP switches for NOR.
PS: I have the board bootable from NAND flash and SD card. I am using respective 'u-boot-with-spl-pbl.bin' images (generated from QorIQ SDK) to boot up the board. How and which images can be used to make the board bootable from IF NOR.
已解决! 转到解答。
Hello Kedar Lahurikar,
The address of IFC NOR flash(bank0) is 0x60000000, the alternate bank(bank4) is 0x64000000.
You could download the LSDK NOR composite firmware for LS1043ARDB using the command which includes RCW, u-boot, related firmware, Kernel image, dts and rootfs.
$ wget http://www.nxp.com/lgfiles/sdk/lsdk1812/firmware_ls1043ardb_uboot_norboot.img
Please boot up SD U-BOOT, download the firmware via TFTP to the reference board.
=> tftp a0000000 firmware_ls1043ardb_uboot_norboot.img
=> protect off 60000000 +$filesize && erase 60000000 +$filesize && cp.b a0000000 60000000 $filesize
You also could refer to the first section in Use CodeWarrior for ARMv8 to Debug U-boot and Linux Kernel and Bring up Bare Boards to program the firmware at 0x60000000 with CodeWarrior for ARMv8.
Boot source SW3[1:8] SW4[1:8] SW5[1:8]
NOR bank 0 (default) 10110011 00010010 10100010
Thanks,
Yiping
Hello yipingwang, thanks for the reply, it's working now. I forgot about LSDK images, that should have done the trick.
If I may ask a follow up question, we are developing our custom board with LS1043A which will have IFC NAND, SD and QSPI NOR flash. How do I bring up that board with IFC NAND boot, which will be blank at first.
I know system memory map of IFC NOR/QSPI NOR for individual images like PBL (RCW+PBI - 0x60000000), u-boot (0x60100000), kernel and rootfs (FIT image - 0x61100000).
So let's say I have individual images (RCW+PBI, u-boot and FIT image) instead of a composite firmware_ls1043ardb_uboot_nandboot.img for NAND or SD, what are the memory map (address/offsets) for programming images for NAND and SD and what commands are used? And I am not referring to u-boot-with-spl-pbl.bin which I know can be written to
SD with
=> mmc write 82000000 8 800
and NAND with
=> nand write 82000000 0 100000
So in summary my question is, can I write RCW+PBI and u-boot separately to NAND/SD or it has to be programmed as a single image. Also how can I build these individual images for our custom board.
Hello Kedar Lahurikar,
You could generate PBL+u-boot image from u-boot source code directly.
I assume that you have LSDK build environment, you could run the following command to get u-boot image(including PBL) in flexbuild_lsdk<version>/build/firmware/u-boot/ls1043ardb.
$ source setup.env
$ flex-builder -c u-boot -m ls1043ardb
u-boot source code is in flexbuild_lsdk1809/packages/firmware/u-boot, you could modify RCW/PBI ls1043ardb_rcw_nand.cfg/ls1043ardb_rcw_sd.cfg in board/freescale/ls1043ardb/, then rebuild u-boot with the above command.
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hello Kedar Lahurikar,
The address of IFC NOR flash(bank0) is 0x60000000, the alternate bank(bank4) is 0x64000000.
You could download the LSDK NOR composite firmware for LS1043ARDB using the command which includes RCW, u-boot, related firmware, Kernel image, dts and rootfs.
$ wget http://www.nxp.com/lgfiles/sdk/lsdk1812/firmware_ls1043ardb_uboot_norboot.img
Please boot up SD U-BOOT, download the firmware via TFTP to the reference board.
=> tftp a0000000 firmware_ls1043ardb_uboot_norboot.img
=> protect off 60000000 +$filesize && erase 60000000 +$filesize && cp.b a0000000 60000000 $filesize
You also could refer to the first section in Use CodeWarrior for ARMv8 to Debug U-boot and Linux Kernel and Bring up Bare Boards to program the firmware at 0x60000000 with CodeWarrior for ARMv8.
Boot source SW3[1:8] SW4[1:8] SW5[1:8]
NOR bank 0 (default) 10110011 00010010 10100010
Thanks,
Yiping