免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1771 | 回复: 3
打印 上一主题 下一主题

编译vivi时出现的错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-23 21:36 |只看该作者 |倒序浏览
最近在网上下了一个带有tftp协议的vivi,但是没有实现AX88796网卡驱动,我将uboot中对AX88796驱动的相关代码拷贝到了想应的地方,然后编译通过了,但是编译出来的文件太大了,有好800M左右,不知是那里出错了,有没有那位以前编译的时候出现过这样的情况哦,有的话请帮小弟一把,同时也希望各位帮忙看看,谢谢!!下图是编译产生的结果:

论坛徽章:
0
2 [报告]
发表于 2009-02-23 22:34 |只看该作者

回复 #1 willow_2008 的帖子

裁剪的不正常,800MB

论坛徽章:
0
3 [报告]
发表于 2009-02-24 14:56 |只看该作者
我也是感觉不对头,刚开始的时候出现的是这样的错误:

后来在网上看见来那位大哥的解释,将最后连接阶段的 -lgcc -lc改成来-lc -lgcc ,但是编译出来就有800M了,
也不晓得是那点添加得不对,还是慢慢找哦,也谢谢大家哈。

论坛徽章:
0
4 [报告]
发表于 2009-03-04 11:30 |只看该作者
为了找出那个错误,我在代码里混了一周的时间,无意间将这个错误给解决了,错误来自下面给出代码的红色的那一句,使用来malloc这个库函数,我将其给注释了就小了,只有80k左右,但是其它的问题也来了。pbuf就没有大小了。


eth_init(bd_t *bd) {
1192         static hw_info_t * r;
1193         //char ethaddr[20];
1194       unsigned short pbuf[5000];
1195         printk("########### now we do the eth_init() ##########\r\n");^M
1196         printk("################## eth_init####################\n");^M
1197
1198
1199         if (!pbuf) {
1200 //             pbuf =(unsigned short *) malloc(NB*1000);            
1201
1202                 printk("after malloc\n");
1203                 if (!pbuf) {
1204                         printk("Cannot allocate rx buffers\n");
1205                         return -1;
1206                 }
1207                 else
1208                         printk("malloc rx buffers successed\r\n");
1209         }
1210         else
1211                 printk("the buffers for rx has value\n");
        ......
        }
1212
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP