UCOS-III使用CCM内存不能运行

2019-07-21 03:34发布

ucos-iii的任务 TCB和堆栈想用F407的CCM内存,ccm内存不能用DMA,反正64空着浪费
但是 问题是  无论是TCB还是STK,只要放入CCM中,ucos就不能调度,一直在空闲任务中了
AHRS是第一个创建的任务 ,请问这个CCM内存使用这么办? [mw_shl_code=c,true]OS_TCB TaskAHRS_TCB ; static CPU_STK TaskAHRSStk[TASK_AHRS_STK_SIZE] __attribute__((at(0X10000000)));[/mw_shl_code] 或者
[mw_shl_code=c,true]OS_TCB TaskAHRS_TCB __attribute__((at(0X10000000))); static CPU_STK TaskAHRSStk[TASK_AHRS_STK_SIZE] ;[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
simplelifeNick
1楼-- · 2019-07-21 07:33
回复【2楼】xuande:
---------------------------------
3qu  这个我注意到了
另外自己找到问题了  
在地址便宜的时候 没有注意TCB的字节大小不是4的整数倍,造成进入了hard_fault
#define OSTCBSize  sizeof(OS_TCB)/sizeof(CPU_STK)+1 
这样补偿一下就好了
xuande
2楼-- · 2019-07-21 12:25
本来想提醒你,CCM不能用DMA,结果你知道。

一周热门 更多>