Mega32上运行uCOS的问题
源代码是从www.ucos-ii.com上下载的M128的版本,在ICCV7上分别编译为M128,M64,M32都没什么大问题,但是在avrstudio 4.12里面调试仿真的时候,M128和M64都非常正常,但到M32一RESET就出现堆栈溢出的问题,看了下SRAM,对照M64和M128,发现内容是一样的,而且有空间剩余着,所以不知道堆栈为什么会出问题,还请搞过的兄弟指点下,我用的uCOS 2.8的kernel.跑的例子是LED TOGGLE的那个。 不知道你运行了几个任务,任务栈的大小是多少。如果任务栈和中断栈不分离的话,估计2KRAM的M32 跑2.8版的够呛。
你可以试着在os_cfg.h中减少
OS_LOWEST_PRIO
OS_MAX_EVENTSapplication
OS_MAX_
OS_MAX_MEM_PART
OS_MAX_QS
OS_MAX_TASKS
禁用一些信号量、消息、队列什么的来减少系统本身对RAM的需求 运行了3个任务,包括IDLE的话就是4个,我现在是只允许信号量,而且在ICCV7上编译没一点问题,具体到avrstudio里看,确实SRAM还是足够的 楼上给个邮箱,我发份你看看 记下了吧
-----此内容被AuToCTRL于2006-08-30,12:21:11编辑过 一会发给你,现在在外面
有QQ么?可以交流请教下 ~~~~~~~~~~~~
-----此内容被AuToCTRL于2006-08-30,12:43:40编辑过 完,刚回来,呵呵,我QQ:3813627
你能再发一下不
页:
[1]