Silicon Laboratories IDE and USB Debug Adapter学习心得
Version: 2011-08-02
Author: [email protected]
【关于Silabs】
Silicon Laboratories ,常简称为Silicon Lab,或Silabs。
Silabs有某系列的MCU叫做 C8051Fxxx,比如我的这里的C8051F347,可以用USB调试器来调试的。C8051Fxxx,是兼容C8051的微控制器内核,加上对应的Full Speed的USB模块,以及其他一些小的常见的模块,比如电压调节,ADC,12MHz的晶振,内置的Flash memory,RAM,外部存储器接口EMIF,I2C,UART,SPI,Timer,Watchdog,很多个GPIO。
【关于USB Debug Adapter 】
1. USB调试器的详细资料,可以去这里下载,建议自己下载后,先看一遍,就大概对其有个概念了:
Silicon Laboratories USB Debug Adapter
http://www.silabs.com/Support%20Documents/TechnicalDocs/USB_Debug_Adapter_UG.pdf
2. 其对应的pin脚的定义是:
Table 1 USB Debug Adapter DEBUG Connector Pin Descriptions
Pin # | Description |
1,8 | Not Connected |
2,3,9 | GND (Ground) |
4 | TCK (C2D) |
5 | TMS |
6 | TDO |
7 | TDI (C2CK) |
10 | USB Power |
关于引脚,实际使用中,只连接了GND,C2D,C2CK,就可以进行调试使用了。
其中,除了GND接地之外,只用了C2D和C2CK两个引脚,即为了实现调试功能,所需要的引脚的确很少,只要2个引脚,这也是C2接口的名字的来历。后面会有对C2接口的详细介绍。
此USB Debug工具,支持通过此debug工具给开发板供电(具体如何做,参考对应的开发工具中的资料Kit User’s Guide),对应着就是通过10号引脚USB Power来给开发板供电的。
对应的,在使用Silicon Laboratories IDE+USB Debug Adapter的连接选项的配置中:
其中的Power target after disconnect,就是说,如果你选择了上述的,使用USB Debug Adapter来给开发板供电,此处即使软件断开(soft disconnect,即当为connected的时候,再次点击一下,就是断开了),但是还是可以继续为开发板供电。
3.在上述Silicon Laboratories IDE+USB Debug Adapter的连接选项的配置中,关于选JTAG还是C2:
A. 当MCU 为C8051F00X/01X/02X/04X/06X/12X/2XX 系列时,选择JTAG;
B. 当MCU 为C8051F3XX、4XX、5XX 系列时,选择C2。
我此处的是C8051F347,所以选择C2.
【关于Silicon Laboratories IDE】
1. Silicon Lab的集成开发环境,叫Silicon Laboratories IDE:
支持编译,链接,(有调试工具的情况下)连接开发板,烧录代码,调试(单步,多步,Step Over),断点(但是好像同时最多支持4个断点),查看 SFR/RAM/Code/反汇编等。
2. 该软件有好多个版本,我见过的就有v2.17,v4.14和最新的4.20。
最新版本,可以去官网下载:
http://www.silabs.com/products/mcu/Pages/SoftwareDownloads.aspx
该页面中,还有一些其他方面的有用的工具,比如:
Flash Programming:用来烧录代码的工具。
Configuration Wizard:用来自定义配置,然后可以生成对应的相关部分的代码,对于项目开发应该很有帮助。
Keil μVision Driver:用IDE调试C8051系列的MCU的时候,是需要先安装这个驱动,才可以调试的。
【关于C8051F347】
1. SFR寄存器
SFR,Special Function Registers,特殊功能寄存器,对应着一个地址范围,其可以直接访问,范围为0x80-0xFF。SFR目的是提供了CIP-51的资源与外设之间的控制信息与数据的交换。此处简单理解为一些特殊的寄存器即可,每个寄存器,都有一定的控制功能,如此而已。而这些SFR寄存器具体都是干啥的,请参考其datasheet。
2. C2调试接口
Silicon Labs的双线(2-wire)的C2接口,是个用于调试的接口,功能上,类似于常见的JTAG接口。
C2接口的特点:
(1)非侵入式(non-intrusive),即不入侵(破坏,影响)目标开发板*(上的其他资源),不需要开发板上提供像其他调试中需要的额外资源,比如stub桩,就可以实现debug调试的功能。在通过C2来调试MCU的时候,所有的模拟或数字的外设都可以不受影响而正常运行。
(2) 可以和普通的pin脚功能复用。好处是,不额外占用pin脚(嵌入式中,希望是在实现同样的功能的前提下,引脚越少越好,减少资源占用,便于封装。)
转载请注明:在路上 » Silicon Laboratories IDE and USB Debug Adapter学习心得