|
|||||||||||
| 技術(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 |
[求助]為何nois2的程序如此占資源? |
| 作者:markman 欄目:EDA技術(shù) |
首先要說明的是我的軟件環(huán)境為。q2 5.0,SOPCBuilder 5 Build148 硬件是terasic的C1開發(fā)板,芯片就是EP1C6,不到6000個le和約11 kbyte的ram。 第一步,構(gòu)建一個最小的nois2系統(tǒng),有輸入輸出,這個nios2系統(tǒng)除了時鐘,復(fù)位外,有8個button輸入,8個led輸出。nios2的cpu和我選了一個基本配置,而且特地選擇沒有debug,沒有cache的,以節(jié)省資源。另外選擇了一個內(nèi)部的6kbytes大小ram作為程序和數(shù)據(jù)存儲器,地址,irq等分配都是自動默認(rèn)的。這在SOPC Builder里面可以想搭積木一樣很快完成。 第二步,生成此系統(tǒng) 第三步 如果前面沒錯的話在IDE里面建一個空的project 第四步 新建一個c文件 內(nèi)容如下: #include "system.h" #include "altera_avalon_pio_regs.h" #include "alt_types.h" int main() { volatile alt_u8 led; while(1) { led=IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE); IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led); } return 0; } 注意我采用的輸入的button名字是pio_buttion,輸出是pio_led,所以程序里面必須對應(yīng),而且要大寫。SOPC Builder里面則大小寫均可以。 第五步 右鍵選擇此C文件的Properties 在C/C++ Build里面選擇Release,盡可能不占資源,否則編譯報ram不夠。 右鍵選擇syslib,在SYSTEM Library勾選Small Library和Reduce DEVICE drivers。理由同上。 CTRL+b后在QII里面編譯,看看這個沒有debug功能的最小nios2系統(tǒng)占了多少的資源: 698個LE 50176個bit的ram 而且我512M的內(nèi)存 pentium-M 1.5G的系統(tǒng)在win2000下用了2分多才編譯好。 nios2真是占資源! 不知道大家如何設(shè)置的?高手請指教 |
| 2樓: | >>參與討論 |
| 作者: markman 于 2006/1/5 10:56:00 發(fā)布:
C51寫的51程序就很少占RAM啊 |
|
| 3樓: | >>參與討論 |
| 作者: 雷風(fēng) 于 2006/1/6 9:49:00 發(fā)布:
這是很正常的 |
|
| 4樓: | >>參與討論 |
| 作者: oaipoaip 于 2006/1/8 23:45:00 發(fā)布:
可以外加FLASH和SRAM芯片,通過avalon三態(tài)總線橋連接。 如果一定要用片內(nèi)ram,可以把ram容量設(shè)置為4KB或4KB的整數(shù)倍,因為數(shù)據(jù)寬度是32位的話設(shè)為6KB和8KB占用的M4K BLOCK數(shù)量是相同的,這是由M4K BLOCK的結(jié)構(gòu)所決定的,具體的可以去查相關(guān)資料。另外在編譯選項中加上-o3或-os可以減小代碼長度,還有其他一些編譯選項可以減小代碼長度,去ALTERA網(wǎng)站找資料看看吧。 |
|
| 5樓: | >>參與討論 |
| 作者: ar3000a 于 2006/1/9 0:26:00 發(fā)布:
Hi 你的程序再復(fù)雜一些也多占不了多少了,盡量用外部的ram和FLASH吧,別把程序都弄到里面去。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |