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.

[参考译文] MSP432E401Y:MSP432E401Y

Guru**** 2581345 points
Other Parts Discussed in Thread: CC3135, CC3120, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/885050/msp432e401y-msp432e401y

器件型号:MSP432E401Y
Thread 中讨论的其他器件:CC3135CC3120SysConfig

我正在使用以下方法向 A/m 配置添加安全连接(WiFi 和以太网、具有用于 WiFi 硬件的升压功能和 simplelink WiFi 插件):

SlNetSock_startSec (服务器、secAttribHdl、SLNETSOCK_SEC_BIND_CONFILE_ONLY | SLNETSOCK_SEC_START_SECURITY_SEST_ONLY);

在以太网断开连接的情况下(即、在 WiFi 上运行时)、函数调用和程序成功。

 连接以太网时、使用代码 sl_RET_CODE_INTERFACE (-2021)完成相同的调用失败。

请注意、任何接口组合都适用于不安全的连接。

我正在使用默认安全选项不带证书、拦截 sl_error_bSD_ESECSNOVERIFY 并继续进行数据交换。

此致、

Michael

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

    您好、Michael、

    您能告诉我以下内容吗:

    1) 1)您正在使用哪些版本的 SimpleLink MSP432E4 SDK 和 SimpleLink Wi-Fi 插件?

    2) 2)您是否正在使用 Wi-Fi BoosterPack、如果是、则使用 CC3120或 CC3135? 还是定制板?  

    3) 3)您是否已使用最新的服务包刷写 Wi-Fi 设备?

    4) 4)您是否正在使用 Wi-Fi 插件中的现有示例、如果是、哪一个示例? 或者您是否正在使用自己的代码? 您能否发布/发送您的套接字初始化和创建的相关代码片段?

    最棒的
    Kristen

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

    Kristen、您好!

    SimpleLink SDK 版本3_40_01_02

    SimpleLink WiFi 插件版本2_40_00_22

    使用 CC3135 BoosterPack

    未刷写服务包

    我从用于 FreeRTOS 的 TI"WIFI_ETHERNET_SKETS 开始"并添加了 TLS。  WiFi 可与 TLS 配合使用、以太网不能。 正如我提到的,我不在客户端使用任何证书(应用程序不需要服务器验证)。 我没有更改任何初始化、接口检测等 该行为与 SLNETSOCK_SEC_ATTRIB_DISABLE_CERT_STORE 无关

    代码片段:

    while (1)

    服务器=
    SlNetSock_create (SLNETSOCK_AF_iNet、SLNETSOCK_SOCK_STREAM、
    SLNETSOCK_PROTO_TCP、
    0、SLNETSOCK_CREASE_IF_STATUS_Connected);

    if (服务器< 0)

    Display_printf (display、0、0、"套接字创建失败\n、错误%d\n"、 服务器);
    转到关断;


    其他

    Display_printf (display、0、0、"使用的接口:%d\n"、SlNetSock_getIfID (server));


    memset (&serverAddr、0、sizeof (serverAddr));

    network_if_GetHostIP (HOSTURL、&hostIPaddr);
    serverAddr.sin_addr.s_addr = SlNetUtil_htonl (hostIPaddr);
    serverAddr.Sin_port = SlNetUtil_htons (TcpPort);
    serverAddr.sin 系列= SLNETSOCK_AF_iNet;

    retc =
    SlNetSock_connect (服务器、(const SlNetSock_Addr_t *)&serverAddr、
    sizeof (serverAddr));
    if (retc < 0)

    display_printf (display、0、0、"tcpHandler:连接失败、错误%d\n"、 (c);
    GOTO restartConn;

    其他

    display_printf (display、0、0、"tcpHandler:connected");

    #if do 安全
    //创建安全属性
    secAttribHdl = SlNetSock_secAttribCreate ();
    memset (secAttribHdl、0、sizeof (SlNetSockSecAttrib_t));

    retc = SlNetSock_secAttribSet (secAttribHdl、
    SLNETSOCK_SEC_ATTRIB_DISABLE_CERT_STORE、(void *)&serverNoVerify、sizeof (serverNoVerify);

    //添加 SNI TLS 扩展
    SlNetSock_secAttribSet (secAttribHdl、SLNETSOCK_SEC_ATTRIB_DOMAIN_NAME、HOSTURL、strlen (HOSTURL)+ 1);

    //激活 SSL -强制"客户端 hello"
    retc =
    slNetSock_startSec (服务器、secAttribHdl、
    SLNETSOCK_SEC_BIND_CONFILE_ONLY | SLNETSOCK_SEC_START_SECURITY_SESSION _ONLY);

    if (retc < 0)

    if (sl_error_bSD_ESECSNOVERIFY!= retc)

    display_printf (display、0、0、"startSec failed、error %d\n"、 (c);
    Display_printf (display、0、0、"以太网状态:%d\n"、SlNetIf、getState (SLNETIF_ID_2));
    GOTO restartConn;


    #endif //安全

    if ((retc = SlNetSock_send (server、txBuf、sizeof (txBuf)、0))< 0)

    等等...

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

    Michael、

    我看到您使用的是 SDK v3.40和 Wi-Fi 插件 v2.40。 我们仅使用随附的 SDK 版本验证了 Wi-Fi 插件、即 SimpleLink MSP432E4 SDK v2.40.00.11

    使用 MSP432E4 SDK 的 v2.40时、是否可以尝试使用代码?

    最棒的
    Kristen

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

    请参阅此链中稍后消息中的代码片段。

    我使用的是"fio_ethernet_sockets for FreeRTOS "示例

    并非"所有组合"都起作用:

    连接以太网时:

    如果器件无法建立 WiFi 链路(例如、AP 已关闭)、以太网链路会成功从 DHCP 服务器获取 IP 地址、但无法从接收到的(根据 Wireshark) DHCP 数据包中检索 DNS 服务器信息

    network_if_GetHostIP (HOSTURL、&hostIPaddr)调用失败、并出现错误 -6152 (未指定 DNS 服务器)。

    成功建立(较低优先级) WiFi 链路后、以太网链路按预期工作。  

    我想修改该示例以独立使用任一接口、为正在开发的产品中的任一接口配置/填充硬件。

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

    Kristen、

    我刚才做了;结果相同。

    此致、

    Michael

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

    抱歉。 没有-如果两个项目都存在、则项目会恢复为原始版本;如果从路径中删除3.40、则不会编译(只留下2.40)。

    项目最初来自插件目录;请告知。

    此致、

    Michael

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

    您好!

    我将项目配置为使用 SDK 2.40并观察到以下错误:

    对于不安全的连接和不存在的接入点(以太网已连接)、串行控制台显示主机地址解析错误:

    ====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    控制台:

    以太网接口已连接并已启动

    尚未添加接口

    设备在站点模式下启动

    使用的接口:2 //以太网

    函数[Network_if_GetHostIP]中第[718]行出现错误[-6152] //未指定 DNS 服务器

    设备无法连接至 test3200  // AP SSID

    end_console

    对于安全连接(按照之前发布的代码段)、控制台显示:

    ===================================================================================================

    控制台

    已连接并启动 thernet 接口

    尚未添加接口

    设备在站点模式下启动

    [WLAN 事件] STA 连接到 AP:test3200、BSSID:58:6d:8f:7:A4:fc

    [NetApp 事件]设备获取的 IP


    WiFi 接口已连接至 test3200

    WiFi 接口 IP 地址为192.168.1.141


    WiFi 接口已连接并已启动

    使用的接口:2.

    获取主机 IP 成功。
    嘉宾:g-XXX.com IP:A.B.C.D

    tcpHandler:已连接

    startSec 失败、错误-2024

    以太网状态:1.

    end_console

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

    换言之、如果 WiFi 关闭、DHCP 客户端似乎没有从 DHCP 服务器响应填充 DNS 名称。

    我向 TI 提供的示例代码添加了 DHCPPT_DOMAIN_NAME_SERVERS 选项;无效:

    静态空 initIp (void *hCfg)

    CI_SERVICE_DHCPc dhcpc;
    unsigned char DHCP_OPTIONs[]={ DHCPPT_SUBNET_MASK | DHCPPT_DOMAIN_NAME_SERVERS };

    /*将全局主机名添加到 hCfg (在所有已连接的域中声明)*/
    CfgAddEntry (hCfg、CFGTAG _SYSINFO、CFGITEM_DHCP_HOSTNAME、0、
    strlen (hostname)、(unsigned char *) hostname、NULL);

    /*使用 DHCP 获取接口1上的 IP 地址*/
    memset (&dhcpc、0、sizeof (dhcpc));
    dhcpc.cisargs.Mode = CIS_FLG_IFIDXVALID;
    dhcpc.cisargs.IfIdx = 1;
    dhcpc.cisargs.pCbSrv =&serviceReport;
    dhcpc.param.pOptions = DHCP_OPTIONS;
    dhcpc.param.len = 1;
    CfgAddEntry (hCfg、CFGTAG 服务、CFGITEM_SERVICE_DHCPCLIENT、0、
    sizeof (dhcpc)、(unsigned char *)&dhcpc、NULL);

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

    Michael、

    很抱歉耽误你的时间。  我注意到您正在使用宏"SLNETSOCK_SEC_ATTRIB_DISABLE_CERT_STORE。" 您说过、行为与此无关、但《NS API 指南》指出、该宏当前仅在 CC3xxx 器件上受支持。 您如何验证行为是否真正独立于此宏?

    最棒的
    Kristen

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

    Kristen、

    我使用的是 CC3135。

    我验证了以下内容:

    通过 WiFi (以太网断开连接)-无论是否使用宏、均可实现无错误执行

    以太网(WiFi 连接到 AP、中的以太网电缆)-如所述出现故障

    以太网(Wifi 未连接到 AP - AP 断电)- DNS 查询失败。 DNS 地址设置为165.165.165.165 (0xa5a5a5a5)、但通过 DHCP 正确设置 IP 地址

    此致、

    Michael

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

    Kristen、

    我基于不带 WiFi 插件的 MSP432E4 SDK 构建了一个项目(仅限以太网);基于 HttpGet 示例。

    我"借用"初始化、并用自己的任务连接到服务器并发送请求来替换 HTTP 部分。

    代码与上面引用的序列相同、不使用证书等

    非安全模式正在工作。

    安全模式:

    slNetSock_startSec ()返回错误:
    SLNETERR_RET_CODE_MONE_SUPPORT_NON_PROVICT_FXN (-2024L)

    Wireshark 显示客户端不发出"Client Hello",如果允许器件继续(强制跳过 NetSlSock_startSec ()错误),服务器将按预期返回错误400 (带有“通过加密端口检测到未加密 HTTP”)。

    此致、

    Michael

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

    您好、Michael、

    几天以来,我没有听到您的声音,因此我假设您能够解决您的问题。
    如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

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

    我仍在等待 TI 的评论;状态与主题中所述的一样。

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

    您好、Michael、

    很好。 我已联系 Kristen、看看她是否能够返回并提供帮助。

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

    您好、Michael、

    显然、您的最新问题不在 Kristen 的专业领域、因此我有另一位工程师可以提供帮助。  不幸的是,他将于下星期一30日离开。  我将在星期一与 hm 再次核实他是否考虑了你的问题。

    我非常抱歉耽误你的时间。

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

    您好、Michael、

    您能否在 httpgetooks.c 文件中向我展示 netIPAddrHook 函数? 我怀疑您遇到的问题可能与从 HttpGet 示例开始有关。

    用于安全性的以太网初始化稍有不同、HttpGet 不会执行此不同的初始化。 SDK 的较新版本中有一个执行安全初始化的 https://get 示例。

    实际差异体现在以下代码中:

    状态= SlNetIf_add (SLNETIF_ID_2、"eth0"、
    (const SlNetIf Config_t *)&SlNetIfConfigNDKSec、IFPRI);//使用 SlNetIfConfigNDKSec 而不是 SlNetIfConfigNDK 

    此致、

    达尔顿

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

    达尔顿

    通过在以下片段中调用"ti_net_slNet_initconfig"来初始化接口:

    /*
    *==== TI_net_config.c ===
    *为 NS 配置的模块定义
    *
    *请勿编辑-此文件由 SysConfig 工具生成。
    *


    /*
    *==== ti.net/SlNet ===========
    *
    #include
    #include
    #include "string.h"

    #include
    #include
    #include
    #include
    #include

    /*必须在网络堆栈后调用此生成的函数
    *已初始化。
    *
    int32_t ti_net_slNet_initconfig(){
    int32_t status;

    状态= SlNetIf 初始化(0);

    如果(status =0){
    状态= SlNetSock_init (0);

    如果(status =0){
    SlNetUtil_init (0);

    /*添加 CONFIG_SLNET_0接口*/
    如果(status =0){
    状态= SlNetIf 添加(SLNETIF_ID_2、"eth0"、(const SlNetIf Config_t *)和 SlNetIfConfigNDKSec 、5);

    返回(状态);

    此函数在 为安全修改的 httpgetooks.c 的"netIPAddrHook"函数中调用:

    /*
    *==== httpgethooks.c ===
    *

    #include
    #include
    #include

    #include

    #include

    #include
    #include
    #include
    #include

    #include
    #include


    #define TCPSKSTACKSIZE 8192
    #define IFPRI 4/*以太网接口优先级*/

    /*原型*/
    extern Display_Handle 显示;
    extern void * httpTask (void * arg0);

    extern void * TCPSocket (void *);

    uint8_t serverCA[]=

    #if 1/***** DigiCert 全局根****
    "---- 开始证书-- \r\n "
    "MiIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHSjANBgqhkikiG9w0BAQUFADBh\r\n"
    "MQswCQYDVQGEwJVUzeVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLDB3\r\n"
    "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQDExdEaWdQ2VydCBHBG9iYWwgUm9vdCBD \r\n
    "QTAeFw0wNjExMTAwMDAwMDBAFw0zMTExMTAwMDAwBAMGExCzAJBgNVBAYTALVT\r\n"
    "MRUwEwYDVQKEwxEaWdQ2VydCBJbmMxGTAXBgNVBAsTEHd3d5kaWdPY2VydC5j\r\n"
    "b20xIDAeBgNVBAMTF0RpZ2lDZJ0IEdsb2JhbCBSb290IENBBIJANBgqhkiG\r\n"
    "9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\r\n"
    "CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRULWZscFs3YnFo97\r\n"
    nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\r\n"
    "43C/DXC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\r\n\r\n
    "T19sdl6gSzeRn拧5m3OFBqOasv+zbMUZBfHWymeMR/y7vrTC0LUq7dBMtoM1O/4\r\n"
    "gdW7jVg/tRvoSicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABO2MwYTAo\r\n"
    "bgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\r\n"
    "TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFOAUA95QNVbRTLtm8KPiGxvDl7I90VUw\r\n
    DQYJKoZIhvcNAQEFBQADggEBAMUCKN6pIExik+t1EnE9SsPTfrgT1eXkIoyQY/ESR\r\n
    "HMantudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOP/2PV5Adg\r\n"
    "06O/nVsJ8dWO41P0jmP6FbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAi+0tKIJF\r\n"
    "PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4U+Krk2U886UAb3LujEV0ls\r\n"
    "YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pfsiv9kuXclVzDAGySj4dzp30d8tbQk\r\n
    "CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\r\n"
    "---- 结束证书-- ";
    #endif


    uint16_t serverCALen = sizeof (serverCA);
    /*
    *==== netIPAddrHook ====
    *用户定义的网络 IP 地址挂钩
    *
    空 netIPAddrHook (uint32_t ipaddr、unsigned int IfIdx、unsigned int fADD)

    pthread_t 线程;
    pthread_attr_t atttrs;
    struct sched_param primParam;
    int retc;
    int detachState;
    uint32_t hostByteAddr;
    静态 bool createTask = true;
    int32_t status = 0;

    如果(fADD){
    display_printf (display、0、0、"网络已添加:");

    否则{
    display_printf (display、0、0、"网络已移除:");

    /*打印添加/删除的 IP 地址*/
    hostByteAddr = NDK_ntohl (ipaddr);
    Display_printf (display、0、0、"If-%d:%d.%d.%d.%d\n"、IfIdx、
    (uint8_t)(hostByteAddr>>>24)&0xFF、(uint8_t)(hostByteAddr>16)&0xFF、
    (uint8_t)(hostByteAddr>>8)&0xFF、(uint8_t) hostByteAddr&0xFF);

    /*初始化 SlNet 接口*/
    status = ti_net_slNet_initconfig();
    如果(状态< 0)

    Display_printf (display、0、0、"初始化 SlNet 接口失败"
    "-状态(%d)\n"、状态);
    退出(1);

    if (fADD && createTask){
    /*
    *创建一个任务,该任务将建立传入的 TCP 连接。
    * arg0将是此任务侦听的端口。
    *

    /*设置优先级和堆栈大小属性*/
    pthread_attr_init (atttrs);
    priParam.sched_priority = 1;

    detachState = pthread_create_detached;
    retc = pthread_attr_setdetachstate (&attrs、detachState);
    如果(retc!= 0){
    Display_printf (display、0、0、
    netIPAddrHook:pthread_attr_setdetachstate () failed\n";
    while (1);

    pthread_attr_setschedparam (&attrs、&priParam);

    retc |= pthread_attr_setstacksize (&attrs、TCPTACSTACKSIZE);
    如果(retc!= 0){
    Display_printf (display、0、0、
    netIPAddrHook:pthread_attr_setstacksize () failed\n";
    while (1);

    retc = pthread_create (&thread、&attrs、TCPSocket、0);
    如果(retc!= 0){
    Display_printf (display、0、0、
    netIPAddrHook:pthread_create()失败\n");
    while (1);

    createTask = false;

    /*
    *==== serviceReportHook ====
    * NDK 服务报告挂钩
    *
    void serviceReportHook (uint32_t 项、uint32_t 状态、uint32_t 报告、void *h)

    静态字符*TASKNAME[]={"Telnet"、"HTTP"、"NAT"、"DHCP"、"DHCPPC"、 "DNS"};
    静态 char *报告 Str[]={"、"正在运行"、"已更新"、"完成"、"故障"};
    静态字符*statusStr[]=
    {"已禁用"、"正在等待"、"IPTerm "、"已失败"、"已启用"};

    Display_printf (display、0、0、"服务状态:%-9s:%-9s:%-9s:%-9s:%03d\n"、
    TASKNAME[项目- 1]、statusStr[状态]、reportStr[报告/256]、
    报告和0xFF);

    /*
    *==== netOpenHook ====
    * NDK 网络开放式挂钩
    *
    空 netOpenHook()

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

    您好、Michael、

    SysConfig 似乎在为您生成合适的函数表调用。  

    当您使用此示例时、您是否只是尝试获得安全模式、让以太网单独工作? 您在本测试示例中根本没有 WiFi 插件代码?

    我想知道 startSec ()函数是否以某种方式调用了错误的函数表。

    您能否在 SlNetSock_startSec ()中调用"return SLNETERR_RET_CODE_NOT_SUPPORT_NON_PROVICT_FXN"的位置放置一个断点、如下所示:

    int32_t slNetSock_startSec (int16_t SD、SlNetSockSectrib_t * secAttrib、uint8_t flags)
    {
    int32_t RetVal = SLNETERR_RET_CODE_OK;
    int16_t realSd;
    uint8_t sdFlags;
    slNetIf _t * netIf;
    无效 *sdContext;
    
    /*检查 SD 输入是否存在并将其返回 *
    RetVal = SlNetSock_getVirtualSdConf (SD、&realSd、&sdFlags、&sdContext、&netIf);
    
    /*检查是否找到 SD 或是否存在非强制功能 *
    if (SLNETERR_RET_CODE_OK!=返回值)
    {
    返回 RetVal;
    }
    if (NULL ==(netif->ifConf)->sockstartSec)
    {
    /*不存在非强制性函数,返回错误代码 *
    返回 SLNETERR_RET_CODE_MONE_SUPPORT_NON_PROVICT_FXN;
    } 

    这很可能是函数发生故障的地方、但最好对此进行肯定的确认。 我们还对处于此错误状态的 netIf 感兴趣。 如果您可以在遇到此断点时将 netIf ->ifName 放在 CSS 的表达式视图中,我希望 netIf ->ifName 设置为"eth0",因为上面发布的代码将以太网堆栈的名称设置为该值。 如果不是这个名称、我们将走上正确的道路来找到问题。  

    此外、在执行此调试步骤时、更改项目设置中的链接行以使用 slnetsock 库的调试版本、而不是如下所示的发布版本将非常有用:

    ti/net/lib/ccs/m4F/slnetsock_debug.a

    此致、

    达尔顿

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

    我发现、虽然 WiFi 版本在安全模式(TLS)下工作而不验证服务器、但仅以太网版本不工作。
    我添加了 CA 证书、项目工作正常。
    但是、请注意、应用程序确实需要 TLS、但我知道这些限制和建议。)

    通过使用"WIFI-ETHERNET-Sockets"项目、我发现无线功能在没有服务器证书验证(SiC!)的情况下工作...

    此外:
    如果此项目中的无线设备 与 AP 没有关联、以太网将不会在任何模式下工作。 以太网将起作用(需要 CA 证书!) 如果 AP 已关联且以太网优先于每个设计。

    我想通过编程方式选择接口(无线或以太网)...

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

    您好、Michael、

    您可以通过 ti/net/slnetsock.h 中的 SlNetSock_create()函数创建套接字 该函数的 ifBitMap 参数将允许您选择在哪个接口上创建套接字。 但是、在创建套接字后、无法切换与套接字关联的接口。  

    这是您要寻找的吗?

    此致、

    达尔顿

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

    您好、Dalton、

    这就是我要做的。

    遗憾的是、由于锁定、我无法访问硬件、因此必须等待才能进一步探讨。

    请保持线程处于活动状态。

    感谢您的帮助!

    此致、

    Michael