最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

關(guān)于44Binit.s中的程序復(fù)制代碼的不解

作者:劍下亡魂 欄目:ARM技術(shù)
關(guān)于44Binit.s中的程序復(fù)制代碼的不解
    ;****************************************************
    ;拷貝并粘貼 RW data/zero initialized data                *
    ;****************************************************
    adr        r0, ResetEntry                    
    ldr        r1,    BaseOfROM
    cmp        r0,    r1
    ldreq    r0, TopOfROM
    beq        InitRamData
    
    ;****************************************************
    ;計算拷貝程序在FLASH中的實際位置                        *
    ;****************************************************
    ldr        r2,    =CopyProcBeg
    sub        r1, r2, r1
    add        r0, r0, r1    
    ldr        r3,    =CopyProcEnd
    
    ;****************************************************
    ;將拷貝程序復(fù)制到ram中                                *
    ;****************************************************
0    
    ldmia    r0!, {r4-r7}
    stmia    r2!, {r4-r7}
    cmp        r2, r3
    bcc        %B0    
    
    ;********************************************************
    ;開始用ram中的拷貝程序復(fù)本將所有剩下的代碼復(fù)制到ram中    *
    ;********************************************************
    ldr        r3, TopOfROM        
    ldr        pc, =CopyProcBeg
    
    ;********************************************************
    ;本段將代碼由實際燒入的地址拷貝到ro-base所指定的位置    *
    ;只拷貝CopyProcEnd以后的代碼                            *
    ;********************************************************
CopyProcBeg    
0    
    ldmia    r0!, {r4-r11}
    stmia    r2!, {r4-r11}
    cmp        r2, r3
    bcc        %B0    
CopyProcEnd
    
    sub        r1, r2, r3
    sub        r0, r0, r1        
    
InitRamData    
    ldr        r2, BaseOfBSS
    ldr        r3, BaseOfZero    
0
    cmp        r2, r3
    ldrcc    r1, [r0], #4
    strcc    r1, [r2], #4
    bcc        %B0    

    mov        r0,    #0
    ldr        r3,    EndOfBSS
1    
    cmp        r2,    r3
    strcc    r0, [r2], #4
    bcc        %B1

2樓: >>參與討論
劍下亡魂
ro=0x0c008000, rw=NC
下載到FLASH后運行

adr        r0, ResetEntry
ldr        r1,    BaseOfROM
r0的值是多少?0還是ro_base?

adr  r0, ResetEntry 與
ldr  r0, =ResetEntry 有啥區(qū)別?

ldr        r2,    =CopyProcBeg
r2的值又是多少?offset還是ro_base+offset



3樓: >>參與討論
劍下亡魂
還有
    sub        r1, r2, r3
    sub        r0, r0, r1
在程序復(fù)制完成后的這兩條指令有什么用?
r2-r3不是等于0的嗎?

4樓: >>參與討論
劍下亡魂
ldr        pc, =CopyProcBeg
由程序看是把PC值置為ro_base+標志CopyProcBeg的偏移量

也就是說=CopyProcBeg的值就是ro_base+標志CopyProcBeg的偏移量

5樓: >>參與討論
eqtwo
幫你頂
 
6樓: >>參與討論
劍下亡魂
現(xiàn)在只有這點不明白
    sub        r1, r2, r3
    sub        r0, r0, r1
在程序復(fù)制完成后的這兩條指令有什么用?
r2-r3不是等于0的嗎?

偶想不出在什么情況下,R2、R3的值會不相等?

還是在考慮了在THUMB狀態(tài)下可能會不等的情況?

7樓: >>參與討論
劍下亡魂
DX們請幫忙解釋一下啊。
    sub        r1, r2, r3
    sub        r0, r0, r1

這兩句具體有什么用處??

8樓: >>參與討論
EQTWO
在幫你頂下
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
麻煩大家推建一款音頻變解碼芯片
4M bit存儲器at45db041在廣州好買嗎,多少錢?有沒其它便宜的?
這里有用LPC2100系列開發(fā)過固話短信的朋友嗎?
請問哪里可以下載uclinux 2.4.18的內(nèi)核代碼呀??
壇子里玩ARM的兄弟,有沒有使用IAR環(huán)境的?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號