摘要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 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所示。
图1
图2
假如发生以下状况,则不能发动BSL:
◇ 在RST/NMI引脚坚持为低时,TCK引脚上呈现的上升沿少于2个;
◇ 当RST/NMI引脚电平从低跳变到高时,TCK引脚仍是坚持为高;
◇ JTAG接口已操控了MSP430的资源;
◇ 因Vcc下降引起POR(复位)。
退出BOOTSTRAP时,要开释单片机的程序计数器PC,有两种状况:一种是在BSL中运用加载PC指令,从指定的程序地址持续履行;另一种是用规范的RESET序列强制使MSP430用0FFFEH的向量地址开端履行程序。
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
表2
2.2 BOOTSTRAP的软件结构
关于PC机来讲,首要便是处理经过串口与MSP430通讯和可视化界面的问题,能够运用VC、VB、Delphi等各种软件开发东西,界面如图3所示。
图3
关于MSP430来讲,与PC机进行串口通讯,接纳、发送数据与擦写Flash的程序是现已固化在BOOT ROM里的,所以有必要依据MSP430的设置来编写上位机程序。发动BSL后,MSP430会首要封闭看门狗、关中止、界说根底时钟模块,由DCO(Digitally-Controlled Oscillator)发生体系主时钟脉冲MCLK和辅佐时钟脉冲SMCLK,使最小时钟频率为1.5 MHz。用TIMER_A做软串口完结与PC机通讯,树立软件异步通讯协议,接连形式,时钟源为MCLK,DIV=1,CCR0用于比较,CCTL0用于查询CCIFG0标志。P1.1为TX发送端(设置为输出高),P2.2为RX接纳端(设置为输入)。BSL初始化体系后,处于安排妥当状况,等候PC机的同步序列和第一个指令。BOOTSTRAP的串口设置如表3所列。