共2条
1/1 1 跳转至页
FLASH 【转帖】FLASH 问题
问
问题、
最近有几台设备, 使用过程中突然程序丢失, 不知道怎么回事。使用的是市电,135的片子,工作环境比较恶劣。不知有没有哪位遇到过同样的问题。
回复:
应该是执行了对FLASH的操作,建议对FLASH操作用多重判断,只有当多重条件都满足时再执行操作,这样就不会有问题。 答 1: 问题、
本来不打算用1121的FLASH,现在想用1121的FLASH了,但是不知道能够写多少次,我在1121的资料上,还有430的书上也没有查到,请用过的朋友指点!:)
回复:
典型值10万次,利尔达首页的"MSP430系列单片机"里有下载的数据手册。 答 2: 问
430的jtag方式和bsl方式都在现场的环境下显的不实用,现场的外部接口只有串口,请教下有什么方式可以实现程序的更新呢?
答
(一):1 写一段升级程序,包括FLASH擦写和串口通信,尽可能短,最好用汇编写。
2 主程序检测到串口的升级指令后,将此段程序搬移到RAM里运行。
3 擦除FLASH,接收串口数据,写入FLASH。此过程最好关闭所有中断。
4 升级完毕,写入错误的狗口令,复位。OK!
最关键是升级程序尽可能短,留出足够的接收缓冲,512K很合适,正好FLASH的一段。
此方法试过,速度很快。
(二)1.修改连接文件,定义一个段为COM,地址为从0xc000-0xc200;
修改CODE段的开始地址为0xc200
2.编写一个更新flash主程序的软件例如:void downsoft"COM"
将其定位在flash的COM段中,同时你的串口接收程序也必须放在COM段中,我是使用软串口实现的,
定义中断函数TIMERA0ISR“COM”。
3 在main()函数中定义一个标志位flag,
main()
{
if(flag) downsoft();
}
4.在downsoft中对中断接收到的数据进行处理,擦除主程序所在的段,将接收到的程序写入从0xc200开始的地址空间内。
5。上电复位即可。
最近有几台设备, 使用过程中突然程序丢失, 不知道怎么回事。使用的是市电,135的片子,工作环境比较恶劣。不知有没有哪位遇到过同样的问题。
回复:
应该是执行了对FLASH的操作,建议对FLASH操作用多重判断,只有当多重条件都满足时再执行操作,这样就不会有问题。 答 1: 问题、
本来不打算用1121的FLASH,现在想用1121的FLASH了,但是不知道能够写多少次,我在1121的资料上,还有430的书上也没有查到,请用过的朋友指点!:)
回复:
典型值10万次,利尔达首页的"MSP430系列单片机"里有下载的数据手册。 答 2: 问
430的jtag方式和bsl方式都在现场的环境下显的不实用,现场的外部接口只有串口,请教下有什么方式可以实现程序的更新呢?
答
(一):1 写一段升级程序,包括FLASH擦写和串口通信,尽可能短,最好用汇编写。
2 主程序检测到串口的升级指令后,将此段程序搬移到RAM里运行。
3 擦除FLASH,接收串口数据,写入FLASH。此过程最好关闭所有中断。
4 升级完毕,写入错误的狗口令,复位。OK!
最关键是升级程序尽可能短,留出足够的接收缓冲,512K很合适,正好FLASH的一段。
此方法试过,速度很快。
(二)1.修改连接文件,定义一个段为COM,地址为从0xc000-0xc200;
修改CODE段的开始地址为0xc200
2.编写一个更新flash主程序的软件例如:void downsoft"COM"
将其定位在flash的COM段中,同时你的串口接收程序也必须放在COM段中,我是使用软串口实现的,
定义中断函数TIMERA0ISR“COM”。
3 在main()函数中定义一个标志位flag,
main()
{
if(flag) downsoft();
}
4.在downsoft中对中断接收到的数据进行处理,擦除主程序所在的段,将接收到的程序写入从0xc200开始的地址空间内。
5。上电复位即可。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
| TCS3472S传感器及其色彩检测被打赏¥19元 | |
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
我要赚赏金
