MSP430单片机开发工具介绍

发布者:zeta16最新更新时间:2021-05-28 来源: eefocus关键字:MSP430  单片机  开发工具 手机看文章 扫描二维码
随时随地手机看文章

简介:在MCU项目开发过程中,始终有两个设备紧密的联系在一起,一个是仿真器,一个是编程器。仿真器,顾名思义就是模仿单片机的功能;编程器就是把程序编写到单片机内部。


目前公司在MSP430开发工具方面主要有仿真器、编程器、各类学习板、转接板、适配器等。本文将主要介绍这些MSP430工具其特性


一:仿真器、编程器


IAR和JTAG无法连接,是怎么回事?这是客户问的问题,在论坛中也很常见,FAE也有在问。我们就从这个问题开始讲解吧。


MSP430无论是仿真还是烧写程序,一般可以通过:JTAG、SBW、BSL接口进行。


1、JTAG是利用边界扫描技术,在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430内部数据地址总线上,所以可以访问到430的所有资源,包括全地址FLASH、RAM及各种寄存器。可以用于对430的仿真和编程,主要连接线有TMS、TCK、TDI、TDO,430还需要另两条线路RST、TEST来启动JTAG命令序列。


2、SBW是SPY-BI-WIRE,可以简称为两线制JTAG,主要有SBWTCK(连接到JTAG接口的7脚TCK)与SBWTDIO(连接到JTAG接口的1脚TDO/TDI),该接口主要用于小于28脚的2系列单片机,因为28脚以内单片机的JTAG一般与IO口复用,为了给用于留有更多的IO资源,才推出SBW接口。SBW同JTAG一样可以访问到430内部的所有资源。


注:目前MSP430F5XX系列中也有SBW接口,原理同2系列的SBW。


3、BSL是TI在430出厂时预先固化到MCU内部的一段代码,该代码用户不可读写,这有点类似与DSP的bootloader,但又与bootloader有明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对其他的资源访问,所以只能用作编程器接口。BSL通过UART协议与编程器连接通信。编程器可以发送不同的通信命令来对MCU的存储器做不同的操作,可以把这种方式称为BSL接口。


BSL代码的启动有些特殊,一般430复位启动时PC指针指向FFFE复位向量,但可以通过特殊的启动方式可以使MCU在启动时让PC指向BSL内部固化的程序。这种特殊的启动方式一般是由RST引脚与TEST(或TCK)引脚做一个稍复杂的启动逻辑后产生。BSL启动后,就可以通过预先定义好的UART协议命令对MCU进行读写访问了。


4、一般的MCU都有代码加密功能,430是如何实现的呢?外部对430内部的代码读写只能通过上述的三种方式,只要把这三种方式都堵上,430的程序不就安全了吗?所以又引入了熔丝位,熔丝位只存在于JTAG、SBW接口逻辑内。当熔丝烧断时(物理破坏,且不可恢复)JTAG与SBW的访问将被禁止,此时只有BSL可以访问。而通过BSL对MCU的访问是需要32个字节的密码,该密码就是用户代码的中断向量表。现在国内有些解密厂商宣传能够解密430,原理是通过切片剥离的方法把熔丝位连接上,再通过JTAG或SBW接口读出目标代码。而BSL则无破解的报告。


仿真器的型号一般支持JTAG、SBW接口,按照其与主机的连接方式分为UIF(USB接口,支持JTAG、SBW),PIF(并口,只支持JTAG),EZ430(只支持SBW模式,目前还不支持F5XX系列)。


编程器型号有GANG430(RS232串行接口,串口、1拖8,支持JTAG、SBW,不支持BSL),PRGS430-IIIA多功能编程器(支持JTAG、SBW、BSL),这些编程器都可以做离线烧写,并且支持烧写熔丝,即脱离计算机来对目标板烧写,其中PRGS编程器还支持序列号烧写方式。另还有专门的BSL编程器,只支持BSL接口,不支持烧写熔丝。


仿真器既然可以访问到430内部的所有资源,当然也可以用做编程器使用,除了使用IAR用源代码烧写的方式外,还可以通过专业的软件来编程,这类软件有MSPFET、FET-PRO430等。


