理论教育 基于Proteus和IAREWARM的ARM嵌入式系统应用

基于Proteus和IAREWARM的ARM嵌入式系统应用

时间:2023-11-03 理论教育 版权反馈
【摘要】:原理图绘制完成后,还要给ARM处理器装入应用程序,才可以进行虚拟仿真调试。需要注意的是,装入到原理电路图LPC2138中的Hex文件,可以进行虚拟仿真并观察程序运行结果,但不能进行源代码调试,只有装入的是包含DWARF2调试信息的ELF文件,才能进行源代码调试。源代码调试窗口右上角提供的调试按钮功能如下:全速运行。

基于Proteus和IAREWARM的ARM嵌入式系统应用

绘制原理图是在原理图编辑窗口中的蓝色方框内完成的,通过下拉菜单System中的Set Sheet Size选项,可以调整原理图设计页面大小。绘制原理图时,首先应根据需要选取元器件,Proteus ISIS库中提供了大量元器件原理图符号,利用Proteus ISIS的搜索功能,可以很方便地查找需要的元器件。下面以图2-19为例来说明绘制原理图的方法。

首先根据需要选择器件。单击元器件列表窗口上边的按钮P,弹出如图2-20所示元器件选择窗口,在该窗口左上方的“Keywords”栏内键入LPC,窗口中间的“Results”栏将显示出元器件库中所有LPC2000 ARM处理器,选择其中的LPC2138,窗口右上方的“LPC2138Preview”栏将显示出图形符号,同时显示该器件的虚拟仿真模型(LPC213x),单击“OK”后,选择的器件将出现在器件列表窗口。照此办理,选择所有需要的元器件,如果选择的器件显示“No Simulator Model”,说明该器件没有仿真模型,将不能进行虚拟仿真。

如果遇到库中没有的器件,就需要自己创建。通常有两种方法创建自己的元件:一种是用PROTEUS VSM SDK开发仿真模型,并制作元件;另一种是在已有的元件基础上进行改造。关于具体创建方法这里不作介绍,请读者查阅相关资料。

器件选择完毕后,就可以开始绘制原理图了。先用鼠标从器件选择窗口选中需要的器件,预览窗口将出现该器件的图标。再将鼠标指向编辑窗口并单击左键,将选中的器件放置到原理图中。

放置电源和地线端时,要从配件模型按钮栏中选取。

在两个器件之间进行连线的方式很简单,先将鼠标指向第一个器件的连接点并单击左键,再将鼠标移到另一个器件的连接点并单击左键,这两个点就被连接到了一起。对于相隔较远,直接连线不方便的器件,可以用标号的方式进行连接,如图2-19中按键KEY1~KEY8与LPC2138的P0.8~P0.15各口线之间就是通过标号相连的,需要注意的是,如果使用总线方式标明连接点,真正起作用的是标号,而总线只是一个标识符号而已。

978-7-111-44508-1-Chapter02-21.jpg

图2-19 绘制原理图示例

978-7-111-44508-1-Chapter02-22.jpg

图2-20 器件选择窗口

在编辑窗口中绘制原理图的一般操作总结如下:用左键放置元件,右键选择元件,双击右键删除元件,右键拖选多个元件,先右键后左键编辑元件属性,先右键后左键拖动元件,连线用左键,删除用右键,中键滚轮缩放整个原理图。

原理图绘制完成后,还要给ARM处理器装入应用程序,才可以进行虚拟仿真调试。先用鼠标右键选中LPC2138,再单击左键,弹出如图2-21所示器件编辑窗口。

978-7-111-44508-1-Chapter02-23.jpg

图2-21 器件编辑窗口

在器件编辑窗口中“Program File”栏单击文件夹浏览按钮978-7-111-44508-1-Chapter02-24.jpg,找到需要仿真的Hex文件或ELF文件,单击“OK”按钮完成可执行文件装入,这时单击仿真工具栏中全速运行按钮978-7-111-44508-1-Chapter02-25.jpg即可开始进行虚拟仿真。需要注意的是,装入到原理电路图LPC2138中的Hex文件,可以进行虚拟仿真并观察程序运行结果,但不能进行源代码调试,只有装入的是包含DWARF2调试信息的ELF文件,才能进行源代码调试。

为了直观看到仿真过程,还可以在原理图中添加一些虚拟仪表,可用的虚拟仪表有:电压表电流表、虚拟示波器、逻辑分析仪、计数器定时器、虚拟终端、虚拟信号发生器、序列发生器、I2C调试器、SPI调试器等。

先点击仿真工具中的暂停按钮978-7-111-44508-1-Chapter02-26.jpg,再单击Debug下拉菜单中的“ARM7 Source Code”选项,弹出如图2-22所示源代码调试窗口。源代码调试窗口右上角提供的调试按钮功能如下:

978-7-111-44508-1-Chapter02-27.jpg全速运行(Run)。启动程序全速运行。

978-7-111-44508-1-Chapter02-28.jpg单步运行(Step Over)。执行子程序调用指令时,将整个子程序一次执行完。

978-7-111-44508-1-Chapter02-29.jpg跟踪运行(Step Into)。遇到子程序调用指令时,跟踪进入子程序内部运行。

978-7-111-44508-1-Chapter02-30.jpg跳出运行(Step Out)。将整个子程序运行完成,并返回到主程序。

978-7-111-44508-1-Chapter02-31.jpg运行到光标处(Run To)。从当前指令运行到光标所在位置。

978-7-111-44508-1-Chapter02-32.jpg设置断点(Toggle Breakpoint)。将光标所在位置设置一个断点。(www.daowen.com)

978-7-111-44508-1-Chapter02-33.jpg

图2-22 源代码调试窗口

将鼠标指向源代码调试窗口并单击右键,弹出如图2-23所示右键快捷菜单,提供如下功能选项:

978-7-111-44508-1-Chapter02-34.jpg

图2-23 源代码调试窗口中的右键菜单

●“Goto Line…”,单击该选项,在弹出的对话框中键入源程序代码的行号,光标立即

跳转到指定行。 ●“Goto Address…”,单击该选项,在弹出的对话框中键入源程序代码的地址,光标立

即跳转到指定地址处。 ●“Find…”,单击该选项,在弹出的对话框中键入希望查找的文本字符,将在源代码调

试窗口从当前光标所在位置开始查找指定的字符。

●“Find Again…”,将重复上次查找内容。

●“Toggle Breakpoint”,在光标所在处设置或删除断点。

●“Enable All Breakpoints”,允许所有断点。

●“Disable All Breakpoints”,禁止所有断点。

●“Clear All Breakpoints”,清除所有断点。

●“Fix–up All Breakpoints On Load”,装入时修复断点。

●“Display Line Numbers”,显示行号。

●“Display Addresses”,显示地址。

●“Display Opcode”,显示操作码。

●“Set Font…”,单击该选项,在弹出的对话框中设置源代码调试窗口中显示字符的字体。

●“Set Colour…”,单击该选项,在弹出的对话框中设置弹出窗口的颜色。

在Proteus中进行源代码调试时,Debug下拉菜单提供了多种弹出式调试窗口(已在前面2.1.3节中介绍),给调试过程带来了许多方便。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