|
CORTEX-M3 移植 UCOS 由IAR5.1 转到 REALVIEW 3.20
[复制链接]
1,
UCOS在 IAR5.1下工作有点不正常了,所以想转到MDK 3.20下,可是编译文件os_cup.a.asm时出错,提示 RSEG CODE:CODE:NOROOT(2) ,没有这个伪指令。
2.
文件开始处定义了:
EXTERN OSRunning
EXTERN OSPrioCur
EXTERN OSPrioHighRdy
EXTERN OSTCBCur
EXTERN OSTCBHighRdy
EXTERN OSIntNesting
EXTERN OSIntExit
EXTERN OSTaskSwHook
EXTERN OsEnterSum
代码段对以上定义的调用类似:
LDR R1, __OS_EnterSum 而不是 LDR R1, =OS_EnterSum,所以
这个文件的最后面还用到了 DATA伪指令来定义代码段的数据补充定义,定义变量指针,书上说这个伪指令已近不再用了,
代码 类似如下:
DATA
__OS_TaskSwHook:
DC32 OSTaskSwHook
__OS_IntExit:
DC32 OSIntExit
__OS_IntNesting:
DC32 OSIntNesting
__OS_PrioCur:
DC32 OSPrioCur
__OS_PrioHighRdy:
DC32 OSPrioHighRdy
__OS_Running:
DC32 OSRunning
__OS_TCBCur:
DC32 OSTCBCur
__OS_TCBHighRdy:
DC32 OSTCBHighRdy
__OS_EnterSum:
DC32 OsEnterSum
END
那么我该如何修改,是将DATA得定义写在前面,还是有其他的写法?求高手指点!小弟刚刚入门,懂的不多,错误荒唐的话还请包涵!
|
|