摘要: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检查脚本,实现一次操作得到所有巡检结果. ...
随机推荐
-
数据库DBA(3年以内需求)
1.DBA工作:日常维护,备份及恢复,系统安装,补丁应用,健康检查及优化,故障处理; 2.精通sql语句.视图存储过程.函数的编写.触发器; 3.精通data guard/RAC,能顺利配置和管理da ...
-
elasticsearch使用操作部分
本片文章记录了elasticsearch概念.特点.集群.插件.API使用方法. 1.elasticsearch的概念及特点.概念:elasticsearch是一个基于lucene的搜索服务器.luc ...
-
iOS使用Workspace来管理多项目
开发中会有一些常用的类或方法,或者是某个特定功能的,比如一个自定义的弹框.一个更容易使用的网络请求库,可以把它们放到一个单独的工程里,通过静态库(library.FrameWork)的方式应用到任何其 ...
-
开启Ubuntu Linux下VirtualBox访问USB功能
解决方法如下: 1.增加用户组usbfs sudo groupadd usbfs 2.查看usbfs用户组的gid cat /etc/group | grep usbfs usbfs:x:1002: ...
-
lightOJ1370 欧拉函数性质
D - (例题)欧拉函数性质 Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:32768KB ...
-
如何让DbGrid支持鼠标滚轮滚动
如何让DbGrid支持鼠标滚轮滚动 在主窗体上加一个ApplicationEvents控件(控件在Additional面板中), 在它的OnMessage事件中加入下述代码,一切搞定-! proced ...
-
JAVA类的继承之多态特性
父类可以接收子类的实例,方法的覆盖,属性的隐藏,这些都使我非常疑惑,今天有点时间记录之. 话不多说,直接上代码上结果 1. public class TestDto{ public static vo ...
-
Mail.Ru Cup 2018 Round 3 B. Divide Candies
题目链接 分析一下题意可以得到题目要求的是满足下面这个 公式的不同的i,ji,ji,j的方案数; 即(i2+j2)mod   m=0 (n ≤ ...
-
C-代码笔记-输入输出
.ACSII 字符实质和整数存储方式相同 //2018年9月16日01:35:54 # include <stdio.h> int main(void) { '; // printf(&q ...
-
说说对npm的开发模式和生产模式的理解
nodejs这些年的发展非常快,相信没有哪个前端不知道的了,npm也成为了前端开发中经常用到了的一个命令.那么npm不是只用一个 "npm install xxx"命令就够了吗?实 ...