社区导航

 

搜索
查看: 1277|回复: 0

[原创] TI - MCU - MSP430使用指南31 -> BSL

[复制链接]

28

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-12-20 14:27 | 显示全部楼层 |阅读模式

此内容由EEWORLD论坛网友骑IC看MCU原创,如需转载或用于商业用途需征得作者同意并注明出处
在讲述BSL功能之前,首先我们需要了解以下MSP430的下载方式:

  • JTAG: 很多MCU都使用的下载方式,具有速度快,可以仿真等优点,但是连线较多,需要:

VCC, GND, TDI, TDO, TMS, TCK, TEST,RST 每个引脚具体功能如下图所示:

image-20191220142320-1.png

  • SBW: SBWSpy-Bi-Wire下载方式,包括电源的两个引脚在内的话,仅仅需要四个引脚:

VCC, GND, SWDIO, SWCLK, 其中SWDIO为数据引脚,双向通信,SWCLK为时钟引脚,在MSP430内部有一个SBW控制器,可以解码SBW信号转换成JTAG信号,如下图所示:

image-20191220142320-2.png

  • BSL: BSLbootloader,是固化在MSP430内部ROM区的一块数据,用于对MCU内部空间进行读写数据,由于BSL的程序存在ROM区,因此在出场后就固定了,不会收到用户再次编程的影响,同时在烧写程序过程中,如果设定了密码或者使能了熔断丝,则会导致JTAGSBW均无法正常烧写程序,这时可以使用BSL进行大量擦除,同时BSL可以设定密码,方防止MCU内部程序被窃取。同时,BSL一般接口是USRT或者I2C,因此可以实现一个MCUMSP430的程序升级。

好啦,在描述完MSP430烧写程序之后,问题来了,既然有这三种程序下载模式,那么下载器如何选择进入哪一种模式呢? 这就需要RSTTEST引脚了,具体时序如下图所示:

注意:对于Flash系类MCU,有些没有TEST引脚的芯片吗,使用TMS引脚,不过进入的时序和下图有点区别,具体看每个芯片的User GuideDatasheet

image-20191220142358-3.png

 

image-20191220142358-4.png

下面介绍一下MSP-FET烧写器的引脚功能即连接方式:

MSP-FET实物图如下所示,支持以下功能:

  1. JTAG下载
  2. SBW下载
  3. BSL下载(支持UART I2C
  4. 用户串口:在连接电脑后你会发现有两个COM口,一个是Debug的,另一个则是用户串口,也就是MSP-FET内部已经有USBTTL模块(本质上是使用的F5528USB模块,可以实现一个硬件接口,多个COM口)。串口使用过程中,建议选择9600左右波特率,因为这个串口是软件实现的,后续连接的MCU可能也是软件实现的,高波特率的通信会有较大误差,可能导致通信失败。
  5. 供电:VCC_TOOL

image-20191220142358-5.png

下图是MSP-FET的引脚图,由于TI想标明JTAG SBW BSL三种模式的下载接口,所以就标成了这个样子。。。。 很有误导性,下面我介绍一下如何连接到MCU上。

image-20191220142358-6.png

第一种模式:JTAG

需要连接引脚:TDO TDI TMS TCK GND VCC_TOOL RST TEST

image-20191220142447-7.png

 

第二种模式:SBW

需要连接引脚:SWDIO SWCLK GND VCC_TOOL

image-20191220142447-8.png

第三种模式:BSL

需要连接引脚:TEST RST GND VCC_TOOL UART_TXD UART_RXD(PS : 串口模式,如果是I2C 连接I2C引脚)

image-20191220142447-9.png

附上一张更加详细的MSP-FET引脚描述图:

image-20191220142447-10.png

OK,在描述玩这几种下载模式,及硬件连接等之后,开始详细讲解一下BSL的使用:

首先,你需要下载BSL工具:

BSL已经集成到新版CCSUniflash5.0版本以后)中,但在PC端,为了使用每一个BSL命令,我们采用BSL Scripter软件,下载地址如下:

