Part Number: am335x
Hello, I recently debugged the SPI+eMMC boot method on am335x. I followed the official website's configuration to boot u-boot from the serial port and then burn MLO.byteswap and u-boot.img to SPI using the tftp method. The specific steps are as follows:
1、Select the SPI device within the device, sf probe 0. The SPI flash is recognized
2、Erase the SPI device: sf erase 0 +80000
3、Transfer MLO.byteswap using TFTP: tftp MLO.byteswap, and then write it to the respective address: sf write 0x82000000 0 0x10d18
4、Transfer u-boot.img using TFTP: tftp u-boot.img, and then write it to the respective address: sf write 0x82000000 0x20000 0x4efc8
5、After writing, since zImage and dtb files are already placed in the FAT32 partition of eMMC, and files system in the ext4 partition, you can directly execute run mmcboot to boot. The kernel can be successfully loaded
6、After entering the system, running the reboot command shows that u-boot can be loaded from SPI flash, and environment variables can be saved to SPI flash from u-boot
7、However, if power off and restart, there are no prints, and there is no "CCCCC" print. Why is this happening? The deconfig is also configured with SPI_BOOT. Here is the u-boot configuration file am335x_evm.h. Is there any flag or setting that needs to be configured in the u-boot code? Please help take a look, thank you! If you need further assistance with debugging this issue, please provide more details about your setup and the specific behavior you're encountering, thanks!
8、This is my project u-boot‘s configuration file, please check ,thank!