初级会员
- 积分
- 118
- 金钱
- 118
- 注册时间
- 2017-4-29
- 在线时间
- 23 小时
|
按照老师的视频在start.s中加入清除bss断的代码,发现led不再闪烁了。
.global _bss_start
_bss_start:
.word __bss_start
.global _bss_end
_bss_end:
.word __bss_end
/*清除bss段 */
/*清除bss段 */
ldr r0,_bss_start
ldr r1,_bss_end
mov r2,#0
bss_loop:
stmia r0!,{r2} //r0的值设置为r2,并且r0递增
cmp r0,r1 //比较r0和r1
ble bss_loop //如果r0小于r1,则跳转
检查ledc.dis,发现_start位置不对了
ledc.elf: 文件格式 elf32-littlearm
Disassembly of section .text:
87800000 <_bss_start>:
87800000: 87800209 strhi r0, [r0, r9, lsl #4]
87800004 <_bss_end>:
87800004: 87800209 strhi r0, [r0, r9, lsl #4]
87800008 <_start>:
。。。。。。
查看老师的start.s实例代码,发现里面并没与清bss的代码,所以不知哪里出问题了
|
|