PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 關於mcu bootloader
作者:
etiam
(高進)
2018-06-20 18:46:37
小弟使用工具爲keilc5
晶片爲silicon f380
Bootloader code 放在 0x0000-0x13ff
Application code 放在 0x1400-0xff00
想請問一開始在 bootloader code 判斷進application code 時我該怎麼做才能讓程式跑
到0x1400的位置開始執行application code
作者:
jimmytzeng
(jimmytseng)
2018-06-20 20:06:00
要先把cpu上的pc register指到application code的起點,這個就要用組語寫了
作者:
james732
(好人超)
2018-06-20 23:00:00
可以做個function pointer指向0x1400再呼叫即可
作者:
boss0405
(boss)
2018-06-21 00:25:00
goto
作者:
JFLung9536
(立月小蛇)
2018-06-21 09:02:00
要確定一下mcu的reset中斷向量表的位置是不是就是app起始位置(有的mcu是在中斷向量表的最後一個位置),是的話讓pc直接指向此位置。可以用組語做,就要去看mcu的組語用法。用c做的話,宣告一個type void,讓他等於起始位址,再讓改變數變成函數var();就跳過去了。
作者:
boss0405
(boss)
2018-06-21 09:41:00
樓上大大說的都是一些常用的方式,另外有些compiler也支援goto *((void *)jump_addr);的用法
作者:
etiam
(高進)
2018-06-21 09:45:00
請問指標函數能指向main嗎,因我的application 內也有個main
作者:
Lipraxde
(Lipraxde)
2018-06-21 11:39:00
bootloader沒辦法拿到app的symbol吧?我覺得不行
作者:
JFLung9536
(立月小蛇)
2018-06-21 12:57:00
如果你的中斷向量表中有一組 可以直接指到main 兩個不一樣的中斷向量表 就要指到中斷向量reset的位置
作者:
ss880702ss
(Stephen)
2018-06-22 08:12:00
並非指向main這個symbol而是指向main的地址,通常在app起始地址+4的地方吧
作者:
etiam
(高進)
2018-06-26 10:02:00
感謝
繼續閱讀
[問題] I/O Port練習(PCI Device)
v00623
[問題] 新手問題(scanf用法)
terry5566
Re: [問題] 運算子多載一問
Feis
[問題] 請教以雙重指標陣列存取特定字元用法
jojojen
[問題] 運算子多載一問
d630200x
[問題] 請問這個二元樹哪邊出了問題??
hunkchen2016
[問題] c 讀取csv檔
a346571358
[作品] 純設定的編譯系統
dannypsnl
Re: [問題] Conan
Neisseria
[問題] 請問二元樹裡面的遞迴???
hunkchen2016
Links
booklink
Contact Us: admin [ a t ] ucptt.com