用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

MSP430串行写入BOOTSTRAP与加密熔断功能

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:37:01
【本文由PB创新网为您整理】
摘要:BOOTSTRAP用于在MSP430设计开发及系统更新时对Flash存储器的编程。它可以用经串口协议的命令来激活,使得用户可以通过PC控制MSP430,并实现数据交换。烧断Flash的熔丝是用来保护用户在Flash中的程序代码。本文主要介绍我们制作的BOOTSTRAP这一开发工具的功能、软硬件结构以及熔断工具的制作方法。

    关键词:MSP430 BOOTSTRAP 熔断

引 言

  对于MSP430单片机的开发调试有多种技术方案,例如EPROM方式、OTP方式、仿真开发系统方式、JTAG和BOOTSTRAP方式。BOOTSTRAP(又名BootStrap Loader,简称BSL)可与另一种Flash仿真工具JTAG控制器配合使用。对于Flash型的MSP430单片机初期开发进行的仿真,只需要1台PC机和1个FET(Flash Emulator Tool)的JTAG控制器即可实现。进入产品级开发阶段,为了保护用户代码,烧断Flash的保护熔丝以后就无法再通过JTAG口访问单片机,这时用户对Flash中的程序再进行检查或更新就只能通过BOOTSTRAP进行。不用担心用户代码会泄露,BOOTSTRAP提供了32字节256位的密码保护,能完全确保代码的安全性。

  BOOTSTRAP的硬件制作并不费力,只要与调试环境软件配合(TI网站提供免费下载限制功能的软件,不过用户可以轻松地制作完全功能软件),就能很方便地构建自己的开发环境。对于熔断的方法,从以前TI公布的资料看,只要在功能引脚上施加一个6.5V左右的电压数ms就可以了。当然,各类芯片熔断的方法也有一些差异。但是,除了11x系列的单片机有人用这种方法试验成功外,对其余系列的单片机无法实现,甚至有毁坏芯片的可能。现在,随着为TI公司的各类FET仿真器及BOOTSTRAP开发工具的相继推出,在一篇TI资料中,给出了MSP430熔断的方案和指令结构,这样,我们用DIY的完全功能开发调试系统就可以构建成功了。

图1和图2

1 BOOTSTRAP的功能与启动

  通过BOOTSTRAP可以访问单片机的全部存储器,包括程序Flash、ROM、RAM,并可对其进行擦除、读写。它能用于批量下载程序,监测程序使用情况和各个变量与寄存器的使用情况,并可对其进行修改。因此,使用BOOTSTRAP能够方便地进行软件升级。

  用户烧断Flash熔丝的目的在于保护程序代码,通过BOOTSTRAP读取MSP430,需要32字节即256位的密码口令;但是,BOOTSTRAP又表现了其极大的灵活性,其功能分为需要密码保护的功能与不需要密码保护的功能。其中,受密码保护的操作有从MSP430的存储器中读数据、写数据、Flash段擦除和读取程序计数器;不受密码保护的操作就是接收密码口令与Flash全擦除,擦除之后32个字节的密码口令全为0xFFH。这样使得用户的程序代码受到完全的保护,而且芯片也能保持应用的灵活性。

  对于MSP430系列Flash型单片机,依靠RST/NMI引脚与TCK引脚(有的型号如MSP430F11x1使用TEST引脚)和一定的时序就进入标准的复位过程,即使用地址0FFFEH处的RESET向量,然后进入正常的程序入口。改变RST/NMI引脚与TCK引脚的时序配合,就可以启动BOOTSTRAP,即地址0C00H处的BSL RESET向量用做程序入口,单片机执行BOOT ROM里的程序。MSP430F13x/14x的正常复位时序如图1所示,BSL复位时序如图2所示。

  如果发生以下情况,则不能启动BSL:

  ◇ 在RST/NMI引脚保持为低时,TCK引脚上出现的上升沿少于2个;

  ◇ 当RST/NMI引脚电平从低跳变到高时,TCK引脚还是保持为高;

  ◇ JTAG接口已控制了MSP430的资源;

  ◇ 因Vcc下降引起POR(复位)。

  退出BOOTSTRAP时,要释放单片机的程序计数器PC,有两种情况:一种是在BSL中使用加载PC命令,从指定的程序地址继续执行;另一种是用标准的RESET序列强制使MSP430用0FFFEH的向量地址开始执行程序。

图3

2 BOOTSTRAP的软硬件结构

2.1 BOOTSTRAP的硬件结构

  BOOTSTRAP硬件完成PC机和MSP430单片机通信的接口功能,主要由电源供电、信号接口和电平转换几个部分构成。

  MSP430采用的是3.3 V电源,BOOTSTRAP可以采用外部给单片机供电再将电引到BOOTSTRAP板上,或直接利用PC机串口的电压再转换成3.3 V的方案。利用PC机串口电压的方案由于不需要外部供电,适用于批量下载、修改程序,使用方便。PC机通过串口和MSP430通信,串口用的是232电平,MSP430单片机用的是3.3 V的供电系统,因此存在一个电压转换的问题。对于电压转换,TI公司提供两个系列的电压调整芯片TPS770xx和TPS760xx系列。这两款芯片都能满足输入从 -0.3~13.5 V,稳定输出50 mA 电流1.2~5 V的要求。

  BOOTSTRAP使用的信号线与串口信号线的对应情况如表1所列。信号线与MSP430系列引脚的对应情况如表2所列。

表1 

引脚名全名(PC)BSL对应接口功能
RxDReceive data发数据到PC
TxDTransmit data从PC收数据(负电压)
DTRData terminal ready复位控制(正压)
RTSRequest to sendTEST或TCK控制(正电压)
GNDGround

表2 

信号线MSP430
11x(1)系列F14x/F13x系列F4xx系列
TXDP1.1P1.1P1.0
TCK不连TCKTCK
RXDP2.2P2.2P1.1
RSTRST/NMIRST/NMITST/NMI
TSTTest 不连

2.2 BOOTSTRAP的软件结构

  对

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:14,875.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号