Re: 我的 Bootloader 不能連續 Update Orz
|
||||
---|---|---|---|---|
高級會員
|
多謝幾位大仔的指點,小弟我在繼續研究看看,有成果再來回報 ^_^
發表於: 2009/11/25 13:50
|
|||
|
Re: 我的 Bootloader 不能連續 Update Orz
|
||||
---|---|---|---|---|
資深會員
|
boot loader與run code看起來是沒重疊.
1. 直接燒入 merg(含boot loader與run code),是否能再update. A: 如果可以update. (表示使用update完後出問題.--結果應與merg不同才對.) B: 如果不能update. (表示第一次update完,要再做第二次是不可以的.要去查run code跟boot loader配合那裏出問題) 2.是否能讀回,第一次update完的結果的 全部code(含boot loader與run code)回來檢查.
發表於: 2009/11/24 12:44
|
|||
|
Re: 我的 Bootloader 不能連續 Update Orz
|
||||
---|---|---|---|---|
高級會員
|
Hello ~ 板主你好,我把 Address 看過了,似乎...沒有覆蓋到捏 Orz
為什麼會這樣 = =",還請您幫我看看是哪邊有錯誤 !! 我分別把 bootlaoder 的 Program Memory CCS 的 Program Memory 還有經由 Bootloader 過後 Read 出來的 Program Memory 的 HEX 都給 Output 出來 上傳上來了 ~ 方便的話幫我瞧瞧看 ~ Attach file: Link only for registered users
發表於: 2009/11/24 10:49
|
|||
|
Re: 我的 Bootloader 不能連續 Update Orz
|
||||
---|---|---|---|---|
版主
|
我還是認為 Bootloader 有被 CCS 的程式蓋掉,最簡單的方式可以將第一次燒完的Bootloader 程式與執行過 CCS 的程式相比對,檢查一下 0x0000 ~ 0x2FF 之間的程式碼有沒有被改過?
發表於: 2009/11/23 17:06
|
|||
|
Re: 我的 Bootloader 不能連續 Update Orz
|
||||
---|---|---|---|---|
初級會員
|
=.=話說bootloader當初不會用也是問fae...結果fae丟個不相關的文件給我,就沒有下文了,有機會再請教你嚕~ 祝你早日解決問題
發表於: 2009/11/23 15:56
Edited by Nӿ on 2009年11月23日 16:55:28
|
|||
God grant me the serenity To accept the things I cannot change; Courage to change the things I can; And wisdom to know the difference.
|
||||
|
Re: 我的 Bootloader 不能連續 Update Orz
|
||||
---|---|---|---|---|
高級會員
|
救人喔 ~ 沒人回應 ... 頂一下先 Orz
發表於: 2009/11/23 14:09
|
|||
|
我的 Bootloader 不能連續 Update Orz
|
||||
---|---|---|---|---|
高級會員
|
請教有關 Bootloader 的操作
實驗板:APP001 IC:PIC18F452、PIC18F67J10 參考文件:AN851 狀況: 為了透過RS232 來進行 firmware 的 Update,因此進行了 Bootloader 的實驗,下載了 AN851 的文件,安裝了 ※ P1618QP – Tool Bar ※ AN851 提供的 .asm Code Build succeeded 之後燒錄進去 PIC18F452 此時我看 Program Memory 的 Address 是從 0000 ~ 0218 建立好以後打開 P1618QP – Tool Bar 選擇好 com、baud 順利連上線了,下面 的辨視視窗出現了 PIC18F452 的型號 接著 我要來建立我的 application 區域的 Code 了,我另外用了 CCS 這套編譯器來寫 .hex 檔,程式裡面只寫了讓 LED 亮燈的 Code ,用 MPLAB 的 Import 將 CCS 產生的 .hex 檔叫進來 以後觀察 CCS 的 Program Memory .HEX Address 是從 0600 開始起跳,當然我 CCS 有調整過向量,就像 Hi-tech C 也可以調整一樣,確定沒有與 C18 的 .asm Sample Code 重疊 到之後,我用 P1618QP – Tool Bar 將 CCS 的 .HEX 弄進來進行 燒錄,也的確是燒進去 PIC18F452 了,重置之後,LED 有開始 進行 Work 問題是 … 當我要進行第二次的 firmware update 時, P1618QP – Tool Bar 卻都顯示出 NO firmware version PICUNKNOW 這樣讓我又要重新燒過 C18 的 Bootloader 的 Code … 我在想說會不會是 CCS 的 .hex 把 bootloader 破壞掉了 於是乎 ~ 我回到 MPLAB 裡面 使用 Read 把 IC 的 Program Memory 抓出來一探究竟,發現 Address 在 Bootloader 的部份依然存在 而 CCS 的 .HEX 的 Address 也的確沒有蓋到,它只出現在向量 600 以下,是沒有被破壞到的! 我想請問的重點是,我不能連續燒錄是什麼問題 ? 我有請教過 FAE,但是他也不是很明白是什麼原因, 希望這裡有經驗的老手能給我個方向指導我一下 ~ 感恩 ! PS:我這邊慣用的編譯器是用 CCS 或者 Hi - Tech 兩者做出來 的 .hex 都讓我無法連續 Update,是有什麼眉角我錯過了 嘛 ?
發表於: 2009/11/18 10:36
|
|||
|