在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 簡(jiǎn)單的啟動(dòng)代碼(Startup.s)分析

            簡(jiǎn)單的啟動(dòng)代碼(Startup.s)分析

            作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
            以下啟動(dòng)代碼是從《ARM嵌入式系統(tǒng)實(shí)驗(yàn)教程(一)》中提取出來(lái)的。

            &nbsp;1;啟動(dòng)文件,初始化C程序的運(yùn)行環(huán)境,然后進(jìn)入C程序代碼。
            2
            3IMPORT|Image$$RO$$Limit|
            4IMPORT|Image$$RW$$Base|
            5IMPORT|Image$$ZI$$Base|
            6IMPORT|Image$$ZI$$Limit|
            7
            8IMPORTMain;聲明C程序中的Main()函數(shù)
            9
            10AREA Start,CODE,READONLY;聲明代碼段Start
            11ENTRY;標(biāo)識(shí)程序入口
            12 CODE32;聲明32位ARM指令
            13
            14Reset LDRSP,=0x40003F00;設(shè)置堆棧
            15
            16;初始化C程序的運(yùn)行環(huán)境
            17 LDRR0,=|Image$$RO$$Limit|
            18LDRR1,=|Image$$RW$$Base|
            19LDRR3,=|Image$$ZI$$Base|
            20
            21CMPR0,R1
            22BEQ LOOP1
            23LOOP0 CMPR1,R3
            24LDRCC R2,[R0],#4
            25STRCC R2,[R1],#4
            26BCCLOOP0
            27
            28LOOP1 LDRR1,=|Image$$ZI$$Limit|
            29MOVR2,#0
            30LOOP2 CMPR3,R1
            31STRCC R2,[R3],#4
            32BCCLOOP2
            33
            34B Main;跳轉(zhuǎn)到C程序代碼Main()函數(shù)
            35
            36END

            本文引用地址:http://www.biyoush.com/article/201611/321098.htm從ADS1.2的幫助文檔可以看出以下幾個(gè)symbol的定義應(yīng)該是:
            |Image$$RO$$Base|
            表示RO輸出段運(yùn)行時(shí)起始地址,也可以說(shuō)是程序代碼存放的起始地址,由-ro-base這個(gè)參數(shù)指定;
            |Image$$RO$$Limit|
            表示RO輸出 段運(yùn)行時(shí)存儲(chǔ)區(qū)域界限,其值可通過(guò)|Image$$RO$$Base|+Codesizes+RO Data sizes+4計(jì)算得出;
            |Image$$RW$$Base|
            表示RW輸出段運(yùn)行時(shí)起始地址,記得是運(yùn)行時(shí)的地址,而不一定是加載時(shí)的存放地址,因?yàn)镽W輸出段在加載時(shí)可能是在ROM中并緊跟著RO輸出段存放的,當(dāng)程序運(yùn)行時(shí)才移動(dòng)(在有些書(shū)中說(shuō)是移動(dòng),個(gè)人覺(jué)得應(yīng)該只是復(fù)制,希望大家能幫我解釋一下,謝謝!) 到RAM起始地址為|Image$$RW$$Base|的區(qū)域,由-rw-base這個(gè)參數(shù)指定;未指定的話,默認(rèn)緊跟RO輸 出段,那么|Image$$RW$$Base|=|Image$$RO$$Limit|;
            |Image$$RW$$Limit|
            表示RW輸出 段運(yùn)行時(shí)存儲(chǔ)區(qū)域界限,其值可通過(guò)|Image$$RW$$Base|+RW Data sizes+4計(jì)算得出;
            |Image$$ZI$$Base|
            表示ZI輸出段運(yùn)行時(shí)起始地址,它是運(yùn)行時(shí)在RAM中生成的,緊跟著RW輸出段存放,其 值和|Image$$RW$$Limit| 一樣;
            |Image$$ZI$$Limit|
            表示ZI輸出 段運(yùn)行時(shí)存儲(chǔ)區(qū)域界限,其值可通過(guò)|Image$$ZI$$Base|+ZI Data sizes+4計(jì)算得出。


            關(guān)鍵詞: 啟動(dòng)代碼Startup

            評(píng)論


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

            關(guān)閉