完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我拼命地寻找零星的监视犬/软件重置的原因。所以我做了一些具有持久属性的特殊变量,将它们设置在战略位置,然后在重置发生后打印出来。震惊,重置发生时它们就会改变。如果我将第一个设置为0x100,然后运行一段时间(1)循环,那么在watchdog重置发生之后就是0x1A。
|
|
相关推荐
5个回答
|
|
我不知道。一些类似的工作对我(http://www. McCys.com /论坛/ FindPost / 1057706)。我假设你不使用引导加载程序。否则,这可能是引导加载程序故障……对于“连贯”来说,存在一些问题,如果缓存和未缓存的数据碰巧位于同一个缓存页中。坚持“意味着连贯”。我不期望这里出现缓存/未缓存的问题。但是,如果使用_u.((persistent,alignd(16))可以测试是否有任何更改。
|
|
|
|
啊哈,你可能在做什么!确实有一个引导加载程序。但是,我将加载到我正在加载的应用程序.HEX文件中。
|
|
|
|
引导加载程序需要相同的变量来持久化,或者它的C启动可以清除它们。
|
|
|
|
是的,您必须确保引导加载程序没有清除内存,或者将自己的变量放在相同的或重叠的内存位置,这些位置被清除或初始化。加载器不了解应用程序中定义的任何内容,反之亦然。通常每个应用程序和引导加载器都获得自己的闪存部分,因为您定义如何分割闪存。但是每个应用程序和引导加载程序都使用RAM本身的全部数量。因此,除非您确保,否则它们不会覆盖彼此的内存。到目前为止,在我的项目中还没有这样做,但是据我所知,一种简单的方法是在引导加载程序中定义完全相同的持久变量,但是您还必须确保它被完全放置在相同的内存lo中。阳离子。可以执行这个连接程序脚本,或者变量属性(地址/区段/区域),或者通过这些组合。我想,在地址属性中使用相同的持久变量定义可能是最简单的方法。但是您也可以防止通过链接器脚本或使用限制RAM使用的编译器开关进行覆盖。
|
|
|
|
好建议,我会调查的!干杯
|
|
|
|
只有小组成员才能发言,加入小组>>
5248 浏览 9 评论
2036 浏览 8 评论
1956 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3217 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2264 浏览 5 评论
786浏览 1评论
677浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
603浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
684浏览 0评论
581浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 06:30 , Processed in 1.365129 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号