首页 > 其他 > 详细

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

时间:2015-11-02 20:56:47      阅读:304      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!