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

          新聞中心

          IAR編譯器的常見問題

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

          先編譯看看自己的程序用了多少ram,在看看總共有多少ram。

          然后Project ——> Option ——> Linker ——> List選擇生成LIST文件,并包含stack選項(xiàng),如下圖所示。

          在./Debug/list目錄下,得到.map(可能是.lst等其他格式)文件,用記事本打開,找到以下內(nèi)容:

          ****************************************
          * *
          *CALL GRAPH*
          * *
          ****************************************

          ->Sub-tree of type: Interrupt function tree that does not make
          : indirect calls
          CSTACK
          | Stack used (prev) : 00000000
          01 int_T0_OV
          | Stack used (prev) : 00000000
          | + function block : 0000000C

          ......(省略N行)

          01 main
          | Stack used (prev) : 0000003A
          | + functionblock: 00000000
          <-Sub-tree of type: Function tree
          | Stack used : 000000E2

          找到最大的Stack used,我的就是000000E2,這就是用到的最大的堆??臻g,保守一點(diǎn),我設(shè)置成0x100字節(jié),沒有超過剩余RAM,再重新編譯,運(yùn)行,仿真器沒有堆棧不足警告,程序也能正常運(yùn)行了。

          如下圖所示:

          4. 查看匯編

          相信一個(gè)優(yōu)秀的單片機(jī)軟件工程師都多多少少會去看看編譯器的匯編代碼,看看有沒有什么問題或者看看編譯器有沒有自作聰明的做些什么

          Project ——> Option ——> C/C++ complier ——> List,勾選output assembler files,編譯后則生成離線匯編代碼文件

          此時(shí)在工程目錄下的Debug-->List即可看到所有參加編譯的C文件對應(yīng)的匯編文件,后綴名為*.s90



          關(guān)鍵詞: IAR編譯

          評論


          技術(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); })();