加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

IAR Embedded Workbench IDE for 8051(汇编语言)

(2011-11-25 00:23:42)
标签:

单片机

汇编语言

iar

error[40]

分类: Program
我最近在做CC2430的开发的时候,发现市面上介绍IAR Embedded Workbench IDE for 8051(汇编语言)的书籍比较少,对8051核心的单片机的开发,大部分都是介绍的C语言,几乎没有介绍纯汇编语言开发的,介绍IAR Embedded Workbench IDE for ARM的倒是有,但是因为ARM和8051的指令系统不一样,因而也只能拿来做一个参考,我最终还是只能借助于软件的帮助文件来编译自己的程序。下面提供一些经验,希望能够对后来者有所帮助。
首先说明一下,市面上介绍IAR嵌入式的书籍,大多也就是把帮助里面的文档翻译成汉语,对于英语好的亲们来说,完全可以直接借助于IAR的帮助来解决一些遇到的问题(我使用的是IAR Embedded Workbench IDE for 8051——7.51A版)。Help->8051 Assembler Reference Guide介绍了汇编器的部分,其中Assembler Directives主要介绍的一些软件使用的伪指令。关于系统配置的Help文档,在Help->8051 Embedded Workbench User Guide下。
------------------------------------------华丽的分割线--------------------------------------------
使用C语言编译时网上有很多介绍的文档,这里不再赘述,使用汇编时软件配置的步骤如下(主要是Project->Options->General  Options->Library Configuration有区别):
1.建立一个新的工程(project):启动IAR时就会有一个Create New Project窗口提示是打开已有的工程还是创建新的工程,我们这里选择建立新的工程。如果启动IAR时没有创建新的工程,也可以在Project菜单下找到Create New Project。
2.设置工程属性:在workspace窗口中选择建立的工程右击->options(选中工程后也可以在Project->Options下找到),在General Options目录(Categories)下的Target选项卡选择Device,点击Device右边的浏览键就可以在目录下选择自己所用的设备的*.i51文件,然后由于我们用的是汇编语言编写代码,在Library Configuration选项卡上把Library选成Custom DLIB(自定义),在下面的Library中选择\IAR Systems\Embedded Workbench 5.3\8051\tutor\Debug\Obj\Tutor.r51作为Library;下面设置Linker目录,在Config选项卡上把Linker command file下的Override default勾上,在下面的目录下选择自己所用单片机对应的连接文件,例如CC2430单片机的连接文件是$TOOLKIT_DIR$\config\lnk51ew_cc2430.xcl;前面的$TOOLKIT_DIR$代表IAR的安装目录。
  最后在Debug目录下的Driver选择成自己所使用的单片机对应的驱动,如果想仿真,就选择Simulator。
3.新建文件,编写汇编源文件,记得声明一个公共变量__program_start作为程序进入点,代码示例如下:

http://s9/bmiddle/002taUQrzy6KFxddiHu58&690Embedded Workbench IDE for 8051(汇编语言)" TITLE="IAR Embedded Workbench IDE for 8051(汇编语言)" />

这里要说明:(1)IAR的标号要顶格写;如上面的"start:"就要顶格;

(2)执行的语句不能顶格写,用Tab键缩进一个制表符!例如:MOV R0,#28H就不能顶格,需要在MOV之前输入一个Tab制表符;我用的是记事本编写的源程序,所以要自己手动输入Tab,对于使用智能代码编辑器的朋友,可能编辑器会自动在句首插入Tab;

(3)用伪指令equ声明时也要顶格,而且放到程序最前面。

如果不按我上面所说的格式去写,IAR会报错、出现:Error[40]: Bad instruction

好了,之后就是自己的程序了。

祝大家做单片机一切顺利。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有