TI公司在JTAG、SBW、BSL方面提供了API操作函数,可以利用该函数来设计我们的编程器和仿真器。目前仿真器的技术较复杂,而且是由IAR软件来负责升级。编程器在出厂时事先已经编程了一段Monitor代码,利用这段代码可以实现在线升级,无论是GANG430编程器还是PRGS编程器均有此功能。


工具功能表



功编程器发展及支持情况:



二:学习板、转接板、适配器


1、学习板


为了初学者或在项目开发初期为了项目认证或可行性方案分析而设计的具有一定功能的工具,其一般包括一个单片机最小系统及按照内部模块划分的功能器件。现公司有各种学习板,从F1系列到F5系列,并且可以根据用户或某种功能需要定制学习板。学习板配套光盘中一般有实验指导书、学习板参考器件手册、PDF版本的原理图及部分工具软件资料。


2、转接板


MSP430的管脚比较密集,而且大都是SMT工艺的,并没有DIP封装的,这样就给初学者的调试工作带来了麻烦,比如功耗测试、简单的代码测试等。为了帮助用户尽快的设计自己的目标系统,而设计的具有直插封装的转接线路板,板上集成了430的最小系统,保留了所有的调试接口,并把所有的IO口连接到转接针上。用户只要按照转接针上的定义就可以配套在自己的目标系统中。转接板上的MCU是固定焊接到线路板的,用户不需要自己焊接,除非有损坏情况发生。


3、适配器


如果在转接板上的芯片发生损坏,则需要用户自己更换芯片,这无疑给用户带来困难。建议这种用户可以选用适配器,适配器是带有IC夹头的转接板,而且可以通用(具体查看相应的支持手册)。同样适配器板有一个最小系统,并且把所有的IO引出到了连接针上。由于该适配器价格昂贵,一般用在批量生产时烧写芯片代码使用。


转接板及适配器一般提供参考代码、PDF版的原理图及部分工具软件。


关键字:MSP430  单片机  开发工具 引用地址:MSP430单片机开发工具介绍

上一篇:MSP430常用加密总结
下一篇:MSP430F2616开发笔记之如何产生负压电源(LM2611的使用)

推荐阅读最新更新时间:2024-11-17 09:01

基于单片机的多周期完全同步测频技术
  频率测量是电子测量中经常遇到的问题,如何提高频率测量的准确度是关键。通常采用的方法有低频端测周高频端测频和多周期同步测量频率。采用低频端测周高频端测频时存在中界频率测量误差很大即测量死区问题,也就是说不论低端和高端测量准确度有多高,中界频率测量误差总是最大。因此从理论上讲频率的测量准确度很难提高到某个数量级;多周期同步测频法则不存在这样的问题,只要周期数足够大,测量的准确度总可以提高到一定程度。但多周期同步测量实际上只是对被测信号进行同步,对时钟信号并未同步,因此它只是一种准同步。本文根据多周期同步测频原理及测量误差,提出完全同步频率测量的新方法,最后使用单片机实现这种测量,使测量频率的准确度大大提高。    1 多周期同步
