0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MSP430系列单片机的远程升级方案

电子设计 来源:CSDN 博主 作者:bitQ 2021-02-04 15:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MSP430系列单片机常用的程序下载方式为JTAG、BSL,实际产品应用中会用到固件的升级,如果是异地设备,则给升级带来不少麻烦。有没有普通用户就可操作的固件升级方案呢?就像BootLoader,可通过命令选择启动方式,甚至实现远程升级?答案是有的。其原理就是通过FLASH操作,将新的固件刷到FLASH中去,然后转到固件起始地址运行。

MSP430串口升级程序

MSP430 FLASH ROM

1. 如下图所示, 如下图所示, 如下图所示, FLASH ROM为 32K 字节(FLASH大小要根据你用的具体型号做调整),分为 64 个段,每个段分为512字节,512字节又细分为 8个块 ,每块64字节。

2. MSP430F247每次最小可擦除1个段的空间,除操作是向该写满 0XFF。

3. 32K字节的 FLASH ROM起始地址为 0X0FFFF –0X080000,对应Segment0 – Segment63.

4. RST复位中断向量地址为0x0FFFE,其由编译器自动写入跳转到main()函数的指令。

中断向量

当有外部复位、软件复位等,都会触发名为Reset的不可屏蔽中断,此时MCU会自动将中断向量0xFFFE装入PC指针,从而引导程序运行。

除了Reset中断,还有其它例如UART、SPI、TIMER等中断,中断向量记录了中断子程序的入口地址,中断向量表如下:

存储空间划分

增加串口升级功能需要有该部分程序支撑,因此FLASH ROM被划分成两部分:引导分区、应用分区,引导分区运行bootloader,当需更新代码时,该部分程序会读取串口发送的程序文件,并将其下载到应用分区;应用分区用于存放应用程序。

具体分区见下图:

这里系统分区占了1.5KB的空间,其中包括了bootloader代码分区和中断向量分区。应用程序分区也包括代码区和中断向量区两部分,但这里的中断向量却是虚拟中断向量,原因:中断向量表不能重新映射。

具体实现

程序更新步骤:1、设备上电; 2、运行bootloader程序; 3、延时等待远程升级命令;4、收到更新命令进入升级功能;5、将应用分区擦除;6、将接收的程序写入应用分区;7、跳转PC指针到应用程序的复位地址;8、运行新的应用程序。

程序运行的步骤:1、设备上电; 2、运行bootloader程序; 3、延时等待远程升级命令;4、接收命令超时;5、判断应用分区是否有可运行的程序;6、跳转PC指针到应用程序的复位地址;7、运行应用程序。(如果没有可运行的程序、则一直停留在bootloader)

关键技术:

1、通过移动PC指针实现了bootloader到应用程序的切换、同时也实现了虚拟中断向量表。

2、通过FLASH ROM的读写操作实现应用程序的更新

总结

