1.官方例程ble_app_buttonless_dfu_pca10040_s132完整移植了ble_app_uart编译后没有错误,运行时死机。
有许多情况:第一种尝试解决办法:ble_app_buttonless_dfu_pca10040_s132例程中,协议栈只允许一个服务,所以得更新服务个数。
步骤:a.在static void ble_stack_init(void)中添加ble_enable_params.common_enable_params.vs_uuid_count=2;这条语句代表当前服务个数。进行单步调试,进入ble_stack_init(void)内的softdevice_enable(&ble_enable_params)内部,
在上图三处打断点如果进入了第二个点,说明没有IRAM空间是够得的,如果进入了第三个点,说明RAM空间不够,并且可以查看app_ram_base这个的值,然后设置红色圈内的start起始地址为app_ram_base,设置完后即可。
第二种尝试解决办法:有可能配置同时打开串口调试和RTT调试。,只能勾选一个RTT选项。
第三种尝试解决办法:有可能第二种办法里得配置选项勾选了,但是main函数内
调试打印初始化注释了,就导致了死机了。
附录:文件中的像APP_UART类似宏定义,在配置文件sdk_config.h中对应--APP_UART_ENABLED.