Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
初級會員
|
我己經找到是硬體的問題了, 謝謝!!
發表於: 2005/1/30 20:04
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
版主
|
在 *.LKR檔案中需要把 c018i.o 拿掉,因為 c018i.o 是 Microchip 所提供給C18的啟動模組程式,而它的編譯位址是從 0x0000 開始的,一定會與你的 Bootloader 打架。
所以你可以把 C081i.o 的 source code c0i8i.c 拷貝到你目前 Project 的目錄下,修改它的起始位址後成為你 Project 裡的一個 source file 以取代原先在LKR檔的 c018i.0 的功能。 目錄 C:\mcc18\src\traditional\startup\c018i.c
發表於: 2005/1/28 9:41
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
初級會員
|
我發現一個問題----> 把// FILES c018i.o // 此檔案在此不用的話, 網路是連不起來的, 若把這個檔案加上去,complier又會出問題, 困擾中..............
發表於: 2005/1/27 16:31
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
版主
|
1. 在0x0008 , 0x0018必須有向量轉移的指令如:
ADDR 0x0008 --> goto 0x208 ; 轉到0x208新的中斷位址 ADDR 0x0018 --> goto 0x218 ; 2. 程式中的中斷位址要改到0x0208 及 0x0218 for high / low priority interrupt.
發表於: 2005/1/27 14:09
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
初級會員
|
請問一下, 主程式websrvr.c 如下 這一段----> highVector=0x08 需要改為0x208嗎?
#if defined(MCHP_C18) #pragma code highVector=0x08 void HighVector (void) { _asm goto HighISR _endasm } #pragma code /* return to default code section */ #endif
發表於: 2005/1/27 11:52
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
版主
|
要修改一小部分,如下說明 :
// FILES c018i.o // 此檔案在此不用,在project裡加入你修改過的 C018i.C FILES clib.lib FILES p18f452.lib CODEPAGE NAME=vectors START=0x0 END=0x1FF PROTECTED // Bootloader 程式保護區,告訴LINKER不要將程式擺在這裡 CODEPAGE NAME=page START=0x200 END=0x7DBF // 程式從0x200開始擺放 CODEPAGE NAME=debug START=0x7DC0 END=0x7FFF PROTECTED CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED
發表於: 2005/1/27 9:56
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
初級會員
|
AN833除了c018i.c的起始位址改為從0x0200開始, 那18F452.lkr這個檔案需要變嗎?
有prog2.hex 的link script 可以參考嗎? 謝謝!!
發表於: 2005/1/26 20:45
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
版主
|
另外,有兩個注意事項:
1、為簡化起見,該程式假設hex檔中,程式長度是16byte的整數倍。所以,也許利用mplab中export的功能,將欲下載的程式段依16byte的整數倍下載出來會比較簡單。 2、不曉得為什麼,實驗時發現,超級終端機的ASCII設定中,行列延遲及字元延遲各加1毫秒比較不會有傳輸錯誤發生。有興趣的人研究一下吧。
發表於: 2005/1/18 16:21
|
|||
|
Re: 18F452 BOOTLOAD Firmware 的問題
|
||||
---|---|---|---|---|
版主
|
查看了一下程式,程式中的SPBRG的設定值為D'10',為了得到57600的傳輸速度,OSCILLATOR必須為10MHz。另外,為了要讓程式能動,如果是使用PICDEM 2 的話, 在燒錄前,configruation bits也要設定為某一個EC模式才可以。
以上這些,在程式中沒寫清楚:說好聽一些,是可以保持程式的彈性。 實驗後,證實程式無誤,可以正確下載程式,也會正確動作。
發表於: 2005/1/18 11:53
|
|||
|