This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640蓝牙5片外OAD 不同版本移植

Other Parts Discussed in Thread: CC2650, CC2640R2F, CC2640

因为目前编写的应用程序是基于3.4协议栈,现在到头来想加上OAD功能,但3.4的协议栈没有片外OAD的例程,所以想借用1.4协议栈的片外OAD例程改成基于3.4协议栈的OAD程序以供目前的程序修改,但在修改stack offchip的时候出现了一些问题

  • 版本不一样路径下没有这些文件,改的话可能需要点时间,直接用1.4的比较方便。
    改到高版本SDK想实现什么功能呢
  • 目前基于3.4协议栈的应用程序已经完善了,而且不是完全由我主导写的,我们总工让我加OAD,然后将1.4的片外OAD例程改为3.4协议栈的
  • 头文件编译时提示打不开,但手动F3键它又是可以正常打开的,如果在工程设置里添加头文件路径,文件中删除路径,编译可以找到头文件,但手动F3又提示没有包含头文件打不开
  • 这个应该是路径配置的问题,链接器没有链接到,编译有错误吗
  • 编译提示找不到头文件报错
  • 将头文件复制到你的工程中,然后手动添加路径试试
  • COM_TI_SIMPLELINK_CC2640R2_SDK_INSTALL_DIR你知道为什么改不了路径吗
  • 这个是SDK的安装目录,已经确定了,改不了的
  • Building target: "ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip.out"
    Invoking: ARM Linker
    "C:/ti/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/bin/armcl" --cmd_file="C:/ti/CCS_simplelink_cc2640r2_sdk_3_40_00_10/simplelink_cc2640r2_sdk_3_40_00_10/source/ti/ble5stack/config/build_components.opt" --cmd_file="C:/ti/CCS_simplelink_cc2640r2_sdk_3_40_00_10/simplelink_cc2640r2_sdk_3_40_00_10/source/ti/ble5stack/config/factory_config.opt" --cmd_file="E:/KG-IOT/project/SOFT/CC2640R2F_OAD_OFFCHIP/ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip/TOOLS/build_config.opt" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --define=CC26XX --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=EXT_HAL_ASSERT --define=FLASH_ROM_BUILD --define=ICALL_EVENTS --define=ICALL_JT --define=ICALL_LITE --define=OSAL_CBTIMER_NUM_TASKS=1 --define=OSAL_SNV=1 --define=POWER_SAVING --define=RF_SINGLEMODE --define=USE_ICALL -g --c99 --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip.map" --heap_size=0 --stack_size=256 -i"C:/ti/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/lib" -i"C:/ti/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include" --reread_libs --define=CC26X0ROM=2 --diag_suppress=16002-D --diag_suppress=10247-D --diag_suppress=10325-D --diag_suppress=10229-D --diag_suppress=16032-D --diag_wrap=off --display_error_number --warn_sections --xml_link_info="ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip_linkInfo.xml" --entry_point=startup_entry --rom_model -o "ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip.out" "./HAL/Common/hal_assert.obj" "./HAL/Target/CC2650/Drivers/hal_flash_wrapper.obj" "./HAL/Target/CC2650/Drivers/hal_rtc_wrapper.obj" "./HAL/Target/CC2650/Drivers/hal_trng_wrapper.obj" "./HAL/Target/CC2650/_common/mb_patch.obj" "./Host/gatt_uuid.obj" "./ICallBLE/ble_dispatch_JT.obj" "./ICallBLE/ble_dispatch_lite.obj" "./ICallBLE/icall_lite_translation.obj" "./NPI/npi.obj" "./OSAL/osal.obj" "./OSAL/osal_bufmgr.obj" "./OSAL/osal_cbtimer.obj" "./OSAL/osal_clock.obj" "./OSAL/osal_list.obj" "./OSAL/osal_memory_icall.obj" "./OSAL/osal_pwrmgr.obj" "./OSAL/osal_snv_wrapper.obj" "./OSAL/osal_timers.obj" "./PROFILES/gap.obj" "./PROFILES/gapbondmgr.obj" "./PROFILES/gattservapp_util.obj" "./PROFILES/sm_ecc.obj" "./ROM/common_rom_init.obj" "./ROM/rom_init.obj" "./Startup/ble_user_config.obj" "./Startup/icall_startup.obj" "./Startup/osal_icall_ble.obj" "./TOOLS/onboard.obj" -l"C:/ti/CCS_simplelink_cc2640r2_sdk_3_40_00_10/simplelink_cc2640r2_sdk_3_40_00_10/source/ti/devices/cc26x0r2/driverlib/bin/ccs/driverlib.lib" -l"E:/KG-IOT/project/SOFT/CC2640R2F_OAD_OFFCHIP/ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip/FlashROM/lib_linker.cmd" -l"E:/KG-IOT/project/SOFT/CC2640R2F_OAD_OFFCHIP/ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip/FlashROM/ble_r2.symbols" -l"E:/KG-IOT/project/SOFT/CC2640R2F_OAD_OFFCHIP/ble5_simple_peripheral_cc2640r2lp_app_oad_offchip/TOOLS/ccs_linker_defines.cmd" -l"C:/ti/CCS_simplelink_cc2640r2_sdk_3_40_00_10/simplelink_cc2640r2_sdk_3_40_00_10/source/ti/ble5stack/common/cc26xx/ccs/cc26xx_stack.cmd" -llibc.a
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    GAP_GetDevAddress <whole-program>
    GAP_GetSRK <whole-program>
    GapAdv_abortLoad <whole-program>
    GapAdv_create <whole-program>
    GapAdv_destroy <whole-program>
    GapAdv_disable <whole-program>
    GapAdv_enable <whole-program>
    GapAdv_getBuffer <whole-program>
    GapAdv_getParam <whole-program>
    GapAdv_loadByBuffer <whole-program>
    GapAdv_loadByHandle <whole-program>
    GapAdv_prepareLoadByBuffer <whole-program>
    GapAdv_prepareLoadByHandle <whole-program>
    GapAdv_setEventMask <whole-program>
    GapAdv_setParam <whole-program>


    这种报错跟COM_TI_SIMPLELINK_CC2640R2_SDK_INSTALL_DIR的路径有关联吗
  • 是的,你将导入的工程存放在了E盘?看上面的图你使用的是13X0的SDK?
  • 使用的是1.4和3.4的,准备吧1.4的offchip改成3.4的
  • 你看下安装目录下是否有包含的文件,移植的话主要是改包含路径,帮不到你太多
  • 您知道新建工程后编译出现报错At least one Controller build component required是需要设置什么吗
  • 应该是有文件没有使用链接器链接
  • error #10008-D: cannot find file "E:/KG-IOT/project/SOFT/CC2640R2F_OAD_OFFCHIP/ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip_3.4.1/FlashROM/lib_linker.cmd"
    error #10008-D: cannot find file "E:/KG-IOT/project/SOFT/CC2640R2F_OAD_OFFCHIP/ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip_3.4.1/FlashROM/ble_r2.symbols"
    error #10008-D: cannot find file "E:/KG-IOT/project/SOFT/CC2640R2F_OAD_OFFCHIP/ble5_simple_peripheral_cc2640r2lp_app_oad_offchip_3.4.1/TOOLS/ccs_linker_defines.cmd"

    这种也是没有连接器吗
  • 这个是找不到文件,路径没有设置的正确
  • 这个应该是编译之后才有的文件啊,我是按照1.4的stack例程设置的
  • 显示是找不到cmd和symbols文件
  • 我刚刚添加了1.4的stack offchip 的cmd和symbols文件并修改了文件内设置的协议找地址,但又出现了莫名其妙的错误
    warning #16032-D: object files have incompatible wchar_t types ("C:\ti\CCS_simplelink_cc2640r2_sdk_3_40_00_10\simplelink_cc2640r2_sdk_3_40_00_10\source\ti\ble5stack\blelib\ctrl\cc2640_hci_pxxx.a<hci.o>" = --wchar_t=32, "./HAL/Common/hal_assert.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("C:\ti\CCS_simplelink_cc2640r2_sdk_3_40_00_10\simplelink_cc2640r2_sdk_3_40_00_10\source\ti\ble5stack\blelib\ctrl\cc2640_hci_pxxx.a<hci_data.o>" = --wchar_t=32, "./HAL/Common/hal_assert.obj" = --wchar_t=16)
    warning #16032-D: object files have incompatible wchar_t types ("C:\ti\CCS_simplelink_cc2640r2_sdk_3_40_00_10\simplelink_cc2640r2_sdk_3_40_00_10\source\ti\ble5stack\blelib\ctrl\cc2640_hci_pxxx.a<hci_event.o>" = --wchar_t=32, "./HAL/Common/hal_assert.obj" = --wchar_t=16)
  • 您好,您知道是什么问题吗
  • 类型不兼容,你应该将二者改成同一类型,比如wchar_t=32