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.

[参考译文] RTOS/CC2650:system_printf()不起作用

Guru**** 2539500 points
Other Parts Discussed in Thread: CC2640, SYSBIOS, CC2650STK

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/565651/rtos-cc2650-system_printf-is-not-working

器件型号:CC2650
Thread 中讨论的其他器件:CC2640SYSBIOS

工具/软件:TI-RTOS

您好!

我按照此路径操作 System_printf():

CCS > Project Explorer > YourApp > Tools > appBLE.cfg

但仍然无法使用 System_printf()函数获得输出[我还包括 了(#include) ) ]。

您是否必须添加任何其他内容?

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

    您好、Gaurav、

    您在尝试将输出发送到何处?  如果.cfg 文件中有多个“System.SupportProx=”行,则最后一个行将胜出。  

    如果确实要使用 SysCallback、则需要提供一些其他支持函数。  此处提供了说明: processors.wiki.ti.com/.../CC26xx_Adding_basic_printf_over_uart_with_TI-RTOS

    如果您希望输出到控制台,则应删除或注释掉“System.SupportProx=SysCallback;”行。

    此致、
    Scott

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

    您好、ScottG、

    我之前也提到过方法,但仍然没有在控制台上获得输出。

    n 执行此操作后、"将 SysCallback 添加到我的配置"仍保持选中状态、我们无法取消选中它

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

    您好、Gaurav、

    在 app_ble.cfg 中,是否可以移动“utils.importFile(…”  行更早、更改为第1行?  

    .cfg 文件从上到下进行处理、现在、通过在文件的末尾进行此导入、cc2640.cfg 的内容可以覆盖任何早期语句。 文件中。

    这是否起作用?

    谢谢、
    Scott

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

    您好、ScottG、

    感谢您的回答。 我已经按照上述方法尝试了,但仍然没有输出,我正在使用 PuTTy 终端进行输出,UART 输出正常。

    还包括:#include

    UART 配置如下-  

    UART_PARAMS_INIT (uartParams);
    uartParams.writeDataMode = UART_DATA_BINARY;
    uartParams.readDataMode = UART_DATA_BINARY;
    uartParams.readReturnMode = UART_return_full;
    uartParams.readEcho = UART_ECHO_OFF;
    uartParams.baudrate = 115200;
    //uartParams.baudrate = 9600;
    UART = UART_OPEN (Board_UART0、uartParams);
    UART_WRITE (UART、Array_One、sizeof (Array_one));

    所述方法的屏幕截图-

    我还访问了该链接(e2e.ti.com/.../492622)

    但没有输出。 仍在尝试。

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

    您好、Gaurav、

    好的、谢谢。  您的应用程序正常运行、您可以看到 UART 输出。  但奇怪的是、您没有看到任何控制台输出。  有几个问题:

    1) 1)您使用的是 TI-RTOS 或 BLE SDK 的哪个版本?

    2) 2)您使用的 CCS 是什么版本?

    3) 3)您能否显示正在进行 System_printf()调用的代码?  这些调用是从任务上下文中发出的、例如、什么上下文?

    4) 4)您是否尝试过 main()中的简单 System_printf()?

    5) 5)您是否尝试运行一些 TI-RTOS 内核示例,如“hello”?  您是否看到这些的控制台输出?

    6) 6)您能否将您使用的 cc2640.cfg 文件附加到此论坛主题?

    7) 7)您能否附加图形配置工具中现在显示的“TI-RTOS >产品> SYSBIOS >系统>系统–模块设置”视图的屏幕截图?

    谢谢、
    Scott

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

    您好、ScottG、

    感谢您的回答。  以下是 对您的问题的答复-

    1) 1)您使用的是 TI-RTOS 或 BLE SDK 的哪个版本?
    >> BLE SDK = BLE_SDK_2_02_01_18

       tirtos_cc13xx_cc26xx_2_20_01_08

    2) 2)您使用的 CCS 是什么版本?
    >> Code Composer Studio
    版本:6.2.0.00050

    3) 3)您能否显示正在进行 System_printf()调用的代码? 这些调用是从任务上下文中发出的、例如、什么上下文?
    >>已附加。 1) main.c 2) simple_peri.c (第一次在 main 函数中使用、第二次在 task->for loop 中使用)

    4) 4)您是否尝试过 main()中的简单 System_printf()?
    >>是,它位于附加文件(main.c)中

    5) 5)您是否尝试运行一些 TI-RTOS 内核示例,如“hello”? 您是否看到这些的控制台输出?
    >>还没有。

    6) 6)您能否将您使用的 cc2640.cfg 文件附加到此论坛主题?
    >>已附加

    7) 7)您能否附加图形配置工具中现在显示的“TI-RTOS >产品> SYSBIOS >系统>系统–模块设置”视图的屏幕截图?
    >>

    e2e.ti.com/.../0447.simple_5F00_peri.c

    e2e.ti.com/.../77114.main.c

    e2e.ti.com/.../1325.app_5F00_ble.cfg

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

    您好、Gaurav、

    感谢您提供信息。 直到今天晚些时候,我才能够回到这一点,尝试重新创建,但很快…  我在屏幕截图中看到 SysCallback 仍然显示为系统提供商:



    SysStd 的设置被覆盖或忽略。  除非设置正确,否则不会有任何控制台输出。

    此致、
    Scott

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

    嗨、ScootG、

    感谢你的答复。 在1月7日的帖子中、我提到了同样的问题。 无论如何,我们能否从 IDE 中完全卸载此回拨实用程序? 因此、我至少可以检查 SysStd 是否正常工作。 有办法吗?

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

    您好、Gaurav、

    是的,您之前提到过这一点,但我认为这在您移动“utils.importFile(…”时发生了变化。  行、更改为 app_ble.cfg 的第1行。  我在 app_ble.cfg 上看到您所附的内容、它仍然位于第6行。  如果将其移至第1行,则应在图形视图中将系统提供程序视为“SysStd”。  我刚刚在自己的安装中尝试过这种方法、它可以按预期工作。

    使用 SysStd 时要确定的另一件事是在格式字符串的末尾放置一个新的换行符“\n”。  这将触发调试器将字符串推送到控制台、否则输出将进入缓冲区。

    如果您修改 app_ble.cfg 并在字符串的末尾包含“\n”,您是否仍无法在 CCS 控制台中看到输出?  如果这仍然不起作用,您能否将整个项目压缩并附加到此主题中,以便我查看它?

    谢谢、
    Scott

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

    您好、Scott、

    感谢您的回复。 我尝试了我们讨论过的所有方法、但无法禁用该回调选项。 我已附加项目。 project.txt 将帮助实现 zip 文件内的代码流。

    再次感谢您的帮助。

    高拉夫

    e2e.ti.com/.../8321.BLE_4000_Ex_5F00_01.7z

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

    您好、Gaurav、

    我查看了这些项目,没有看到任何有用的东西。  这些项目中不包含关键文件“app_ble.cfg”。  是否确实修改了正确的 app_ble.cfg 文件以执行 include at line #1?  

       utils.importFile ("../../../../../src/common/cc26xx/kernel/cc2640/config/cc2640.cfg);
       /*
       *扩展 cc2640配置
       *
       VAR SysStd = xdc.useModule('xdc.runtime.SysStd');
       VAR 系统= xdc.useModule('xdc.runtime.System');
       System.SupportProxy = SysStd;

    您之前发送的 app_ble.cfg 在第1行中没有此内容,因此我想您可能已经修改了不同的 app_ble.cfg。

    您发送的项目引用了两个不同的 app_ble.cfg:

       cfgScript:"c%3A/ti/simplelink/ble_sdk_2_02_01_18/examples/cc2650stk/sensortag_sensortag_audi/ccs/config/app_ble.cfg
       cfgScript:"c%3A/ti/simplelink/ble_sdk_2_02_01_18/examples/cc2650lp/simple_peripheral/ccs/config/app_ble.cfg

    是否可以确保修改了正确的 app_ble.cfg?  您可以通过 CCS 中的 Project Explorer 视图找到合适的文件:对于此项目,展开“tools”文件夹,然后右键单击“app_ble.cfg [TI-RTOS]”并选择“Properties”。  查看“已解析位置”,查看项目实际使用的 app_ble.cfg 文件。

    目前我不知道还有什么建议。  我已在安装时尝试过此操作,无法重新创建任何问题。  我希望这对…很有帮助

    此致、
    Scott

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

    感谢您的回复。 是的、在你的答复之后、我在工作区的项目中检查了 app_ble.cfg、但它不在那里。 然后、它位于复制项目的'simple_peripheral example'文件夹中。 但是、在导入工程时、我选中了"将工程复制到工作区"复选框、其余工程也在工作区中、我还尝试了另一个示例。

    我在'simple_peripheral example'文件夹中找到了两个 app_ble.cfg 文件、一个具有旧日期、另一个是当前文件。 那么、如何解决这个问题呢? 在将工程导入到工作区时是否有其他设置。

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

    您好、Gaurav、

    我不知道为什么链接该文件而不是复制到项目本身。  默认情况下、这可能是有意保留通用配置文件。  如果要在项目中明确使用您自己的 app_ble.cfg,您可以右键单击工具文件夹中的链接 app_ble.cfg (在项目中如 Project Explorer 中所示),然后单击“从构建中排除”。  

    然后将您自己的 app_ble.cfg 添加到项目中、清理并构建它。

    如果您这样做、您现在是否能够看到控制台输出?

    谢谢、
    Scott