工具/软件:
我们希望在建立连接后启用 GATT 服务 (OAD)。 目的是使用服务变更指示。 不同应用 CC2340 器件 (外设)作为 GATT 服务器、CC2745 器件(中央器件)作为 GATT 客户端。 我们需要服务器和客户端的支持、如果您能分享示例项目或用户说明、我们将不胜感激。
相似 外设 首先 通过引用 basic_ble_oad_dual_image 工程来在 basic_ble 工程中集成 OAD 服务。 工程构建时不会出现编译或链接器错误。 当 OAD_start App_StackInitDoneHandler 使用 NRF Connect 应用在中调用函数时、我可以看到 OAD 服务被发现。 但是、当OAD_start在接收到建立连接事件后从用户任务调用该函数时。 在 NRF Connect 应用程序中重新查找服务时、它无法显示。
下面是我为集成所遵循的步骤的摘要...
- 参考 此 链接和此链接以了解服务更改指示的使用。
oad_profile向中添加了头文件和源文件common/Profiles/oadoad_service向中添加了头文件和源文件common/Services/oad- 添加了以下包含目录
${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/source/third_party/mcuboot/boot/bootutil/include${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/source/third_party/mcuboot/boot/ti/source/mcuboot_app
- 添加了以下 ARM 编译器和 ARM 链接器定义
OAD_CFGAPP_HDR_ADDR=0x6000
- 添加了以下编译后处理步骤
${CG_TOOL_ROOT}/bin/tiarmobjcopy ${BuildArtifactFileBaseName}.out --output-target binary ${BuildArtifactFileBaseName}_noheader.bin --remove-section=.ccfg${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/tools/common/mcuboot/imgtool sign --header-size 0x100 --align 4 --slot-size 0x3B000 --version 1.0.0 --pad-header --pad --key ${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/source/third_party/mcuboot/root-ec-p256.pem ${BuildArtifactFileBaseName}_noheader.bin ${BuildArtifactFileBaseName}_v1.bin${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/tools/common/mcuboot/imgtool sign --header-size 0x100 --align 4 --slot-size 0x3B000 --version 2.0.0 --pad-header --pad --key ${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/source/third_party/mcuboot/root-ec-p256.pem ${BuildArtifactFileBaseName}_noheader.bin ${BuildArtifactFileBaseName}_v2.bin
请查看以下详细信息:
- SDK 版本: simplelink lowpower f3 SDK v7.40.00.64(我们很快就会转到最新的 SDK,但我觉得缺少一个步骤或者我做得不对)
- MCU:CC2340R5RGE