Re: 關於Firmware Update設計

看板ASM (組合語言)作者 (222222222222222222)時間16年前 (2008/06/02 23:21), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串5/5 (看更多)
※ 引述《ast9869 (甘願為妳~)》之銘言: : ※ 引述《ast9869 (甘願為妳~)》之銘言: : : 後來又想到一個不錯的方法,主程式Code不動, : : 而把我一些常需要Update 的Fucntion Code的位址 : : 定義在主程式Code 後面區塊,應該就可以避掉這樣的問題了。 : 不知道怎麼定義Function的 location? : 假如我的 xxx.c compiler 之後,我想讓xxx.obj 放在flash的 : 0x12000h的位址,要如何設定啊? 在ARM7底下如果要安排一個function的話可以用KeilC的巨集__at (記得include absacc.h)若是整個.o,可以設定自己的*.sct去編排 你的記憶體 如果flash size有限無法分作兩大塊來做FW update的話,可以利用 編排.sct的方式將你用來erase/write的函數擺到Ram上進而做到 把整塊chip的flash都清掉還可以更新fw update的功能,但是缺點 就是不能斷電,不然就什麼都沒了XD 還有一個問題就是如果你是用C寫的話,那麼要確保一些C以及ARM 自己本身的library每次編譯出來的.o都在同樣位置上,不然即使 你固定了主code,還是會因為FW V0.1裡面那些library的位置跟你 FW 的V0.2位置是不一樣而當機的,一點小小意見提供給你參考... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.218.253 ※ 編輯: askacis 來自: 203.73.218.253 (06/02 23:22) ※ 編輯: askacis 來自: 203.73.218.253 (06/03 08:18)

08/12 10:07, , 1F
最後一段的文章,是真的要很小心!!!
08/12 10:07, 1F
文章代碼(AID): #18H0_T1R (ASM)
討論串 (同標題文章)
文章代碼(AID): #18H0_T1R (ASM)