码迷,mamicode.com
首页 > 其他好文 > 详细

[国嵌攻略][044][初始化Bss段]

时间:2015-11-02 20:57:15      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:

BSS段的作用

1.变量存储的空间

初始化的全局变量:数据段

未初始化的全局变量:BSS段

局部变量:栈

动态分配变量:堆

2.为什么要对BSS段初始化

未初始化的全局变量在使用时才被赋值,未了避免在使用时忘记赋值,导致使用随机值。由系统工程师在系统启动时,把BBS清零。

 

初始化BSS段

找到BSS段起始地址和结束地址向其中填零,BSS段地址记录在链接器脚本中

/*
*名称:init_bss
*功能:初始化BSS段
*/
init_bss:
	ldr r1, =bss_start
	ldr r2, =bss_end
	mov r3, #0
	
loop_bss:
	cmp r1, r2   //如果BSS段起始地址等于结束地址,那么结束循环
	beq end_bss
	
	str r3, [r1], #4   //清零BSS段对应地址的值,然后让该地址加4字节
	b loop_bss

end_bss:
	mov pc, lr

 

[国嵌攻略][044][初始化Bss段]

标签:

原文地址:http://www.cnblogs.com/d442130165/p/4931109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!