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

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

關(guān)于數(shù)組定義的問題,請大家出謀劃策,謝謝

作者:jaky80000 欄目:ARM技術(shù)
關(guān)于數(shù)組定義的問題,請大家出謀劃策,謝謝
因為要做顯示用的字庫,所以就用數(shù)組來做了,之前做的是用51做的,直接用了個關(guān)鍵字code就可以把字庫的數(shù)組直接定義到了FLASH區(qū)去,可是現(xiàn)在改用lpc2214后,就不能用這個關(guān)鍵字了,請問如何定義這些數(shù)組到FLASH去?
我試用了這樣定義const uint8 me[32]={};可是會出現(xiàn)在DATA區(qū),而不是在FLASH里,請教大家有何方法可以定義的,我想一定有方法可以做,只是我這個新手還不會,在這里請教大家的幫忙,不勝感激

2樓: >>參與討論
twentyone
RE
一個基本的問題:在產(chǎn)品里面,你所有的程序都是在FLASH的。至于運行的時候怎樣,那要看你是怎么考慮的了。如果你用的是ADS的話,建議看看ADS的LINKER GUIDE.相信你會收獲很大的。

3樓: >>參與討論
yos
兩種方法可以達到
1.直接把字庫燒錄到FLASH的固定地址,一般是最后面,然后在程序中定義常指針指向該地址. int * const p=0x10000;
2.如21所說,了解你所使用的開發(fā)環(huán)境的linker guide,讓linker完成.

4樓: >>參與討論
jaky80000
謝謝2,3樓的回答
3樓:我考慮過了把字庫做為單獨的一個區(qū),直接燒到FLASH里去,但是太麻煩了。
2樓:我是想說,如果定義為const的話,那他就會被編譯為data部分,會占我CPU的RAM空間,因為字庫很大,必須放在FLASH里去,不然我的RAM就超出了,我這樣解釋對不對,望指教,初次接觸ARM

5樓: >>參與討論
twentyone
RE
DATA部分也分為RO部分和RW部分的。如果你把字庫定義為CONST的,那就屬于RO部分,并不一定需要占用RAM的。

6樓: >>參與討論
jaky80000
回5樓的
5樓的同仁,你有這樣用過嗎,是否真的不占用我的RAM,在燒寫程序時,會燒到FLASH里去嗎,我還在求救中。
我板子已經(jīng)發(fā)出去做了,還沒有回來,所以沒有硬件調(diào)試,還不知道能不能用,希望大家能給我一個建議。
如果不能這么用,請教還有什么方法可以定義到FLASH去的,且能很簡單就能調(diào)用。謝謝

7樓: >>參與討論
computer00
如果你用的是keil CARM編譯器,直接用const,它就到FLASH了……
 
8樓: >>參與討論
jaky80000
我用的是ADS1。2,用const不可以嗎?
如果不可以,還有什么方法可以定啊,分散加載?

9樓: >>參與討論
computer00
我只知道在ADS有辦法實現(xiàn),但具體如何,我就不清楚拉。
好象是要用分散加載吧。

10樓: >>參與討論
農(nóng)民講習所
程序放在RAM運行,CONST就在RAM中。
如果在FLASH中運行,當然在FLASH中。

如果想程序在RAM運行,字庫在FLASH中,就單獨燒字庫到固定地址?梢宰约簩憘小軟件將BIN文件和字庫文件連接起來形成新的BIN文件。

11樓: >>參與討論
jaky80000
謝謝9樓,10樓的回答
我想ADS也是肯定可以的,只是我不知道怎么用,我試了下用分散家載文件出來,然后在分散文件里修改,好象也是編譯在DATA里,還有警告錯誤。
to 10樓:
  我的要求很簡單的,就是我把所有的程序都燒進去后,字庫要放在FLASH區(qū)去,且在燒寫時也不要分開燒寫,跟平常燒寫一樣,這樣可以嗎?我舉個例子:在C51里,我可以定義為 uchar code me[32]={};然后編譯后就直接在FLASH里了,燒寫時也沒有特殊的要求就可以了,我想用ADS也做到象這樣就可以了,能嗎?
  等待你們的回答,謝謝!

12樓: >>參與討論
xplore
你的程序在哪里運行的?
const 的位置是和代碼同一個區(qū)域的,  如果有bootloader一類的程序把你的程序裝到ram里了, 那么 const也回裝到哪里.

如果你的程序就是在FLASH里運行的, 那么const也在FLASH里, 不會裝到ram里.

樓上講習所說得對,  樓主還沒把問題說清楚

13樓: >>參與討論
jaky80000
好的,我明白了
謝謝這么的樓的回答。
我是要做成產(chǎn)品的,所以最終一定是在FLASH里運行的,謝謝了。因為我太清楚它的區(qū)域分配。
我暫時明白了,如果上機運行時碰到了問題再來請教。
再次多謝以上樓的幫助!謝謝!

14樓: >>參與討論
jaky80000
computer00,你是不是那個圈圈啊,我看過
我看過你寫的51操作系統(tǒng),真是厲害啊,有空向你討教下,可以幫我吧,呵呵。。。謝謝!

15樓: >>參與討論
awey
呵呵,00和圈圈是同一公司的兩個品牌
就像飄柔和海飛絲……

16樓: >>參與討論
jaky80000
??啊。。我。。
我只看到了個叫做“51圈圈操作系統(tǒng)”,不是圈圈寫的嗎?迷糊了

17樓: >>參與討論
computer00
在你的分散加載文件中添加如下內(nèi)容
ROM_DATA 0x********
{

me.o(+RO)

}

其中0x********是你要定位的FLASH地址。

18樓: >>參與討論
jaky80000
這個我也加過了,好象不行的
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
哪位大蝦有SM501的datasheet?
了解AT91SAM7S系列的進來算算:該用多大的晶振
請問Keil for arm中編譯這樣提示是什么意思?
程序灌進學習板上可以,自己的PCB上仿真也可以,灌進去就不行
從體系結(jié)構(gòu)探討為什么軟件模擬的cycles數(shù)與實際運行會存在差異
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


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