在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM裸機(jī)開發(fā)bootloader代碼搬移從SRAM到DRAM

            ARM裸機(jī)開發(fā)bootloader代碼搬移從SRAM到DRAM

            作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
            本部分分兩部分去闡述:

            1、ARM啟動(dòng)流程

            本文引用地址:http://www.biyoush.com/article/201611/318208.htm

            2、編寫代碼

            一、2440:一上電,就從Nand中取出4KB的代碼到SRAM中stepping stone運(yùn)行,并對內(nèi)存進(jìn)行初始化。而后將Nand中代碼全部到內(nèi)存中。

            6410:一上電,SROM中的BL0會(huì)將Nand中8KB的代碼搬移到SRAM中stepping stone運(yùn)行,并對內(nèi)存進(jìn)行初始化。而后將Nand中代碼全部到內(nèi)存中,剩余代碼會(huì)在內(nèi)存中運(yùn)行。

            210:一上電,SROM中的BL0會(huì)將Nand中代碼到IRAM中運(yùn)行,初始化內(nèi)存。而后將Nand中全部代碼搬移到內(nèi)存中。

            注:2440中stepping stone有4KB 6410中stepping stone有8KB 210中stepping stone 為96KB

            二、編寫代碼

            步驟:首先確定搬移的起點(diǎn)和終點(diǎn),而后使用循環(huán)進(jìn)行搬移。

            起點(diǎn):SRAM

            2440:0x0

            6410:0x0c000000

            210:0x00020000

            終點(diǎn):內(nèi)存的鏈接地址

            鏈接起始地址:起始代碼在內(nèi)存中出現(xiàn)的地址。

            下面很有必要介紹一下相對地址與絕對地址:

            絕對地址:C語言中調(diào)用函數(shù);對PC賦值

            相對地址:匯編中的B指令,就是進(jìn)行相對地址操作。它移動(dòng)相對地址標(biāo)號的位移。

            以6410為例:起點(diǎn):0x0c000000 終點(diǎn)0x50008000


            copy_to_ram:ldr r0, =0x0c000000ldr r1, =0x50008000add r3, r0, #1024*4copy_loop:ldr r2, [r0], #4str r2, [r1], #4cmp r0, r3bne copy_loopmov pc, lr




            評論


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

            關(guān)閉