OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4589|回复: 6

汇编清除BSS,反汇编起始地址异常

[复制链接]

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2020-5-9
在线时间
26 小时
发表于 2020-7-25 22:34:40 | 显示全部楼层 |阅读模式
本帖最后由 15834025411 于 2020-7-25 22:38 编辑

新手,刚接触LINUX 看原子哥的视频学习,在移植官方的SDK包这章,汇编中如果写将BSS段清零,编译出来,反汇编程序起始地址0x87800000是_bss_start
如果删掉清除BSS段汇编,就是正常的,,没找到原因,求解,附图如下:

.s

.s

.dis

.dis
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

144

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2019-5-16
在线时间
143 小时
发表于 2020-7-27 09:44:41 | 显示全部楼层
87800000是uboot开始的地方,也是原子裸机教程实验开始的地方
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2020-5-9
在线时间
26 小时
 楼主| 发表于 2020-7-28 15:28:12 | 显示全部楼层
橙子熊 发表于 2020-7-27 09:44
87800000是uboot开始的地方,也是原子裸机教程实验开始的地方

您好,谢谢解答,我大概知道原因了,这应该是和汇编文件有关,汇编执行是先从下划线的地方开始,因为_bss_start 和 _bss_ned 在 _start前面,所以反汇编出来_bss_start就在0x87800000的位置,我刚开始以为初始位置是_start,见笑了
回复 支持 反对

使用道具 举报

56

主题

343

帖子

0

精华

高级会员

Rank: 4

积分
974
金钱
974
注册时间
2016-3-8
在线时间
267 小时
发表于 2020-7-28 21:05:53 | 显示全部楼层
0x87800000 保存的是_bss_start 的地址。0x87800004是bss_end的地址。 准确来说你的bss数据是从0x78001b8开始的。。
但是这引入另外一个问题,芯片肯定是从  0x87800000开始取指令的。如果保存的两个地址数据如果刚好和指令冲突,怎么办。
回复 支持 反对

使用道具 举报

5

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2020-3-22
在线时间
35 小时
发表于 2020-8-20 00:09:02 | 显示全部楼层
很早以前我也发现了这个问题,所以在启动代码里把清BSS段的代码放后面了,等你看到后面讲中断的时候会发现视频里也有同样的问题,而且影响了中断向量表,最后也是修改了清BSS段代码的位置解决的
回复 支持 反对

使用道具 举报

5

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2020-3-22
在线时间
35 小时
发表于 2020-8-20 00:14:44 | 显示全部楼层
pdwdzz 发表于 2020-7-28 21:05
0x87800000 保存的是_bss_start 的地址。0x87800004是bss_end的地址。 准确来说你的bss数据是从0x78001b8开 ...

在后面讲中断的时候就出现了这个问题,0x87800000是程序开始执行的地方用来存放中断向量表,视频里因为BSS段放在这个地方了造成中断程序有影响,所以在start文件里,清BSS段的程序最好_stat 程序段放在后面,参考裸机开发第二期,中断相关的视频,当然我这里也有很详细的随堂笔记哦,欢迎回踩,共同学习。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2019-5-14
在线时间
6 小时
发表于 2024-9-1 16:21:36 | 显示全部楼层
YOKI 发表于 2020-8-20 00:14
在后面讲中断的时候就出现了这个问题,0x87800000是程序开始执行的地方用来存放中断向量表,视频里因为BS ...

可以借我借鉴一下您的裸机代码吗?邮件:lizhaojun97@qq.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 04:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表