一步一步学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检查脚本,实现一次操作得到所有巡检结果. ...
随机推荐
- 【分布式】Zookeeper服务端启动
一.前言 前面已经了解了Zookeeper会话相关知识点,接着来学习Zookeeper服务端相关细节. 二.服务端 服务端整体架构如下 Zookeeper服务器的启动,大致可以分为以下五个步骤 1. ...
- iOS 保存、读取与应用状态
固化 对于大多数iOS应用,可以将其功能总结为:提供一套界面,帮助用户管理特定的数据.在这一过程中,不同类型的对象要各司其职:模型对象负责保存数据,视图对象负责显示数据,控制器对象负责在模型对象与视图 ...
- WCF学习系列汇总
最近在学习WCF,打算把一整个系列的文章都”写“出来,包括理论和实践,这里的“写”是翻译,是国外的大牛写好的,我只是搬运工外加翻译.翻译的不好,大家请指正,谢谢了.如果觉得不错的话,也可以给我点赞,这 ...
- C#基础-MD5验证
一.前言 MD5验证主要用于更新文件功能方面,服务器告知客户端要下载哪些更新文件并提供给客户端其MD5值,客户端从服务器将更新文件下载到本地并计算下载文件的MD5值,将本地接收的MD5值与服务器提供的 ...
- "检索COM类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005" 问题的解决
一.故障环境 Windows 2008 .net 3.0 二.故障描述 调用excel组件生成excel文档时页面报错.报错内容一大串,核心是"检索COM类工厂中 CLSID为 {000 ...
- 12款简化 Web 开发的 JavaScript 开发框架
前端框架简化了开发过程中,像 Bootstrap 和 Foundation 就是前端框架的佼佼者.在这篇文章了,我们编制了一组新鲜的,实用的,可以帮助您建立高质量的 Web 应用程序的 JavaScr ...
- CSS类似微软中国首页的竖向选项卡
效果体验:http://hovertree.com/texiao/css/24/ 源码下载:http://hovertree.com/h/bjaf/hardklps.htm 代码如下: <!DO ...
- Reactjs-JQuery-Vuejs-Extjs-Angularjs对比
写在前面 前端越来越混乱了,当然也可以美其名曰:繁荣. 当新启动一个前端项目,第一件事就是纠结:使用什么框架,重造什么轮子? 那么,希望看完此篇,能够给你一个清晰的认识,或者让你更加地纠结和无所适从 ...
- JAVA-堆区,栈区,方法区。
转载:http://blog.csdn.net/wangxin1982314/article/details/50293241 堆区: 村线程操纵的数据(对象形式存放) 1 存储的全部是对象,每个对象 ...
- 在 ASP.NET CORE 中使用 SESSION
Session 是保存用户和 Web 应用的会话状态的一种方法,ASP.NET Core 提供了一个用于管理会话状态的中间件.在本文中我将会简单介绍一下 ASP.NET Core 中的 Session ...