一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置
摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少。从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目。这是本系列博客的第一篇,主要介绍开发环境IAR for ARM的搭建、调试工具的使用,并演示一个串口例程。开发freescale Kinetis KE02Z,可选的开发环境有三个:Codewarrior IDE (Eclipse)、IAR for ARM或者Keil for ARM。由于Codewarrior 10.4版本下载比较麻烦,而且工程文件繁杂,不像IAR和KEIL那样简洁明了。这里选用IAR for ARM作为KE02Z的开发环境。本文介绍IAR软件的安装、 FRDM-KE02Z OpenSDA的两种调试模式(SWD 和 MSD)设置方法。
更多更新请关注我的博客:@超群天晴 http://www.cnblogs.com/surpassal/
硬件平台:Freescale Kinetis KE02Z
开发环境:Windows XP 32 bit
开发软件:IAR for ARM 6601
一、安装IAR for ARM
1、下载IAR for ARM
因为接下来的项目开发代码不会超过16KB,就没有去找破解版,而直接选择评估版本,下载地址
http://supp.iar.com/Download/SW/?item=EWARM-EVAL
当前最新版是EWARM-CD-6601-5104,使用评估版本有两个可选项:30天试用版(30-day time-limited evaluation),或者无时间限制(Kickstart, size-limited evaluation),但是Cortex M0+有16KB的代码大小限制。两个版本的安装包都是一样的,根据你申请的License不同决定的具体使用的版本
2、安装IAR
运行下载好的安装包EWARM-CD-6601-5104.exe,启动IAR的安装欢迎界面,选择Install IAR Embeded Workbench,按照提示完成安装。

3、申请License
安装结束后,需要申请一个License才可以使用。License申请非常简单,按照提示,输入申请邮箱和器件类型,License的链接会发送到申请邮箱中。
4、安装OpenSDA驱动
FRDM-KE02Z的调试接口是OpenSDA,需要安装驱动后方可使用。IAR的安装欢迎界面,点击Install drivers项。

打开的目录有很多项,像Jtag,Segger等。进去pemicro目录,安装PEDrivers_installer。

安装完成后,可以把KE02Z开发板连接到PC上,会提示安装驱动。首先安装的是CDC Serial Port,是把OpenSDA口转为一个虚拟串口

安装完成后,在设备管理器中能看到一个虚拟的串口。这个串口可以作为默认的标准输入/输出口,也就是使用stdio标准函数类似printf或者scanf直接作为输出输入的接口。在我的电脑上,串口对应名称是com7.

同时,由于开发板默认的调试模式是MSD(Mass Storage Device, 大容量设备模式),因而会提示可移动磁盘PEMICRO MSD USB Device。
磁盘FRDM-KE02Z大小约为127MB。这个磁盘的作用在后续会进行介绍。

至此,IAR环境和OpenSDA调试驱动安装完成。
二、让板子动起来:OpenSDA的MSD调试模式和第一个小例程Helloworld
下载飞思卡尔官方给出的例程ke02-sc.rar
解压后,找到build\iar\Uart_demo\Uart_demo.eww工程文件,双击启动开打工程,make后,提示无error

打开工程可执行文件路径build\iar\Uart_demo\FLASH_32KB_PFLASH\Exe,将Uart_demo_frdm.srec 这个flash烧写文件拷贝到刚刚连接上的可移动磁盘FRDM-KE02Z中 

这样,这个flash烧写文件就通过OpenSDA模块被写入到KE02Z的片内flash中。
启动一个串口调试助手,或者超级终端,将波特率设置为9600,8bit,无校验位。我这里的串口端口是COM7。
按一下开发板上的复位键SW1,程序运行,可以看到超级终端发的显示系统信息和hello world!

三、设置OpenSDA的两种调试模式(SWD 和MSD)
刚刚的例程使用的是MSD调试方式,很明显这种方式不能够实现真正意义上的调试,可以认为只是一个简单的“烧写”过程,只不过烧写变得简单,通过普通的文件拷贝就能完成。项目需要进行开发,必然要是使用断点调试,那怎么做呢?
OpenSDA提供了SWD(software Dug,软件调试)模式,可以实现通常意义的调试。为了完成对FRDM-KE02Z的调试,需要对设置IAR的工程配置,同时还需要设置FRDM-KE02Z板上OpenSDA的调试模式。
1、IAR调试模式的设置
在工程上右键,打开option选项

左侧边栏Category中,选择Debugger中的Setup标签,将Driver改成 PE Micro
同时,将PE Micro中的Setup标签中的“P&E Haredware interface type”选择为OpenSDA-USB,interface类型为SWD


2、设置FRDM-KE02Z的OpenSDA为SWD模式
下载FRDM-KE02Z的OpenSDA应用配置文件OpenSDA_Applications.rar,解压后有两个文件
DEBUG-APP_Pemicro_v106.SDA
MSD-FRDM-KE02Z_Pemicro_v111.SDA
其中DEBUG-APP_Pemicro_v106.SDA为SWD模式配置文件,其中MSD-FRDM-KE02Z_Pemicro_v111.SDA为MSD模式配置文件。
将FRDM-KE02Z开发板USB连接线拔下,按住复位键SW1,将USB连接线连上,PC上会提示按住Bootloader驱动,自动安装后,会显示可移动磁盘BOOTLOADER,把DEBUG-APP_Pemicro_v106.SDA拷贝到这个可移动磁盘中。拷贝结束后,松开SW1,拔下USB连接线。这样,OpenSDA已经成为SWD模式。
再次连上USB,会提示安装新硬件驱动,新硬件为PEMicro/Freescale Debug App,而不是之前的PEMICRO MSD USB Device。


