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.