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

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(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

LPC2136分散加載描述文件問題,急!!!

作者:dandywang 欄目:ARM技術(shù)
LPC2136分散加載描述文件問題,急!!!
現(xiàn)在用LPC2136的芯片,按照ZLG的教程修改mem_b.scf 文件進(jìn)行片內(nèi)RAM調(diào)試,可每次進(jìn)入ADS就會(huì)停留在"取數(shù)據(jù)中止".



修改的mem_b.scf如下:
ROM_LOAD 0x40000000
{
    ROM_EXEC 0x40000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40008000
    {
        Startup.o (MyStacks)
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        Startup.o (Heap)
    }

    STACKS 0x40002000 UNINIT
    {
        Startup.o (Stacks)
    }
}

請(qǐng)問各位這是什么問題?
應(yīng)如何解決?


2樓: >>參與討論
g1u2b3h4
RE
片內(nèi)調(diào)試應(yīng)該是mem_c.scf文件才對(duì)吧!

3樓: >>參與討論
dandywang
RE g1u2b3h4
mem_c.scf 是片內(nèi)FLASH調(diào)試模式

4樓: >>參與討論
hqgboy
最后 STACKS 0x40002000 UNINIT的修改。
根據(jù)2131的容量,計(jì)算2136的容量。

5樓: >>參與討論
dandywang
IRAM 0x40008000  用改嗎
IRAM 0x40008000  這里是什么意思,要如何修改

6樓: >>參與討論
g1u2b3h4
re
mem_b.scf 是片外RAM調(diào)試方式吧!

7樓: >>參與討論
汽車電子
Keil RV和RTL使用簡介
   里面說到分散加載,在我網(wǎng)站下載

8樓: >>參與討論
coolbo83
RE:dandywang
ROM_EXEC 0x40000000      是指你的代碼開始存放的地址
IRAM 0x40008000          是指你的變量存放在內(nèi)部RAM的起始地址
STACKS 0x40002000 UNINIT 是指你的內(nèi)部RAM結(jié)束的地址

dandywang,按照上述,你知道為什么會(huì)取數(shù)據(jù)中止了嗎?
結(jié)束地址是0x40002000,你怎么在0x40008000開始存放你的變量呀??
所以,IRAM 0x4000xxxx這個(gè)值肯定要在 0x40000000 和STACKS 0x4000xxxx UNINIT之間。至于IRAM 0x4000xxxx這個(gè)值是多少,就看你的程序了。
    STACKS 0x4000xxxx UNINIT最好與你對(duì)應(yīng)的芯片內(nèi)部RAM的大小相同,小于也可以,但絕對(duì)不能大于。

9樓: >>參與討論
dandywang
RE coolbo83
非常感謝coolbo83 的詳細(xì)講解!


10樓: >>參與討論
fent
地址范圍錯(cuò)了!
您好!
(以下是個(gè)人理解,不一定對(duì),錯(cuò)了,希望各位多多指教。


  如果是周立功的DEMO的話:

  Stacks 是系統(tǒng)模式的SP,
  MyStacks是除系統(tǒng)模式以外的其他模式SP,
  并沒有說誰是開始地址誰是結(jié)束地址。
   
  

  LPC2136的RAM是32K,即是范圍是0x4000 0000 到 0x4000 8000
  所以看這個(gè)文件錯(cuò)在這里:
  IRAM 0x40008000
    {
        Startup.o (MyStacks)
        * (+RW,+ZI)
    }
1.   Startup.o (MyStacks) :放在從0x4000 8000開始沒有錯(cuò),因?yàn)闂J沁f減的,但是如果是周立功的DEMO的話,還有

StackSvc           DCD     SvcStackSpace + (SVC_STACK_LEGTH - 1)* 4
StackIrq           DCD     IrqStackSpace + (IRQ_STACK_LEGTH - 1)* 4
StackFiq           DCD     FiqStackSpace + (FIQ_STACK_LEGTH - 1)* 4
StackAbt           DCD     AbtStackSpace + (ABT_STACK_LEGTH - 1)* 4
StackUnd           DCD     UndtStackSpace + (UND_STACK_LEGTH - 1)* 4

所以范圍就超出了0x4000 8000這個(gè)范圍了!
2.  * (+RW,+ZI)這個(gè)也不對(duì),因?yàn)檫@里的指的是所有的變量是從0x40008000開始往高地址放置的,很明顯也超出了0x4000 8000這個(gè)范圍了。

所以建議改成如下:
  IRAM 0x40008000  --〉〉改為0x40000000
    {
        Startup.o (MyStacks)
        * (+RW,+ZI)
    }




* - 本貼最后修改時(shí)間:2006-12-27 15:44:40 修改者:fent

11樓: >>參與討論
apple
我也碰到同樣問題
LPC2132上的RAM用JTAG調(diào)試成功,FLASH也沒問題, 換上剛買的2136程序就亂了,JTAG下載在RAM中跑不起來, 跑不到MAIN,調(diào)用庫涵數(shù)就跑到取指錯(cuò)誤中斷,燒FLASH沒有問題,我沒有改任何,這是為什么?

12樓: >>參與討論
luhuaren
RE
樓上的兄弟,你要看看你的分散加載文件對(duì)不對(duì)。。。下載到RAM里跑不起來很可能是你的代碼沒有下載到正確的RAM地址里去。。

13樓: >>參與討論
apple
回復(fù)
按理說,2136FLASH和RAM都比2132大,代碼和配置文件都不用改就直接可以運(yùn)行, 可是情況就是這樣,程序亂飛,重焊了一塊2136板也是這樣.

14樓: >>參與討論
zmycool
RE: 10樓
我看過10樓的朋友說:

LPC2136的RAM是32K,即是范圍是0x4000 0000 到 0x4000 8000
  所以看這個(gè)文件錯(cuò)在這里:
  IRAM 0x40008000
    {
        Startup.o (MyStacks)
        * (+RW,+ZI)
    }
1.   Startup.o (MyStacks) :放在從0x4000 8000開始沒有錯(cuò),因?yàn)闂J沁f減的,

請(qǐng)問怎么知道是這個(gè)棧是遞減的呢?

另外,你第二條說的意思,又是遞增的!怎么回事呢?有點(diǎn)不明白,請(qǐng)指教!其他朋友理解的話,可以發(fā)表自己的看法。謝謝了!

15樓: >>參與討論
applo
14樓該學(xué)習(xí)
14樓該學(xué)習(xí)一下,你什么都不懂,也來討論。一點(diǎn)基礎(chǔ)都沒有。

16樓: >>參與討論
zmycool
就是來討教的,
只是想學(xué)點(diǎn)東西

17樓: >>參與討論
ada

簡單點(diǎn)說是不是這樣:

iram的地址為0x4000 0000+任意;

sp地址為0x4000 0000+任意+片內(nèi)ram的大小;

呢??????

另:我的理解是堆棧是設(shè)定在片內(nèi)ram的結(jié)束處的

 

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)教:ov5017型號(hào)CMOS圖像傳感器價(jià)格及供應(yīng)廠商
請(qǐng)教,關(guān)于lib的生成及調(diào)用
請(qǐng)問那里能找到LPC2100系列I2C主接收的例子?
請(qǐng)教陳老師有關(guān)堆棧分配的問題
EasyArm2200,想跨網(wǎng)關(guān),怎么辦,哪位大俠提個(gè)醒?
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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