驱动安装完成后,能在设备控制器找到PEMicro OpenSDA Debug Driver设备。
3、启动工程的下载调试Download and Debug
IAR切换到调试界面,可以进行单步、多步和运行等调试功能。

四、总结
OpenSDA的MSD模式和SWD模式的切换,只需要在BOOTLOADER下“拷贝”不同的配置文件即可。
===============================
相关资料下载:
OpenSDA的配置文件:OpenSDA_Applications.rar
KE02Z官方源代码:ke02-sc.rar
一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置的更多相关文章
- hdu 2072 1106学一波字符串分割,C语言与C++两种方法
hdu2072:题意:输出给定字符串中的单词数(一个句子中可能有两个相同的单词),这里的思想是把每个单词取出来,放入set(这个集合容器中不允许有相同的元素)中,最后输出该集合的大小即可. 现在的问题 ...
- 一步一步学ROP之linux_x64篇
一步一步学ROP之linux_x64篇 一.序 **ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防 ...
- 一步一步学ROP之linux_x86篇
一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过 ...
- (转载)一步一步学Linq to sql系列文章
现在Linq to sql的资料还不是很多,本人水平有限,如果有错或者误导请指出,谢谢. 一步一步学Linq to sql(一):预备知识 一步一步学Linq to sql(二):DataContex ...
- 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计
本帖最后由 xinxincaijq 于 2013-1-9 10:27 编辑 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计 转自博客:http:// ...
- 一步一步学android控件(之十五) —— DegitalClock & AnalogClock
原本计划DigitalClock和AnalogClock单独各一篇来写,但是想想,两个控件的作用都一样,就和在一起写一篇了. DegitalClock和AnalogClock控件主要用于显示当前时间信 ...
- 一步一步学Remoting系列文章
转自:http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html (原创)一步一步学Remoting之一:从简单开始(原创)一步一 ...
- 一步一步学android控件(之十六)—— CheckBox
根据使用场景不同,有时候使用系统默认的CheckBox样式就可以了,但是有时候就需要自定义CheckBox的样式.今天主要学习如何自定义CheckBox样式.在CheckBox状态改变时有时需要做一些 ...
- 一步一步学Python(2) 连接多台主机执行脚本
最近在客户现场,每日都需要巡检大量主机系统的备库信息.如果一台台执行,时间浪费的就太冤枉了. 参考同事之前写的一个python脚本,配合各主机上写好的shell检查脚本,实现一次操作得到所有巡检结果. ...
随机推荐
- 后台管理UI的选择
最近要做一个企业的OA系统,以前一直使用EasyUI,一切都好,但感觉有点土了,想换成现在流行的Bootstrap为基础的后台UI风格,想满足的条件应该达到如下几个: 1.美观.大方.简洁 2.兼容I ...
- SQL Server Management Studio 无法修改表,超时时间已到 在操作完成之前超时时
在修改表时,保存的时候显示:无法修改表,超时时间已到 在操作完成之前超时时间已过或服务器未响应 这是执行时间设置过短的原因,可以修改一下设置便能把执行时间加长,以便有足够的时间执行完修改动作. 在 S ...
- mysql数据库乱码的问题解决
排查原因:打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的. 1.前者解决方案: 在web.xml里面加上: <filter> <filter-name ...
- KMP算法
KMP算法是字符串模式匹配当中最经典的算法,原来大二学数据结构的有讲,但是当时只是记住了原理,但不知道代码实现,今天终于是完成了KMP的代码实现.原理KMP的原理其实很简单,给定一个字符串和一个模式串 ...
- ipad&mobile通用webapp框架前哨战
响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担: ...
- animation-timing-function: steps() 详解
在应用 CSS3 渐变/动画时,有个控制时间的属性 <animation-timing-function> .它的取值中除了常用到的 贝萨尔曲线以外,还有个让人比较困惑的 steps() ...
- 4款最具影响力的自助式BI工具
数据为王的时代,人人都需要掌握一些数据分析技能.不懂SQL,不懂数据库,Excel不精通,VBA不敢碰,这些都是横亘在面前的一道坎. 然而,企业数据分析日益上涨,数据人才供不应求,为了降低入门门槛,近 ...
- 蓝牙Bluetooth技术小知识
蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...
- Android Weekly Notes Issue #223
Android Weekly Issue #223 September 18th, 2016 Android Weekly Issue #223 本期内容包括: Offline时间戳处理; Acces ...
- [转]ASP.NET应用程序生命周期趣谈(四) HttpHandler和页面生命周期
在之前的三篇文章中,我们还算简明扼要的学习了asp.net的整个生命周期,我们知道了一个Request进来以后先去ISAPI Filter,发现是asp.net程序后又ASPNET_ISAPI.dll ...