2024年5月27日发(作者:)
试图搞懂MDK程序下载到flash(三)--MDK配置选项Linker、
Target、Debug的理解分析
在写这一节时,我还是想再重复一下自己写这文章的目的,我的目的就是为了实现将
MDK编写的裸机程序可不可以脱机运行,也就是不用调试的方法,因为调试的话程序默认
是在SRAM中运行的,掉电丢失。而要脱机运行,就得将程序编译后的文件下载到flash
中,最好能是nand flash。如果要下载到nand flash,那么就要编译生成一个bin文件,
而不是用axf文件。那么剩下的问题就是,怎么生成一个完整、正确的bin文件?所以我
现在就需要看能否通过编写一个分散加载文件,解决bin文件的地址问题。生成了bin文
件,那么我就可以利用韦东山的方法,利用supervivi的v选项,配合DNW将程序下载
到nand flash中并运行!
现在咱们就分析一下MDK配置选项,首先解释一下MDK中三种linker之间的区别:
1、采用Target对话框中的RAM和ROM地址。
采用此方式,需在Linker选项卡中勾选Use Memory Layout from Target Dialog
选项(选中这一项实际上是默认在Target中对Flash和RAM的地址配置,编译链接时会
产生一个默认的脚本文件),并且在Target中设置好RAM、ROM地址,图2所示。MDK
会根据Target选项中设定的RAM和ROM地址自动加载生成一个加载文件。最后链接器
会根据此文件中的信息对目标文件进行链接,生成axf镜像文件。


发布评论