|
|
使用注意事项
1、目标板使用复位芯片造成的问题
使用复位IC时,典型复位电路如上图,由于MSP430是低电平复位,所以使用上拉电阻,当仿真器/编程器需要拉低reset脚时,复位IC仍然输出高电平,但是由于二极管的存在,使得二者不会冲突,如果不装复位IC,图中电阻电容仍然能够组成基本的RC复位电路。很多用户仿真或者编程时遇到问题,都是由于复位IC和仿真器/编程器冲突造成的。
2、 使用的PC机串口可以是硬件串口或者USB转换而成的串口,如果使用USB串口时不能工作,请用一条3芯(DB9头的2、3、5脚)串口延长线连接此串口和编程器,将多余的串口引脚隔开即可;
3、 编程接口用到的目标芯片引脚有:TDI,TDO,TCK,TMS, RESET,RX,TX,另外需要连接GND。有TEST引脚的芯片还需要连接TEST脚。
4、 RX和TX两个引脚不是芯片硬件串口的RXD和TXD,而是TA_3捕获比较定时器的两个TA0引脚,具体是哪两个引脚请见用户手册。
5、 使用前请先确认目标板电源状况处于正常状态,否则可能损坏编程器。
6、 BSL分很多版本,不同芯片内部BSL版本可能不同,同型号的芯片不同批次间版本也可能不同,值得注意的有: 2.00以上版本具有高级密码保护功能,用户编程时将Flash中某处(比如2xx系列为0xFFDE地址)设置为0xAA55时将彻底拒绝BSL操作,除非用户自己的代码能够实现代码更新,或者能够修改这个数值,否则这个芯片将完全失去再编程的能力,这个数值如果为0x0000时,如果密码验证错,将不擦除Flash,可以尝试多次密码验证,而设置为其它值时(包括默认值0xFFFF),将擦除全部Flash。
7、
使用RX、TX引脚时,电路设计请遵循如下规则: TX脚在进行BSL编程时,用于向编程接口输出信号,RX脚在进行BSL编程时,用于接收编程接口发送的信号,外围电路不得干扰此信号正常工作;当RX、TX引脚平时只工作在输出状态下,比如驱动一个发光二极管,则无需做任何处理,当RX、TX引脚平时只工作在输入状态下,比如接收一个驱动器的信号,则只需在这条连线上串接一个1K欧姆的电阻,使其成为弱驱动源即可。否则当编程器接入时,此节点上同时出现了两个强驱动源(编程器属于强驱动源),编程电路就难以正常工作了。 JTAG引脚复用时也是如此。
|
|
|
关于编程器的常见问题 当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被窃取。 2、JTAG、BSL、BOOTLOADER、熔丝的区别和关系是什么? JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。 BSL接口是利用芯片内部驻留的bootloader程序实现的自编程,通过特定的时序使得CPU进入bootloader代码断,然后利用每个MSP430芯片内部都有的Timer A构成一个软件串口来与上位机通讯,这样可以将代码下载到芯片内部。实现BSL除了JTAG接口的一些引脚外,还需要用到两个TA0功能引脚,因此在设计产品时如果需要加密,则应该考虑将这两个引脚也连出来。 注意:A 、要烧断熔丝(加密)必须使用JTAG接口;B、烧断熔丝后只能通过BSL或者用户代码来实现编程更新。 BSL也能读出芯片内部的代码,这样可以实现编程后的校验等功能。通过BSL擦除所有Flash信息时不需要验证密码,但是要进一步操作,就得输入32字节密码进行验证。BSL的协议规定这32字节密码为芯片FLASH区域的最高32字节,也就是程序的16个中断向量,如果您拥有这段程序的最后32字节,就能通过BSL将芯片内部所有代码读取出来。 32字节的密码看似几乎完全没可能使用穷举法来实现破解,但是各位别忘了,msp430的16个中断向量未必每一个都用到了,没用到的中断向量为0xffff,如果您的程序只用到了复位向量,那么破解者只需尝试最多32768次(中断向量为偶数,所以除以2)就能将其破解,另外,如果芯片本身Flash容量较小,比如4K字节,那么破解者只需尝试最多2K次就能将其破解。这对自动操作的计算机来说几乎是一瞬间的事情。那么如果用到的中断向量越多,就越难破解,最好的办法就是将所有未用到的中断向量全部填充为随机数据,这就是“高级加密”。 打开一个工程之后,点击菜单Project>Options..>Linker>Output>Format>Other>Output一栏中选择“Msp430-txt”即可,重新编译后生成的txt文件将出现在你的工程路径下的\debug\exe或者\release\exe目录下。 TI-TXT文件是TI公司为MSP430单片机定义的一种编程代码格式,其内容为纯文本格式,使用任何文本编辑器都能对其进行阅读,下面是一个这类文件的例子: @FEFE
@FFFE 手动修改TI-TXT文件来实现高级加密: 下面是使用到中断向量较少的一段代码的中断向量: 它与下面这段代码意义是一样的: 这里我们把未用到中断向量改成随机数据,就实现高级加密了,不过注意不要把有效的中断向量也改了哦。
A、需要预留哪些引脚在编程接口上?——电源GND、VCC,JTAG编程接口TEST、TMS、TCK、TDO、TDI,复位信号RST,BSL编程接口RX、TX,一共10个信号。如果产品为一次性编程不需更新升级程序,则RX和TX引脚可以不要。
|
|
Copyright © 2006 www.bjmcu.cn. All Rights Reserved.版权所有:北京430开发网 |
|