编译后的AXF文件大于512KB状况

[复制链接]
6904|8
 楼主| stm32boy 发表于 2011-11-12 20:40 | 显示全部楼层 |阅读模式
本帖最后由 stm32boy 于 2011-11-17 11:30 编辑

最近转入STM32的开发,搞了块红牛开发板STM32F103ZET6做测试,板上已外扩了SDRAM-256KB,NOR-FLASH-2MB(8bit),及128MB(8bit)的NAND-FLASH片子,入手先看了看所附的UCOS+UCGUI例程,用KEIL的uv4mdk for arm编译后,出来的axf文件居然2.3MB,还能用JLINK-V8(JTAG模式)烧入板子里,而且还能跑的蛮顺畅的,真是神了……

STM32F103ZET6片内FLASH是512Kb的,片内SRAM也只有64Kb,真觉得这个例程不可思议,正在进一步看源码的函数,有玩过的高手给指教指教,这2.3MB的axf文件是怎么烧入板子里的?

对,对……uv4mdk for arm自己可以通过jTAG烧录时把bin码隔离出来,干脆我在options for Target 'uCOS_uCGUI'里的User版面中"Run User Programs after Build/Rebuild"-"Run #1"那项打勾,再填入"D:\Keil\ARM\BIN40\fromelf.exe --bin  -o ./Obj/uCOSDemo.bin ./Obj/uCOSDemo.axf"就将bin码挖出来了,不错,
uCOSDemo.axf -2350kb
uCOSDemo.bin -221kb
uCOSDemo.hex -620kb

随着RTOS的盛行,在实现多任务单线程的OS开发中,加上GUI的配套,程式的体积会越来越大,这是不可避免的。在这块开发板上,有NOR-FLASH和NAND-FLASH,这两个玩意儿是很有用啲,还有一块PSRAM=256kb作为补充,从开发性价比来看,上RTOS是最理想的,通过IAP的方式,先在片内FLASH(512KB容量内)烧入一个小型U-boot作为启动引导,然后再通过jTAG把RTOS的代码bin源烧进nand-flash里面,启动后通过u-boot把OS分批“搬运”到片内64kb或者扩展的PSRAM里面跑起来,然后利用片内剩余的flash空间搞搞其它什么加密之类的东西,防止NAND-FLASH里的源码随便被导出来的问题发生,还可以利用NOR-FLASH作为多个数据接口的异步接收缓存或者断电数据保存之类的,彻底把板子的资源榨干净。
mcuisp 发表于 2011-11-13 08:15 | 显示全部楼层
512KB是指bin镜像的大小,axf文件比bin大很多。
李富贵 发表于 2011-11-13 08:18 | 显示全部楼层
真是思路广欢乐多
 楼主| stm32boy 发表于 2011-11-14 11:07 | 显示全部楼层
用uv4mdk for arm生成的ARM 的映象文件有axf 格式和bin格式两种,在目标文件中一般不会自动生成bin码文件,要另外定制才会拉出来,axf文件里包含了bin码。其实bin 文件是真正的可执行文件,而axf文件是ARM 特有的调试文件,里面除了包含bin 文件的内容之外,还附加了许多其他调试信息。

用uv4mdk for arm通过jTAG烧片时,会自动把bin码烧进去的,而axf文件不过是个幌子而已,谢谢各位砖家的提醒指教。
香水城 发表于 2011-11-14 11:43 | 显示全部楼层
AXF文件中包含很多定位和调试信息。
byrin 发表于 2011-11-16 19:30 | 显示全部楼层
STM的单片机,其中所谓的片内Flash512K 不是指它 片内Flash只有512K,事实上它片内Flash要大于512K,官方给出的512K 是指程序在里面能够稳定运行的最大Flash容量.512K就是说512K以内的的程序在其中能够稳定的运行,超过512K,它不保证能够稳定运行.运行过程中可能会出行这样那样的问题!!!!

评论

这个说法很可爱!  发表于 2013-2-7 16:05
15113484470 发表于 2014-11-12 15:23 | 显示全部楼层
看来楼主对外扩SRAM Nor 比较有研究,不知道楼主有没有相关资料
diweo 发表于 2014-11-12 16:09 | 显示全部楼层
byrin 发表于 2011-11-16 19:30
STM的单片机,其中所谓的片内Flash512K 不是指它 片内Flash只有512K,事实上它片内Flash要大于512K,官方给出 ...

有什么依据?
搞IT的 发表于 2014-11-12 23:41 | 显示全部楼层
对外扩SRAM Nor,,个人还知道的很少。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:for {;;}

0

主题

34

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部