zoukankan      html  css  js  c++  java
  • MSP430编程器仿真器以及JTAG、SBW、BSL接口的区别

     

    对于51系统来说,很容易理解编程器和仿真器。
    通俗的说,仿真器是用来调试仿真的,编程器是用来批量生产时对MCU进行烧写目标代码的。
    对于MSP430来说,无论仿真还是烧写程序一般可以通过:JTAG、SBW、BSL接口进行。JTAG、SBW接口可以用于仿真接口,BSL接口不能用于仿真。而编程器则三种接口都支持。
    所以并不能说JTAG只支持仿真不支持编程,这是概念错误,JTAG仅仅是一种接口协议而已。
    下面简单描述一下三种接口的区别:
    1、JTAG是边界扫描技术,其在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430的内部数据地址总线上,所以可以用JTAG访问430内部的所有资源,包括对FLASH的读写操作。所以可以用于对MSP430的仿真及编程。主要连接线有TMS、TCK、TDI、TDO、RST、TEST。
    2、SBW是SPY-BI-WIRE,可以简称两线制JTAG,主要用SBWTCK(连接到JTAG仿真器的7脚TCK)与SBWTDIO(连接到JTAG仿真器的1脚TDO/TDI),该接口主要用于小于28脚的2系列的430单片机,因为28脚以内的2系列单片机的JTAG接口一般与IO口复用,为了给用户预留更多的IO口,才推出了SBW接口。同样SBW接口可以用于仿真器及编程器。
    3、 BSL是TI在对MSP430出厂时预先固化到MCU内部的一段代码,有点类似于DSP的bootloader,但又与bootloader有明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对其他的资源访问,所以只能用作编程器接口。BSL通过UART协议与编程器连接通信。编程器可以发送不同的通信命令来对MCU的存储器做不同的操作。BSL的启动有些特殊,一般430复位启动时PC指针指向FFFE复位向量,但可以通过特殊的启动方式可以使MCU在启动是让PC指向BSL内部固化的程序。启动方式一般是由RST引脚与TEST(或TCK)引脚做一个稍复杂的启动逻辑后产生。BSL启动后,就可以对MCU进行访问了。

    一般的MCU都有代码加密功能,430是如何实现的呢?外部对430内部的代码读写只能通过上述的三种方式,所以又引入了熔丝位,熔丝位只存在于JTAG、SBW接口逻辑内。BSL内部没有熔丝。当熔丝烧断时(物理破坏,且不可恢复)JTAG与SBW的访问将被禁止,此时只有BSL可以访问。而通过BSL对MCU的访问是需要32个字节的密码,该密码就是用户代码的中断向量表。所以430的加密系统到目前为止尚无被解密的报告。

    仿真器的型号一般有UIF(USB接口,支持JTAG、SBW)、PIF(并口,只支持JTAG)、EZ430(USB接口的,只支持SBW模式)
    专业编程器有GANG430(串口、一拖8个,支持JTAG、SBW,不支持BSL);多功能编程器(JTAG、SBW、BSL)。这些编程器都可以做离线烧写,即脱离计算机来对目标板烧写。
    也可以用仿真器配专业的软件来做编程器,这类软件有MSPFET、FET-PRO430等。
    ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com
  • 相关阅读:
    Vue + Element 中的时间自定义选择框的数据传参绑定分析与js格式化时间参数
    vue 给data 数据的重新初始化
    Vue + Element 后台项目与后台的数据对接
    js将两组数据存到你定义的空的对象数组
    Element ui 自定义表格行样式
    vue组件的注册与使用
    Vue + Element 实现下拉选择统计时间数据栏并展示
    Vue + Element后台项目报错(This relative module was not found)
    Echart图的使用技巧,配置相关样式与属性
    7种方法实现数组去重
  • 原文地址:https://www.cnblogs.com/emouse/p/2198226.html
Copyright © 2011-2022 走看看