TI中文支持网
TI专业的中文技术问题咨询交流网站

SYS/BIOS操作系统好像停止调度了,只有Idle工作,其他线程都不工作

尊敬的工程师:

您好,我们使用的是28069芯片,系统长时间运行出错,例如运行个20天左右就会出错。

其实程序并没有跑飞,因为没有重新启动(看门狗已经启用,测试看门狗是正常工作的)。

但是程序就是不运行了,看门狗的喂狗是在操作系统的Idle任务里面执行,说明Idle是在运行的

但是由操作系统调配的Hwi以及Timer都不运行了。

我从link生成map的文件看到sys/bios的函数都是在falsh中运行的,是这样吗?

其实以前发生过这个问题,我采用例程中的flash的初始化函数里面的几个参数改了一下,就从7天可以坚持到20多天了,不知道是为啥?

//Set the Paged Waitstate for the Flash
FlashRegs.FBANKWAIT.bit.PAGEWAIT = 3;         默认这个设置3,我改到了1

//Set the Random Waitstate for the Flash
FlashRegs.FBANKWAIT.bit.RANDWAIT = 3;        默认这个设置3,我该到了2

//Set the Waitstate for the OTP
FlashRegs.FOTPWAIT.bit.OTPWAIT = 5;             默认这个设置5,我该到了2

以上的改动似乎对程序长期运行起到了效果,但也只是从7天左右延长到了20天的时间左右,但还是不能长期运行,但是我不知道为啥,我猜想是不是sys/bios在falsh运行,是不是这几个参数设置的有啥问题。 谢谢!

我想解决这个问题,我现在想把仿真器长期连接上,如果出现错误了,我就用仿真器进行查看,请问连接上仿真器,和我实际从flash中启动运行的状态是不是一样的,谢谢,连接上仿真器是不是原本从flash中运行的函数还是从flash运行,谢谢!

祝您好心情!

yongtao ma59:

回复 Susan Yang:

谢谢Yang工的回复

尊敬的工程师:

您好,我们使用的是28069芯片,系统长时间运行出错,例如运行个20天左右就会出错。

其实程序并没有跑飞,因为没有重新启动(看门狗已经启用,测试看门狗是正常工作的)。

但是程序就是不运行了,看门狗的喂狗是在操作系统的Idle任务里面执行,说明Idle是在运行的

但是由操作系统调配的Hwi以及Timer都不运行了。

我从link生成map的文件看到sys/bios的函数都是在falsh中运行的,是这样吗?

其实以前发生过这个问题,我采用例程中的flash的初始化函数里面的几个参数改了一下,就从7天可以坚持到20多天了,不知道是为啥?

//Set the Paged Waitstate for the Flash
FlashRegs.FBANKWAIT.bit.PAGEWAIT = 3;         默认这个设置3,我改到了1

//Set the Random Waitstate for the Flash
FlashRegs.FBANKWAIT.bit.RANDWAIT = 3;        默认这个设置3,我该到了2

//Set the Waitstate for the OTP
FlashRegs.FOTPWAIT.bit.OTPWAIT = 5;             默认这个设置5,我该到了2

以上的改动似乎对程序长期运行起到了效果,但也只是从7天左右延长到了20天的时间左右,但还是不能长期运行,但是我不知道为啥,我猜想是不是sys/bios在falsh运行,是不是这几个参数设置的有啥问题。 谢谢!

我想解决这个问题,我现在想把仿真器长期连接上,如果出现错误了,我就用仿真器进行查看,请问连接上仿真器,和我实际从flash中启动运行的状态是不是一样的,谢谢,连接上仿真器是不是原本从flash中运行的函数还是从flash运行,谢谢!

祝您好心情!

Susan Yang:

回复 yongtao ma59:

很高兴能帮到您

赞(0)
未经允许不得转载:TI中文支持网 » SYS/BIOS操作系统好像停止调度了,只有Idle工作,其他线程都不工作
分享到: 更多 (0)