會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





MCC bootloader
新會員
註冊日期:
7月27日 15:08:15
所屬群組:
註冊會員
文章: 11
等級: 2; EXP: 12
HP : 0 / 28
MP : 3 / 25
離線
大家好
目前我用16F18324作bootloader
MCC預設都是利用開機前按下按鈕進入bootloader模式
目前需要用UART下command的方式進入bootloader
讓MCU不斷電,接收到進bootloader的指令
就RESET進入bootloader
當更新完成後再RESET回到正常的application
請問這樣的程式該怎麼從MCC生成出來的去做修改?
感謝大家

9月14日 14:08:58
轉換PDF檔 列印


Re: MCC bootloader
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14528
等級: 73; EXP: 10
HP : 1081 / 1802
MP : 4842 / 76619
離線
個人建議是: 你可以建立一個在 EEPROM Bootloader 的旗號來決定程式的進入點。

第一次開機這個旗號一定不等於 0xA5 的話就進入 Bootloader 的程式裡等待應用程式的下載,下載完成後將 EEPROM 的旗號設成 0xA5 後再跳去執行應用程式。

當然應用程式要有一機制可以將控制權交還給 Bootloader。你可以用按鍵偵測方式或下UART 的控制命令。很簡單的,只要有按鍵或收到命令就將 EEPROM 的旗號設為 0xFF。關閉一些不必要的周邊確定應用程式是安全後,執行嵌入式的 asm ("RESET") 指令即可回到 Bootloader 的程式。

C 的嵌入式組合語言的用法
1. asm (“instruction”); 用於單行的嵌入式組語
2. #asm … #endasm ; 區塊式的嵌入式組語

9月17日 09:46:51
轉換PDF檔 列印


Re: MCC bootloader
資深會員
註冊日期:
2010/07/12 16:45
來自 台灣的某一個角落
所屬群組:
註冊會員
文章: 261
等級: 15; EXP: 11
HP : 0 / 352
MP : 87 / 8606
離線
正常工作模式 開機就進入Application

當Application收到UART指令就進入bootloader模式

怎麼進入呢? 使用goto 直接JUMP到bootloader的起始位子。
可以參考按鈕怎麼進bootloader。

然後開始更新程式,更新完在RESET MCU,就會回到正常工作模式。

以上請參考。

9月17日 17:20:15
轉換PDF檔 列印


Re: MCC bootloader
新會員
註冊日期:
7月27日 15:08:15
所屬群組:
註冊會員
文章: 11
等級: 2; EXP: 12
HP : 0 / 28
MP : 3 / 25
離線
我先試試看
有問題再請教兩位
謝謝兩位

9月17日 17:24:38
轉換PDF檔 列印


Re: MCC bootloader
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14528
等級: 73; EXP: 10
HP : 1081 / 1802
MP : 4842 / 76619
離線
Application 跳到 Bootloader 可以用 asm (“goto 0xnnnn”) 嵌入式的組語方式。因為牽扯到堆疊已改變的問題,所以 Bootloader 只能執行 RESET 指令,重新啟動 C 的初始化程式重新設定堆疊後執行。

9月19日 13:25:23
轉換PDF檔 列印


Re: MCC bootloader
新會員
註冊日期:
7月27日 15:08:15
所屬群組:
註冊會員
文章: 11
等級: 2; EXP: 12
HP : 0 / 28
MP : 3 / 25
離線
感謝兩位提供的方法
目前測試沒有問題

9月20日 09:15:58
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project