CC2640R2 运行工程simple_peripheral_oad_offchip 串口打印错误信息 " INTERNAL ERROR!"
1.使用工程: C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_peripheral_oad_offchip
2. IDE: CCS7.2
错误现象:
开发板复位,串口打印错误提示信息:
c[2J[10r[11;1H7[10r[1;1H[2K>>>STACK ASSERT87[10r[1;1H[2K***ERROR***87[10r[3;1H[2K>> INTERNAL ERROR!87[10r[1;1H[2K
我在http://software-dl.ti.com/lprf/ble5stack-docs-latest/docs/ble5stack/ble_user_guide/html/debugging/ble-debugging.html 看到相关原因和解决的方法:
When using a split-image build configuration, it may be possible to get a HAL_ASSERT_CAUSE_INTERNAL_ERROR
assertion. This typically indicates that the ICall bleAPITable
dispatch table is missing some functions so it calls a generic icall_liteErrorFunction
error handler. Typically, a fix for this is error is to enable a missing predefined compiler option to get correct APIs into bleAPITable
.
我找到bleAPItable定义的地方,里面有许多icall_liteErrorFunction,我猜测可能是某些宏定义未打开,所以出现相关错误,然后我尝试添加了宏定义"HOST_CONFIG=PERIPHERAL_CFG", 同时删除函数SimpleBLEPeripheral_init()-> GGS_SetParamValue(GGS_DISABLE_RPAO_CHARACTERISTIC); 串口打印不再报错,这样的处理是否合理呢?
按照该文档指示,处理思路正确。目前功能是否正常?
Hi Viki:
功能是正常的,到目前为止还没有出现异常现象。
那就没问题了