飞思卡尔出的调试方式OpenSDA,我早有耳闻,估计有些时髦的博友现在都已经在尝鲜了吧,呵呵。它是作为前段时间飞思卡尔打的火热的Kinetis L系列开发平台Freedom的板载调试器一块儿推出来的,前几天还在e络盟看到这个小板子貌似仍然卖的很火来,哈哈。关于OpenSDA我最开始曾进入了一个误区,误把它当作与JTAG、SWD类似的一种新的调试接口,等最近开始深入了解研究之后才恍然,所以今儿就索性为此写篇浅谈,简单说说OpenSDA,至于具体的实际操作调试使用,改天我会再另开一篇,给大家详细介绍一下OpenSDA的使用经验,对此有兴趣的不妨期待一下,呵呵。 OpenSDA,即Open-standard Serial and Debug adapter,是飞思卡尔新近推出的创新的一种嵌入式调试工具,注意它是一种调试工具而非调试接口,不过与其他类似OSBDM、Mutilink之类的仿真器不同的是,它换了一种创新的思路,即把传统的仿真器连接PC机方式改成了更友好的方式,即以USB存储设备的方式呈现给开发者。这样OpenSDA插上电脑后就成为一个U盘,下载程序就像是往U盘里复制,当然文件类型只支持S19和bin格式,当然也可以通过更换固件(OpenSDA Application)与IDE集成,仿真调试目标芯片。下面为了更深入了解OpenSDA,先看看它的架构软硬件架构: 从硬件上看,OpenSDA的硬件组件很简单,采用了自带USB控制器的MK20DX128VFM5,作为USB device与PC主机通信,通过K20的SPI接口软件实现JTAG/SWD协议调试仿真Target MCU,所以到头来它仍然还是采用JTAG或者SWD接口,而不是额外增加了一种调试接口,同时类似于OSBDM,OpenSDA也支持虚拟串口通信(增加了USB CDC类的 Application)。由于自己这段时间在测试OSBDM,所以正好拿这两者做了下对比,调试速度上OpenSDA是快上不少的,操作界面上OpenSDA也相对友好许多,不过由于OpenSDA毕竟是新推出来的,目前具体都支持哪些飞思卡尔的片子我还没有看到相关信息,而从BOM硬件成本上来看,OpenSDA就简单的多了,基本K20+1*74LVC125即可搞定了,而OSBDM如果按照我自己DIY的那个版本的话需要JM60+2*74LVC125+1*74LVC04+1*74LVC1T45,K20市场价目前为¥30左右,而JM60为20¥左右,所以算下来其实价格差不多,只不过OSBDM支持飞思卡尔全系列MCU,当然这个其实没有可比性,哈哈,因为目前我只看到了在Freedom的板子上加了OpenSDA,估计等到支持其他系列的时候硬件成本和板子的复杂性也该上去了,所以此次对比纯属娱乐娱乐,嘿嘿~ 从软件上看,OpenSDA包括两部分,一个是以USB存储设备枚举形式的Bootloader,一个是一套实现具体功能的Applications(注意是-s复数形式,呵呵)。Bootloader模式,以fat16文件系统格式的U盘形式存在(Windows下卷名为BOOTLOADER),里面包含了一些必要文件,以提供信息,实现Application的导入后者更新那就更简单了,类似于我们平常的拷贝文件,把相应功能的Application文件(S19、bin类型)拖到BOOTLOADER下的U盘根目录下即可,下图为OpenSDA软件构架,注意左边的Applications同时只能有一种实现: 左图所示有六个Applications,这里我就挑我们平时最常用的两个Application固件简单说说(什么应用最常用呢,呵呵,当然一个是下载,一个是调试了),一个是MSD Programmer,一个是P&E Open Debug,而且这两个应用固件可以从P&E官方下载到http://www.pemicro.com/opensda/index.cfm:
|