false

false

EN

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

187***543

2021-05-26 10:51:09

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

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

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

walt

2021-05-26 21:53:10

你好,从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条评论

您的评论

共 1条记录
1

您的回答