CN / EN
CN / EN

提问

获得支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

GR5515代码跳转后蓝牙协议栈无法使用 GR551x

187***543

2021-05-26 10:51

蓝牙升级,用的是自定义的BootLoader,代码由BootLoader代码跳转到app代码段后,蓝牙协议栈无法使用,两边都有使用到蓝牙协议栈初始化ble_stack_init,调用的是dfu_start_jump去跳转的代码段

1、是否有提供蓝牙协议栈反初始化的功能,或者有没有类似的解决方案

2、代码跳转的原理不是一个完整的app切换吗,为什么上一个代码的东西还存在

0收藏

0赞成

walt

汇顶员工
2021-05-26 21:53

你好,从bootloader跳转到应用可以使用接口jump_app():

void user_jmp_fw(void){

rom_init();

__disable_irq();

SysTick->CTRL = 0;

__enable_irq();

jump_app(0x01020000); // here 0x01020000 is load addr of app

}

然后在bootloader协议栈初始化之前调用 user_jmp_fw()

如果在BL中调用过ble_stack_init(),由于暂无反初始化协议栈的操作,再次在应用中初始化会导致初始化错误

谢谢



1条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注