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