hi, 請教一下有關AM3352使用上問題:
按照规格书描述
AM335X会访问4个sector ,但去读flash时,发现,只有读第一个512byte sector,并没有继续读
另外,我们遇到的问题,表现为上电后AM335X不能启动NOR Flash里面的Boot 和 App。
初步分析,在上电后AM335X访问NOR Flash时,用逻辑分析仪抓取到的数据,
可以看出,ROM_CODE在发送读Nor_flash 读命令"0x03"时,norflash设备已回复相应数据,即Size:0xB824,Destination:0x402f0400(即为片内的109K的SRAM),
从 0x6C, 0x00, 0x9F, 0xE5往后的(512字节 – Szie(4字节) – Destination(4字节) = 508字节为固件的内容),但固件远不止508字节,此后A8读完这个512字节的sector后再也没有发送读数据动作
按照正常会将以读取的地址为开头的内容(Boot 和 App)拷贝到AM335X,然后起Boot,但实际并没有,请问后续可以如何确认和分析?
谢谢
Shine:
如果在sector1读到正确的size,就不会再去读sector2,3,4, 这是备用机制,如果哪个sector有坏块,就会从其他sector去读。
sector大小不够的话,可以用二次bootloader来加载大的代码。请看下面的wiki网站。
processors.wiki.ti.com/…/AM335X_StarterWare_Booting_And_Flashing
Zhin Hong Fong:
回复 Shine:
你好,
关于上述问题,我们详细的情况如下
硬件上 AM3352 + NOR Flash (FM25Q64/ 8MB),NOR Flash连接到AM3352 SPI0
我们想要的是的上电后能通过SPI0 启动放在NOR Flash 里面的MLO,继而启动后面的APP。
但目前遇到的情况,采用EVM 板(Beagle Bone Black)或者我们自己的板子,上电后不能通过SPI0启动NOR Flash的boot。而用EVM 板的SD卡,能启动。另外现在只能对NOR Flash进行读写,并不能启动里面的软件。
我们用逻辑分析仪去抓上电后AM335X访问NOR Flash的数据,抓到的情况是,如果从地址0x402F0400开始保存我们的软件的话,AM335X只访问512 BYTE就停止了。如果将地址延后4K,读取的数据有几百兆。同时我们不确定这部分的数据是否被拷贝到AM335X的SRAM里面。
所以我们目前不知道如果才可以通过SPI0去启动 NOR Flash里面的MLO文件。
或者是否有其他更好的建议或意见,请告知,谢谢