Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27050
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 68
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-15 01:02
文章分类

全部博文(3)

文章存档

2014年(2)

2013年(1)

我的朋友

分类: 嵌入式

2013-12-26 13:50:33

我用的arm-linux-gcc是4.3.2版
现象是在c文件里用除法运算 '/' 就报错 , 提示是 找不到 __aeabi_uidiv , 我的办法是在uboot里搜索这个字眼 , 用命令 find | xargs grep __aeabi_uidiv ,搜出现这个字眼的文件 , 然后会出现很多结果 , 但仔细看的话可以锁定_udivsi3.S 这个文件 .
把这个文件复制到自己的裸机程序目录里 , makefile也加上这个_udivsi3.o , 再编译 ,
还报了错 , 这次提示 找不到__aeabi_idiv , 就按刚才的思路再操作一次 , 可以发现 _divsi3.S 也应该要复制到自己的目录下 , 然后再编译 ,
出现找不到 div0 的错误 , 做法一样 . 可以找到div0.c , 复制完后 可以在里边做点修改 , 看div0.c的注释可以知道这个函数是为处理分母为0的情况设置的 . 那么 , 大家可以根据自己的喜好修改了 .

问题解决之后反思一下 , 本来看到这种错误 , 第一反应应该是写一个和编译器要找的函数同名的除法函数 , 而不是不知道怎么办到处百度 , 搜到的办法都是添加库文件 , 根本不灵好吧 , 完全加不了 , 根本就找不到的东西 .
更聪明的办法我想就是参考uboot啦 , 省时省力 .

阅读(3245) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~