目前想实现DSP复位后,传输复位信号给数码管,也就是DSP28377d的XRS管脚通过外部拉低电压后再拉高复位后能否在重启后读出上次有发生复位的情况,是否有内部寄存器保留上次状态或者有什么好办法?目前了解到的是DSP复位触发时程序会停止运行,复位后会进入到RESET向量,然后从Begin加载代码,之后是程序初始化加载过程。。。请技术支持帮忙解答下,谢谢了
mangui zhang:这个你可能需要借助其他锁存的办法了MCU自己应该记录不了自身复位的次数
因处理器都是内部RAM运行从flash加载的程序
目前想实现DSP复位后,传输复位信号给数码管,也就是DSP28377d的XRS管脚通过外部拉低电压后再拉高复位后能否在重启后读出上次有发生复位的情况,是否有内部寄存器保留上次状态或者有什么好办法?目前了解到的是DSP复位触发时程序会停止运行,复位后会进入到RESET向量,然后从Begin加载代码,之后是程序初始化加载过程。。。请技术支持帮忙解答下,谢谢了
Green Deng:要记录复位前的状态的话确实C2000应该做不到,除非添加外部存储器实时记录芯片状态。
不过我觉得可以间接地确认芯片是否有过复位动作。比如用TI提供的flash api函数操作片内flash,在每次复位之后系统初始化的时候读取flash中设定的某个函数值,读取并+1后再写入flash。这样可以根据这个函数数值的变化判断复位次数。
FLASH-API可以参考:C:\ti\c2000\C2000Ware_2_00_00_03\libraries\flash_api\f2837xd
目前想实现DSP复位后,传输复位信号给数码管,也就是DSP28377d的XRS管脚通过外部拉低电压后再拉高复位后能否在重启后读出上次有发生复位的情况,是否有内部寄存器保留上次状态或者有什么好办法?目前了解到的是DSP复位触发时程序会停止运行,复位后会进入到RESET向量,然后从Begin加载代码,之后是程序初始化加载过程。。。请技术支持帮忙解答下,谢谢了
user5856030:
回复 mangui zhang:
好的,谢谢。
目前想实现DSP复位后,传输复位信号给数码管,也就是DSP28377d的XRS管脚通过外部拉低电压后再拉高复位后能否在重启后读出上次有发生复位的情况,是否有内部寄存器保留上次状态或者有什么好办法?目前了解到的是DSP复位触发时程序会停止运行,复位后会进入到RESET向量,然后从Begin加载代码,之后是程序初始化加载过程。。。请技术支持帮忙解答下,谢谢了
user5856030:
回复 Green Deng:
可是我这里是考虑运行中外部触发复位的情况,而不只是复位情况计数,平常使用芯片也会进行多次上电复位。