Re: 請問 PIC Tiny Bootloader for 18F4520
|
||||
---|---|---|---|---|
初級會員
|
Hi Ryang:
好的 有進一步問題 再請教您 Thanks
發表於: 2008/3/24 16:57
|
|||
|
Re: 請問 PIC Tiny Bootloader for 18F4520
|
||||
---|---|---|---|---|
版主
|
Tiny bootloader 沒玩過,要花電時間研究你的問題。不過 Microchip有提供完整的 PIC18F bootloader 範例,而且也很多人在使用。只要用 MPLAB C18 就可以了,相關的檔案位置在 : (參考看看)
http://www.microchip.com/stellent/idc ... NextRow=&ssUserText=an851
發表於: 2008/3/24 10:41
|
|||
|
Re: 請問 PIC Tiny Bootloader for 18F4520
|
||||
---|---|---|---|---|
版主
|
CONFIG5H 裡的設定是對的。要考慮的是 Tiny Bootloader 在程式裡是否有檢查 Bootloader block (0x0000~0x07FF) 的區塊。要是你的程式企圖放在 Bootloader區塊的話,Tiny Bootloader 會阻止你,以免 Bootloader 程式被蓋掉。所以建議應用程式從 0x0800 的位址開始編譯。
發表於: 2008/3/21 11:36
|
|||
|
Re: 請問 PIC Tiny Bootloader for 18F4520
|
||||
---|---|---|---|---|
初級會員
|
版主你好
這一點我在code中也做了一些設定(Config bit) 應該是compile 版本不同 所以 寫法有些差距(還是我根本寫錯了??) 以下是我code中的設定 ASM Code ---------------------------------------------------- 略 ;Setup CONFIG5L CONFIG CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF ;Setup CONFIG5H CONFIG CPB = OFF, CPD = OFF ;Setup CONFIG6L CONFIG WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF ;Setup CONFIG6H CONFIG WRTB = OFF, WRTC = OFF, WRTD = OFF ;Setup CONFIG7L CONFIG EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF ;Setup CONFIG7H CONFIG EBTRB = OFF 以上這些設定 還是無法 完成 , 是我哪邊還有設定錯誤嗎?? PS. 我使用MPASM 5.15版
發表於: 2008/3/20 20:16
|
|||
|
Re: 請問 PIC Tiny Bootloader for 18F4520
|
||||
---|---|---|---|---|
版主
|
CONFIG5H :
bit 7 CPD: Data EEPROM Code Protection bit 1 = Data EEPROM not code-protected 0 = Data EEPROM code-protected bit 6 CPB: Boot Block Code Protection bit 1 = Boot block (000000-0007FFh) not code-protected 0 = Boot block (000000-0007FFh) code-protected bit 5-0 Unimplemented: Read as ‘0’ Boot Sector Protected 的範圍從 0x000~0x7FFF,程式從 0x200 開始放當然會被緊告的。你想把 Bootloader 蓋掉?
發表於: 2008/3/20 8:19
|
|||
|
請問 PIC Tiny Bootloader for 18F4520
|
||||
---|---|---|---|---|
初級會員
|
板大及各位先進好
目前 敝人想在自己使用的PIC 18F4520加入BootLoader的功能 看來看去 就選定了使用Tiny bootloader練習 以下是我使用過程中 遇到的問題及解決方式 1. ASM 部分 Line2 LIST P=18F252==>>LIST P=18F4520 改成使用PIC Line 19~28 __CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H 改成 CONFIG IESO=OFF, OSC=HS 因為compiler版本不同 Line 94 nop ===>>GOTO main_address 其中 main address 就是主程式 C語言的起點(我用0x200) 2. C的部份 因為要變更 C的主程式放置位置為0x200 a. 將C:\MCC18\src\traditional\startup 中的 c018i.c 加到 你的mplab 專案 變更之中的==>>#pragma code _entry_scn=0x000000 成==>>#pragma code _entry_scn=0x000200 b. 將18F4520.lkr 中的(C:\MCC18\lkr) line 7 ==>>FILES c018i.o mark成 //FILES c018i.o 經過以上步驟 Compile 成功\r 問題如下 PC可以連到PIC 18F4520但是在update 程式(透過RS-232)發生 "OVER write boot area denied" 意思是說不可複寫開機區 完整英文忘了 請問版主與先進 我還需要處裡哪邊呢???? PS 已經config bit 將防寫機制 全部取消了 Thanks 版主與先進們的意見
發表於: 2008/3/20 1:54
|
|||
|