Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2757791
  • 博文数量: 102
  • 博客积分: 1444
  • 博客等级: 中尉
  • 技术积分: 13891
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-29 10:58
文章分类

全部博文(102)

文章存档

2014年(29)

2013年(14)

2012年(59)

分类: 嵌入式

2013-05-27 22:06:20

最近在调一个裸板程序时候发现单步跟踪到全局变量操作的时候,程序就飞了。
我们知道初始化的全局变量是放在data段的,为什么会出问题了。想了一会,发现在自己在链接的时候就简单的指定了一下-Ttext 0x3400。
以前认为,只要这样指定代码段后,后面的data段,bss 段应该接着后面存放。呵呵,这种想法是我自己的想法,但编译器不是我写的,人家不这样干。后来写了一个程序测试了一下,以下是反汇编的结果:


两者有明显的差别,如果想数据段是接着代码段后面存放的,还是需要自己写连接脚本文件;-Ttext 0x00这种指定方式仅仅是指定了一下代码段的运行地址,后面的数据段并不会在后面接着存放。

最后附上,整个测试代码。
lds.rar
阅读(6223) | 评论(0) | 转发(2) |
0

上一篇:S5PC100 时钟配置

下一篇:s5pc100串口配置

给主人留下些什么吧!~~