IAR开发单片机教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IAR使用说明使用说明使用说明使用说明关于文档(初版):1.主要是为了给IAR的绝对新手作参考用2.emot制件,由Zigbee&IAR学习小组保持修订权3.希望用IAR朋友能将它修订完善4.任何人可无偿转载、传播本文档,无须申请许可,但请保留文档来源及标志5.如无重大升级,请沿用主版本号版本版本号制作时间制定人/修改人说明1.002008/7/27emot初版(仅供新手参考)1.012010/8/19Emot增加下载程序(第四章)在线调试程序(第五章)序:其实IAR和keil区别也没有多大,不过很多人就是怕(当初我也怕)。怕什么呢,怕学会了,真的就是害怕学习的心理让新手觉得IAR是个不好用的或者说“还不会用的”一个工具吧。我也是一个刚毕业的小子,如果说得不妥,还请大家来点砖头,好让小组筑高起来。(Zigbee&IAR学习小组地址是)初版我将会说明以下3个问题,IAR的安装、第一个IAR工程的建立和工作编译。这是我写的第一个使用说明,不足的以后补充吧。一一一一、、、、IAR软件安装图解软件安装图解软件安装图解软件安装图解1.打开IAR软件安装包进入安装界面打开软件开发包软件安装界面2.按照提示步骤执行,一直到授权页面,输入序列号,IAR中有两层序列号,所以要输入两组序列号。输入第一组序列号输入第二组序列号3.选择安装路径(最好默认,不默认也不影响使用)路径选择页面修改路径4.选择全部安装(Full)选择全部安装5.按提示知道安装完成。安装完成页面二二二二、、、、新建第一个新建第一个新建第一个新建第一个IAR工程工程工程工程用IAR首先要新建的是工作区,而不是工程。在工作区里再建立工程,一个工作区里似乎也不能建多个工程(我试过,但没成功,不知道IAR里提出workspace的概念是为什么?)要不打IAR的help来看,说清楚也是头痛的事,先知道有要在工作空间里建工程就对了。新建IAR工作空间,首先是菜单File里选择Open再选择Workspace,为方便说明再遇到菜单我就直接说成File-Open-Workspace这样了。看了下面图上的红圈就知道是怎么回事了。2-1接着就会看到一片空白。这时就是新的“办公区”了。2-2有了工作空间就可以建立工程了。菜单Project-CreateNewProject。点了之后出现下面这个对话框。从这里就算是正式说事了。2-3上面图中有个ToolChain:8051(就要标题下面,很明显的)这里选的是芯片的类型,不IAR有很多很多专用的环境,比如ARM的,430的,等。这里只有8051,相当于没得选。它的下面有个Projecttemplates(工程模板),然后是asm,c++,c,我只认识这3项,说的意思就是选择用户使用的开发语言,我的话选C。展开C前面的+号,显示如下图(上个图的局部)2-4用你的鼠标点下main之后再点OK(就是图2-3最下方的那个OK了)。新建工程就剩下最后一步了,保存。2-5大文件名后面填个名字保存。提醒下各位,在关闭IAR时或关闭IAR空间时,还会提示要求保存工作空间。别一不小心关完了。IAR工作空间文件后辍是.eww。IAR工程的后辍名是.ewp。eww和ewp文件都会关联到IAR,不过eww文件才能正确的自动打,而ewp文件必是先打开IAR(打开时已经自动建立了一个新的工作空间,如果已经打开一个工作空间,则必须先新建一个工作空间,这才和必须在工作空间里编辑工程不矛盾),再导入工程才可用,这样太麻烦了,还是保存eww文件来得方便。三三三三、、、、第一个第一个第一个第一个IAR项目项目项目项目估且叫它为项目吧。主要想跟大家说下IAR的设置,然后完成代码的编译。就像keil里编译工程要设置一样,IAR也要设置。打开设置界面很简单。Alr+F7快捷键打开就行了。在菜单里的位置是Project-Options。还可以在工程名字上用右键打开。我喜欢第三种,但是这里我不想截图了,自己看着办吧。打开的设置界面如是:2-6对应图2-6左边几个选项,我要说的有GeneralOptions,C/C++Compiler,Debugger这几项。对于GeneralOptions来说不新图,看上面就行了。主要要改支的地方就一个,Derivative这里,默认的是plain,这里把它改成CC1110。再来看要说的第二项C/C++Compiler,2-7小心看了,上面划了红框作标注的。再看最后一个选项Debugger,2-8重要的地方我用红框框住了,这里呢有几个选项,我比较常用就两个Simulator,Chipcon,前一个在写程序时(没用仿真器和1110模块)用,后一个在调试(有硬件)时候用。你看哪一个选项跟你手上的实情相符?接着的工作就是写代码,我这里用了一个成都无线龙的小工程作演示就是了,难得写。………………(省略了复制代码的过程)菜单Project-Make,就会得到下图所示的效果——没有警告和错误。2-9原则上还应该讲一讲如何把程序下载到单片机,如何得到hex文件等等,不过今天太累了,就写到这里吧。四四四四、、、、下载程序下载程序下载程序下载程序(以TI的CC1110为例)在编译正确以后,就需要将程序下载到MCU运行,下载程序一板需要的工具有下载器,目标板。我手上有SRF04EB仿真器和CC1110模块。先写一个编译通过的程序,然后在工程选项(Project-Option...)里作如下设置:4-1左列选Debugger,在右边Setup-Driver区域选择TexasInstruments,单击OK确定,完成IAREmbeddedWorkbenchIDE的设置。接着要进行仿真器的连接,用USB线将PC和仿真器相边,再用10pin排线将仿真器与CC1110模块相连,在仿真器上按一次复位键,然后在菜单Project里点Debug,也可以使用工具栏里的菜单,同见下图:4-2图中右上角红框中的按钮就是Debug按钮,单击可将程序下载到CC1110模块。接着可以看到下载成功的界面。请记本单提及的按钮名称,请读者记好它们的名字。4-3此时界面出现了新的工具条,如图中左上角所示,最右边一个是退出仿真模式,退出IDE与仿真器的连接。这里还要介绍它左边的另外8个按钮,为接下来叙述调试作准备,这8个按钮要在IDE与仿真器处于连接时才可见(可用)。左起,1-复位,在IDE与仿真器连接的时候,用此按钮将程序指针(PC)指向程序开始处,2-停止,图中是灰包的,在程序运行时方可用,它可以使用正在运行的程序停下来,3-单句执行,程序停止时,单击本按钮可让程序向前执行一条语句,4-进入语句内执行,如进入一个函数体里执行,在汇编级向前执行一条指令,5-运行至本函数结束,停止于上一层函数体内,6-单句,作用和3相似,但又不同,具体可参考(EM8051_UserGuide.pdf),7-执行到光标所在行,8-全速运行,在设置了断点处停下。五五五五、、、、在线调试程序在线调试程序在线调试程序在线调试程序在线高度程序前应该使用IAR下载程序,下载程序的步骤见于第四章,下载成功后的界面见4-3,在IAR里常见的调试手段有设置断点、查看(修改)寄存器值和变量值,我们将上一单用的小工程修改,增加一个变量,然后用来作为本程序的例子。程序清单://IAR示范用例/*----------------------------------头文件----------------------------------*/#includeiocc1110.h/*----------------------------------本地函数----------------------------------*/voidhalWait(unsignedcharwait);//程序入口voidmain(void){unsignedchari;P1DIR|=0X03;//P10,P11输出,假定这两个IO接了LEDP1=0xff;//高电平关灯while(1){P1^=0X01;//P10所接LED取反for(i=0;i100;i++)//延时200ms{halWait(1);//23行halWait(1);}}}//ms延时函数voidhalWait(unsignedcharwait){unsignedlonglargeWait;if(wait==0){return;}largeWait=((unsignedshort)(wait7));largeWait+=59*wait;largeWait=(largeWait(CLKCON&0x07));while(largeWait--);return;}在第23行设置断点,设置断点有4种方法,设置断点前请先将光标定位到要设断点的行,法一用菜单Edit-ToggleBreakpoint,法二单击Debug左边第一个红色按钮,法三在代码上右键选ToggleBreakpoint(code),法四在代码行首再左的灰色位置双击鼠标左键。然后单击Debug下载程序,下载后保持连接关系,然后在单击全速运行(按键名称,详见第四章),程序将会停止在断点处,当程序停止运行时,在IDE中可以查看诸多信息。在代码编辑窗口的右边依次是反汇编窗口,变量窗口,寄存器窗口,下方则是内存窗口。用户从这此信息里去发现错误。同时可以在窗口里改变变量值、寄存器值、内存的任意byte的数据,甚至IO的输出,当然在改之前用户要明白数据的意义。可以在菜单栏里View里调出这些窗口,常用窗口有Breakpoints,Memory,Debuglog,Disassemble,Locals,Register,Watch,Auto,它们都只在调试状态下可见。六六六六、、、、工程设置工程设置工程设置工程设置工程设置分两个部分来介绍,前一部分是共性的,后一部分以CC1110为例,告诉读者一般要为芯片设置些哪些参数。这里的设置总是要在左边选择大类这里的设置总是要在左边选择大类这里的设置总是要在左边选择大类这里的设置总是要在左边选择大类,,,,图中左边反色显示的即为选择项图中左边反色显示的即为选择项图中左边反色显示的即为选择项图中左边反色显示的即为选择项,,,,下文不再说明下文不再说明下文不再说明下文不再说明。。。。对于工程共性设置来说,通过要指定头文件路径和编译开关,对于头文件路径来说有两表示相对路径的变量需要说明$PROJ_DIR$和$TOOLKIT_DIR$它们分别指工程所在目录(.ewp文件所在目录)和IAR给的头文件路径(..\inc\)。而XDIR\..\代表XDIR文件夹的上一层目录。定义编译开关和设置文件文件路径在同一个选项卡上。6-1另一个通过需要设置的地方是堆栈大小。见下图中红色区域。6-2芯片特性设置包含了xcl文件,仿真用的模型等。开发中不能忽略!6-36-46-5

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功