在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            IAR編譯器的常見問(wèn)題

            作者: 時(shí)間:2016-11-30 來(lái)源:網(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é),沒(méi)有超過(guò)剩余RAM,再重新編譯,運(yùn)行,仿真器沒(méi)有堆棧不足警告,程序也能正常運(yùn)行了。

            如下圖所示:

            4. 查看匯編

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

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

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



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

            評(píng)論


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

            關(guān)閉