關於製造商代碼 Manufacturer's Code
|
|
|||
---|---|---|---|---|
新會員
|
發表於: 2010/6/9 18:11
|
|||
|
請問 C30 的強制定址
|
||||
---|---|---|---|---|
新會員
|
請問用 C30 compiler 要如何在 C source code 內強制定義一個 const data 的位址, 用來當作產品的 serial number, 此位址需要固定, 免得每次程式重新編譯後位址都不同, 造成燒錄上的困擾. 順便再請問一下, 在HI-TECH C 裡面要如何才能做此一強制定址.
發表於: 2008/10/24 7:44
|
|||
|
Re: 請問幾個關於 PIC24FJ256GA108 的問題
|
||||
---|---|---|---|---|
新會員
|
Chun-Hao 兄:
謝謝您的提示, 當 Compile 出現關於 RG0, RG1 的錯誤訊息時, 第一時間想當然爾就是看看 p24FJ256GA108.h 是不是少定義了什麼, 只是不知道當時是否是鬼遮眼, 看到對於 PORTG 的宣告並沒有異常(我想我可能看錯檔案吧), 經您的提示再次看了一下 p24FJ256GA108.h, 果然如您所言, 發現自己很白痴, 現已將 RG0, RG1 補上, 解決了此一問題. 謝謝您~ 但是問題三, 仍然沒有發現問題所在, 不知您是否能再給些提示, 在此先謝啦! C_H_M 兄: 謝謝您說明的如此詳細, 剛剛已經用您的方式解決了 constant data > 32K bytes 的問題, 非常的謝謝您~
發表於: 2008/7/26 17:10
|
|||
|
請問幾個關於 PIC24FJ256GA108 的問題
|
||||
---|---|---|---|---|
新會員
|
請問幾個關於 PIC24FJ256GA108 的問題, 附上原始程式, 附件有整個 porject.
目前使用 MPLAB IDE 8.14 and MPLAB C30 Version v3_02 問題一 : 當 constant data 大於 32 K bytes 時, Compile 會出現下列錯誤訊息, c:\program files\microchip\mplab c30\bin\pic30-coff-ld.exe: Error: PSV section .const exceeds 32K bytes (actual size = 33280). c:/program files/microchip/mplab c30/bin/../lib\libpic30-coff.a(crt0.o)(.init+0x16):../support/inc/p30f2010.inc: Link Error: relocation truncated to fit: WORD _const_length 問題二 : 當使用到 PORTG 時, 會出現下列錯誤訊息 const.c:60: error: 'PORTGBITS' has no member named 'RG0' 問題三 : 如果 Device 選的是 PIC24FJ64GA008 時, 不會有 PORTG 不能使用的問題, 但是同一組 PORT 各位元會互相干擾, 例如下面程式, nLCD_CS = 0, 隨後當 LCD_RS = 0 的時候, nLCD_CS 會自己變成 1 . PORTE and PORTF 也會有相同的問題 #include <P24FXXXX.h> #define nLCD_CS PORTGbits.RG0 #define LCD_RS PORTGbits.RG1 #define nLCD_WR PORTFbits.RF1 #define nLCD_RD PORTFbits.RF0 #define nLCD_RST PORTFbits.RF6 #define LCD_Light PORTFbits.RF7 const unsigned int icon_wave_0[0x3000] = { 0x280F, 0x0002, 0xFFFF, 0xF800, 0x0000, 0x003E, 0x0000, 0xFF80, 0x0000, 0xC000, 0x01FF, 0x0000, 0xFFE0, 0x0003, 0xE000, 0x03C1, 0x0000, 0x99F0, 0x0007, 0xF000, 0x07FC, 0x0000, 0xFCF0, 0x0007, 0xF000, 0x07FC, 0x0000, 0xFCF0, 0x0007, 0xE000, 0x0399, 0x0000, 0xC1E0, 0x0003, 0xC000, 0x01FF, 0x0000, 0xFF80, 0x0000, 0x0000, 0x003E, 0x0000}; const unsigned int icon_wave_1[0x1100] = { 0x280F, 0x0002, 0xFFFF, 0xF800, 0x0000, 0x003E, 0x0000, 0xFF80, 0x0000, 0xC000, 0x01FF, 0x0000, 0xFFE0, 0x0003, 0xE000, 0x03C1, 0x0000, 0x99F0, 0x0007, 0xF000, 0x07FC, 0x0000, 0xFCF0, 0x0007, 0xF000, 0x07FC, 0x0000, 0xFCF0, 0x0007, 0xE000, 0x0399, 0x0000, 0xC1E0, 0x0003, 0xC000, 0x01FF, 0x0000, 0xFF80, 0x0000, 0x0000, 0x003E, 0x0000}; void InitIO (void) { TRISA = 0x0000; PORTA = 0x0000; TRISB = 0x0F3F; PORTB = 0x0F3F; TRISC = 0x0000; PORTC = 0x0000; TRISD = 0x0000; PORTD = 0x0000; TRISE = 0x0300; PORTE = 0x0300; TRISF = 0x0004; PORTF = 0x00C7; TRISG = 0x0080; PORTG = 0x028F; } void Delay_ms (unsigned int dt) { unsigned int i; for (;dt>0;dt--) for (i=0;i<1000;i++); } int main (void) { InitIO(); while (1) { nLCD_CS = 0; LCD_RS = 0; nLCD_WR = 0; nLCD_WR = 1; LCD_RS = 1; nLCD_WR = 0; nLCD_WR = 1; nLCD_CS = 1; Delay_ms(1); }; while(1); } Attach file: Link only for registered users
發表於: 2008/7/25 13:57
|
|||
|
請問兩個關於 PICC 與 RAM 的問題
|
||||
---|---|---|---|---|
新會員
|
請教各位前輩兩個關於 PICC(V9.60PL1) for MPLAB RAM 的使用問題.<br /><br />1. 如何讓 Complier 保留一段 RAM 位址不使用?<br />2. 如何設定才能讓 Complier 不會在程式開始時自動清除記憶體?
發表於: 2008/6/10 18:50
|
|||
|