5509A 我以SPI模式外扩了 AT25F1024 , (16位) , 我的.out文件为200K 所以需要翻页, 我如何解决这文件过大的问题?
请指导!
打算是BOOTLOADER 来进行上电自举,但没有接触过BOOTLOADER,求指导!或是给一个翻页的例程,我来修改!
Michael (Beijing) Wu:
.out 文件包含许多调试信息,如果要烧写到flash , 需要通过hex55 转成 。bin的格式, 。bin文件会小很多。
Tony Tang:
VC5509A SPI boot只支持SPI EEPROM,不支持SPI flash,命令格式不一样,AT25F1024是SPI flash,故不支持。
另:bootloader是芯片ROM固化的加载程序,按照链接中的文档要求实现即可。
www.ti.com/…/spra375f
zhian sun:
回复 Tony Tang:
不支持啊?我在别人手里接过来也没有仔细调研。那我想请教一下,我想自己写一个“loader”引导程序,在ROM中固化的“bootloader”之后,来解决我的程序过大而造成的翻页问题。请问是否可行。还有就是以前没有接触过这方面的工作,所以希望给一个案例或是一些指点!谢谢
zhian sun:
回复 Tony Tang:
可是我运行一些程序已经成功啦?这就搞不懂了?我的loader想烧进FLASH,放在用户程序之前。
Tony Tang:
回复 zhian sun:
你是说你的程序通过AT25F1024 boot已经运行成功啦?
zhian sun:
回复 Tony Tang:
因为小程序小于64K不需要翻页,所以我没有用BOot ! 但是也说明“内核固有的Bootloader”可以引导我的AT25F1024。不知道这样说对吗?
Tony Tang:
回复 zhian sun:
1. 对比了AT25F1024与SPI EEPROM的命令格式,对于读操作是一样的,所以AT25F1024是适用于C5509A的。
2. SPI的访问由:命令,地址,数据三个连续的阶段组成。
3. 对于连续读/写的情况下地址会自动增加,不需要每个访问都要送地址,访问过程则为:命令,地址,数据,数据……
3. 但在数据长度超过页大小的边界时,需要重新送地址,通过高位地址选中其它页(即你说的翻页功能)。这是由bootloader来实现的,对于用户来说是透明的。
3. 如果每次数据访问都送一个完整的24bit地址,即:命令,地址,数据,命令,地址,数据….., 则不存在翻页的功能要求。
4. SPI boot支持两种模式16bit地址模式和24bit地址模式,AT25F1024是24bit地址的SPI flash,将C5509的启动模式设为BOOTM=001b即可.
YtXwz:
回复 Tony Tang:
支持SPI flash吧,我用的 AT25F4096没有任何问题,可以正确boot