完善资料让更多小伙伴认识你,还能领取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个回答
|
|
这种是人看的吗?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
727 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2430 浏览 1 评论
828 浏览 0 评论
1600 浏览 1 评论
2423 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:13 , Processed in 0.855387 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号