搜索
bottom↓
回复: 12

发一个自己码出来的文字: 用IAR调试芯唐Cortex-M0系列芯片指南

[复制链接]

出0入0汤圆

发表于 2010-7-13 23:01:11 | 显示全部楼层 |阅读模式
支持调试芯唐Cortex-M0芯片的工具很多,例如在Keil环境下,可搭配Ulink2或芯唐的Nu-Link调试器进行调试;
而在IAR EWARM集成环境下,则可以搭配万利的Mlink,或搭配芯唐的Nu-Link调试器进行调试。
本文将基于IAR EWARM + Nu-Link的组合,介绍用IAR调试Cortex-M0芯片的办法。


一、功能介绍:
在调试之前,首先让我们先了解一下Nu-Link的功能。
Nu-Link是即插即用的调试器,USB接口,无需外接电源,即可进行调试,
并全面兼容WinXP, Vista, Win7。
IAR EWARM + Nu-Link调试器组合,除支持基本的程序烧入、调试、断点、寄存器和内存访问等功能之外,
还有其他一些有趣的功能:
1. 支持无限数量Flash断点
   Cortex-M0的硬件断点数量较少,导致运行在flash中的程序,最多只支持4个断点。
   很多情况下,仅4个断点是不够的。Nu-Link支持的Flash断点功能,采用快速修改Flash内容的方式,
   完全突破了4个断点的限制,让用户可以使用任意多的断点数。同时,对Flash断点采用Cache机制
   和LRU算法控制断点换出,最大程度的减少了更改Flash断点的次数。让用户在使用Flash断点时,
   几乎感觉不到调试速度变慢。
2. Semihosting输出功能
   在调试时,用户希望打出一些调试信息。然而,很多情况下嵌入式系统甚至连串口都没连接,
   更别说打印信息了。利用Semihosting可以解决这个问题,经semihosting方式的输出函数,
   在调试器调试时,可以将printf打出的信息显示在IAR的Terminal窗口;在离开调试器运行时,
   则可以打印到实际的物理设备。
   (如果您用Keil,在芯唐Cortex-M0上使用semihosting,可以参考此文:http://my.chinaunix.net/space-23480430-do-blog-id-1016.html)


二、调试指南
步入正题,笔者进行调试时,软硬件环境如下:
软件:
  1. Windows Vista操作系统
  2. IAR EWARM KS 5.5评估版(可以在IAR网站上下载)
  3. Nu-Link for IAR驱动:Nu-Link_IAR_Driver 1.02.exe
硬件:
  1. Nu-Link 调试器
  2. NUC140开发板

上述2,3的软件安装时,都按照默认路径安装。
安装完成后,在Nu-Link的安装目录下有一个例子工程目录:
C:\Program Files\Nuvoton Tools\Nu-Link_IAR\Samples
我们拿其中的PWM工程做演示。
由于Vista下面该目录不能随意写,先将该工程复制到另外可写的目录,
于是我们复制到 W:\Nuvoton\PWM 下使用。

第一步,双击打开工程 W:\Nuvoton\PWM\PWM.eww
这时候IAR程序将启动,显示找不到调试器驱动

(原文件名:23480430_127808631256Q6.png)
先不用管它,点击一系列“确定”后,工程最终被装载进IAR.
紧接着,我们开始检查工程的配置,点击菜单的Project => Options,或者用快捷键(Alt F7),
将进入工程的配置对话框:

(原文件名:23480430_12780867461DSJ.png)
这个配置对话框里,有一项需要修改:
点左侧的Third-Party Driver, 右侧的IAR debugger driver, 需要重新设定,
改成Nu-Link实际的安装路径
   C:\Program Files\Nuvoton Tools\Nu-Link_IAR\Nu-Link_IAR.dll

(原文件名:23480430_1278087419r2NB.png)
另有有几项需要特别留意,检查是否设定正确。
1. 点左侧的Debugger, 在右侧出现的Setup标签页里,下面的Driver要选"Third-Party Driver"
3. 点左侧的General Options, 在右侧出现的Target标签页里,下面的Device选 Nuvoton NUC140xE
4. 点左侧的Linker,右侧的出现的Config标签页里,勾上Override default, 选择flash烧写程序的路径,
   这个例子里我们使用 $PROJ_DIR$\config\NUC140_Flash.icf
最后点击"OK", 保存项目配置。

X-Hawk觉得IAR配置更新做的不太好呢,保险起见,保存完配置,
最好将IAR完全关掉,重新打开一下当前这个工程。

第二步,重新编译项目,在Project菜单上点Rebuild All即可,很简单。

第三步,确保硬件已经连接好:
Nu-Link调试器一头连在开发板上,USB一头连在电脑上。开发板上电。

第四部,开始调试。在Project菜单上点Download and Debug.
不出意料,程序将运行到main停下来,等待用户调试。
至此,您就可以尝试单步运行、访问memory、寄存器等这些调试动作了。下图是进入调试模式的窗口:

(原文件名:23480430_1278088498N6la.png)


三、semihosting输出
接下来,我们将程序稍微修改一下,演示下如何将调试信息打印到IAR集成环境的窗口里。
我们将main程序改成简单的输出:
int main(void)
{
  int i = 0;
  while(1)
    printf("Hello world, %d\n", i++);
}
然后重新编译(在Project菜单上点击Make 或 Rebuild All),
编译完在Project菜单上点击Download and debug运行.
开始运行进入main后,先点击菜单View 下的 Terminal I/O项,
这时候会出现一个Terminal I/O的窗口。
然后按下F5继续运行程序,您会发现printf打印的字符串,统统显示在这个Terminal I/O窗口了。
是不是很简单:)

(原文件名:23480430_1278089391967R.png)

- end -

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-7-14 09:46:38 | 显示全部楼层
不错,帮顶!

出0入0汤圆

发表于 2010-7-15 11:19:09 | 显示全部楼层
很好。辛苦,谢谢。

出0入0汤圆

发表于 2010-7-19 16:33:31 | 显示全部楼层
您好,Nu-Link for IAR是否可以上传一份?谢谢!

出0入0汤圆

发表于 2010-7-23 16:36:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-23 21:10:23 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-7-27 18:10:40 | 显示全部楼层
3楼的朋友,在芯唐的官方网站有下:
http://www.nuvoton.com/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=403a9c50-52c2-4463-9057-2595190602c5

找到这个文件 NUC1xx IAR ICE driver (Build 4033) V1.02.zip

上传一份过来,点击此处下载 ourdev_571090.zip(文件大小:2.24M) (原文件名:Nu-Link_IAR_Driver (Build 4033) V1.02.zip)

出0入0汤圆

发表于 2010-10-7 15:58:15 | 显示全部楼层
LS的兄弟,向你致敬!谢谢分享~~!

出0入0汤圆

发表于 2010-10-7 16:07:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-7 16:37:51 | 显示全部楼层
clock 似乎不能高过4M,不然没响应
SWD就是慢了些

出0入0汤圆

发表于 2010-11-14 00:49:25 | 显示全部楼层
http://blog.163.com/ghx-1@yeah/blog/static/16870442920107594358727/ 这篇是KEIL下的M0快速上手

出0入0汤圆

发表于 2010-11-14 08:00:11 | 显示全部楼层
看看

出0入0汤圆

发表于 2010-11-14 10:44:32 | 显示全部楼层
多谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-17 09:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表