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.

[参考译文] TMS320F28388D:无法调试 TCPEcho (tcpEchoF2838X)项目

Guru**** 2596195 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1069592/tms320f28388d-unable-to-debug-tcpecho-tcpechof2838x-project

部件号:TMS320F28388D

社区您好,

我可以导入 tcpEchoF2838X 项目,在进行必要的更改后,我可以在其中构建该项目而不会出错。

我可以添加 driverlib_cm 并添加 IPCISR。

但当我尝试以调试模式运行时,我收到了“Cortex_M4_0:autorun:无法设置断点时目标未运行:_JobHardwareBreakpoint:::arm_debug_V7M_fpb_add_break点中:FPB:所有资源都在使用中。[25062]"错误和执行停止。

这是我的项目文件夹:

这是我的链接器文件管理器:

e2e.ti.com/.../linker-file.txt

我的调试属性:

错误:

包括选项:

我也经历过某些论坛主题,但它们没有帮助。

我的最终目标是-在主机和客户端之间建立 TCP/IP 和通信,并进一步发送和接收特定的命令集

注意:我可以使用 UDP 与主机 PC 通信,但我不想使用 UDP。

请告诉我如何实现这一点?

此致,

普拉奈

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

    您好,普拉奈,谢谢您的帮助。  为纪念马丁·路德·金博士节,请期待在漫长的周末作出答复。  此致,克利须那

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

    "无法设置断点。  所有资源都在使用中"->这可能意味着断点已停止运行。 请在删除其中一个断点后尝试。

    此致,

    维纳

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

    此外,您是否在 C28x 上加载了配置所需时钟的任何应用程序?

    此致,

    维纳

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

    您好,维纳,

    请重新阅读我询问的查询说明,这些是我要检查的基本事项- 先删除断点并运行 CPU1内核,然后加载 CM 内核。 请检查上面描述中所附的屏幕截图。

    谢谢,此致,

    pranay。

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

    我现在可以进行调试,我禁用了“启用半托管”,它运行正常。

    普拉奈。

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

    韦纳

    现在,我可以让 tcpEchoF2838X 项目正常工作,并且可以通过设置静态 IP 成功 ping 通。

    我想向 TCP 服务器发送和接收数据。

    请您指导我通过任何有助于我实现数据发送和接收的链接/文档。
    我认为,如果已经建立了连接,并且收到了数据,控制应该传递给回叫功能。

    此外,如果我们动态分配 IP (使用 DHCP),如何以代码跟踪当前 IP 地址? 任何变量?

    更新1:

    我看到有一个“tcpWorker”线程正在运行,但当我尝试发送数据时,断点应该在该函数中命中吗? 但我看到它在这里没有被击中。

    更新2:

    我正在向错误的端口地址发送数据,我将端口地址配置为1000,并启动了一个数据包,我能够接收到该数据包。

    我的下一个问题是-如何配置多个套接字/端口,以及如何从两个套接字/端口发送和接收数据?

    谢谢,
    普拉奈。

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

    您好,普拉奈,

    您的查询已转发给以太网专家。 您将很快收到回复。

    此致,

    维纳

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

    您好,普拉奈,

    要启用多个连接,您必须创建一个侦听连接,该连接始终保持活动状态并等待传入连接。  此侦听连接将具有 带有 TCP_Accept()的回调函数

    当新客户端要连接时,“接受回调”会使用指向此新数据连接的指针配置一个新的 TCP_PCB (structt tcp_PCB) 。  

    对于 LWIP,文件 lwipopts.h 具有一些配置参数,您必须更新参数  MEMP_NUM_TCP_PCB,MEMP_NUM_TCP_PCB_Listen,MEMP_NUM_NETCONN 以启用更多传入连接。

    此致

    西达尔斯

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

    您好,siddharth,

    感谢您的回复。 我会实施这项计划并返回给您。

    当我尝试在 tcpEchoF2838X 项目中添加以下函数时,我面临另一个问题


       cm_init();
       //
       //清除任何 IPC 标志(如果已设置)
       //
       IPC_clearFlagLtoR (IPC_CM_L_CPU1_R,IPC_FLAG_ALL);

       //
       //启用 IPC 中断
       //
       IPC_registerInterrupt (IPC_CM_L_CPU1_R,IPC_INT0,IPC_ISR0);

    因此,在 CM_init 部分,它给了我引导程序表闪存未找到错误,所以我添加了 startup_CSS.c  文件并对其进行了编辑,
    还对链接器脚本进行了一些更改。

    由于上述更改,我无法调试 tcpEcho,无法运行或 ping。

    我已经浏览了“https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1052998/tms320f28388d-tcp-not-working-with-ipc-interrupt?tisearch=e2e-sitesearch&keymatch=tcp%25252525252520examples# ”此链接,并添加了这些更改,但对我没有任何用处。

    我的要求是与 CM 的 CPU1核心通信,反之亦然。

    请有人帮助我启动并运行此项目。

    更新1:

    我从 main()中删除了 CM_INIT(),并删除了 startup_CSS.c,所有内容现在都可以使用
    我能够通过 TCP 接收数据,并将其推送到 CPU1,还能将数据从 CPU1推送到 CM。

    现在,我将继续使用额外的套接字创建并与之通信,我将遵循上述建议的解决方案。

    其他问题也很少:

    1.如何将数据发送回“tcpWorker”以外的特定客户端 ?

    2.在 tcpEcho 示例中,是否不需要用于初始化 CM 核心的 CM_Init()函数?

    3.如果使用 DHCP 服务器分配 IP 地址,如何在内部跟踪当前分配的 IP? 存在任何变量?

    谢谢,此致,

    普拉奈。

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

    普拉奈,  

    将在一天或两天内回复您以澄清您的疑问。

    此致

    西达尔斯

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

    您好,Siddharth,

    这里有什么输入? 我在等你的答复。

    普拉奈