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.

[参考译文] CCS/CC2640R2F:SysConfig 的 BMI160驱动程序项目问题

Guru**** 2986000 points

Other Parts Discussed in Thread: SYSCONFIG, SIMPLELINK-SDK-SENSOR-ACTUATOR-PLUGIN, CC2650

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/939464/ccs-cc2640r2f-bmi160-driver-project-problem-with-sysconfig

器件型号:CC2640R2F
Thread 中讨论的其他器件:SysConfig、 SIMPLELINK-CC2640R2-SDK、 SIMPLELINK-SDK-SENSOR-ACTUATOR-PLUGIN、 CCStudio、 CC2650

工具/软件:Code Composer Studio

您好!

我尝试从加速计获取数据、因此我想执行 BMI160驱动程序项目示例、此示例位于 :https://dev.ti.com/tirex/explore/node?node=AMPZwhcXEncNjJVb5vLaCQ__swcUKHN__LATEST 

但是、我得到以下错误:

>>编译失败

subdir_rules.mk:7:目标'main_tirtos.obj'的配方失败

"./main_tirtos.c"、第46行:致命错误#1965:无法打开源文件"ti_drivers_config.h"

1在编译"./main_tirtos.c"时检测到灾难性错误。

编译已终止。

gmake:***[main_tirtos.obj]错误1.

gmake:目标"全部"不会由于错误而重新生成。

****构建完成****

当我检查随工程附带的 SysConfig (.syscfg)文件时 、会抛出以下错误:

TypeError:无法读取未定义的属性'SubComponents'

评估(/Users/user/workspace_v10/i2cbmi160_CC2640R2_LAUNCHXL_tirtos_ccs/i2cbmi160.syscfg:57:50)

