一步一步学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检查脚本,实现一次操作得到所有巡检结果. ...
随机推荐
- 安卓Design包下的TextInputLayout和FloatingActionButton的简单使用
终于介绍到Design包的最后的东西了. 也很简单,一个是TextInputLayout. TextInputLayout作为一个父容器,包含一个新的EditText,可以给EditText添加意想不 ...
- 【目录】JVM目录
JVM学习目录 为了方便园友,现对JVM序列笔记做了归档,园友们可以一口气读完整个JVM的笔记 1. [JVM]JVM系列之JVM体系(一) 2. [JVM]JVM系列之垃圾回收(二) 3. [JVM ...
- MFC&Halcon之实时视频监控
上一篇实现了在MFC的窗体内显示图片,本篇介绍如何在MFC窗体内实时显示摄像头的影像. 要实现的功能是点击一个“开始”按钮,可以显示影像,再点击“停止”按钮,可以停止显示. 因为实时显示影像需要在一个 ...
- Bootstrap 4-alpha 初体验
What is Bootstrap? 第一句话就是废话了,作为新时代有理想有节操的开发人员无人不知无人不晓.可能就是熟悉程度因为各种原因不尽相同,有人只是知道他大概是个什么东西,有些人可能基本可以使用 ...
- 利用fis3自动化处理asp.net项目静态资源时遇到的一个编码问题
fis3是一款强大的前端自动化构建工具,提供了很多非常实用的功能,具体参考http://fis.baidu.com/,使用该工具需要安装node环境. 最近在部署网站的时候尝试了一下使用该工具对前端资 ...
- 浅谈UML的概念和模型之UML九种图
1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能 ...
- ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
- WPF弹出带蒙板的消息框
效果图 思路 拿到父级窗体的内容,放入一个容器里,再在容器里放入一个半透明层.将整个容器赋给父级窗体的内容. 关闭时反向操作. 代码 消息窗弹出时 /// <summary> /// 弹出 ...
- JDK1.8 HashMap 源码分析
一.概述 以键值对的形式存储,是基于Map接口的实现,可以接收null的键值,不保证有序(比如插入顺序),存储着Entry(hash, key, value, next)对象. 二.示例 public ...
- 关于MySql的1146错误修正
在Mysql数据库中建立连接Mysql后建立了一个数据库名叫Mysql后删除了系统自动建立的数个表,导入.sql文件运行后,想要运行相关的SQL语句却发现一些未知错误为 Table 'mysql.pr ...