登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

轻松入门开发ARM程序(为初学者写的入门手册)-9-

作者:liuq 栏目:MCU技术
轻松入门开发ARM程序(为初学者写的入门手册)-9-
第四章    用C-SPY调试应用程序
编译连接生成的STR710-LED.d79现在可以用C-SPY调试器进行调试。用户利用调试器可以查看变量、设置断点、观察反汇编代码、监视寄存器和存储器、在Terminal I/O窗口打印输出。
1.设置Debugger选件
在开始调试之前必须为C-SPY调试器设置选件,具体操作如下。选择主菜单Project > Option,选择Category中的Debugger。
    在Setup页面,在Driver的下拉菜单中选择J-Link/J-Trace,同时选择Run to main(见插图1)。如果用户没有购买IAR的JTAG仿真器,可选择Simulator模拟执行。

插图1. Debugger选件设置

在Download页面,选择veryfy download和Use FLASH loader,见插图2。
    要进行应用程序的调试,必须将生成的STR710-LED.d79文件下载到目标系统MCU的FLASH或RAM中。调试器C-SPY是通过一个叫做FLASH Loader的程序完成下载任务的。FLASH Loader的详细工作原理以及它和C-SPY的互动机理我们不在这里介绍,用户可以参阅IAR的FLASH Loader Guide。前面我们在设置General Options选件时,已经指定目标MCU是ST STR710。所以EWARM已经提供了该芯片默认的FLASH Loader。如果用户选用的MCU不在EWARM的DEVICE清单中,那就必须自己去编写该芯片的FLASH Loader了。
按Download页面(插图2)中的Edit按钮,在弹出的FLASH Loader Overview对话框(插图3)中按new…按钮。弹出FLASH Loader Configuration对话框(插图4)。因为我们要求把应用程序下载到STR710的内部FLASH中,所以选择Relocate并输入起始地址0x40000000,按OK键确认。

插图2. 设置Downloader参数

插图3. 设置FLASH Loader参数

插图4. 设置FLASH Loader下载起始地址

    Debugger的其它两个设置页面Extra Options和Plugins可以采用默认值。现在按OK键完成设置。

2.加载应用程序
选择主菜单Project > Debug或工具条上的Debugger按钮或者按键CTL+D,C-SPY将开始装载STR710-LED.d79。屏幕上将显示PC机通过J-Link加载的过程。屏幕上除了已经原先已经打开的窗口外,将显示一组C-SPY专用窗口。如Debug Log和Disassembly窗口。见插图5。

插图5. EWARM的Debug窗口
    
     注意:EWARM开发环境有两种工作状态,编辑状态和调试状态。进入和退出调试状态可以分别用工具条上的Debug 和Stop Debugging按钮。

3.组织窗口
S-SPY可以固定窗口(所谓dock),也可以将多个窗口组织成书签形式,也可以让它们浮动。改变浮动窗口的大小时其他窗口不受影响。双击或用鼠标拖动窗口标题栏就可以改变窗口的形式。

4.在源语句上调试
EWARM有以下调试功能:
① 检查源语句,双击Workspace中的main.c,编辑器窗口显示该文件;
② 用Debug > Step Over命令(或F10)步进函数调用语句;
③ 用Debug > Step Into命令(或F11)进入函数内部;当执行Step Into后,编辑窗口上的激活窗口将切换到被进入的函数。
注意:Step Over命令用来执行源程序中的一条语句或一条指令,即使这条语句是一函数调用语句。而Step Into命令则进入到函数或子程序调用的内部。
④ 还有一些其他调试命令,如Step Out(Shift+F11),Go(F5),Next statement,Break,Reset, Autostep等。用户可以用这些命令灵活地执行自己的调试任务。

5.查看变量
C-SPY允许在源程序上查看变量或表达式,并在执行程序过程中跟踪它们的值的变化。查看变量的方法有以下几种,它们的功能有一定的区别,用户可以根据自己的需要和喜好使用这些工具。至于更详细的信息请查看EWARM USER GUIDE中的Working with variables and expressions章节。
① Tooltip watch
   在Debug状态下,把光标对准编辑窗口中变量名,在该变量的旁边将显示其数据类型和当前值。

插图6. Tooltip工具显示变量值
②    Auto 窗口
Auto 窗口自动显示当前语句的和其周围相关的变量和表达式的值,单步执行程序时可以观察这些变量如何变化。打开Auto 窗口的方法是双击变量名、使该变量名变成高亮度。然后选择主菜单View → Auto命令。插图7是一个Auto窗口的例子。

插图7. Auto窗口中检查变量

③    Watch 窗口
   打开Watch 窗口的方法是选择主菜单View → Watch命令。把变量添加到Watch 窗口方法是选中变量(使其变成高亮度),然后用鼠标将其拖进Watch 窗口。或者用鼠标右键在弹出菜单中选择Add to Watcn。请注意:Watch窗口和Auto窗口可以平铺显示也可以按书签形式显示。用户可以使用鼠标变换窗口显示方式。

插图8. Watch窗口

插图8是Watch窗口的例子,它与Auto窗口以书签方式显示。Watch窗口和Auto窗口是最常用的变量观察窗口,实际上用户运用这两个窗口已经可以方便地进行变量查看了。
④    Locals 窗口
打开Locals 窗口的方法是选择主菜单View → Locals命令。此窗口自动显示局部变量,即当前活跃函数的自动变量和参数。
⑤    Live Watch窗口
   打开Live Watch 窗口的方法是选择主菜单View → Live Watch命令。Live Watch 窗口用于观察静止位置上的变量,如全局变量。变量的值在执行时连续变化。


2楼: >>参与讨论
hqgboy
刘工:W79E532可以申请样片或购买一两片实验吗?
W78E516放不下了...可以直接替代吗?PWM等等模块没用到.只是IO口...谢谢.

参与讨论
昵称:
讨论内容:
 
 
相关帖子
中文书:《ST7通用单片机原理与应用》
单片机的串口
轻松入门开发ARM程序(为初学者写的入门手册)-7-
轻松入门开发ARM程序(为初学者写的入门手册)-8-
中文资料
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号