你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
keil编写的BootLoader 可以跳转到 GCC编写的APP里吗?
[复制链接]
呢称可以改吗
提问时间:2019-7-23 16:18 /
问答
是否解决:
keil编写的BootLoader 可以跳转到 GCC编写的APP里吗?
赞
0
收藏
0
评论
10
分享
发布时间:2019-7-23 16:18
举报
请先
登录
后回答问题
10个回答
奏奏奏
回答时间:2019-7-23 16:25:46
a0a.1 32b0c
可以。
要在编译器工具GCC设置好APP的开始地址,中断向量表偏移地址。
赞
0
评论
回复
支持
反对
Angel_YY_ST
回答时间:2019-7-23 16:35:29
a0a.1 32b0c
提示:
作者被禁止或删除 内容自动屏蔽
赞
0
评论
回复
支持
反对
橡皮筋儿
回答时间:2019-7-24 09:59:46
a0a.1 32b0c
提示:
作者被禁止或删除 内容自动屏蔽
赞
0
评论
回复
支持
反对
byronsong
回答时间:2019-7-24 10:40:55
a1024a.1 32b0c
可以
赞
0
评论
回复
支持
反对
cj_miner_lover
回答时间:2019-7-24 11:48:16
a0a.1 32b0c
No problem,我的几个单片机无os产品都支持在线升级功能。
跳转,跟编译器关系貌似不大,只与地址有关。
实现思路是:
bootloader中关全局中断后执行跳转指令至app.bin的存储首地址。
我们用的KEIL IAR都可以。
赞
0
评论
回复
支持
反对
七哥
回答时间:2019-7-24 12:53:17
a0a.1 32b0c
BootLoader、App生成的都是可执行机器代码,跟用什么编译器没有关系。
只要能有相匹配的跳转首地址、中断向量地址、内存初始化等操作。
赞
0
评论
回复
支持
反对
weiwei4
回答时间:2019-7-24 14:43:04
a0a.1 32b0c
可以的
编译时设置好各自的起始地址,中断向量表,内存初始化等,由Bootloader跳转到正确的App起始地址就可以
赞
0
评论
回复
支持
反对
maxtch
回答时间:2019-7-24 16:32:39
a0a.1 32b0c
可以。GCC 和 Keil 都遵循了 ARM SysV EABI,Keil 也能单向兼容 GCC 输出的 ELF 文件,因此可以直接连接到一起。
赞
0
评论
回复
支持
反对
butterflyspring
回答时间:2019-7-24 17:29:45
a0a.1 32b0c
这个跟编译器没什么关系,理论上只要架构合理,跳转地址正确就可以了。很多用户都有类似经历的
赞
0
评论
回复
支持
反对
AI++
回答时间:2019-7-25 08:34:59
a0a.1 32b0c
理论是可以,但是你用GCC编写的APP 需要修改编译地址,一般默认从0x80000000开始,
你要改这个值,Boot 也要跟着变,另外如果用os 更复杂一些
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
要在编译器工具GCC设置好APP的开始地址,中断向量表偏移地址。
跳转,跟编译器关系貌似不大,只与地址有关。
实现思路是:
bootloader中关全局中断后执行跳转指令至app.bin的存储首地址。
我们用的KEIL IAR都可以。
只要能有相匹配的跳转首地址、中断向量地址、内存初始化等操作。
编译时设置好各自的起始地址,中断向量表,内存初始化等,由Bootloader跳转到正确的App起始地址就可以
你要改这个值,Boot 也要跟着变,另外如果用os 更复杂一些