完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
要对代码做ISP,而且不能改变boot跳线,实现全地址flash更新.用的STM32103VBT6,20K RAM,程序占用17K左右.
我的设想是进入ISP任务时,把ISP部分代码移到RAM运行(大概4K),要覆盖掉以前程序的内存,然后这个ISP代码通过通讯口接收数据,重写整个Flash,然后重新启动 不知道这个方案是否可行?可行的话,如何让程序loader到RAM中运行? |
|
相关推荐
5个回答
|
|
|
stm32我还未做过,做过LPC2220的,而且只是将LOAD下来写到另外一个地方,而不是覆盖本身,不过好像这种原理都一样。需要覆盖本身,那你就要让ISP就在RAM里运行了,而且不知道你是否用到中断,要是用到中断的话还要将中断映射到RAM,用分散加载吧,最好将你的ISP写成一个文件,然后加载到RAM里,这样编译器就会帮你将那个给烤到RAM里,你的ISP过程可是要一直在RAM里转悠的哟,可千万别跑到FLASH里就好了。
有点思路就好做了。 |
|
|
|
|
|
这样不安全,下载过程中一断电就歇菜了
|
|
|
|
|
|
这样不安全,下载过程中一断电就歇菜了
|
|
|
|
|
|
不断电有其他保证的,现在的问题就是如何让程序在RAM里面运行....
|
|
|
|
|
|
具体做法值得商榷
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2797 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2403 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2276 浏览 0 评论
2388 浏览 1 评论
1637 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 21:29 , Processed in 0.616765 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4006