在freertos下系统时间片生成默认采用rti中断实现,rti驱动无法自行生成。
于是手动配置和喂狗,步奏如下:
1)手动开启dwd计时器
rtiREG1->DWDCTRL = 0xA98559DAU;
rtiREG1->DWDPRLD = 4095;(rticlk为11.52MHz)
2)1s周期任务里喂狗
rtiREG1->WDKEY = 0x0000E51AU;
rtiREG1->WDKEY = 0x0000A35CU;
但计时器开启后,cpu直接跑到 dabort.asm里,无法正常运行正常任务和喂狗。
请问该如何解决该问题。
gaoyang9992006:
https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/420110
这个帖子问了和你相似的问题,作者或许已经解开了,跟你的步骤是很类似的,但是他的好像已经正常了。这是TI的英文版论坛,你可以咨询一下贴主。
qi zheng1:
回复 gaoyang9992006:
没有freertos没有问题。
操作系统调度器启动后,在把系统相关寄存器都保护起来了,用户程序访问相关地址就内存出错。
这个prvMpuSetRegion参数怎么设置,在用户任务程序里还可以改相关寄存器?