推 jimmytzeng: 要先把cpu上的pc register指到application code的起點 06/20 20:06
→ jimmytzeng: ,這個就要用組語寫了 06/20 20:06
→ james732: 可以做個function pointer指向0x1400再呼叫即可 06/20 23:00
推 boss0405: goto 06/21 00:25
推 JFLung9536: 要確定一下mcu的reset中斷向量表的位置是不是就是app 06/21 09:02
→ JFLung9536: 起始位置(有的mcu是在中斷向量表的最後一個位置),是 06/21 09:02
→ JFLung9536: 的話讓pc直接指向此位置。可以用組語做,就要去看mcu 06/21 09:02
→ JFLung9536: 的組語用法。用c做的話,宣告一個type void,讓他等於 06/21 09:02
→ JFLung9536: 起始位址,再讓改變數變成函數var();就跳過去了。 06/21 09:02
推 boss0405: 樓上大大說的都是一些常用的方式,另外有些compiler 06/21 09:41
→ boss0405: 也支援goto *((void *)jump_addr);的用法 06/21 09:42
→ etiam: 請問指標函數能指向main嗎,因我的application 內也有個mai 06/21 09:45
→ etiam: n 06/21 09:45
→ Lipraxde: bootloader沒辦法拿到app的symbol吧?我覺得不行 06/21 11:39
推 JFLung9536: 如果你的中斷向量表中有一組 可以直接指到main 兩個不 06/21 12:57
→ JFLung9536: 一樣的中斷向量表 就要指到中斷向量reset的位置 06/21 12:57
推 ss880702ss: 並非指向main這個symbol而是指向main的地址,通常在a 06/22 08:12
→ ss880702ss: pp起始地址+4的地方吧 06/22 08:12
→ etiam: 感謝 06/26 10:02