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/MSP432E411Y:NDK设置不可用XGCONF

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/657309/ccs-msp432e411y-ndk-settings-not-available-xgconf

部件号:MSP432E411Y

工具/软件:Code Composer Studio

您好!

我正在尝试让NDK设置显示在XGCONF编辑器和/或导入到编译器中,包括CCS中的路径和链接器设置。  NDK是SimpleLink MSP432E SDK的一部分。

我可以通过手动指定CCS中的生成设置来编译程序,但这相当麻烦,因为有大量存根库被链接到中。

我不太熟悉RTSC或CCS或XDCtools,所以我可能只是错过了一些非常微不足道的东西?

simplelink_msp432e4_sdk_1_60_00_10显示在可用产品大纲下,但我甚至不能手动添加设置(xdc.module_not_found:xdc.module:在封装ti.NDK或类似文件中没有名为'nettools'的模块)。  我确实将TI-RTOS作为参考项目导入到工作空间,并且可以导入该项目的设置,但这些设置也不会显示在GUI中(我认为这些设置应该可以从GUI编辑,对吗?)  我最初继承了该项目,因此我不能完全确定最初创建.cfg文件的方式,但如果我尝试添加另一个RTSC配置文件,则行为类似。

要使XGCONF/CCS下显示的设置和静态配置的应用程序运行,需要执行什么操作?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jaako,
    我想到的第一个问题是“SDK是否位于c:\ti中?” 有时,XGConf在放置于其他位置时无法找到内核?
    此致,
    Bob L
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Jaakko,

    NDK支持在.cfg文件中(通过文本或图形)配置基于TI-RTOS的应用程序。 我们在示例中没有这样做,因为我们希望FreeRTOS和TI-RTOS版本类似。

    我使用基于TI-RTOS的tcpEcho并进行了以下更改,以使用.cfg文件配置NDK。 注意:这样做基本上会生成与NDK.c文件相同的内容。

    1.将以下内容添加到.cfg文件中
    VAR NDK = XDC.loadPackage('ti.NDK.config');
    VAR Global = xdc.useModule('ti.ndk.config.Global');
    VAR IP = xdc.useModule('ti.ndk.config.Ip');
    VAR UDP = xdc.useModule('ti.ndk.config.Udp');
    VAR TCP = xdc.useModule('ti.ndk.config.Tcp');

    global.ipv6 =假;
    globe.stackLibType = globe.min;
    Global.networkOpenHook ="&netOpenHook";
    Global.networkIPAddrHook ="&netIPAddrHook";

    /*自动调用fdOpen/CloseSession for our sockets Task */
    Global.autoOpenCloseFD =正确;

    globe.pktNumFrameBufs = 10;
    globe.memRawPageCount = 6;
    globe.ndkThreadStackSize = 1536;
    globe.lowTaskStackSize = 1536;
    Global.normTaskStackSize = 1536;
    globe.highTaskStackSize = 1536;

    2.排除(或删除NDK.c文件)
    3.删除ti_NDK_config_Global_startupFxn();从main_tirtos.c调用(现在自动为您调用)。
    4.从链接程序项目设置中删除所有NDK库(因为libs将通过生成的链接程序文件自动为您提取)。

    这应正确构建和运行。

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

    谢谢,这解决了问题。  我假设loadPackage成功了(或全局?) 是否可以从CCS GUI添加软件包,或者我是否只需要知道要加载什么Package()

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    稍稍稍了解一下,应用程序使用未明确列出的库正确构建。

    如何使用XDC在NDK中选择基于信号量的锁定? 现在,链接程序将始终使用OS.aem4f --是否有办法选择OS_SEM。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jaakko您好!

    以下行可能允许您选择OS_SEM。
    Global.useSemLibs =正确;

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