[boot] 28335复位问题

[复制链接]
6447|18
 楼主| scottly 发表于 2014-11-26 14:38 | 显示全部楼层 |阅读模式
问题:
1. 28335如何进行软件复位?软件复位只能使用看门狗吗?如何指定何时复位?
2. 软件复位和硬件重新上电重启有差别吧,28335软件复位后,能不能恢复到相当于重新上电的状态?
zhangmangui 发表于 2014-11-26 23:59 | 显示全部楼层
软件应该只能复位一些外设吧    这个MCU都要复位   比较困难
看来只能是看门狗了    配置好看门狗   在需要复位时使能看门狗  
然后不喂狗   等待复位  
看门狗可以起到相当于重新上电的状态
 楼主| scottly 发表于 2014-11-27 08:56 | 显示全部楼层
zhangmangui 发表于 2014-11-26 23:59
软件应该只能复位一些外设吧    这个MCU都要复位   比较困难
看来只能是看门狗了    配置好看门狗   在需要 ...

恩 谢谢 一般的看门狗有两种模式,复位模式和中断模式,你说的使能看门狗,使能的是复位模式吧,达到一定的时间不喂狗,就会复位,是这个意思吧?
丙寅电子 发表于 2014-11-27 10:01 | 显示全部楼层
围观,
zhangmangui 发表于 2014-11-27 13:07 | 显示全部楼层
scottly 发表于 2014-11-27 08:56
恩 谢谢 一般的看门狗有两种模式,复位模式和中断模式,你说的使能看门狗,使能的是复位模式吧,达到一定 ...

恩 其实他就是一个定时器 让他开始计时
jing43 发表于 2014-11-29 23:39 | 显示全部楼层
实测,当看门狗工作在复位模式下时,以下代码:
                                EALLOW;
                                SysCtrlRegs.WDCR = 0; // 用看门狗强复位,这样才能彻底的复位。
                                EDIS;
能产生强复位,立即复位,和硬件复位一样的效果。
jing43 发表于 2014-11-29 23:42 | 显示全部楼层
jing43 发表于 2014-11-29 23:39
实测,当看门狗工作在复位模式下时,以下代码:
                                EALLOW;
                                SysCtrlRegs.WDCR = 0; // 用看门狗强复位 ...

如果之前看门狗还没有打开,可以用以下代码打开:
        EALLOW;
        SysCtrlRegs.WDCR = 0xAE; // 使能看门狗
        EDIS;
看门狗打开时默认定时到时复位,想要定时到时中断,需要配置。
 楼主| scottly 发表于 2014-11-30 10:08 | 显示全部楼层
jing43 发表于 2014-11-29 23:42
如果之前看门狗还没有打开,可以用以下代码打开:
        EALLOW;
        SysCtrlRegs.WDCR = 0xAE; // 使能看门狗

你好,谢谢你的回复,请问如何定时复位呢?能再贴一段代码么?谢谢
jing43 发表于 2014-11-30 11:19 | 显示全部楼层
使能看门狗那一段就是会产生定时复位,时间计算为:
下面 WDPS 为 WDCR 中的 WDPS 值,T 为 CPU 单周期时间,512 是系统时钟进入看门狗先分频 512 再说,256 是看门狗计数溢出的值。
t = T * 512 * (1 << WDPS) * 256。
0xAE @60M: t = 1/60 000 000 * 512 * (1 << 6)*256 = 0.0699050666666667s。
 楼主| scottly 发表于 2014-12-1 08:41 | 显示全部楼层
jing43 发表于 2014-11-30 11:19
使能看门狗那一段就是会产生定时复位,时间计算为:
下面 WDPS 为 WDCR 中的 WDPS 值,T 为 CPU 单周期时间 ...

好的 谢谢 我再看看 这种低级问题不应该问的,应该自己研究,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

179

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部