完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在下面这个连接脚本中,设置了运行地址为0x30000000
但是没有用AT选项设置加载地址,为什么它的加载地址是0呢,不是说如果不使用AT这个选项,加载地址等于运行地址吗? |
|
相关推荐
5个回答
|
|
应该是我的失误,我说的加载地址不是你说的加载地址,我说的是入口地址,就是:程序 刚开始从哪里运行的
|
|
|
|
意思是下图中的这两个“加载地址”不是一回事?
|
|
|
|
一样的,你就按这个书讲的来理解就可以,以书为准。
|
|
|
|
但是没有用AT选项设置加载地址,为什么它的加载地址是0呢,不是说如果不使用AT这个选项,加载地址等于运行地址吗?
: 你是指在编译出来的bin文件里,它位于0,是这个意思吧? 在ELF文件里,它的地址信息是0x30000000; bin文件不含地址信息,作为一个文件,第1段当然是在0位置了 |
|
|
|
你是指在编译出来的bin文件里,它位于0,是这个意思吧?
:是的,听了老大的讲解,顿时好像明白了,我这样说您看对吗 (一)如果不使用AT这个选项,比如下边这个连接脚本 此时在bin文件里的位置就是顺着往下排,具体在文件哪个地址不确定,但在ELF文件里,它的地址信息是从0x30000000开始 <----> 在bin文件的位置那个地址和elf中的地址信息不一样 (二)如果使用AT这个选项,比如下边这个连接脚本 此时main.o在bin文件里的位置在4096(4096之前未使用的地址数据用0填充),在ELF文件里,main.o的地址信息也是4096 <----> 在bin文件的位置那个地址和elf中的地址信息一样 |
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2188 浏览 6 评论
1988 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4545 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 16:29 , Processed in 0.823738 second(s), Total 106, Slave 86 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号