jicheng0622

【原创】OpenSDA v2推出来了

0
阅读(5564) 评论(2)

    很早之前(大致2012年)随着飞思卡尔推出M0+的Kinetis L系列推出的FRDM-KL25的开发板,其板载自带的OpenSDA调试工具曾备受瞩目,其创新的调试方式得到了业界普遍的称赞,记得我当时不论是在博客里还是曾给一些老师和学生作报告时都会对它夸上几句。的确其使用U盘device模式烧写代码的方式,消除了需要额外安装调试器驱动的鸡肋,而且其更新固件和稳定性都非常方便,简直是“居家旅行”,开发调试之必备工具也,哈哈。

    关于OpenSDA的第一代,我之前曾有多篇文章详细介绍过,这里就不多说了。大概是第一代OpenSDA受到了广泛的欢迎(第一代由P&E公司推出),飞思卡尔在其最新推出的FRDM-K64(第二代Kinetis K系列)板子上集成了OpenSDAv2即第二代版本的调试器,其使用了与第一代OpenSDA完全相同的硬件电路,但是其固件则换成了基于开源的CMSIS-DAP调试器。因为第一代OpenSDA出来的时候有很多人都在抱怨,所谓的OpenSDA不Open,即其包括Bootloader和所有应用(Debug,虚拟串口和MSD等)都不是开源的,所以这次干脆选择了在开源的CMSIS-DAP调试器上更新OpenSDA平台到第二代,这样就解决了其代码开源的问题。

    CMSIS-DAP的源代码是放在Github上面管理的,如果大家想去下载下来看看的可以到里面瞅瞅,其链接地址为https://github.com/mbedmicro/CMSIS-DAP。这里我需要提的OpenSDA与OpenSDAv2的一个不同之处除了v2可以开发源代码,而且这两者的固件和应用firmware的文件格式,对OpenSDA来说,是s19文件,而对OpenSDAv2来说,是.bin文件,这个是必须要区分清楚的,如果这两个弄混了下进去代码是运行不了的。

    另外,在原来的OpenSDA上我曾经介绍过两个比较有用的Application Firmware,即Jlink for OpenSDA(【原创猛料】使用OpenSDA平台作为J-Link调试Kinetis)和USBDM for OpenSDA(【原创】使用OpenSDA平台作为USBDM调试Kinetis)。没有让大家失望,这两个工具也都针对OpenSDAv2推出了相应的fimware,而且尤其值得一提的是segger官网为OpenSDAv2推出的Jlink for OpenSDAv2的固件也可以支持虚拟串口了(第一代jlink for OpenSDA不支持串口),真的是很给力,不过需要注意的是如果安装好新的firmware之后仍然枚举不出来虚拟串口的话,建议重新下载Segger官网的Jlink驱动软件,然后安装的时候选择安装虚拟串口的驱动,如下图所示。

    最后,虽然Jlink for OpenSDAv2(Jlink可以从Segger官网找到)和USB for OpenSDAv2(USBDM可以从USBDM_4_10_6的安装路径下找到)都可以找到,不过为了方便大家,我在文章最后也附上了这两个工具的最新的firmware供大家下载和测试。未完待续~


附件为Jlink for OpenSDAv2和USBDM for OpenSDAv2的固件。

OpenSDAv2 firmware.zip


  1. @jiutian317
    我在另一篇博客里已经回答你了,这部分建议你看下mbed的CMSIS-DAP固件,开放了源代码,包括SWD协议和USB Host实现。
  2. 成哥,更新的够快啊!opensda中,k20是怎么与目标MCU通信的呢?是怎么进入到目标MCU的flash中的,是不是需要看SWD协议啊?求指教