s.runAsUserScript (文件:///Applications/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:44:343417)
在 Object.t.withDeprecatedAccess (文件:///Applications/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:34:244623)
Object.t.runAsUserScript (文件:///Applications/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:27:53994)
在 r.eache.e (文件:///Applications/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:44:343397)
在 KT (文件:///Applications/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:9:5239)
AT function.Ho (文件:///Applications/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:9:40286)
网址为 Object.t.runScript (文件:///Applications/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:44:343309)  

IM 当前在 MAC 中工作。

SysConfig 错误与什么相关?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Thomas:

    您可能使用的 SysConfig 版本(v1.5)比示例代码(v1.4)所需的版本更新。  请按照 SIMPLELINK-SDK-SENSOR-ACTUATOR-PLUGIN 发行说明 https://dev.ti.com/tirex/explore/node?node=ADJoUdua.cgVWmEDAYiK0w__swcUKHN__LATEST 中的建议使用 SIMPLELINK-CC2640R2-SDK v3.30、CCStudio v9.20和 XDCTools v3.60.00.24 

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的回复。 是否没有任何实例说明如何将 BMI160集成到 CC2640R2中?

    我的 CCS 中有许多项目、我不想重新安装所有项目、只想运行这个降级的示例。

    额外:我尝试使用板级配置文件(与 "ti_drivers_config.h" f 等效)正确设置引脚、但遇到类型的链接问题...

     未定义        第一个参考                                                            

     符号           文件中                                                               

     ------        --------  

    是否有解决这一问题的建议策略?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Thomas:

    您可以从通过 I2C 与 BMI160连接所需的示例中复制/粘贴应用代码的各个部分。  我不希望您在下载/安装单独的 CCS/SDK/XDCTools 版本时必须重新安装所有其他项目。  如果使用 SysConfig 工程、则无法修改 ti_drivers_config.h。  这里是 一个 SimpleLink Academy 实验、您可以参考、或者 《BLE 用户指南》的"定制硬件"部分 可能会有所帮助。  

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    再次感谢您的关注。

    我通过复制/粘贴将 BMI160应用程序代码集成到 simple_peripheral 中。 我修改了引脚(SCL、SDA (和中断 CONFIG_GPIO_BMI160_INT1 --> DIO22 ?)) 在 Board.h 文件中、然后卡在显示链接错误中:

     

     未定义的首次引用

     符号       

     ------ --------

     显示屏   

     

    错误#10234-D:未解析的符号仍然存在

    错误#10010:链接期间遇到错误;未构建"simple_peripheral_cc2640r2lp_app.out"

    gmaked[1]:***[simple_peripheral_cc2640r2lp_app.out]错误1.

    我将尝试安装您建议的旧版本。 但是,如果您可以解释此错误的来源,这将非常有帮助:)

    提前感谢。

    Thomas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    什么特定符号以及在哪个文件中?  如果缺少未包含在 Project Properties -> Build -> ARM Linker -> File Search Path 中的库/命令文件、通常会发生这种情况。  您可以对 BMI160和简单外设示例进行差分比较、以查看是否存在任何差异。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    我遵循了您在第一篇帖子中的指示。 我安装了除 XDCTools v3.60.00.24之外的推荐版本,因为我没有找到它,但 我 安装了 XDCTools 3.61.00.16。

    不幸的是、它不起作用。 它不断要求我提供"ti_drivers_config.h"文件:

    >>编译失败

    subdir_rules.mk:7:目标'main_tirtos.obj'的配方失败

    "./main_tirtos.c"、第46行:致命错误#1965:无法打开源文件"ti_drivers_config.h"

    1在编译"./main_tirtos.c"时检测到灾难性错误。

    编译已终止。

    gmake:***[main_tirtos.obj]错误1.

    gmake:目标"全部"不会由于错误而重新生成。

    ****构建完成****

    因此,我检查了.syscfg 文件,它会生成 Board.h 和 Board.c 文件。 因此、我将导入更改为 Board.h、而不是 ti_drivers_config.h (顺便说一下、它似乎仅为其他电路板版本生成、而不是 CC2640R2)、并出现以下错误:

    错误#10008-D:找不到文件"/Applications/ti/simplelink_cc2640r2_sdk_3_30_00_20/source/ti/drivers/pdm/lib/pdm_cc26x0r2.aem3

    错误#10010:链接期间遇到错误;未构建"i2cbmi160_CC2640R2_LAUNCHXL_tirtos_ccs.out"

     

    >>编译失败

    Makefile:153:目标'i2cbmi160_CC2640R2_LAUNCHXL_tirtos_ccs.out'的配方失败

    gmake[1]:***[i2cbmi160_CC2640R2_LAUNCHXL_tirtos_ccs.out]错误1.

    gmake:***[全部]错误2.

    Makefile:146:目标'all'的配方失败

    ****构建完成****

    我导航至指定路径、发现 /lib/pdm_cc26x0r2.aem3器件缺失、即没有库文件夹、因此 也没有 PDM_cc26x0r2.aem3文件。 我不知道为什么缺少它以及如何解决它。

    然后我返回到上一个答复中的步骤、即将 BMI160示例集成到简单外设、对文件搜索路径进行了比较、并且在发生这种情况时、BMI 示例中的所有路径都丢失了。 我添加了它们、但其中一个除外... 给我上一个错误的错误:...lib/pdm_cc26x0r2.aem3

    这在 CCS 10.0中使用的 SDK 4.20中也不存在

    在所有"显示"错误仍然存在后:

    构建目标:"simple_peripheral_cc2640r2lp_app.out"

    调用:ARM 链接器

    "/Applications/ti/ti-cgt-arm_18.12.6.LTS/bin/armcl --cmd_file="/Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/blestack/config/build_components.opt --cmd_file="/Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/blestack/config/factory_config.opt --cmd_file="/Users/user/workspace_v10/simple_peripheral_cc2640r2lp_stack_library/TOOLS/build_config.opt --mv7M3 --code_state=16 -me -O4 --opt_for_speed=1 --define=BOOSTXL_BASSENSORS --define=UART_CC26X0=BOART_define=UART_define=UART_define -- UART=CC2640r2_define -- UART_LCD=define UART=END=UART_L=END=UART=END=END=END=UART_LICL=END=END=END=END=END=CN=END=END=END=UART-CL_ICL=END=END=END=END=UARD_CONF_ICLICLICL=END=END=END=END=END=END=UART-CL=UART-CL=END=END=END=END=END=END=END=END= define=use_ICALL --define=xdc_runtime_assert_disable_all --define=xdc_runtime_Log_disable_all -g --c99 --gcc --diag_warning=225 --diag_heap=off --display_error_number --abi_disable_subsections=on ---abi=10bi-from=2-display_zh-diag=2-d=d=2-d=2-display_suppress-d=10242-display_zh-display_ise-d=d=d=d_zh-display_zh-display-d=d=d=d_ise-display_zh-display-d=d=d=2-d_zh-display-d=d_suppress-display-display_zh-diag-display-d=d=d=d=2-d_zh-display-display-display-display-display-display-region-region-region-region-region-region-region-region-d=2-d=/Applications/ti/ti-cgt-arm_18.12.6.LTS/include /Applications/ti/ti-cgt-arm_18.12.6.LTS/lib xml_link_info="simple_peripheral_cc2640r2lp_app_linkInfo.xml "--rom_model -o "simple_peripheral_cc2640r2lp_app.out""./Application/another_task.obj /Application/i2c_protocol.obj /Application/util.obj /Drivers/TRNG/TRNGCC26XX.obj /ICall/icall_user_config.obj /PROFILES/devinfoservice.obj /PROFILES/peripheral.obj /Startup/CC2640R2_LAUNCHXL_fxns.obj /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/devices/cc26x0r2/driverlib/bin/ccs/driverlib.lib /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/grlib/lib/ccs/m3/grlib.a /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/devices/cc26x0r2/driverlib/bin/ccs/driverlib.lib /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/display/lib/display.aem3 /Users/user/workspace_v10/simple_peripheral_cc2640r2lp_stack_library/FlashROM_Library/lib_linker.cmd ""./Application/att_rsp.obj "./Application/bmi160_support.obj ".l /Application/spi_protocol.obj /Application/simple_peripheral.obj -/Drivers/ECC/ECCROMCC26XX.obj /Drivers/RF/RFCC26XX_singleMode.obj /ICall/icall.obj -/ICallBLE/ble_user_config.obj /ICall/icall_cc2650.obj /PROFILES/gatt_uuid.obj /ICallBLE/icall_api_lite.obj /PROFILES/simple_gatt_profile.obj /Startup/ccfg_app_ble.obj /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/kernel/tirtos/packages/ti/dpl/lib/dpl_cc26x0r2.aem3 /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/display/lib/display.aem3 /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/kernel/tirtos/packages/ti/dpl/lib/dpl_cc26x0r2.aem3 /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/grlib/lib/ccs/m3/grlib.a /Users/user/workspace_v10/simple_peripheral_cc2640r2lp_stack_library/FlashROM_Library/simple_peripheral_cc2640r2lp_stack_library.lib /PROFILES/gattservapp_util.obj /Startup/CC2640R2_LAUNCHXL.obj /Startup/main.obj /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/drivers/lib/drivers_cc26x0r2.aem3 /Users/user/ti/sail_1_50_00_00/source/ti/sail/lib/ccs/cc26x0/sail.lib /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/drivers/lib/drivers_cc26x0r2.aem3 /Users/user/workspace_v10/simple_peripheral_cc2640r2lp_stack_library/FlashROM_Library/ble_r2.symbols /Users/user/ti/simplelink_cc2640r2_sdk_4_20_00_04/source/ti/blestack/common/cc26xx/ccs/cc26xx_app.cmd  

     未定义的首次引用

     符号       

     ------ --------

     显示屏   

     

    错误#10234-D:未解析的符号仍然存在

    错误#10010:链接期间遇到错误;未构建"simple_peripheral_cc2640r2lp_app.out"

    gmaked[1]:***[simple_peripheral_cc2640r2lp_app.out]错误1.

     

    >>编译失败

    Makefile:195:目标'simple_peripheral_cc2640r2lp_app.out'的配方失败

    gmake:***[全部]错误2.

    Makefile:188:目标'all'的配方失败

    ****构建完成****

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    更新:

    我通过将"ti_drivers_config.h"替换为 Board.h (+CC2640R2_LAUNCHXL.h &.c) 文件来解决该问题。 然后删除 ARM 连接器->文件搜索路径: /source/ti/drivers/pdm/lib/pdm_cc26x0r2.aem3、因为我没有此文件。

    然后我添加行

    GPIO_setConfig (CONFIG_GPIO_BMI160_INT1、GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_INT_FALLING);

    在 bmi160_support.c 的350行附近

    GPIO_setCallback (CONFIG_GPIO_BMI160_INT1、&bmi160Callback);

    要定义触发器引脚、 请将 CONFIG_GPIO_BMI160_INT1设置为按钮1 (可以是时钟)、以便触发信号量、从而将数据显示到终端中。

    必须针对所有的当前版本更正和更新此示例。

    无论如何、感谢 Ryan 抽出宝贵时间为您服务。

    PS:从 BMI160显示的数据似乎是原始数据、必须进行校准。