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.

[参考译文] CC2652RB:编译工程时的错误报告。

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1164766/cc2652rb-error-report-when-build-project

器件型号:CC2652RB

大家好、

以下是客户的请求:

客户向 simple_peripheral 的 mian 函数添加了一个线程、但错误 报告说:

错误#10234-D:未解析的符号保持错误#10010:链接期间遇到错误;未构建"simple_peripheral_LP_CC2652Rb_tirtos_ccs.out"

pthread 头文件也包含在 mian 文件中。

为什么会出现此问题?

您可以帮助检查此案例吗? 谢谢。

此致、                                                        

Nick     

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

    您好、Nick、

    客户能否提供其 main.c 修改、以便我们进一步了解他们尝试向项目添加任务的情况?  目前、我假设它们不 包含 pthread.h、但是任务初始化看起来应该与 SimplePeripheral_createTask 非常相似、并且正如 BLE5-Stack 用户指南的任务部分中所述

    此致、
    Ryan

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

    您好、Ryan、

    上面的第一张图片是客户在 main.c 中修改的零件

    修改它的原因是、他已经对 spimaster 项目进行了项目开发、而 spimaster 项目中使用了线程函数。  他 希望 传输通过蓝牙收集的数据。

    因此、他 开始尝试将 spimaster 项目与 simple_peripheral 项目组合在一起、但是 simple_peripheral 项目使用 SimplePeripheral_createTask 函数。

    他尝试在 main 函数中添加一个线程函数、但出现了上述错误报告。

    如何处理这些问题?

    此致、                                                        

    Nick     

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

    尽管我仍然希望他们提供代码示例并按照建议尝试使用任务配置、但他们发现的问题的根源在于其 BLE 项目的配置文件(*。cfg 用于 TI-RTOS、*。syscfg 用于 TI-RTOS7)未启用 POSIX 配置。

    /* ================ POSIX configuration ================ */
    var Settings = xdc.useModule('ti.posix.tirtos.Settings');
    
    if (Program.build.target.$name.match(/iar/)) {
        /* 
         * For the IAR target, the 'ti.posix.tirtos.Settings' uses the
         * MultithreadSupport module. By default, the MultithreadSupport module
         * use the '--threaded_lib' library which provides a separate 'errno'
         * per thread and makes other rts libraries reentrant. This library has
         * a larger footprint which can be a problem for some apps, so we
         * override the default and disable it here.
         */
        var MultithreadSupport = 
            xdc.useModule('ti.sysbios.rts.iar.MultithreadSupport');
        MultithreadSupport.enableMultithreadSupport = false;
    }

    此致、
    Ryan