呢称可以改吗 发表于 2019-7-23 16:18:20

keil编写的BootLoader 可以跳转到 GCC编写的APP里吗?

keil编写的BootLoader 可以跳转到 GCC编写的APP里吗?

奏奏奏 发表于 2019-7-23 16:25:46

可以。
要在编译器工具GCC设置好APP的开始地址,中断向量表偏移地址。

Angel_YY 发表于 2019-7-23 16:35:29

使用Keil编译的BootLoader完全可以跳转到GCC编写的APP处。不管使用何种编译器,最终都要编译为汇编指令,进而最终编译为机器指令,在汇编层面,指令是一样的,所以只要功能正确,用那种编译器并不是很重要。只需要在APP中设置好自己的起始地址,bootloader中正确跳转即可。

932837498@qq.co 发表于 2019-7-24 09:59:46

都是编译和下载bin文件,还有就是一个程序跳转的问题,和哪个编译的没关系

songshiqun2010 发表于 2019-7-24 10:40:55

可以

cj_miner_lover 发表于 2019-7-24 11:48:16

No problem,我的几个单片机无os产品都支持在线升级功能。
跳转,跟编译器关系貌似不大,只与地址有关。
实现思路是:
bootloader中关全局中断后执行跳转指令至app.bin的存储首地址。

我们用的KEILIAR都可以。

toofree 发表于 2019-7-24 12:53:17

BootLoader、App生成的都是可执行机器代码,跟用什么编译器没有关系。
只要能有相匹配的跳转首地址、中断向量地址、内存初始化等操作。

weiwei4 发表于 2019-7-24 14:43:04

可以的
编译时设置好各自的起始地址,中断向量表,内存初始化等,由Bootloader跳转到正确的App起始地址就可以

maxtch 发表于 2019-7-24 16:32:39

可以。GCC 和 Keil 都遵循了 ARM SysV EABI,Keil 也能单向兼容 GCC 输出的 ELF 文件,因此可以直接连接到一起。

butterflyspring 发表于 2019-7-24 17:29:45

这个跟编译器没什么关系,理论上只要架构合理,跳转地址正确就可以了。很多用户都有类似经历的:)
页: [1] 2
查看完整版本: keil编写的BootLoader 可以跳转到 GCC编写的APP里吗?