Re: 怎麼用C來寫的FW一下下就十幾二十幾K了
|
||||
---|---|---|---|---|
高級會員
|
OK~~謝謝
了解了 所以我只要控制讓MAP檔中報告的ROM使用是不超過32K 不管HEX檔多大 都還是可以寫進IC裡囉^____^
發表於: 2005/9/6 17:07
|
|||
|
Re: 怎麼用C來寫的FW一下下就十幾二十幾K了
|
||||
---|---|---|---|---|
高級會員
|
謝謝你的回答
唔~不過這樣我有點不懂 你的意思是不用管HEX的大小~~~ 只要MAP檔中顯示的大小沒有超過32K 就都可以燒進到IC裡嗎 我都以為就是看HEX的大小呢
發表於: 2005/9/6 13:14
|
|||
|
Re: 怎麼用C來寫的FW一下下就十幾二十幾K了
|
||||
---|---|---|---|---|
管理員
|
Hi Tiffany,
若要檢查 Program Size , 最好的方式是檢查 .map 檔. 我將 cdc 的 Firmware Compiler/Link 之後得到的結果如下 : Program Memory Usage Start End --------- --------- 0x000000 0x000005 0x000800 0x000805 0x00082a 0x001876 0x001878 0x001a89 4715 out of 33048 program addresses used, program memory utilization is 14% 所以正確的大小應該只有 4715 Bytes ! 你可以在 MPLAB IDE 功能列上選擇 Project -> Build Options -> Project , 然後在 MPLINK Linker 的右上方選項中勾選 "Generate map file". 如此一來 , 就可以在 _output 的子目錄中找到 MCHPUSB.map 了. .HEX file 包含許多資訊而且是 ASCII Format !! 它的 size 並無法看出實際的程式大小. 放心的加功能吧 :)
發表於: 2005/9/6 11:28
|
|||
|
Re: 怎麼用C來寫的FW一下下就十幾二十幾K了
|
||||
---|---|---|---|---|
高級會員
|
有一兩個式子有用到浮點運算
沒有用到PRINTF 基本上好像沒有用到LIBRARY 都是INCLUDE .H的檔案 而用到的有ADC.H, SPI.H, STRING.H, DELAY.H 還有就是USB FW裡本身提供的一些檔案CDC... 一開始如果都沒有加上自己的程式光USB EMULATOR RS232那個FW Compiler出來的hex約13,14k左右 但我自己的程式加上去後就幾乎快32k了~~~ 只好把一些目前用不到的function先刪掉~~ 也還要27k左右 呵呵~~真是寫到記憶體都不夠用了@__@
發表於: 2005/9/6 11:04
|
|||
|
Re: 怎麼用C來寫的FW一下下就十幾二十幾K了
|
||||
---|---|---|---|---|
版主
|
有用到浮點運算嗎?
有用到 PRINTF()? 使用多少的 Libraries ? 20幾K,是指 HEX 檔的大小還是 MAP 檔案告訴你的?
發表於: 2005/9/5 17:59
|
|||
|
怎麼用C來寫的FW一下下就十幾二十幾K了
|
||||
---|---|---|---|---|
高級會員
|
請教一下
如果我們用C18 Student版的 因為沒有優化~會造成檔案大的很快嗎 因為我發現我寫的FW其實看起來也沒有很多 但32K的ROM看起來一下下就不夠用了 因為還有一些功能還沒寫進去 真是擔心到時程式會擺不下呢
發表於: 2005/9/5 15:58
|
|||
|