搜索
bottom↓
回复: 4

移植UCOSII时,C函数无法识别汇编函数【恢复】

[复制链接]

出0入0汤圆

发表于 2008-11-9 09:13:46 | 显示全部楼层 |阅读模式
移植UCOSII到AVR128时,C函数无法识别汇编函数,汇编函数也无法调用C函数,汇编函数(OSStartHighRdy OSCtxSw)、C函数( OSIntCtxSw OSTimeTick OSExit OSIntExit)都无法报错为未定义。不知道是为什么?在汇编函数OS_CPU_A.S中,已经将汇编函数声明为.global  C函数声明为.extern了,但还是同样的错误,不知道那里出问题了,郁闷中,弄了好几天了,找不出来错误来,我用的UCOSII源代码是252版本的,来自邵贝贝那本书的源代码。请各位高手指点下,谢谢了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2008-12-20 03:04:39 | 显示全部楼层
楼主是否看清楚所采用编译器 C掉汇编的规则 ?



例如 如果是GCC的话 C调汇编函数 汇编函数定义须在前加下划线 例如:



定义如下汇编函数 :



.public _test

_test: .proc

           //  .....

    retf

.endp



C中调用格式为:



extern void test(void);

int main()

{

    test();

}











本贴被 fengxiasha 编辑过,最后修改时间:2008-12-20,03:18:20.

出0入0汤圆

 楼主| 发表于 2008-11-10 08:40:32 | 显示全部楼层
我是用AVRSTUDIO和avrgcc的开发环境。工程文件如下所上传的文件。真搞不懂那里出了什么问题。期待大虾的解答。。。。。。

这是AVRSTUDIO+AVRGCC的工程文件ourdev_491552.rar(文件大小:86K) (原文件名:my_ucos2.rar) 

出0入0汤圆

发表于 2008-11-9 16:41:52 | 显示全部楼层
建议楼主将makefile文件放到上面来。

出0入0汤圆

发表于 2009-9-30 18:16:14 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 13:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表