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

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

對(duì)無(wú)remap的arm如何寫這個(gè)scatter?

作者:yyccaa 欄目:ARM技術(shù)
對(duì)無(wú)remap的arm如何寫這個(gè)scatter?
44b0沒(méi)有remap功能,但是現(xiàn)在希望能啟動(dòng)后,把代碼復(fù)制到ram里然后跳轉(zhuǎn)到那里執(zhí)行。ram從0xc000000開始。如果scatter這樣寫:
ROM_LOAD 0x0
{
    ROM_EXEC 0x0
    {
        44binit.o (+RO)
    }
    RAM_EXEC 0x0c000000
    {
        * (+RO)
    }
    
    RAM 0x0c200000
    {
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }

    STACKS 0xc7ff000 UNINIT
    {
        stack.o (Stacks)
    }
    
    ISR_STARTADDRESS 0xc7fff00 ;SDRAM bottom
    {
        stack.o (IsrStacks)
    }
}
則ads編譯時(shí)報(bào)error:
Error: L6202E: Section Region$$Table cannot be assigned to a non-root region.
Error: L6202E: Section ZISection$$Table cannot be assigned to a non-root region.

如果寫成:
ROM_LOAD0 0x0
{
    ROM_EXEC 0x0
    {
        44binit.o (+RO)
    }
        
}

ROM_LOAD 0x0c000000
{
    RAM_EXEC 0x0c000000
    {
        * (+RO)
    }
    
    RAM 0x0c200000
    {
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }

    STACKS 0xc7ff000 UNINIT
    {
        stack.o (Stacks)
    }
    
    ISR_STARTADDRESS 0xc7fff00 ;SDRAM bottom
    {
        stack.o (IsrStacks)
    }
}
編譯后報(bào)錯(cuò):
Failed to create Directory E:\44b0\Exp3_Data\Release\system.bin.
ARM fromELF為-c -OUTPUT system.bin -bin

如果是:
ROM_LOAD 0x0c000000
{
    RAM_EXEC 0x0c000000
    {
        submain.o (subjmp,+FIRST)
        __main.o (+RO)
        * (Region$$Table)
        * (ZISection$$Table)
        * (+RO)
    }
    
    ROM_EXEC 0x0
    {
        44binit.o (+RO)
    }
    
    RAM 0x0c200000
    {
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }

    STACKS 0xc7ff000 UNINIT
    {
        stack.o (Stacks)
    }
    
    ISR_STARTADDRESS 0xc7fff00 ;SDRAM bottom
    {
        stack.o (IsrStacks)
    }
}
報(bào)錯(cuò)為:
Error: L6203E: Entry point (0x00000000) lies within non-root region ROM_EXEC.

如何寫這個(gè)scatter?

2樓: >>參與討論
yyccaa
解決了!
在arm網(wǎng)站的faq搜索,發(fā)現(xiàn)原來(lái)從ads1.1開始就已經(jīng)比較好的解決這個(gè)問(wèn)題了。
在ADS_LinkerGuide里已經(jīng)給出方法了
5.3.2 Creating root execution regions
唉,當(dāng)初看ADS_LinkerGuide太不仔細(xì)了。

3樓: >>參與討論
yyccaa

不能算解決了,ads生成了192M的bin,我對(duì)fixed屬性的含義理解錯(cuò)了。

4樓: >>參與討論
yyccaa
算是解決了
還是用生成2個(gè)bin,然后用仿真器分兩部分燒。

5樓: >>參與討論
HC
樓主 兄弟,能否跟你聯(lián)系一下呀,我的QQ398998325,我這個(gè)問(wèn)題疑惑好大呀,我已經(jīng)扣好久了 沒(méi)有結(jié)果呢》
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
愿意用FPGA開發(fā)板資料交換ARM開發(fā)板資料
自己拼好的板給你們打樣怎么收費(fèi)?
關(guān)于CS8900A,請(qǐng)教
請(qǐng)問(wèn)關(guān)于協(xié)處理器操作碼
關(guān)于2410Test中SPI初始化程序~求救~。。
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)