完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
这两天在学习2440做nand flash实验的时候遇到了一个问题,工程的文件包括head.s,init.c,nand.c,makefie,nand.lds,在linux下编译得到head.o,init.o,nand.o,main.o,文件大小如下:
head.o 812bytes init.o 980bytes nand.o 3.65KB main.o 920bytes nand.lds如下: SECtiONS { firtst 0x00000000 : { head.o init.o nand.o } second 0x30000000 : AT(4096) { main.o } } 因为head.o init.o nand.o这三个文件的大小已经超出了4K,所以程序无法运行。所以更改nand.lds如下: SECTIONS { firtst 0x00000000 : { head.o init.o } second 0x30000000 : AT(4096) { nand.o main.o } } 出现如下错误: [root@localhost nand]# make arm-linux-gcc -Wall -c -O2 -o head.o head.S arm-linux-gcc -Wall -c -O2 -o init.o init.c arm-linux-gcc -Wall -c -O2 -o nand.o nand.c nand.c:200: warning: `s3c2440_write_addr' defined but not used arm-linux-gcc -Wall -c -O2 -o main.o main.c arm-linux-ld -Tnand.lds -o nand_elf head.o init.o nand.o main.o head.o: In function `_start': head.o(.text+0xc): relocation truncated to fit: R_ARM_PC24 nand_init head.o(.text+0x1c): relocation truncated to fit: R_ARM_PC24 nand_read make: *** [nand.bin] 错误 1 希望各位大侠赐教,帮我解决一下。在编译优化是o2的条件下main.o的大小是3.65KB,在o3的条件下main.o的大小是3KB,还是不满足。 |
|
相关推荐
1个回答
|
|
这种是人看的吗?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
1469 浏览 1 评论
1340 浏览 0 评论
2025 浏览 0 评论
2006 浏览 2 评论
1116 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 19:57 , Processed in 0.458611 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号