6954|15

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于单片机程序的自动升级问题 [复制链接]

例如以单片机的ROM是有10万次擦写的FLASH,现在该如何能像电脑软件一样能自动升级里面的程序而不用拆下来重新烧

1.假设需要更新的程序是放在一个外接的E2PROM里,

2.怎样让单片机执行RAM里的指令,以便更新ROM区

3.通过执行RAM里的指令读出E2PROM的数据,怎样写入ROM区,一般都是用烧写器从外面烧写,还不知道该怎么从里面写

最新回复

哥们能不能帮个忙,我有个问题,程序能够对单片机升级,怎么把程序里的升级部分提取出来??  详情 回复 发表于 2013-11-1 13:58
点赞 关注

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个不是很难,前提是片内Flash/ROM支持自编程,也就是说支持软件指令对Flash/ROM的读、擦除和编程。  
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
IAP
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
自己实现一个BOOTLOADER

以前一些神人说不难

不过我还是没能太好地搞清楚
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

5
 
可以的啊。只要芯片支持。做一个简单的类型bootloader的程序就可以了。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
51的似乎不支持,需要AVR系列的。
思路可以这样:在bootloader区里是一段单独的程序,专门用来升级用。
升级时,应用程序跳转到bootloader的程序,升级后,再跳转到新的应用程序。
当然,这种方法需要各程序在FLASH中绝对定位。
另外,对于自升级的功能,新程序放在E2PROM里没什么意义,因为往里面写还是需要消耗资源,不如直接借助COM,用USART进行升级。

点评

哥们能不能帮个忙,我有个问题,程序能够对单片机升级,怎么把程序里的升级部分提取出来??  详情 回复 发表于 2013-11-1 13:58
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

7
 
有些MCU支持的
自己不支持的就比较麻烦
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
看芯片支不支持啊。
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

9
 
只要你的芯片支持串口,支持Flash多次重写,就可以实现自己的BootLoader
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 5 楼 soyokaze 的回复:
51的似乎不支持,需要AVR系列的。
思路可以这样:在bootloader区里是一段单独的程序,专门用来升级用。
升级时,应用程序跳转到bootloader的程序,升级后,再跳转到新的应用程序。
当然,这种方法需要各程序在FLASH中绝对定位。
另外,对于自升级的功能,新程序放在E2PROM里没什么意义,因为往里面写还是需要消耗资源,不如直接借助COM,用USART进行升级。


对于支持自编程的,可以按上述来做。
对于不支持自编程的,可以自己找一块区域,作为bootloader的引导区,每次系统驱动都来执行(当然这部分代码要尽量的简洁,也要包含应有的驱动,比如必须的输入,或是显示等),而bootloader可以通过版本号来识别是否升级.........
你可以去参考lpc2414系列的cpu,里面会有介绍,然后把其bootloader精简,可以实现的。
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

11
 
学习
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

12
 
关注中。。。
我刚发了一个关于ARM下自动升级的问题,也正期待解决。这个可以借鉴下
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

13
 
ISP在线编程啊
好象winbond 的w78e516b有这样功能
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

14
 
如果你MCU有ISP功能是很容易实现的。我在SM5964,MSP430FXXX等一些MCU上实现过。
但是如果是ROM类型,程序又要在RAM运行,那估计就没戏了。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 1 楼 zyzhang365 的回复:
这个不是很难,前提是片内Flash/ROM支持自编程,也就是说支持软件指令对Flash/ROM的读、擦除和编程。?


有些51单片机还是支持的,像国内的STC系列。。。。。
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

16
 

回复 6楼juhao0122 的帖子

哥们能不能帮个忙,我有个问题,程序能够对单片机升级,怎么把程序里的升级部分提取出来??
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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