Re: [問題] Bootloader && Flash

作者: gg1122 (99通未接來電)   2014-08-02 01:02:28
※ 引述《WolfLord (呆呆小狼)》之銘言:
: ※ 引述《gg1122 (99通未接來電)》之銘言:
: : 問題1.這樣對APP code跑起來會造成問題嗎 ?
: 你是直接沿用Intel HEX還是自定義格式?
: 如果使用Intel HEX,那你只要使用不是01~05的格式碼自然就不會弄錯了。
: 如果是自定義碼,那只要你的LOADER自己能正確解碼,那就不會有問題了。
W大 編譯器編出來的hex 是Intel HEX格式 但是我同事是說可以直接編bin
是不清楚bin開起來會長怎樣....之前都沒做過bootloader...
現在就是用NXP編譯器 直接輸出bin檔
這個bin想另外藏head進去(可能找現成的軟體或自己寫個AP做)
哪個自定義碼意思是 ??
我的loader應該可以正確收進來(待測)
只是現在客戶AP定的通訊協定 讓我的loader很難寫
目前想請教的點為 FLASH 如果在本來APP code的資料除外
又亂塞資料oxFF 在這些真實資料片段之間 會成APP code當機或者不能跑?
如果塞了40Byte 0xFF 在APP code 開始點 又或先把這216個資料寫入
後面再塞寫0xFF*40(或者是不寫之前ERASE過 應該為0XFF)
1. start app address next page
|
作者: WolfLord (呆呆小狼￾ ￾ N￾ ￾ )   2014-08-02 02:34:00
bin檔是memory dump聯offset都沒有,你說的那些在bin都不可行,除非你作記號的位址不是執行碼。
作者: gg1122 (99通未接來電)   2014-08-02 20:25:00
我以為跟普通的開檔 讀檔一樣 = = 所以應該是在APP 哪邊應應該直接把這些資料定在到最前面讓編譯器幫我們轉出bin檔?不過app code哪邊最前面不是會被編譯器拿來放中斷向量嗎?還是我又搞錯方向了? 還麻煩賜教 謝謝
作者: WolfLord (呆呆小狼￾ ￾ N￾ ￾ )   2014-08-02 21:52:00
你完全搞錯了,BIN檔是ROM CODE,如果你有使用OS然後動態載入執行,那才有標頭、索引什麼的,最常見的是PE、COFF、ELF這三種格式。如果是靜態配置到FLASH的,那要不就是直接映射的BIN要不就是現成的HEX,除此之外都是各家隨意訂製的格式內容。
作者: gg1122 (99通未接來電)   2014-08-02 22:28:00
簡而言之 我別在肖想亂塞資料到FLASH這件事然後可手動編譯bin檔 loader前面多少不寫入FLASH自己知道真的資料就一個一個收好page填入哪些位置就是.map規定好的 所以別惡搞吧?如果是這樣 我只能跟客戶溝通協定了
作者: WolfLord (呆呆小狼￾ ￾ N￾ ￾ )   2014-08-03 12:43:00
You got it
作者: gg1122 (99通未接來電)   2014-08-03 22:25:00
謝謝!
作者: witchang   2014-08-31 09:20:00
bin檔內容就是.init, .text..等section的資料,順序依照你的linker cmd安排,你的例子或許可以在cmd檔加一個secttion, 然後把你想要的資料填在那個section裡,因為是你自己知道的位置,所以程式中要當Data或Op都隨你。

Links booklink

Contact Us: admin [ a t ] ucptt.com