移植UCOSII时,C函数无法识别汇编函数【恢复】
移植UCOSII到AVR128时,C函数无法识别汇编函数,汇编函数也无法调用C函数,汇编函数(OSStartHighRdy OSCtxSw)、C函数( OSIntCtxSw OSTimeTick OSExit OSIntExit)都无法报错为未定义。不知道是为什么?在汇编函数OS_CPU_A.S中,已经将汇编函数声明为.global C函数声明为.extern了,但还是同样的错误,不知道那里出问题了,郁闷中,弄了好几天了,找不出来错误来,我用的UCOSII源代码是252版本的,来自邵贝贝那本书的源代码。请各位高手指点下,谢谢了。 楼主是否看清楚所采用编译器 C掉汇编的规则 ?例如 如果是GCC的话 C调汇编函数 汇编函数定义须在前加下划线 例如:
定义如下汇编函数 :
.public _test
_test: .proc
// .....
retf
.endp
C中调用格式为:
extern void test(void);
int main()
{
test();
}
本贴被 fengxiasha 编辑过,最后修改时间:2008-12-20,03:18:20. 我是用AVRSTUDIO和avrgcc的开发环境。工程文件如下所上传的文件。真搞不懂那里出了什么问题。期待大虾的解答。。。。。。
这是AVRSTUDIO+AVRGCC的工程文件ourdev_491552.rar(文件大小:86K) (原文件名:my_ucos2.rar) 建议楼主将makefile文件放到上面来。 mark
页:
[1]