IAR arm 入门教程Word下载.docx
《IAR arm 入门教程Word下载.docx》由会员分享,可在线阅读,更多相关《IAR arm 入门教程Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
1.01
2010/8/19
Emot
增加
下载程序(第四章)
在线调试程序(第五章)
序:
其实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示范用例
/*----------------------------------头文件----------------------------------*/
#include"
iocc1110.h"
/*----------------------------------本地函数----------------------------------*/
voidhalWait(unsignedcharwait);
//程序入口
voidmain(void)
{
unsignedchari;
P1DIR|=0X03;
//P10,P11输出,假定这两个IO接了LED
P1=0xff;
//高电平关灯
while
(1)
{
P1^=0X01;
//P10所接LED取反
for(i=0;
i<
100;
i++) //延时200ms
halWait
(1);
//23行
}
}
//ms延时函数
voidhalWait(unsignedcharwait)
unsignedlonglargeWait;
if(wait==0)
{return;
largeWait=((unsignedshort)(wait<
<
7));
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-3
6-4
6-5