首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助

求助

本人正在使用Motorola的MC9S12DG128单片机进行嵌入式开发,在做操作系统移植时,遇到一个问题,想请高人指点一下。因为该单片机使用分页机制,对于大于64K的flash,则划分成16K一页,通过在64K内存的$8000-$BFFF这一段开一个窗口,永远只能看到页面寄存器的某一页,故想在每个页中创建一个任务,这样在使用ucos-Ⅱ的创建任务函数OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio)时,遇到个问题,在某本书中给的例子是OSTaskCreate((void *)0x8000, (void *)&Task2Data, (void *)&Task2Stk[TASK_STK_SIZE-1], 9)(我使用的IDE是Metrowerks 的CodeWarrior);本来在0x8000处应为任务函数名,这里给了窗口的起始地址。但在编译时,提示错误“Indirection to different types('void *' instead of 'void (*)(void *)')。我一直解决不了,肯请高人指点一二!!![em01][em01]


[此贴子已经被作者于2005-4-6 10:51:01编辑过]

非常抱歉,我没有用过uCOS-II,所以不太清楚你的问题的具体含义,而且我也不知道谁能帮你分析这个问题。这也是采用开放的操作系统的缺点吧![em01]

但对于DB128来说,它采用PPAGE寄存器来选择不同的页面,而且有些页面是有开窗的,有些则是固定的,使用时要注意。
海纳百川  有容乃大
返回列表