:::


Browsing this Thread:   1 Anonymous Users






PIC16F bootloader 架構問題
#1
新會員
新會員


查看用戶資訊
您好..

目前規劃的架構如下
--------------
| bootloader |
--------------
| FW1 |
-------------
| FW2 |
--------------

bootloader 除了做更新FW外 , 會決定跳到那一區的FW去執行
如 現在是執行FW1, 則更新FW 會更新到FW2,
reset後 會跳到 FW2 去執行, 之後更新就更新FW1
reset後 會跳到 FW1 去執行....


我用codeoffset 的方式產生的HEX 檔, 所有的code 都是shift 一個值去執行...

想請問

1. 我是不是要準備 2 個 HEX 檔,
一個是offset 到 FW1,
一個是offset 到FW2,
由bootloader 判斷現在是要更新到那一區
再由host AP 送那一區的FW..???


2. 若是要準備2個Hex ex 檔, 有無方式 能用 產生1個HEX 的方式, 而不管我寫到FW1 或 FW2 , 讓BOOTLOADER GOTO 到那一區都能正常執行??

發表於: 6/24 10:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F bootloader 架構問題
#2
資深會員
資深會員


查看用戶資訊

發表於: 6/27 16:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F bootloader 架構問題
#3
新會員
新會員


查看用戶資訊
這個說明 是 1個bootloader + 1個FW
若是 1個bootloader + 2個FW 的架構..


1. 我是不是要準備 2 個 HEX 檔,
一個是 offset 到 FW1,
一個是 offset 到 FW2,
由 bootloader 判斷現在是要更新到那一區
再由 host AP 送那一區的 FW..???


2. 若是要準備 2 個 Hex ex 檔,有無方式 能用 產生 1 個 HEX 的方式,而不管我寫到 FW1 或 FW2 , 讓 BOOTLOADER GOTO 到那一區都能正常執行??

發表於: 6/29 12:01
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F bootloader 架構問題
#4
版主
版主


查看用戶資訊
參照:

jhlarn 寫道:
這個說明 是 1個bootloader + 1個FW
若是 1個bootloader + 2個FW 的架構..


1. 我是不是要準備 2 個 HEX 檔,
一個是 offset 到 FW1,
一個是 offset 到 FW2,
由 bootloader 判斷現在是要更新到那一區
再由 host AP 送那一區的 FW..???

建議還是準備兩個起始位址不同的倆的 Hex 檔,因為這兩個程式的 C 初始化會不一樣。但 Bootloader 可以一次將這兩的 Hex Code 一次就載入近來,再依據命令或設定看要執行哪一個 AP。你也可以將這兩個 Hex Code 以人工方式合併成一個 Hex 檔。或分別載入到 MPLAB X IDE 候用 Export Program Memory 的方式設定位址後存成一個 Hex 檔來供 Bootloader 載入。


2. 若是要準備 2 個 Hex ex 檔,有無方式 能用 產生 1 個 HEX 的方式,而不管我寫到 FW1 或 FW2 , 讓 BOOTLOADER GOTO 到那一區都能正常執行??

發表於: 6/29 14:57
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F bootloader 架構問題
#5
資深會員
資深會員


查看用戶資訊
參照:

jhlarn 寫道:
您好..

目前規劃的架構如下
--------------
| bootloader |
--------------
| FW1 |
-------------
| FW2 |
--------------

2. 若是要準備2個Hex ex 檔, 有無方式 能用 產生1個HEX 的方式, 而不管我寫到FW1 或 FW2 , 讓BOOTLOADER GOTO 到那一區都能正常執行??

這是不可能的,別傻了所有的副程式,跳耀都是絕對定址, 你不可能像微軟的EXE 檔擁有重定址表,在 Loader Hex時 將絕對位址 調整到新的位址。

發表於: 7/1 12:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You can attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

http://elearning.microchip.com.tw/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源