音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

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

分散加載的問題

作者:azurecch 欄目:ARM技術
分散加載的問題
我的程序有三個段,第一個段是向量表,第一條語句是跳轉到第二個段的開始。然后再從第二個段跳轉到第三個段。

第一個段:

ResetInit     
        B         UserEntry                

第二個段:(就一句跳轉的指令)

UserEntry           
        B      User_Start  

第三個段:
User_Start  
    BL      InitStack               ;初始化堆棧
         BL      TargetResetInit         ;目標板基本初始化                                           
         B       __main            ;跳轉到c語言入口


分散加載文件:

第一個段:

ROM_Startup 0x00000000   
{
    Boot +0  
    {
        Startup.o (vectors, +First)          
    }     
  
}
第二個段:

ROM_UserEnter 0x00001000  
{
    UserEnter +0
    {
        UserEnter.o (User, +First)
    }    
}

第三個段:
ROM_UserP 0x00002000  
{
    User_Main +0    
    {
        userstart.o (UserMain, +First)
         * (+RO)
    }   
    IRAM 0x40000000
    {
           
        * (+RW,+ZI)
    }
    
    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }
    
    STACKS 0x40004000 UNINIT
    {
        stack.o (+ZI)
    }

}


第一次將完工程后,是OK的,但我把分散加載第三個段的起始地址改為0xa000,軟件仿真時地址是沒錯的,可硬件仿真時 編譯后的 第二個段 的 B      User_Start  ,并沒有跳轉到 0xa000 ,還是保持原來的0x2000的地址。此后把第三個段的起始地址改為其它值,軟件仿真都可以,硬件仿真不可以

我使用的是 ads1.2+easyjtag+LPC2134

請各位大蝦幫忙看看


2樓: >>參與討論
azurecch
救命啊,沒人理啊
救命啊,沒人理啊

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
easy-jtag連不上板子
3幅圖片,再看看ZLG對存儲器控制寄存器的說明,大家討論吧?熱!
lpc2100系列arm是否可以用uclinux?
買的ZLGARM開發(fā)板中附帶的程序,可以直接應用在商業(yè)產(chǎn)品中嗎?
利用MULTI ICE調(diào)試lpc2214
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號