MSP430串行写入BOOTSTRAP与加密熔断功能
发布时间:2008/5/27 0:00:00 访问次数:553
摘要: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