Other Parts Discussed in Thread: UNIFLASH,
Tool/software:
Hi,
I try to bring up my custom board,the board only have EMMC,not have SD card slot.I want to flash EMMC with Linux image.The SDK I use is ti-processor-sdk-linux-rt-edgeai-am62axx-evm-09_01_00_02 and mcu_plus_sdk_am62ax_09_01_00_39.I did the following stetps:
1.I use https://dev.ti.com/sysconfig to generate config file for my customboard LPDDR4,the difference of connection between AM62A and LPDDR4 is that my custom board use byte swap of bytes 2/3.I got the generated head file:board_ddrReginit.h, and replaced board_ddrReginit.h under mcu_plus_sdk_am62ax_09_01_00_39\examples\drivers\ddr\v1\soc\am62ax with generated board_ddrReginit.h.
Then I recompiled mcu_plus_sdk_am62ax_09_01_00_39\examples\drivers\boot\sbl_uart_uniflash_multistage\sbl_uart_uniflash_stage2 and mcu_plus_sdk_am62ax_09_01_00_39\examples\drivers\boot\sbl_emmc_linux_multistage\sbl_emmc_linux_stage2.
Successfully generatecd sbl_uart_uniflash_stage2.release.appimage.hs_fs and sbl_emmc_linux_stage2.release.appimage.hs_fs
2.I change my custom board boot mode to UART mode,I use the UART boot tool:mcu_plus_sdk_am62ax_09_01_00_39\tools\boot\uart_uniflash.py,as show in the figure below,all the files send to board successfully.
3.I change my custom board boot mode to EMMC(not EMMC UDA),then the board can bring up to uboot stage.After I modified the PHY driver of uboot to fit my board's PHY chip,rebuilt uboot of ti-processor-sdk-linux-rt-edgeai-am62axx-evm-09_01_00_02,and acquired new u-boot.img,tispl.bin,tiboot3.bin,and updated board's u-boot.img by using uart_uniflash.py.Now the tftp can be used in uboot.
4.According to https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM62AX/09_02_00/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory.html, because my board has no SD slot,refer to flash EMMC via SD card,I used tftp to receive new tiboot3-am62ax-hs-fs-evm.bin,tispl.bin,u-boot.img from server instead of using fatload command,and flash EMMC, as show below.The commands execution sequence is:
mmc dev 0 1
tftp ${loadaddr} tiboot3-am62ax-hs-fs-evm.bin
mmc write ${loadaddr} 0x0 0x400
tftp ${loadaddr} tispl.bin
mmc write ${loadaddr} 0x400 0x 1000
tftp ${loadaddr} u-boot.img
mmc write ${loadaddr} 0x1400 0x2000
mmc partconf 0 1 1 1
mmc bootbus 0 2 0 0
5.I power on again,my board halt at U-Boot SPL,as show below,I don't know why.
Would you please point out what is wrong with my above operation?How should I do to flash EMMC by using TFTP,and how to boot into linux kernel. I'm a noob to linux and uboot,would you please provide detailed guidnance for booting the linux kernel from EMMC.
Looking forward to your reply very much!
Thanks!