hi !
there is one eMMC(MTFC16gapalbh) in my custom ls1046a board ,i set rcw source 01001110B . I try to use cw flash tp program uboot to my eMMc. I disable the ddr, use ocram. but I can't read anything from my emmc by fl_id. Program stopped at Reading....
And I try to use debug mode with cw for armv8 .I build the hello world project, configuration the debugger to disable the DDR . But elf file can't load to memory.
Should I use DDR in debug mode? i try to use ddr in the beginning,but I can't configuration the right value to ddr control register,it may report waiting for d_init timeout.I use fixed regiser value .
Or my emmc don't support? pls give me some advices...
Hello jingjia shi,
1. Please create a bare board project, please refer to section "3.2.1 Creating, building bareboard project" in Freescale\CW4NET_v2019.01\CW_ARMv8\ARMv8\Help\Getting_Started_for_CW_ARMv8.pdf.
2. Please click the project, click Run->Debug Configurations->GDB Hardware Debugging-><project>->Startup and configure this panel as the following to avoid CodeWarrior downloading ELF to DDR memory.
3.Open CW initialization file panel from Target Connections->LS1046A_RDB(1)->Target Initialization file, please modify the following section to run the MMC program algorithm in OCRAM rather than DDR memory.
gdb.execute("fl_device --alias mmc --name MMCP1xxx_LSCH2 --address 0x00000000 --waddress 0x80000000 --wsize 0x1FFFF --geometry 8x1 --controller eSDHC")
Modify to
gdb.execute("fl_device --alias mmc --name MMCP1xxx_LSCH2 --address 0x00000000 --waddress 0x10000000 --wsize 0x1FFFF --geometry 8x1 --controller eSDHC")
4. Please click the project and connect to the target board from Run->Debug Configurations->Debug, then click the suspend button to suspend the core.
5. Please click the flash programming button to program MMC card. For details, please refer to section "7.7 Using flash programmer from eclipse IDE" in Freescale\CW4NET_v2019.01\CW_ARMv8\ARMv8\Help\PDF\ARMv8_Targeting_Manual.pdf.
Thanks,
Yiping
thanks for your suggestion:
I tried the above methods, but still not working. I installed the latest flash programmer patch from nxp.com and the debug mode worked.
I used gdb's fl_id command to read the SD card ID information. But when I switch to emmc, I still can't read the ID information of emmc.
I checked the hardware connections, the power supply voltage, and they all worked fine. I checked the sdhc_clk sdhc_cmd signal using an oscilloscope. Here are the details:
when use sd card boot ,the led on the asleep pin flash two times and the uboot runing
when use emmc boot,the led on the asleep pin flash many times and the uboot stll not run.
According to the above situation, I measured the waveform of the sdhc interface:
The following is the sdhc_cmd waveform of the system reset when emmc is used as the boot medium.:
The following is the sdhc_cmd waveform of the system reset when sd is used as the boot medium:
It seems that ls1046a tried to read the data from emmc but It failed and trying to restart many times.
I will measure the waveform of sdhc data0 in emmc boot tomorrow ,please give me some advices.
Hello jingjia shi,
Please create a new thread to discuss the EMMC hardware design on your custom board.
Thanks,
Yiping