<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TQ2440國(guó)嵌學(xué)院gboot-bss段初始化

          TQ2440國(guó)嵌學(xué)院gboot-bss段初始化

          作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
          BSS段主要用來(lái)存放未初始化的全局變量

          首先先查看我們的鏈接器腳本文件,也就是gboot.lds

          本文引用地址:http://www.ex-cimer.com/article/201611/321966.htm

          OUTPUT_ARCH(arm)
          ENTRY(_start)
          SECTIONS {
          . = 0x30008000;

          . = ALIGN(4);
          .text :
          {
          start.o (.text)
          *(.text)
          }

          . = ALIGN(4);
          .data :
          {
          *(.data)
          }

          . = ALIGN(4);
          bss_start = .;
          .bss :
          {
          *(.bss)
          }
          bss_end = .;
          }

          可以看到上面bss段的開(kāi)始地址bss_start和結(jié)束地址bss_end,

          bss主要是存放未初始化的全局變量,因?yàn)槭菦](méi)有初始化,因此值可能是隨機(jī)值,如果被應(yīng)用程序調(diào)用,可能會(huì)有影響,因此初始化bss,也就是將bss段的內(nèi)容全部賦值為0

          代碼如下:

          clean_bss:

          ldrr0,=bss_start

          ldrr1,=bss_end

          mov r3,#0

          cmp r0,r1

          moveqpc,lr

          clean_loop:

          strr2,[r0],#4

          cmp r0,r1

          bne clean_loop

          mov pc,lr



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();