顺利实现MSP430的远程升级,这里我要感谢梁先生的网络资料。其实,只要单片机有FLASH的读写接口,就能根据此原理实现bootloader,同时接口也不局限与串口,只要有机制获取新程序,就可以通过这种方式实现对MCU的升级。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663473
  • msp430
    +关注

    关注

    182

    文章

    2406

    浏览量

    232933
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154701
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MSP430常用内联函数说明

    电子发烧友网站提供《MSP430常用内联函数说明.docx》资料免费下载
    发表于 06-05 17:20 0次下载

    MSP-FET430闪存仿真工具(FET)手册

    本手册记录了德州仪器MSP-FET430闪存仿真工具(FET)。FET是MSP430超低功耗微控制器的开发工具。这里描述了并行端口接口和USB接口这两种可用接口。本手册描述了FET的设置和操作,但
    发表于 05-30 14:53 0次下载

    MSP430部署

    MSP430可以部署简单的模型吗
    发表于 03-16 19:29

    msp430单片机如何设计软件滤波?

    ADS1110 16位 I2C接口AD 采样前端传感器调理输出信号,ADS1110内部参考电压2.048V.传感器输出信号0.050mV~3.0V,经过调理单路后在0~2.033V之间。现在发现ADS1110采样值有20~50个跳动。用msp430单片机如何设计软件滤波
    发表于 02-10 08:43

    单片机MSP430引脚直接接7883的引脚进行控制,ADS7883无数据输出是什么原因?

    单片机MSP430引脚直接接7883的引脚进行控制。 5V基准源供电,信号发生器作为模拟输入,输入一个直流量,分别测7883的对应引脚都有正确的电压。 单片机发生的CS和SCLK引脚的时序用示波器
    发表于 02-07 08:41

    MSP430单片机SPI与TLV5638通讯,TLV5638输出都是0是什么原因?

    MSP430单片机SPI与TLV5638通讯,通过示波器观测到SPI发送给TLV5638的指令和数据都是对的,但是TLV5638输出都是0,不知道是什么原因,在datasheet上看到, 单片机
    发表于 02-07 06:49

    请问有没有办法对MSP430的固件升级

    AFE4400 EVM板,上面用的MCU为MSP430,之前一直正常使用,现在连接上电脑,电脑就认为是键盘类的硬件,将EVM板的USB驱动装不成功,可能是MSP430的固件有问题,请问有没有办法对MSP430的固件
    发表于 01-14 08:38

    MSP430F149如何配置spi和DS1302使用?

    我是一个小白,刚刚学习msp430系列芯片,我看到MSP430F149可以配置USART使其成为SPI的方式,但是,和DS1302就不知道怎么配置了。 MSP430F149与SPI相
    发表于 01-06 07:21

    MSP430存储器编程用户指南

    电子发烧友网站提供《MSP430存储器编程用户指南.pdf》资料免费下载
    发表于 12-19 15:34 0次下载
    <b class='flag-5'>MSP430</b>存储器编程用户指南

    MSP430x5xx和MSP430x6xx系列系列用户指南

    电子发烧友网站提供《MSP430x5xx和MSP430x6xx系列系列用户指南.pdf》资料免费下载
    发表于 12-19 15:32 4次下载
    <b class='flag-5'>MSP430</b>x5xx和<b class='flag-5'>MSP430</b>x6xx<b class='flag-5'>系列</b><b class='flag-5'>系列</b>用户指南

    MSP430灯不亮是什么原因导致的?

    MSP430灯不亮。板上U1输入4.8V,输出0.7v。是何问题?
    发表于 12-17 06:17

    MSP430控制DAC8531,DAC8531输出的电压只有十几毫伏,问题出在哪?

    我用MSP430控制DAC8531,CLK(黄色clk,蓝色DIN)和DIN用示波器测得如图,先输出高八位,再输出低八位,在clk下降沿传出数据(上升沿传出数据我也试过),输出的DAC为
    发表于 12-11 07:52

    请问ADS112C04作为一个模数转化器,怎么和msp430单片机相连,进行编程呢?

    请问ADS112C04作为一个模数转化器,怎么和msp430单片机相连,进行编程呢?以及为什么它只有一个数据输入和输出共用的端口,而没有其他数据输出端口?谢谢
    发表于 12-11 06:29

    MSP430电容式触摸电源设计器GUI用户指南

    电子发烧友网站提供《MSP430电容式触摸电源设计器GUI用户指南.pdf》资料免费下载
    发表于 12-10 14:03 0次下载
    <b class='flag-5'>MSP430</b>电容式触摸电源设计器GUI用户指南

    MSP430FR4xx和MSP430FR2xx系列用户指南

    电子发烧友网站提供《MSP430FR4xx和MSP430FR2xx系列用户指南.pdf》资料免费下载
    发表于 12-10 13:47 35次下载
    <b class='flag-5'>MSP430</b>FR4xx和<b class='flag-5'>MSP430</b>FR2xx<b class='flag-5'>系列</b>用户指南