版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
补充信 简 标准复位(RESET)和BSL进入序 带有标准JTAG引脚的MSP430器 带有JTAG引脚的MSP430闪存器 带有USB的器 UART协 USB协 基于ROM的引导启动程序协 同步队 命 不受保护 受保护 编程流 数据 数据流结 示例队 可载入 退出 保 代码保护 BSL内部设置和资 识别和BSL版 外部调用BSL的矢 初始化状 内存分配和资 BSL数据 UART外设接口 包装 缩 消 特定接口命 USB外设接 包装 硬件要 BSL内核命令结 缩 命令说 BSL安 受保护命 RAM擦 ZHCU022B–July2010–RevisedMarchBSL内核响 缩 BSL内核消 BSL版本 针对UARTBSL的示例序 BSL公共功能和Z区 从一个外部应用中启动 功能描 硬件描 电 串行接 目标方连接 部件列 5xx和6xxBSL版 针对ROMBSL版本1.10的特别考 ROMBSL已知特别注意MSP430F14x器件系列 引导加载程序PCB布局建 ZHCU022B–July2010–RevisedMarch RESET序列667BSLPCB布局,顶视图BSLPCB布局,底视图BSL接口组件位置BSL接口组件位置BSLUART协议接口UART错误消息USB外设接口BSLBSL内核响应。BSLRS-232电平目标方连接器的引脚分配BSL接口部件列表FG46xx,F261x,F471xxBSL2.122.13ChapterZHCU022B–July2010–RevisedMarchMSP430(BSL)使得用户能够在原型设计阶段、最终生产阶段、以及运行要求进行变更。不要将引导加载程序与某些数字信号处理器(DSP)中能够从外部器自动加载程序代码(和数据)到DSP内部器的程序混为一谈。因为这些程序也被称为引导加载程序。作为这个文档的补充,可一个BSL(wiki)页面。这个wiki页面包含针对这个文档的额外BSL项目、信息、和勘误表的连接。这个wiki页面可以通过/index.php/BSL_(MSP430)地址进行 这个加载启动程序提供了一个在MSP430项目开发和升级期间对闪存器进行编程的方法。这个方法可闪存。为了避免不必要的源代码读出,任一可实现数据直接或者间接的BSL命令受到保护。MSP430isatrademarkofTexas(RESET)BSL在RST/NMITESTMSP430BSLRESET同时RST/NMI从低电平上升为高电平,使用FFFEh地址内的正常用户复位矢量(标准方法,请见图1-1-1.RESETTESTTEST为高电平,同时RST/NMI从低电平上升为高电平,BSL程序开始执行(BSL进入方法,请见图1-2)。这个电平转换触发机制改进了BSL启动的稳定性。1-2.JTAGBSL 个上升沿被采用,同时RST/NMI仍然为低电平,TEST引脚在内部保持为低电平(应用模式)。在下列情况下,BSLBSLTESTTEST引脚上少于两个正边沿,同时RST/NMI当RST/NMI从低电平上升为高电平时,TESTJTAGMSP430)RST/NMINMI功能性进行配置(NMI位被设定)UART带有JTAG引脚的MSP430闪存器带有JTAG引脚的器件适用TCK引脚而非TEST引脚程序开始执行(BSL进入方法,请见图1-3图1-3.JTAG引脚上的BSL进入序 在下列情况下,BSLBSLTESTTCK引脚上少于两个正边沿,同时RST/NMI如果RST/NMI从低电平上升为高电平,TCKJTAGMSP430)RST/NMINMI功能性进行配置(NMI位被设定)UART 初始化时采用9600之外的波特率有可能引起通信问题或者闪存器写入时间规范。闪USBChapterZHCU022B–July2010–RevisedMarch)所有重要的内部参数,这些参数用于保持UART和闪存器程序和擦除时间选择。它还提供了BSL系统时间基准。当接收到这个字符之后,BSL会发回一个DATA_ACK=90h以确认接收成功。 这个同步字符并不是2.4节中数据帧的一部分可提供两类命令:需要令和无需令。保护对任一有可能进行直接或者间接数据的不受保护集中擦除(擦除全部闪存器,主器以及信息器受保护设定器偏移(在V2.12或者更高版本内执行改变波特率(V1.60V2.10BSL版本
到闪存器、RAM、或者外设模块区域的写入(RX数据块命令)为执行。这意味着对接收到的闪存器区域地址下面的数据部分应该被加载入RAM或者外设模块区域,因此,不会对特定的闪存控制 新运行BSL进入队列来启动另外一个BSL程序。中,BSL被看成头八个字节(HDRLH)是必须的(xx代表空数据)D1Dn2-1.BSL命令的数据帧nn0D2…RXD2…––– ––––––––––––––––––n0––––BSLnnD2……–TXBSL––––BSLD2………–(1)(2)ACKBSL(3)(4)擦除检查和TXBSL版本命令是BSLV1.50或者更高版本(不包括2.xBSL)中的标准命令组 (5)改变波特率令不是标准命令组(V1.60或者更高版本或者在可载入BL_150S_14x.txt内) (6)D1Dn=INV[(B1+256×B2)XOR(B3+256×B4)XOR…XOR(Bn-1+256×Bn)]CKL=INV[B1XORB3XOR…XORBn-1]CKH=INV[B2XORB4XOR…XORBn]到 来自BSL: 到 80140404000F0E0075从 80000E0EF213404000000000000002010101C0(BSL返回的值的数量,不包括字节CLK和CKH。注:低于V1.30的BSL版本只支持字节存取操作。因此,无法正常0100h至01FFh地址内的外设模块,这是因为它们是以字为单位进行操作的。在版本V1.30和更高版本中,地址0000h至00FFh为字节模式;所有其它地址为字模式。RX写入。它受到保护。节)16位偶数块长度进行了定义。由于纯数据字节的最大值被限制为250LH0。功,BSL发回一个确认字符DATA_ACK。否则,BSL使用DATA_NAK进行确认。注:BSL版本V1.40和更高版本支持MSP430内部针对地址0200h至FFFFh的确认,这减BL_150S_14x.txt额外将第一个不正确的写入地址进h地址(对于F14x器件,地址为021Eh)上的RAM中的错误地址RX接收命令被用于为受保护令,受保护令执行、写入、或者段擦除器访问。此命令不受保护。由于32字节长的一直于地址FFFE0h至FFFFh内,所以既不需要开始地址也无需块长度信息。数据字节D1至D20h从地址为FFE0h的D1开始保存了信息。如果接收成功且验证正确,BSL发回一个肯定的确认DATA_ACK,并且受保护令被。否则BSL通过使用一个DATA_NAK进行确认。一旦受保护令被,它们保持状态直到另外一个BSL进入队列被初始化整体擦除将初始化为0FFh的32倍。注:BSLV2.01LOCKA位的自动清空,LOCKA位用于保护信息闪存器。当从复位状态进入BSL,LOCKA由BSL清空以对包括信息器在的内存进行整体擦则,在BSL整体擦除期间,信息闪存不会被擦除。后,BSL发回一个确认字符DATA_ACK(V1.40或者更低版本)。BSLV1.60或者更高版本执行一个相应段的并发擦除检车并在擦除没有成功时用DATA_NAK进行相应。在这一情况下,第一个未被擦除的地址被在地址为h(对于F14x器件,地址为021Eh)的RAM内的错误地址缓冲器内。在这个版本中,如果只有一个信息内存段被擦除,则会产生一个问题。擦除段0清空区域,因此,剩余的为0FFh的32倍LL=0x04LH=0xA512次>200ms得必须满足的累积(批量)擦除时间和所需的擦除周期的数量的信息,请检查器件数据表。擦除主器或者信息址)内进行了定义。这两个数可为奇数或者偶数以允许奇边界检查。如果对于适当的数据块的擦除检查是成功的(0FFh),BSL 被在地址h(F14x021Eh) 这个命令不是标准命令集中令。此命令在BSL版本V1.60和更高版本中或者在可载入引导加载程序BL_150S_14x.txt中执行。改变波特率命令提供了在更高波特率(高于默认的9600波特率)三个控制字节(D1D3)D1D2设定处理器频率(f≥f最小值),D3间接地设定闪存定时发生器频率(fFTGmin≤fFTG≤fFTGmax)。详细说明:D1:F1xxDCOCTL(DCO.2DCO.0)F2xx:基本时钟模块控制寄存器DCOCTL(DCO.2至DCO.0)F4xx:D2:F1xxBCSCTL1(XT2Off,Rsel.2Rsel.0)F2xxBCSCTL1(XT2Off,Rsel.2Rsel.0)F4xx:FLL+系统时钟模块控制寄存器SCFI1(NDCO) 0:96001:192002:38400信程序,在波特率转换和随后的数据传输之间,建议等待大约10ms,作为BSL时钟系统的稳定时间。 最大处理器频率。设置特定器件数据表。 这个命令在BSL版本V1.60或者更高版本上执行,或者在可载入引导启动程2-2.MSP430F149[F449]的建议(MHz)[SCFI0](3)[SCFI1](3)D3(sec)0x800x850078+3.70xE00x860139+3.70xE00x870220+3.7(1)方括号[]MSP430F449(2)ROMBSL(请见2.9.3节,初始化状态)(3)D1D3(4)3.7[2.4]BSL2-3.MSP430F2131的建议条件(TA=25°C,VCC=3.0V,f最大值(MHz)[SCFI0](3)[SCFI1](3)D3(1)方括号[]MSP430F449(2)ROMBSL(请见2.9.3节,初始化状态)(3)D1D3器地址=16 这个命令在BSL版本V2.12和更高版本上执行
里继续运行,而BSL会话被终止。TX问。此命令受保护。CKL(低字节)和CKH(高字节)。TXBSL据字节D1D16(十进制),之后为校验字节CKL(低字节)CKH(高字节)。无需确认字符。D11:BSL版本(高字节现这一操作,使用下列BSL命令:RX(针对下列命令的保护RX数据块(BSLTX数据块(用于验证RX数据块(从第一个代码部分地址获得开始地址RX(针对已载入BSL的保护V1.601KF18xF19xRX块、擦除段、和擦除检查命令的错误地址寄存器的地址为021EhBL_150S_14x.txtPATCH.txt。令:改变波特率、RX块(没有验证)、擦除检查、和载入PC。如果需要一个TX中断命令(重定向至ROMBSL)(例如,因为发送错误地址或者独立验证),RAMBSL必须由载入PC命令重新调RX块和擦除检查命令的错误地址寄存器的地址为021EhBS_150S_14x.txt也可部分替代PATCH.txt。请注意,无由于RX命令被删除,所以无需!微控制器继续运行在由加载程序计数器命令调用的已定义的程序地址上。请注意此时保护并未激 码(可选,TXBSL版本和改变波特率)等不受保护 采用用于接收正确的RX命令将其余令。16FFFE0hFFFFh地址(256位)FFE0h开始。整体擦除之后,,所有位为逻对于未编程器件,辑高电平(1)。 一旦JTAG 如,字节或者字)。下面的部分对可能的变量进行了说明。息。对于所有器件和BSL版本通用:MSP430器件的BSL版本分配请见Chapter5。0C00h:用于冷启动的矢量(方法:BR&0C00h)(推荐使用注:BSL状态寄存器未清空,这会使得一个半热态启动的码启动BSL。V1.30或者由程序通过冷启动矢量调用,它被初始化为0220h。BCSCTL1=85h(RSEL=5,XT2Off=1)DCOCTL=80h(DCO=4,MOD=0)BCSCTL1=88h(RSEL=8,XT2Off=1)DCOCTL=80h(DCO=4,MOD=0)只在冷启动时,SR:SCG1=00h(SMCLK打开SCFI000h(D=0,FN_x=0)CCR0用于比较CCTL0CCIFG0BSLROM0C00h0FEFhBSL变量于RAM区–0200h0213h(–0200h0219h(V1.30或更高版本BSL堆栈于RAM区–0214h0219h(021Ah021Fh(V1.30或更高版本,只在冷启动时适用R5R9(V1.30或更低版本)R5R10(V1.40)R5R11(V1.60) F1xxChapterZHCU022B–July2010–RevisedMarchBSL内核命令的前后有被称为外设接口代码(PI代码)BSL数据包。PIPI3-1.UARTCRC高字节和低字节。校验位只在BSL内核命令部分以字节为单位计算。使用MSP430F5xx已经被正确执行。ACK只是表示数据包按照预期被格式化且具有一个正确的校验位。 如果PI在数据包接收的任一阶段遇到一个错误,它立即使用适当的错误消息进行响应BSL430BSL至命令是有效的)而是意味着数据包被正确格式化并被传递到BSL内核软件进行分析。3-2.UART
BSL–––唯一的变量字节,NL,应该描述包含在BSL内核命令数据包内的字节的数量。3-3.USB 在MSP430F5438(非A版本)中使用下列带有BSL令的方法请见5.1节BSL
3-4.BSLBSLD1...D1...RX–––D1...–––––––––––––CRC–TXBSL–––––––– 闪存内编程和通过USB通信的的BSL只包含表3-4中显示 将一个完整的BSL载入到RAM进行闪存编程。这个子集内 令为RXDATABLOCKFAST,RXPASSWORD,和LOADPC。–D1...1n(注意:nBSL4个字节RXBSLD1Dn。RX数据块快速RXBSL内核接收包含在数据包内的,如果与BSL中断矢量表(位于地址0xFFE0和0xFFFF之间)中的头16个字向匹配的话,BSL受保护令。当提供的不正确时,一个整体擦除被启动。这意味着所有的代码闪存被擦除,但是信息内存不会被擦除。CRCTXBSLBSL发送它的版本信息(细节请见3.6.3节)TXBSLBSL经被之后,一个受保护命令才能成功完成。此外,针对外设接口令不受保护。RXTXBSL版本CRC校验RAM中最小共享RAM地址。对于特定器件信息,请见Chapter5。
3-5.BSLBSLD1...BSLD1...CRCBSL用数据进行响应的情况下(例如,内存、版本、CRC、或者缓冲器大小),没有成功操作应答,并且BSL内核立即发送数据。BSL3-6.BSLBSL字节1:BSL销售商信息TIBSL0x00TIBSL0x80表示这个BSL只能执行下列命令:RX0x30FRAMBSLAPI接口:字节4:外设接口版本 示例序列中所有的值均为十六进制主机:80020052029055主机:8001001A8BBSL:008003003A04011D主机:80010019E8BSL:008005003A000101016CBSL所需的RX主机:80110011FFFFFFFFFFFFFFFFFFFFFFFFFFFF005C384FBSL:008002003B0060C40x100F之间。话,这一步应该从“返回BSL”返回。((void或者RAM,通过“设定PC”来启动程序,然后程序需要返回到BSL。这个功能执行以下代码:RETURN_TO_BSLPOP.WRET_lowMMMMMMPOP.WRET_highMMMMMMMMMMMMMRETAMMMMMMMMMMMMMMMBSLMMChapterZHCU022B–July2010–RevisedMarch成。还有一些电阻器、电容器、和二极管。4.1.4节中提供了一个完整的部件列表。接器的引脚4)通常传递一个正电压到加载电容器C1并为低压降稳压器IC1供电(TITPS76030或者LP2980-3.0,或者等效3V低压降稳压器)。例如,PC通过RxD引脚接收数据,而引导加载程序需要驱动这个信号。23从4754-2.RS-232RS-2321-3V-03VBSL(VCC_IN8IC1100kR11的默认3V电平无效。因此,运算放大器的输出电压被拉至应用的电压VCC_IN上。根据器件系列选择的过压保护机制,过多的电压或者传导至VCC(和在TI'74HC14中一样)或者传到至此,推荐使用传导至接地(GND)的'74AHC14器件。电平下降到低于VCC/2的水平,输出被拉至正电源轨(空白)。)引导加载程序硬件的接收信号充电(SUB-D连接器J2上的引脚3)。味着当没有传输时,传输线路电压为负,且电容器可被充电。二极管被用于防止传输期间电容器放电。在非常罕见的情况下,被发送到引导加载程序接口的数据有可能保存过多的0,这样负电源所需的电容器下,即使数据为全0也不会有问题。对RST/NMITESTTCK获得这些电平并使用相应的RS-232信号作为电源线路,有必要为RST/NMI(IC1A,IC2B)并为TEST引脚使用一个变极器(IC2E)。此,相应信号被倒转(变极器IC2F)。4-3.目标方连接器的引脚分配MSP430F13x12不要连接3456789——————(1)BSL(2)TESTTCK(3)VCC(3.0V)VCC(3.0V)一定不能连接至目标方。在这一情况下,外部电源必须连接至引脚VCC_IN。否则,VCC_IN必须为未连接状态。4-4.BSL(SOT)SOTSOTSOT23-ChapterZHCU022B–July2010–RevisedMarch5xx6xxBSLBSL无260能。然而BSL也可被安全擦除。 的16个字节。发送32个字节返回一个错误。BSL260BSL2601.BSLUCA0TXDUCA0RXD1.不能保证波特率在所有时钟、电压、和温度变化范围为115kBSL62ROMBSL1.10持RXPASSWORD,RXDATABLOCKFAST,和SETPC。BSL260ROMBSL的第一个版本V1.10要求一个小型可载入补丁序列,PATCH.TXT,来可靠执行RX块命RX(针对下列命令接触保护TX数据块(用于验证的可载入补丁程序代码TX数据块(来自任一位置ROMBSLBSLBSLBSL无BSL—ID地址ID数据)否P0200hR5mov#00hM&CCTL0bic.b#02hM&P1SELbic.b#04hM&P2SELbic.b#32hM&IE1mov#00hMSRbr(1KB令(请见2.5节)。(512B5-2.F41x,F11xF11x1BSLBSLID地址ID数据0000h0100h字否0200hR5mov#00hM&CCTL0br&0C00hmov#00hM&CCTL0mov#00hMSRbr5-3.F12xBSLBSLID地址ID数据0000h0100h字0200hR5mov#00hMSRbrBSLID地址ID数据0000h0100h字0200hR5mov#00hMSRbrbr&0C00h5-5.F16x,F161x,F42x0,F13xAA,F14x(1)AABSLBSLID地址ID数据为0000h0100h字0200hR5mov#00hMSRbrbr&0C00h5-6.F21xx,F22xx,F24x,F23xBSLBSLID地址ID数据0000h0100h字0200hR5mov.b#00hM&BCSCTL2mov#00hMSRbr(1)LOCKLOCKABSL之前清空:mov.w5-7.FG46xx,F261x,F471xxBSL2.12BSLID地址ID数据0000h0100h字0200hR4br&0C00h(1)LOCKLOCKABSL之前清空:mov.w
内存分配已经改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年商贷借款合同抵押合同二篇
- 2027年远期结售汇合同二篇
- 2027年买房送车合同二篇
- 合规转利润:降本增效全指南(2026)《GBT 36407-2018机械应力分级锯材》
- 合规转利润:降本增效全指南(2026)《GBT 36096-2018信息技术 学习、教育和培训 虚拟实验构件服务接口》
- 锂盐田工岗前任职考核试卷含答案
- 摇床选矿工安全生产规范模拟考核试卷含答案
- 废矿物油再生处置工诚信竞赛考核试卷含答案
- 印刷操作员岗前强化考核试卷含答案
- 家禽繁殖员安全操作模拟考核试卷含答案
- 2026秋教科版(新教材)小学科学六年级上册(全册)教学设计(附目录p276)
- 第1课《我是什么样的人》课件心理健康教育四年级上册(北师大版)
- 微信小程序开发实战(第2版)全套PPT完整教学课件
- 营销策划 -教育-华与华-“得到”品牌战略提报方案
- 高考语文复习-文言文专题训练《三国志曹操传》
- 深井泵说明书
- GB/T 6188-2017螺栓和螺钉用内六角花形
- GB/T 451.2-2002纸和纸板定量的测定
- GB/T 1690-1992硫化橡胶耐液体试验方法
- 南京农业大学农业设施工程学第一章 设施农业建筑材料2013课件
- 江西南昌大学跨境教育中心国际教育学院管理人员招考聘用(全考点)模拟卷含答案
评论
0/150
提交评论