CC2650开发板DIY设计前需要考虑的一件事——如何调试
1、CC2650开发板DIY首先要进行原理设计,那么在原理设计的时候需要先考虑好一件事——如何调试。这是因为开发板的设计,最主要的作用是用于程序开发,而作为实际应用的模块不宜作为开发板设计时的主要因素,在TI的开发板设计中就可以注意到,板载功能比较丰富,具有以下特点:1)而且提供了一些芯片外围的设备, 如温度传感器等;2)提供了比较方便地电源供电方案,多数直接用USB口取电,而避免采用电池供电的方式;3)采用了比较方便地调试器接口和比较丰富的开发程序设计方式。
以上3点,是TI开发板设计中比较重要的考量因素,当然,还有时候TI会采用一些比较拿手的芯片放在开发板上,展示其功能和特点,这个第4点,我们就不大喜欢了,因为明显会提高BOM的成本。
本帖,就讨论下最应该优先考虑的调试方式的问题。
2、编程和调试方法
2.1 编程调试方法是需要一起考虑的,MCU的开发比较流行的有4种方式:原厂开发工具,Keil for ARM,IAR Embedded Workbench,还有开源开发工具如GCC。当然其他的开发方式还有ARM开发工具,以及基于网页的MBED开发方式。
之所以提出流行的4种是因为这4种开发工具都试图覆盖全部的产品线,而且会即使更新硬件驱动库。对于TI CC2650,可选的开发工具就是原厂的CCS,Keil, IAR,和GCC。TI还有一些比较有趣的开发平台如Grace,Energia,StellerWare等辅助工具都可以尝试下,其中不少集成在CCS中,CCS覆盖TI全系列产品线,以及众多工具,包括ULP低功耗评估工具等,还有在线手册,丰富到了顶,唯一的问题,就是CCS太大了。
对CC2650来说是一个轻型的芯片,也就是突出SoC的特征,因此,性能和容量不是其重点,所以采用Keil,IAR应该是首选。
2.2 调试器是和开发工具结合在一起的,这些开发工具都支持debug功能,只要有硬件库支持,否则自己去写硬件驱动库的txt文件应该是要很受挫的。
适合CC系列芯片和开发工具结合在一起的调试器有XDS,J-link,U-link,FIDI debug-Out。针对CC射频系列芯片,还有CC-debuger是一个特别有意思的工具,不可以忽视。另外,还有一个非主流的调试方式,就是build成hex文件直接写入芯片,这个用串口通讯,对其他芯片有用UART,SPI方式的,这个应该可以用,不过好像这么用的盆友还真不多。
下面就逐个分析下这些方式
3、调试器逐个说
3.1 J-link,U-link这个是第三方通用工具,固件库经常更新,基本可以保证覆盖全部芯片,即使是这个新鲜出炉的CC2650。只有有了固件库,就可以搞定。以J-link为例,是采用了20pin接口,但是实际上在CC2650只需要引接其中4根pin就可以了,因此用J-link调试器来开发,不宜接这20针的接头,否则面对这么小巧的开发板,光接头就比开发板大了。
3.2 XDS仿真器,这个是TI专用的,是全系列芯片通用,而且和CCS无缝连接,怎么用都没有问题。不过有XDS100,XDS200,XDS560不同的规格,用XDS100就够了。
看下XDS100的参数
XDS100v2 Features
-All of the XDS100 General Features
-支持USB2.0 高速接口
-Support targets with 14-pin TI JTAG connector or 20-pin TI JTAG connector as used by Texas Instruments embedded processors.
-支持多种处理器: TMS320C28x, TMS320C54x, TMS320C55x, TMS320C64x+, TMS320C674x, TMS320C66x, ARM 9, ARM Cortex R4, ARM Cortex A8, ARM Cortex A9 and Cortex M3 (requires CCSv4.2.2 or later).
-Supports cable-break detection
-支持断电检测
-Support for multiple FTDI devices
-支持自适应时钟
-LED light to indicate active USB connection
-支持Code Composer Studio v4 和更高版本 (不支持 Code Composer Studio v3.3)。
3.3 CC-debugger
这个是主要针对CCxxxx系列芯片的,开发工具,持CC2530、CC2531、CC2430、CC2431、CC2510、CC2511、CC2520、CC1101、CC1110、CC1111等系列CC 调试器可以与 7.51A 或更高版本的 IAR EW8051 配合使用。
3.4 用其他开发板的debug-out功能,这个不是每个开发板都具有这个功能的,同时接口也不大一样,花样比较多,除非有了比较熟悉的开发板,不愿意换了,这个不大推荐的。
3.5 用串口刷机。这个想法很好,很省银子,但是某还没试过。对于MSP430系列,有MCUICP可以用,用USB转串口的USB-TTL dongle就可以了。用CCxxxx系列,理论上是一样可以滴,行动上要大家去趟水过河。
4、重点对比XDS和CC-debugger
4.1 XDS100
这个对比是要用自己DIY来比的,上原理图和BOM。
明显看来XDS的核心是FIDI的芯片,这个是主流的调试器芯片,在多种调试器中都能看到,而起不断推出新品。最近看新闻FIDI又推出了新的芯片还支持LCD等等,可以自己搞MCU的意思。
4.2 CC-debugger
继续上DIY大餐,原理图和BOM。
这回有些意思了,主要芯片是CC2251,这个是肿么回事?难道开发板也要搞射频吗?回答正确,因为CC-debugger支持TI的SmartRF工具,是一个无线嗅探器的工具,可以抓包和分析包的。对于搞射频的开发人员来说,就是又多了一个工具,多了一个助手。
5、小结
总之,分析完后可以知道对开发CC2650芯片,是有些偏心希望用CC-debugger的。如果有心,可以也保留J-link接口。其他的就先算了吧。这样在开发板上,和后续的开发都会以CC-debugger开发为主要方法。
本帖最后由 fyaocn 于 2015-11-2 13:10 编辑