Re: 關於Firmware Update設計
※ 引述《ast9869 (甘願為妳~)》之銘言:
: 目前在8051上寫好了FW(這個MCU是有USB and Flash)
: 但日後想要用USB來Update。但不知道要怎麼設計!
: 我的想法:
: 程式是從到Flash載出來跑的,那更新時不就會寫到
: 正在跑的程式嗎?不就會造成不可遇期的錯誤?
: 小弟想了一個方法,不知道可不可行,就是把Main() FlashWrite() FlashErase()
: 等一些不常更動到的Function 用 _at_ 的方式定在Flash的最後區塊,
: 是不是就不會有這樣的問題呢?
: 希望可以得到一些建議。
建議是廠商有支援會比較好,不過有些方法可以試試看
1. flash要夠大,最好是你程式的兩倍大或至少要有一個空間可以放要修改的部份
2. 想法:修改程式進入點,第一次用低的一半,第二次用高的一半,第三次用低的一半
3. 優點:應該不會出現問題
4. 缺點:程式要準備兩套
5. 流程:燒寫沒用到的空白區域,燒寫過程中不能動到 interrupt 的進入位置,
待燒寫完後再關閉 interrup 並燒寫最開頭的 interrup, reset 等進入
位置,最後再將程式reset (jmp 0)
一定有更好的方法……orz
--
我是宅灣人
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.156.98
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章