想从SPI Flash 启动。但找了两天资料,只在am335x u-boot user's guide这份文档里找到一小部分关于SPI的内容,我按照里面的描述编译出MLO.spi和u-boot.bin文件,但之后就不知道怎么做。所以,希望能推荐点参考资料,帮我解决一下如下问题:1、如何把bootloader、内核和文件系统烧写到SPI flash;2、烧写到SPI FLASH后,如何设置u-boot的启动参数。
Yaoming Qin:
可以通过sd 卡或者uart+usb烧写到spi flash,uboot的readme有说明
Lee Jiejia:
回复 Yaoming Qin:
我用uart进行烧写时,输入sf probe 0给出了如下的提示信息:
U-Boot# sf probe 0SF: Unsupported manufacturer ffFailed to initialize SPI flash at 0:0
还有一个问题,你叫我读uboot的readme,你的意思是不是要修改uboot,然后才能从spi flash启动。
Yaoming Qin:
回复 Lee Jiejia:
有相应的编译选项
Lee Jiejia:
回复 Yaoming Qin:
am335x u-boot user's guide文档一部分关于SPI的说明:
In this example we initially boot from an SD card and use that to transfer the files to write to SPI flash.
U-Boot# sf probe 0U-Boot# sf erase 0 +80000U-Boot# mmc rescanU-Boot# fatload mmc 0 ${loadaddr} MLO.spiU-Boot# sf write ${loadaddr} 0 ${filesize}U-Boot# fatload mmc 0 ${loadaddr} u-boot.binU-Boot# sf write ${loadaddr} 0x20000 ${filesize}
开发板可以通过SD卡进行启动,进入u-boot命令行,但我按照am335x u-boot user's guide文档的说明,输入sf probe 0时,还是出现了和uart启动时一样的提示信息:
U-Boot# sf probe 0SF: Unsupported manufacturer ffFailed to initialize SPI flash at 0:0
Lee Jiejia:
回复 Yaoming Qin:
使用的板子是am335x,对应的SPI FLASH是:winbond W25Q64FV
Yaoming Qin:
回复 Lee Jiejia:
你用这个看看http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing#Booting_Via_SPI
Lee Jiejia:
回复 Yaoming Qin:
我这边没有ccs,只能用串口工具进行烧写。
当我在u-boot命令行下,输入:sf probe 0时,用示波器观察,只有SPI_CLK引脚会跳变出一个高电平,其他三个引脚的完全没有任何变化。
Lucas Lu:
回复 Lee Jiejia:
不知道您用的是 evm 還是 evm_sk ?
我使用的是 evm_sk , uboot 是 u-boot-2011.09-psp04.06.00.08
在mux.c裡, struct evm_pin_mux 對每個 board 的定義要注意一下有沒有加入這行:
{spi0_pin_mux, PROFILE_ALL, DEV_ON_BASEBOARD},
如果你是使用 general_purpose_evm_pin_mux[] , 裡面的 spi0_pin_mux 是定義為 {spi0_pin_mux, PROFILE_2, DEV_ON_DGHTR_BRD} ,
修改掉應該就可行了.
xue su:
回复 Lee Jiejia:
您好,我现在也遇到这个问题
U-Boot# sf probe 0SF: Unsupported manufacturer ffFailed to initialize SPI flash at 0:0
请问你解决了吗 能否告知一下 谢谢
TI中文支持网