当前位置:主页 > 行业新闻 >

MSP430单片机串口应用程序更新的方法解析

发布时间:19-10-05 阅读:941

跟着机能的赓续前进以及资源的低落,单片机在各个领域都获得了广泛的利用。尤其在旌旗灯号的节制和处置惩罚方面,单片机以其超低的功耗、简单的操作成为设计者的首选。TI公司推出的MSP430x5xx系列单片机具有低电压、低功耗、高速处置惩罚能力以及设置设置设备摆设摆设机动的接口等特征,是当今主流单片机之一。

同其他处置惩罚器一样,单片机正常事情除了必要硬件电路以外,还必要响应的用户利用法度榜样。但利用法度榜样在调试阶段以及实际应用时每每都必要更新,老例的措施必要打开机箱,将仿真器与单片机连接好,再更新法度榜样。这种步骤对照繁琐,假如操作欠妥还会毁坏设备。是以,假如能经由过程单片机已有的简单接口(如串口)更新利用法度榜样,那么将给单片机的应用带来更大年夜的方便。

1 总体思惟

首先经由过程仿真器向单片机中写入一段小法度榜样,称之为Bootloader法度榜样。这个法度榜样不是用户的利用法度榜样,它的感化有两个:第一是在上电的一小段光阴里实时检测串口,假如有上位机发出的更新法度榜样敕令,就发送握手旌旗灯号,看护上位机发送更新代码,并将收到的更新代码写入单片机响应的Flash中;第二个感化是当检测到有利用法度榜样存在时,跳转到利用法度榜样的进口地址,履行利用法度榜样。其流程如图1所示。

上位机法度榜样(VC++说话编写)的功能是,当用户发出更新法度榜样的指令后,在一段光阴内继续发送更新法度榜样敕令。假如收到单片机的应答旌旗灯号,表示单片机筹备开始接管更新代码。此时上位机读取已选择的代码文件,分段发给单片机。其流程如图2所示。

2 相关常识

2.1 IAR设置

常用的MSP430单片机软件开拓情况是IAR C/C++Compiler for MSP430。用仿真器进行法度榜样烧写以及仿真调试时,在OpTIons→Linker→ Output→Format选项中选择的是“Debug informaTIon for C-SPY”,但假如要获得该法度榜样文本款式的代码文件,必要选择Format中的Other选项。

2.2 代码文件款式

下面是一个天生的txt文件的内容:

@后面的6C00表示肇端地址,接下来的内容必要依次写入6C00开始的地址中。@FCFF表示法度榜样的复位进口地址,单片机上电或者复位后,法度榜样从这里开始运行。最末行q表示停止。

2.3 xcl文件

上面天生的txt文件中的代码寄放地址、复位进口地址以及中断进口地址都可以经由过程设置设置设备摆设摆设文件进行改动,这个文件便是xcl文件。该文件在安装目录的IAR Systems\Embedded Workbench 5.4 EvaluaTIon\430\config中,本文所应用的单片机对应的设置设置设备摆设摆设文件是lnk430F543 8.xcl,将其复制到自己创建的工程中以便改动。在编译器的OpTIons→Linker→Config→Linker command file选项中指定这个设置设置设备摆设摆设文件。

下面是xcl文件中的部分内容:

上面的设置设置设备摆设摆设信息含义是代码(Code)和数据常量(Constant data)放在5C00~FF7F和10000~45BFF两个空间中。中断向量的地址是FF80~FFFF,此中复位向量的地址是FFFE~FFFF。

2.4 Bootloader法度榜样和用户利用法度榜样的关系

地址空间分配如图3所示。图3左面是MSP430F5438的空间分配。在正常的应用中,用户代码占用5C00~FF7F、10000~45BFF两块区域,中断向量为FF80~FFFF。但含有Bootloader的法度榜样,就与之有所差别了。即Bootloader法度榜样占用了一部分代码区,同时占领中断向量FF80~FFFF。而用户必要从新编写一其中断向量表,以及响应的进口地址。图3右面是Bootloader法度榜样和用户法度榜样以及自定义的中断向量在Flash中的位置。关于空间位置以及空间大年夜小可以根据实际环境进行调剂。

从图中可以看出,在代码空间中存在着两个自力的法度榜样:Bootloader法度榜样和用户法度榜样。Bootloader完成的功能是在复位时经由过程上位机更新用户法度榜样或者调用已经存在的用户法度榜样。在这里最为关键的是中断向量FF80~FFFF是归Bootloader法度榜样所有的,当有中断发生时,法度榜样首先辈入FF80~FFFF空间的地址中(也便是Bootloader的法度榜样中),接着再由Bootloader的中断法度榜样跳转到相对应的用户中断法度榜样中。

因为用户法度榜样空间以及中断向量都发生了变更,那么必要对设置设置设备摆设摆设文件lnk430F5438.xcl的内容进行改动。以图3为例,改动如下:

2.5 上位机法度榜样

使用VC++编写带有串口的上位机法度榜样,按照图2所示的流程完成响应的功能。在操作时,首先打开与单片机连接的串口,选摘要更新的文件,之后给单片机上电,就可以进行用户法度榜样的更新了,上位机界面如图4所示。

结论

经由过程增添一个Bootloader法度榜样,引出一个串口就可以更新法度榜样,使更新法度榜样变得加倍轻易,在实际应用中起到了事半功倍的效果。此种措施也同样适用MSP430其他系列的单片机。

滥觞;电子工程网



上一篇:“第一音符”的回响:《义勇军进行曲》传播足
下一篇:咖啡色服饰公司网站源码 dede织梦服装展示设计模