一步一步学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检查脚本,实现一次操作得到所有巡检结果. ...
随机推荐
- Android 中关于Fragment嵌套Fragment的问题
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...
- 读书笔记--SQL必知必会--建立练习环境
书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MyS ...
- 两种方式实现java生成Excel
Web应用中难免会遇到需要将数据导出并生成excel文件的需求.同样,对于本博客中的总结,也是建立在为了完成这样的一个需求,才开始去了解其实现形式,并且顺利完成需求的开发,先将实现过程总结于此.本博文 ...
- CentOS7使用firewalld打开关闭防火墙与端口
1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disab ...
- 前端打包构建工具grunt快速入门(大篇幅完整版)
打包的目的和意义就不用叙述了直接上干货 http://www.gruntjs.net/getting-started里面的教程也太简单了,需要下一番功夫去研究才行.本文将grunt打包的常用方法都用实 ...
- Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误
这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.2
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- jdk顺序表笔记
一.AbstractCollection 提供了集合的最大实现 继承该类,必须实现size()和iterator(),因为该类操作集合都是通过iterator 二.fail-fast策略 该策略在集合 ...
- Atitit.log日志技术的最佳实践attilax总结
Atitit.log日志技术的最佳实践attilax总结 1. 日志的意义与作用1 1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具1 2. 俩种实现[1]日志系统作为一种服务进程存在 [2] ...
- js拖拽