资源简介 (共88张PPT)单片机与C语言技术应用第一单元 任务21.2 建立与配置IAR工程学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读08学习目标01了解单片机的基本知识(概念、类型、开发环境等);了解软件工程概念;掌握IAR开发环境的安装方法;掌握IAR开发环境工程建立与配置方法;掌握单片机C语言的程序结构;了解单片机仿真器下载和仿真的基础知识和操作方法。学习目标01具有软件工程概念;具有工程思维解决问题的概念;能独立安装IAR开发环境;能够独立新建IAR工程和配置IAR工程;能够使用单片机仿真器下载和仿真。学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读081.2 建立与配置IAR工程任务要求与任务分析02任务要求:能够独立新建和正确配置IAR工程。任务分析:学习如何新建工程、配置工程以及将工程编译生成hex文件。学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读081.2 建立与配置IAR工程IAR软件界面工作区和工程12知识储备0334编译和链接单片机烧写文件IAR软件界面:知识储备03菜单栏:该窗口是IAR比较重要的一个窗口,里面包含IAR所有操作及内容;在编辑模式和调试模式下,菜单栏里的内容是不一样的。工具栏:该窗口是一些常见的快捷按钮。工作区窗口:显示工作区下面工程项目的内容。编辑空间:代码编辑区域。信息窗口:该窗口包括编译信息、调试信息、查找信息等一些信息的窗口。状态栏:该窗口包含错误警告、光标行列等一些状态信息。知识储备03IAR软件界面工作区和工程1234编译和链接单片机烧写文件知识储备03在IAR中有工作区和工程概念,一个工作区可以包含多个工程,工作区这个概念就是为了管理多个工程而设计的。比如要开发一款产品,该产品中使用多个单片机,每个单片机的功能不一样,可以利用工作区和工程定义,为每个单片机建立一个工程,再把全部的工程都放到同一个工作区(项目)中,方便管理和维护。当然,也可以为每个单片机的工程分别建立工作区,这样做相对缺乏工程之间的整体联系。编译程序时,还是针对工程或工程中的某个修改过的文件进行编译链接,与工作区无关。知识储备03IAR软件界面工作区和工程1234编译和链接单片机烧写文件33知识储备03C语言代码由固定的词汇按照固定的格式组织起来,简单直观,程序员容易识别和理解,但是CPU只认识二进制形式的指令,这就需要一个工具,将C语言代码转换成二进制指令,这个过程称为编译(Compile),完成编译的软件称为编译器(Compiler)。C语言代码经过编译以后,并没有生成最终的文件,而是生成了一种叫做目标文件(Object File)的中间文件(或者说临时文件),目标文件经过链接(Link)以后才能变成最终文件。知识储备03因此链接其实就是一个“打包”的过程,它将所有二进制形式的目标文件和系统组件组合成一个最终文件,完成链接的软件称为链接器(Linker)。随着学习的深入,编写的代码越来越多,最终需要将它们分散到多个源文件中,编译器每次只能编译一个源文件,生成一个目标文件,有多少个源文件就需要编译多少次,同时生成多少个目标文件,链接器就是负责将这些目标文件组合为最终文件。知识储备03IAR软件界面工作区和工程1234编译和链接单片机烧写文件知识储备03编译和链接生成的最终文件通过一定的方式下载到单片机中,称为烧写,这个最终文件也称为烧写文件。51单片机常用的烧写文件只有hex和bin两种类型,介绍如下:(1)hex文件英特尔hex文件是由一行行符合英特尔hex文件格式的文本所构成的ASCII文本文件,在hex类型文件中,每一行包含一个hex记录,这些记录由对应机器语言码或常量数据的十六进制编码数字组成,通常用于传输将被存于ROM或者EPROM中的程序和数据。知识储备03由于英特尔hex最大只能到64K,为了可以保存高地址的数据,就有了Extended Linear Address Record格式,也称为intel-extended,CC2530程序下载工具软件SmartRF Flash Programmer只支持intel-extended的hex文件。(2)bin文件bin文件就是直接的二进制文件,内部没有地址标记。有很多不同软件都使用bin文件,在51单片机中,部分下载软件或烧写器也可以使用bin做为烧写文件文件,从0x00地址开始烧写。知识储备03学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读081.2 建立与配置IAR工程任务实施04● 任务实施前必须先准备好以下设备和资源:序号 设备/资源名称 数量 是否准备到位(√)1 计算机(已安装好IAR软件) 1台 2 NEWLab实训平台 1套 3 CC-Debugger 仿真器 1套 4 黑板 1块 12创建新工程添加源文件3工程配置4工程编译任务实施04打开IAR软件。使用IAR开发环境首先应建立一个新的工作区,打开IAR Embedded Workbench时自动建好了一个新工作区,也可以选择File ->New ->Workspace创建新的工作区。向当前工作区添加新的工程,单击Project ->Create New Project,弹出建立新工程对话框,选择默认设置,单击“OK”。任务实施04IAR软件界面:建立新工程对话框:任务实施04根据需要选择工程保存的位置,更改工程名,如IOtest,单击“保存”。保存新工程对话框:任务实施04这样工程就出现在工作区窗口中。工作区窗口中的新建工程:任务实施04项目名称后的“*”说明还没有保存,可单击工具栏“”或“”,或选择菜单File ->Save ->Workspace,起一个合适的文件名,例如works,放到新建的工作区目录下,并单击“保存”。任务实施04保存工作区对话框:任务实施0412创建新工程添加源文件3工程配置4工程编译任务实施04单击工具栏上的 或选择菜单File->New->File新建一个空文件,向文件里添加以下代码:1.#include 2.void main(void)3.{4. while(1)5. {6. ;7. }8.}任务实施04单击工具栏上的 或选择菜单File ->Save ,弹出保存文件对话框,新建一个source文件夹并进入到source文件夹中,将文件名命名为test.c,单击“保存”。任务实施04保存文件对话框:任务实施04新建source文件夹,只是为了将自编源文件放在同一个文件夹中,能够有效地和系统文件进行区分,不是必须的。文件保存好之后,需要把刚才的文件添加到工程中,选择菜单Project ->Add File或在工作区窗口中,在工程名上点右键,在弹出的快捷菜单中选择Add File,弹出添加文件对话框,选择刚才保存的text.c,单击“打开”。任务实施04添加文件对话框:任务实施04操作完成就把文件添加到工程中,在工程资源管理器中可以看到如图所示内容。添加源文件后的工程:任务实施04如果已经有现成的源文件,可以选择菜单Project->Add File或在工作区窗口中的工程名上点右键,弹出快捷菜单选择Add File,弹出文件打开对话框,选择需要的文件单击“打开”,就可以将以前编辑好的源文件添加到工程中。通常将同一工程的源文件都放在source文件夹下,同时也将source文件夹放在工作区目录下。任务实施0412创建新工程添加源文件3工程配置4工程编译任务实施04在工作区窗口中右键点击工程名,然后选择“Options”。右键单击工程名,选择Options:任务实施04也可以用菜单的方式进入工程配置对话框,先在工作区窗口中左键点击工程名,工程名变为蓝色,再从菜单中选择Project ->Options,也可以进入Option工程配置对话框。任务实施04(1)General Options配置在左边的选项中选择General Options,并在右边的标签中选中Target。工程配置对话框:任务实施04首先设置Device,单击选项后的“”,选择Texas Instruments目录下的CC2530F256.i51(该文件的默认路径为:C:\Program Files\IARSystems\Embedded Workbench 6.0\8051\config\devices\Texas Instruments),再单击“打开”。任务实施04选择芯片对话框:任务实施04这是告诉编译器使用的单片机型号为CC2530F256,即板上单片机的型号是什么就应该选什么。其余的选项均保持默认,单击“OK”。任务实施04配置完成的Target标签:任务实施04为Stack/Heap设置标签,将XDATA文本框内设置为0x1FF。Stack/Heap设置标签:任务实施04本书修改XDATA文本框的值为0x1FF,是为了符合TI提供Z-Stack协议栈的要求。由于本书并没有使用Z-Stack协议栈,涉及的任务也很简单,所以本书中XDATA文本框值为默认的0xEFF也是可以正常使用的,但为了与以后学习zigbee设置方式一致,因此也将XDATA文本框的值改为0x1FF。任务实施04(2)Linker配置在左边的选项中选择Linker,并在右边的选项卡中选择Config标签,在Linker Command file中复选Override default,告诉编译器用下面指定的链接器命令文件替代编译器默认的链接器命令文件;单击下面一行的“”,选择Texas Instruments目录下的lnk51ew_CC2530F256_banked.xcl,(该文件的默认路径为:$TOOLKIT_DIR$\config\devices\TexasInstruments\lnk51ew_CC2530F256_banked.xcl ),文件名后面的banked表示使用Code modle类型的Banked模式,再单击“打开”。任务实施04Linker的Config标签:任务实施04在Output标签中,勾上Allow C-SPY-specific extra output file选项,允许生成额外的文件(注:文件名和文件格式由下面的Extra Output标签中指定)。Linker的Output标签:任务实施04在Extra Output标签中,将Generate extra output file前面的复选框打勾,告诉编译器要生成额外的文件;Override default前面的复选框打勾,告诉编译器用下面指定的文件名替代编译器默认的文件名,文件名称要从IOtest.sim更改为IOtest.hex;Output format下拉框选intel-extended,即生成文件的格式指定为英特扩展hex格式。任务实施04Output和Extra Output两个标签设置的目的是为了生成下载工具软件需要使用的hex文件(烧写文件)。Linker的Extra Output标签:任务实施04(3)Debugger配置在左边的选项中选择Debugger,并在右边的选项卡中选择Setup标签,在Driver中选择配套的硬件Texas Instruments。任务实施04Debugger的Setup标签:任务实施04以上设置完成,单击“OK”保存设置。任务实施04如果没有硬件Texas Instruments,Driver中也可以选择Simulator,即软件仿真。任务实施044工程编译12下载或找到安装包安装软件3安装结果验证任务实施04工程配置或修改之后,需要先编译,再链接,或者全部重建,具体操作如下:(1)编译和链接选择菜单栏Project->Make,或单击工具栏,或按F7编译键链接工程,完成编译和链接。(2)全部重建先在项目名称上右键点击,然后在弹出的菜单中选择Rebuild All。任务实施04全部重建:任务实施04图标是编译当前文件(Compile),与图标编译工程(Make)是有区别的,仅编译当前已经修改的文件,而是整个工程中自上次编译之后有修改的文件。一般情况下为了防错,建议只使用,或菜单栏Project->Make,或按F7。Rebuild All不管源文件有没有修改都重新编译和链接。正常情况下和Rebuild All两种方式最后得到的烧写文件是相同的。任务实施04如果没有错误,可以在信息栏看到编译成功的提示信息。由于本任务代码只有一个test.c文件,所以提示信息中说明只编译和链接test.c这个文件。最后两行是错误(errors)和警告(warnings)的数量。错误通常是内部编译出错、语法错误或命令行错误等,编译时不允许有错误存在,必须修改到错误为0;警告则只是编译器认为可能有错误,警告大多数情况下不会影响结果,即生成的代码功能是正常的。对于初学者,建议认真查找原因并修改,直到警告数量为0。编译通过后,在当前目标下的Debug\Exe文件夹中可以找到编译生成的hex文件。任务实施04信息栏中的编译信息:生成的hex文件:任务实施041.2 建立与配置IAR工程学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读08任务检查与评价05本次任务关键知识引导:1.IAR软件界面包含:菜单栏、( )、( )、( )、( )和状态栏。2.在IAR中有工作区和工程概念,一个工作区可以包含多个( )。3.英特尔hex文件是由一行行符合英特尔hex文件格式的( )所构成的ASCII( )。4.51单片机常用烧写文件只有hex和bin两种,CC2530程序下载工具软件SmartRF Flash Programmer就只支持( )文件。5.用菜单的方式进入工程配置对话框,先在工作区窗口中左键点击工程名,工程名变为蓝色,再从菜单中选择Project ->( )。6.Debugger配置中,在右边的选项卡中选择Setup标签,在( )中选择配套的硬件Texas Instruments。任务检查与评价05各组选派代表分析本组任务实施经验;01添加标题请参照评价标准完成自评;02完成对其他小组的评价。03互评经验分享自评评价方式 可采用自评、互评、老师评价等方式 说明 主要评价学生在项目学习过程中的操作技能、理论知识、学习态度、课堂表现、学习能力等。 序号 评价内容 评价标准 分值 得分1 知识运用(20%) 掌握相关理论知识,完成本次任务关键知识的作答准确率(20分) 20分2 专业技能(40%) 工程编译通过,生成hex文件。(40分) 40分工程编译通过,没有生成hex文件。(30分)有对工程按书本进行配置,但编译没有通过。(20分)建立工程错误,或者没有对工程进行配置。(5分)3 核心素养(20%) 具有良好的自主学习、分析解决问题、帮助他人的能力、整个任务过程中有指导他人并解决他人问题(20分) 20分具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)具有主动学习并收集信息的能力,遇到问题有请教他人并得以解决(10分)不主动学习(0分)4 职业素养(20%) 实验完成后,设备无损坏、设备摆放整齐、工位区域内保持整洁、无干扰课堂秩序(20分) 20分实验完成后,设备无损坏、无干扰课堂秩序(15分)无干扰课堂秩序(10分)干扰课堂秩序(0分)总得分1.2 建立与配置IAR工程学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读08任务小结061.2 建立与配置IAR工程学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读08任务拓展07动动脑什么情况下可以打开和关闭调试工具栏?任务拓展07动动手先在工作区窗口中左键点击工程名,工程名变为蓝色,从菜单中选择Project ->Options也可以进入Option工程配置对话框;在工作区窗口中左键点击test.c的文件名,从菜单中选择Project ->Options也可以进入Option工程配置对话框,对比一下两次打开的对话框有什么不同,思考一下为什么会这样。任务拓展07动动手试着将编写好的.c源文件换个名称,再按图1-2-8和图1-2-9操作将文件添加到工程中。Debugger选项卡中在Driver中选择配套的硬件Texas Instruments,试着选择选择Simulator,编译之后仿真一下,体会一下与使用硬件Texas Instruments的区别。1.2 建立与配置IAR工程学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读081.IAR工具栏简要说明IAR的Tool bar工具栏共有两个:Main主工具栏和Debug调试工具栏。工具栏可以在通过View->Toolbar->Main菜单打开。08延伸阅读打开工具栏:(1)主工具栏。在默认的编辑状态下,只有主工具栏。主工具栏:08延伸阅读主工具栏图标的中英文说明:08延伸阅读序号 命令中文说明 命令英文名称 快捷键1 新建文件 New Document Ctrl + N2 打开文件 Open Ctrl + O3 保存文件 Save Ctrl + S4 保存所有文件 Save All08延伸阅读序号 命令中文说明 命令英文名称 快捷键5 打印文件 Print Ctrl + P6 剪切 Cut Ctrl + X7 复制 Copy Ctrl + C8 向前查找 FInd Previous Shift + F308延伸阅读序号 命令中文说明 命令英文名称 快捷键9 向后查找 FInd Next F310 查找(增强) FInd Ctrl + F11 替换 Replace Ctrl + H12 前往行列 Go to Ctrl + G08延伸阅读序号 命令中文说明 命令英文名称 快捷键13 标记/取消书签 Toggle Bookmark Ctrl + F214 跳转到下一个书签 Next Bookmark F215 跳转到上一步 Navigate Backward Alt + 左箭头16 跳转到下一步 Navigate Forward Alt + 右箭头08延伸阅读序号 命令中文说明 命令英文名称 快捷键17 编译当前(文件、组) Compile Ctrl + F718 编译工程(构建) Make F719 停止编译 Stop Build Ctrl + Break20 编辑/取消断点 Toggle Breakpoint Ctrl + F908延伸阅读序号 命令中文说明 命令英文名称 快捷键21 下载并调试 Download and Debug Ctrl + D22 只调试不下载 Debug without Downloading部分图标的功能说明如下:① 书签:书签在编译的时候比较实用,可以快速找到标记书签所在行。② 跳转到上/下一步:跳转是在编译代码通过跟踪代码留下的“脚步”,我们可以通过该方式找到这些“脚步”。③ 下载并调试Download and Debug:下载代码之后再进行调试。08延伸阅读④ 只调试不下载Debug without Downloading:如果之前下载过代码,只需要再点击该按钮。如果代码已经修改,点击这个图标并不会重新下载新的代码,芯片中还是原来的代码,这种情况下仿真会出现错误。为了防错,建议不使用这个图标。(2)调试工具栏。调试工具栏是在进入调试或模拟仿真时会自动显示。08延伸阅读调试工具栏:08延伸阅读调试工具图标的中英文说明:08延伸阅读序号 命令中文名称 命令英文名称 快捷键1 复位 Reset2 停止运行 Break3 逐行运行 Step Over F104 跳入运行 Step Into F11调试工具图标的中英文说明:08延伸阅读序号 命令中文名称 命令英文名称 快捷键5 跳出运行 Step Out F116 运行到下一语句 Next Statement7 运行到光标行 Run to Cursor8 全速运行 Go F59 停止调试 Stop Debugging Ctrl + Shift + D2.Code model和Data model选项说明在Code model中有Near和Banked两项可选择,由于芯片为CC2530F256,因此这里选择默认的Banked,标明需要访问CC2530F256的整个Flash空间。只有不需要Bank支持才可以选择Near,例如使用CC2530F32或CC2530F64,或者虽然使用CC2530F128或者CC2530F256,但由于编译后的文件很小,并不需要使用64K以上空间,也可以选择Near。Data model共有Tiny、Small、Large、Generic和Far五个选项,用于决定变量的默认存储类型、参数传递区和无声明存储类型说明变量的存储类型,各种不同模式对于同样的硬件和同样的代码,绝大多数情况下运行效果是等效的,但编译出来的烧写文件大小不一样。08延伸阅读在Data model选择Tiny或Small时,Calling convention变量存储在IDATA内存空间,在Data model选择Large或Generic时,Calling convention变量存储在XDATA内存空间,在Data model选择Far时,Calling convention变量存储在PDATA内存空间。Z-STACK协议栈使用Large来支持CC2530F256,这样协议栈可以存储在XDATA区域。08延伸阅读3.CC2530的DATA、IDATA、XDATA和PDATA区别从数据存储类型来说,CC2530与51单片机类似,也有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应CODE、DATA、XDATA、IDATA、PDATA类型。使用不同的存储器,将使程序执行效率不同,在使用IAR编译C51程序时,在Target标签的Data model中指定变量的默认存储类型,源程序中没有对变量单独声明,都使用默认的类型。08延伸阅读(1)CODE区:单片机的程序代码区,代码区的数据是不可以改变的。可存放数据表,跳转向量和状态表。(2)DATA:固定指前面0x00~0x7F的128个RAM,可以用ACC直接读写的,速度最快,生成的代码空间也最小。(3)IDATA:固定指前面0x00~0xFF的256个RAM,其中前128个RAM和DATA的128个RAM完全相同,只是访问的方式不同。(4)XDATA:外部扩展RAM,一般指外部0x0000-0xFFFF空间。(5)PDATA:外部扩展RAM的低256个字节。08延伸阅读CC2530使用不同的指令来访问IDATA和XDATA,访问IDATA比访问XDATA要快,但IDATA只有256个RAM,因此变量多时应该指定XDATA。08延伸阅读 展开更多...... 收起↑ 资源预览