[安防电子]
英飞凌推出AURIX微控制器系列助力实现自动驾驶
英飞凌科技股份公司(FSE: IFX / OTCQX: IFNNY)推出的AURIX™微控制器系列助力实现自动驾驶: 用作NVIDIA DRIVE™ PX 2 AI计算平台的关键安全计算元件和车载接口。 NVIDIA 自动驾驶车辆计算平台集成在新生产的汽车和L3自动驾驶汽车的高级辅助驾驶系统(ADAS)中。AURIX多核微控制器具备确保功能安全所需具备的高级硬件能力。它们通常集成在ADAS和自动驾驶(AD)平台。 英飞凌将在2017年OktoberTech技术论坛上展示在自动驾驶和电动驾驶方面的最新技术,其中包括传感器、微控制器和功率半导体解决方案。 AURIX微控制器助力自动驾驶 AURIX多核微控制器帮助NVIDIA DRIV
[嵌入式]
iar 堆栈设置_IAR MSP430设置合理堆栈大小
最近在MSP430-169LCD(MSP430F169,RAM为2KB)调试一些ucos演示例子,IAR for MSP430默认的堆栈大小是80字节,编译可以通过,运行结果不确定性,调试过程会提示 the stack pointer for stack is outside the stack range ,堆栈溢出。那么,到底设置多大的堆栈够用且不浪费呢。 一、合理设置堆栈大小 首先,查看程序共需要多大的堆栈,生成map文件,方法如下: 图1 生成map文件 生成的map文件在项目目录下的/Debug/List,打开map文件在CALL GRAPH找到找到栈的最大使用量(我的理解是main主函数,用栈最多,所以直
[单片机]
iar 堆栈设置_IAR <font color='red'>MSP430</font>设置合理堆栈大小
基于AVR单片机的多功能电源设计
随着 嵌入式 系统设计技术的发展,在设计和仿真中,系统工程师对 电源 的要求也越来越高。在 嵌入式 系统设计是使用8031 单片机 和74系列集成 电路 时,所有使用74系列集成 电路 的电路板都使用单一的5 V 电源 供电就可以了。当时的供电电源部分不是一个需要太多注意的单元,基本上5 V的电源能满足所有的数字 集成电路 设计的需要。而近几年来,随着技术的发展, 集成电路 里的三极管变得越来越小并且工作的电压越来越低,使得嵌入式系统开发的重点从系统的速度,转到低功耗设计上。因此在同一个嵌入式系统中,存在多种不同电压的电源供电,从低于1 V到高于5 V都存在。而且在系统的稳定性和可靠性测试时,还要 模拟 不同的电源故障情况下,比如
[电源管理]
单片机电子密码锁子程序
仿真文件和完整源码下载地址: http://www.51hei.com/bbs/dpj-22586-1.html 论文下载地址: http://www.51hei.com/f/电子密码锁论文最终稿.docx 下面是mima.c子程序: #include reg52.h #include mima.h #include 1602.h #include 矩阵 键盘.h #include delay_ms.h /*比较密码 函数 ,密码正确返回1,不正确返回0*/ bit mimaduibi(unsigned char *string1,unsigned char *string2) { unsigned ch
[单片机]
<font color='red'>单片机</font>电子密码锁子程序
MSP430控制手机液晶屏
液晶屏为2.4寸TFT彩屏, #include msp430xG43x.h #define uchar unsigned char #define uint unsigned int #include qqp.H #include ascii hex(8x16).h #include GB2312.h uint color ={0xf800,0x07e0,0x001f,0xffe0,0x0000,0xffff,0x07ff,0xf81f}; void delay_us(uint t); void delay_us(uint t); #define LCD_CONTROL_PORT P5OUT #defin
[单片机]
单片机c语言中nop函数的使用方法和延时计算
标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。 这在汇编语言中很容易实现,写几个nop就行了。 在keil C51中,直接调用库函数: #include intrins.h // 声明了void _nop_(void); _nop_(); // 产生一条NOP指令 作用:对于延时很短的,要求在us级的,采用 _nop_ 函数,这个函数相当汇编NOP指令,延时几微秒。 NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。 对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。 在选择C51中
[单片机]
AVR单片机学习开发基础知识
简介:AVR单片机学习开发基础知识: 一、AVR开发工具简介及开发环境的建立 二、计算机原理基础知识讲解 三、C语言基础知识讲解 一、AVR开发工具简介及开发环境的建立 软件开发工具 编译环境:WinAVR 下载软件:MucodeISP 仿真环境:AVR Studio 集成环境:AVR Studio,可以内联WinAVR 成为一个具有编译、仿真、下载功能的集成环境 硬件开发工具 下载线(并口也有USB接口的,功能是下载程序配置熔丝位) 仿真器 学习板(或手工焊接的系统板) 工具手册 WinAVR技术手册 ATmega16官方中文版技术手册(英文水平好也可以看看英文版) WinAVR 说明 WinAVR 下载安装后只用到
[单片机]
AVR<font color='red'>单片机</font>学习开发基础知识
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved