在SDT中如何编译生成二进制文件

发 布 时 间 : 2008-11-14 来 源 : 本站原创 作 者 : Admin 浏 览 :

在SDT的APM中,编译生成*.axf可执行文件后,却不能自动产生*.bin文件。下面可以通过两种方式得到二进制文件(假设例子工程project1放在d:\example\下,debug目录下产生了*.axf文件):
1) 在MS-DOS下,输入命令行:
fromelf –nozeropad d:\example\debug\project1.axf -bin d:\example\debug\mytest.bin
如果转换成功,系统将输出:
Translation to BIN format successfullly.
但是这样做要切换到DOS下,不太方便,因此,我们通常修改一下build的步骤(方法2)。
2)修改工程变量和build步骤
① 选中工程树型显示窗的根部,点击菜单项Project->Edit variables for project.apj ;出现以下对话框:

图 工程变量修改

②找到名为build_target的变量,将它的值由<$projectname>.axf改为<$projectname>.bin,点击OK。
③ 点击菜单项Project->Edit Project template。出现以下的对话框:

图 模板编辑器

④ 选择Edit Details…并将title名改为ROM,点击OK。
⑤ 再增加一个用来产生BIN文件的build 步骤,点击“New…”按钮,将步骤名称取名为CreateROM,一个空的build step对话框出现了。如下图所示:


图 编译步骤编辑对话框
⑥ 在“Command Lines”编辑框中输入如下内容(在一行中输入):
fromelf -nozeropad <$projectname>.axf –bin <$projectname>.bin
⑦ 在“Input Partition”,输入:Image <$projectname>.axf,并点击“Add”。
⑧ 在“Output Partition”,输入:Eprom <$projectname>.bin,并点击“Add”,点击“OK”。
⑨ 然后,重新build工程。如果看到了如下的错误信息:
“project.apj”;No build target named ‘<$projectname>.bin’ 则:
a. 点选source 中的所有文件,并点击“delete”按键将它们删除;
b. 重新通过“Add Files to Project”菜单项,将所有文件加入工程。
这样,再重新进行build时,APM就能够自动运行fromelf产生固化用的*.bin文件了。



上一篇:没有了 下一篇:ARMSYS-ICE型ARM仿真器FAQ