keil编写的BootLoader 可以跳转到 GCC编写的APP里吗?
keil编写的BootLoader 可以跳转到 GCC编写的APP里吗?可以。
要在编译器工具GCC设置好APP的开始地址,中断向量表偏移地址。 使用Keil编译的BootLoader完全可以跳转到GCC编写的APP处。不管使用何种编译器,最终都要编译为汇编指令,进而最终编译为机器指令,在汇编层面,指令是一样的,所以只要功能正确,用那种编译器并不是很重要。只需要在APP中设置好自己的起始地址,bootloader中正确跳转即可。 都是编译和下载bin文件,还有就是一个程序跳转的问题,和哪个编译的没关系 可以 No problem,我的几个单片机无os产品都支持在线升级功能。
跳转,跟编译器关系貌似不大,只与地址有关。
实现思路是:
bootloader中关全局中断后执行跳转指令至app.bin的存储首地址。
我们用的KEILIAR都可以。 BootLoader、App生成的都是可执行机器代码,跟用什么编译器没有关系。
只要能有相匹配的跳转首地址、中断向量地址、内存初始化等操作。 可以的
编译时设置好各自的起始地址,中断向量表,内存初始化等,由Bootloader跳转到正确的App起始地址就可以 可以。GCC 和 Keil 都遵循了 ARM SysV EABI,Keil 也能单向兼容 GCC 输出的 ELF 文件,因此可以直接连接到一起。 这个跟编译器没什么关系,理论上只要架构合理,跳转地址正确就可以了。很多用户都有类似经历的:)
页:
[1]
2