【原创猛料】玩转飞思卡尔在线调试工具FreeMaster
0赞
发表于 3/31/2012 5:10:48 PM
阅读(23316)
呵呵,本篇博客可能有些网友会被【原创猛料】四个字所吸引(以前一直延续【原创】二字),也可能有些网友会被FreeMaster所吸引,总之无论你被哪种方式所吸引,本篇博客定会让你收获良多,满载而归(咳咳,有点小兴奋所以稍微有点夸大)。连续三天连载三篇博客真是让我有不小负担,不过遇到了好东西,不敢独享,所以“小说体”技术博客精彩继续,嘿嘿~
FreeMaster(以前叫PC-Master)是飞思卡尔为嵌入式系统开发的运行在PC机上的图形化在线调试工具,最初是方便在线实时调试电机应用而开发的(所以说飞思卡尔的汽车电子这么NB呢,连调试工具都这么NB,哈哈),只不过后来大家都发现了它的好用,所以才在各个领域上发展起来(跟Matlab的发展史有点像,呵呵)。前段时间在写关于Codewarrior10.2的应用时,我还曾经抱怨过飞思卡尔裁剪掉了Codewarrior10.x的在线跟踪功能,现在想想还真有点冤枉了人家,其实FSL早就有FreeMaster作为在线调试的支持工具了,所以裁减掉一些臃肿的Codewarrior10.x功能也就无可厚非(哎,裁剪掉之后10.x都是那么的慢,不知道不裁的话会是什么样的情况,哈哈)。
说完了上面的一些内容,下面该说说让我如此兴奋的连载本篇博客的原因了。FreeMaster作为图像化的在线调试工具,具有友好的界面和实用的性能,不仅支持简单的串口SCI调试,而且最新版更是开始支持BDM(HC08/HCS08/HC12/HCS12/HCS12x)、JTAG(针对56F800系列DSC)、USB、CAN、Ethernet等在线调试(CAN和Ethernet需要在付费版本里才有,不过前几种已经够用了)。其现在支持的平台包括DSC系列56F8xxx、HC08/HCS08、HC12/HCS12/HCS12x、PowerPC系列MPC55x和MPC56x、Codefire系列MCF51xxMCF52xx和Cortex-M4的Kinetis系列,并且支持飞思卡尔自家操作系统MQX,上面这些特点足以说明其强大之处。另外让我兴奋的另一个原因就是,作为曾经搞过智能车的人来说(貌似看过我博客的相识网友都好多搞过智能车),我用过FreeMaster之后越来越觉着,智能车调试方法有可能会因此掀起一场新的革新(我过段时间开发一下试试),呵呵,可能我想的有些远了说的也有些多了,下面就正式进入正题,本篇博客主要是让没用过FreeMaster的网友尝尝鲜,以后我会开发出来具体的调试方法跟大家分享:
1.首先继续老套路,先挑重点简单介绍下FreeMaster的一些特点,毕竟我上面吹了那么多该说说它为什么名副其实了(注意,咳咳,我可不是飞思卡尔的托,哈哈),其中肯定有吸引你的一种,呵呵:
(1)图形化调试环境;
(2)支持RS232通信接口和其他如BDM、JTAG、CAN接口等等;
(3)实时跟踪嵌入式C中的变量;
(4)虚拟话的示波器窗口实时显示跟踪变量(其跟踪速率受你选用的通信接口的波特率所限);
(5)通过目标板上的记录区(Recorder)快速读取数据;
(6)内置支持标准数据类型(包括整型,浮点,位等);
(7)支持Active X 接口支持VBScript和JScript;
(8)支持Matlab仿真接口;
(9)支持通过以太网远程通信控制(免费版本不支持该功能)。
2.好了,说了那么多,这步就上手安装初尝FreeMaster的魅力把,哈哈。在使用之前需要到官网下载两个文件即FreeMaster的安装文件和通信驱动文件,官网地址为http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FREEMASTER&fpsp=1&tab=Design_Tools_Tab,选择如下图(下载需要登录):
3.先安装前者,再安装后者。安装完之后如下图所示
点击进入安装文件,双击PCMaster.exe打开FreeMaster软件,默认是打开即检测通信接口的(默认是com1,波特率9600),这个时候如果你没有连接相应的串口会弹出通信错误,这个是正常不要被吓到,呵呵。
4.下面我就以其驱动文件提供基于Kinetis Tower的示例(提供了CW和IAR两种例程,我选择了IAR)给大家演示一下使用方法,follow me:
(1)进入路径\Program Files\Freescale\FreeMASTER Serial Communication V1.5\examples\Kxx\TWR-K60N512\iar如下图所示,可以看到例程是缺少工作空间的所以直接打不开,方法是打开IAR软件建立个工作空间(workspace)之后把下图所示.ewp文件即工程文件拖到工作空间即可打开了。
(2)打开后的IAR例程如下图,FreeMaster文件组里为FreeMaster的SDK开发包,这个是必须要添加到工程里的,然后还有在source文件组里的freemaster_cfg.h即FreeMaster的配置文件,这个既然是例程,所以就是已经配置好的了,这里就不用改了。
需要提的是,该例程还是有一处地方需要修改一下,如下图,在main.c里,例程默认是采用UART3的,这个没问题但是波特率例程给出的是115200有些大,经过我测试,通信成功率有些小尤其是采用USB转串口的时候,所以建议把波特率修改成9600,如下图:
(4)都修改好之后,把程序下载到tower板子上,例程默认是采用J-Link下载的,这个可以根据实际情况修改下载方式,下载完毕之后打开路径\Program Files\Freescale\FreeMASTER Serial Communication V1.5\examples\Kxx\TWR-K60N512下的demo.pmp即与例程相配套的FreeMaster软件配置。打开后还需要修改下通信配置修改com口为你实际串口的com,然后波特率改成9600,如下图
(5)上面配置之后,点击左上角红色按钮开始通信,通信成功后我们可以点击左面工程下的demo scope(示波器)和demo Recoder(记录仪)实时在线查看变量,如下图
呵呵,到这里FreeMaster的小试牛刀就完了,再喝口水。哈哈,界面是不是很绚丽很强大,更强大的功能还待开发,以后会抽空跟大家分享出来的,这次就让大家过过眼瘾,有兴趣的可以看看自带的说明文档学习一下,个人觉着不是很难。
在3月份的最后一天奉献的这份大餐希望大家能有所收获,清明节假期马上就要开始了,希望工作忙的同志们抓紧休息,呵呵,未完待续~