http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBSL_Scripter/latest/index_FDS.html

这个软件是使用CMD命令实现的一个脚本插件,因此在安装完之后,会有下图所示的一堆文件: image-20191220142527-11.png

文件中BSL-Scripter.exe即是BSL的脚本,进入ScriptExampleWindows文件夹,你会发现里面有跟多例程,我们进入FRxx_uart,如下图所示,有四个文件:

image-20191220142527-12.png

第一个blinkLED_FR6989.txt文件时程序,需要BSL下载进入MCU的,中间pass32_default.txtpass32_wrong.txtBSL的密码,因为访问BSL一定是要密码的,这个密码是可以通过编译软件自己设置的,最后一个文件script_FRxx_uart.txt则是执行的BSL命令,把命令全部都写入文件里,使用BSL-Scripter.exe脚本可一次性执行多行程序。

在安装完成后默认文件中的程序可自行查看,本实验中使用FR2355 MCU,因此写BSL程序如下:

LOG      // 打开文件记录生成
MODE FRxx UART 9600 COM8   // 选择FR MCU, UART模式,端口COM8 波特率9600
CHANGE_BAUD_RATE 115200   // 改变波特率为115200
DELAY 2000                         // 延时2000ms
RX_PASSWORD BSLPassword.txt   // 写BSL密码
RX_DATA_BLOCK MSP430FR2355.txt   // 烧写程序
DELAY 4000                         // 延时4000ms
TX_DATA_BLOCK 0x8000 0x0080 MSP430FR2355_R.txt     // 从MCU中读程序
                                              // (地址:0x8000 长度:0x0080)
CRC_CHECK 0x8000 0x0080   // CRC校验(地址:0x8000 长度:0x0080)
SET_PC 0xFFFE     // 设置启动地址,启动程序

如上图所示即为烧写,读取程序的整体流程,有几点需要写明:

  1. BSL密码:这个在使用烧写工具,比如FET-pro等时可以进行设置,同时保存出一个BSL密码,如果没有设置,就为全FF,也就是在默认文件中的pass32_default.txt文件
  2. BSL密码:如果写错,会导致MCU内部数据全部擦除,包括BSL密码也会擦除,因此你会发现官方的程序是先给一个错误的BSL密码(随便都行),再给一个默认的BSL密码,就是全FFpass32_default.txt文件,这样就可以保证如果BSL密码错误,直接擦除MCU数据以保护资料不会被窃取。

更多BSL指令如下所示:

image-20191220142527-13.png

 

下面开始执行上述的额BSL程序,

  • MCU: MSP430FR2355
  • BSL模式:UART
  • 连接方式:

      VCC_TOOL (2)        <->             3.3V

      GND (9)                   <->             GND

      TEST/VPP (8)          <->             SBWTCK (4)

      RST (11)                   <->             SBWTDIO (5)

      UART_TXD (12)      <->             P1.7 (31)

      UART_RXD (14)      <->             P1.6 (32)

  • 实验结果图如下:

 

image-20191220142527-14.png

 

注意:两个命令:

  • cd C:\ti\BSL-Scripter  :进入脚本文件夹,这个和你安装路径有关
  • BSL-Scripter \Demo\BSLScripter.txt  :执行BSL程序,因为我的BSL程序文件BSLScripter.txt不和脚本再同一级目录下,再下一级目录里面,因此需要使用这种方法,如下图:

image-20191220142527-15.png

附上你可能会用到的参考文件链接:

  1. BSL Scripter User's Guide : http://www.ti.com/lit/ug/slau655f/slau655f.pdf
  2. MSP debuggers : http://www.ti.com/lit/ug/slau647m/slau647m.pdf
  3. MSP430™ Programming With the JTAG Interface : http://www.ti.com/lit/ug/slau320ah/slau320ah.pdf

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-4-5 15:15 , Processed in 0.089736 second(s), 19 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表