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.

TMDSCNCD28388D: C2000 ETHERNET

Part Number: TMDSCNCD28388D
Other Parts Discussed in Thread: C2000WARE

请教一下。

在下图中,数据和地址通过IPC发送到CM4内核。我自己的数据是存在以下数组send_buff [150]中。我可以直接用send_buff替换函数中的packetData吗?

我在函数的注释中看到,packetData对应于地址,而PACKET_LENGTH对应于数据。

这句话使我有些困惑。

我目前的进展是,需要由CPU1内核运行的项目已得到改进,并且CM4内核的项目也已准备就绪。接下来,只要更改Web服务中的http文件,就可以通过以太网将CM4接收到的数据发送到计算机IP地址为192.168.0.4的网页并实时显示?

特来请教

谢谢

  • ETHERNET的相关问题建议您去英文论坛发帖询问。关于

    我在函数的注释中看到,packetData对应于地址,而PACKET_LENGTH对应于数据。

    这句话使我有些困惑。

    请问您的疑惑是什么?

  • 注释中写的是对应地址,但实际的使用,packetData是一个数组,PACKET_LENGTH是数组的长度。

    还有一点,电脑上,要准备什么,才能接收到ethernet发出的数据呢?

     

  • 还有一点,电脑上,要准备什么,才能接收到ethernet发出的数据呢?

    请看一下 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum 

    抱歉,目前我们办公室环境下不太方便测试以太网

    注释中写的是对应地址,但实际的使用,packetData是一个数组,PACKET_LENGTH是数组的长度。

    //*****************************************************************************
    //
    //! Sends a command to the Remote core
    //!
    //! \param ipcType is the enum corresponding to the IPC instance used
    //! \param flags is the IPC flag mask for the flags to be set
    //! \param addrCorrEnable is the flag used to determine whether or not to
    //! convert the addr parameter to remote core's address space
    //! \param command is the 32-bit command value
    //! \param addr is the 32-bit address to be sent as part of command
    //! \param data is the 32-bit data to be sent as part of command
    //!
    //! Allows the caller to send a command to the remote core. A command consists
    //! of a unique command value, a 32-bit address and a 32-bit data. The function
    //! also sends the designated flags to the remote core.
    //! There may be differences in the address spaces of Local and Remote core.
    //! For example in case of F2838X device, the address spaces of C28x core and
    //! CM core are different. In case the \e addr refers to an address in the IPC
    //! MSG RAM, \e addrCorrEnable param may be used to correct the address mismatch
    //!
    //! The \e flags parameter can be any of the IPC flag values: \b IPC_FLAG0 -
    //! \b IPC_FLAG31.
    //! The \e addrCorrEnable parameter can take values IPC_ADDR_CORRECTION_ENABLE
    //! (converts the address to remote core's address space) or
    //! IPC_ADDR_CORRECTION_DISABLE(does not modify the addr parmeter)
    //!
    //! The application shall use the function IPC_getResponse to read the response
    //! sent by the remote core.
    //!
    //! \note The application is expected to wait until the the response is
    //! received before sending another command.
    //!
    //! \note \e addrCorrEnable parameter must be kept same on the sending and
    //! receiving cores
    //!
    //! \return Returns \b true if the command is sent properly and \b false if
    //! the designated flags were busy and hence command was not sent.
    //
    //*****************************************************************************
    extern bool
    IPC_sendCommand(IPC_Type_t ipcType, uint32_t flags, bool addrCorrEnable,
    uint32_t command, uint32_t addr, uint32_t data);

    CM内核无法访问GSRAM。有专用的MSG RAM用于在内核之间共享数据-CPU1TOCPU2MSGRAM,CPU2TOCPU1MSGRAM,CPU1TOCMRAM,CPU2TOCMRAM,CMTOCPU1RAM,CMTOCPU2RAM

    您可以使用这些RAM将数据从一个内核发送到另一个内核。IPC_sendCommand函数配置IPC模块中的命令寄存器,并在远程核心上触发一个中断(如果在远程核心上启用了中断),表明该命令可用。该命令包括3个32位字。如果要发送大量数据,则可以将数据放入MSGRAM中,并使用IPC_sendCommand共享数据的起始地址。由于这些RAM的地址在CPU和CM中不同,因此该功能会自动更正地址参数。

    C2000ware中有一个可用的示例对此进行了演示。希望这可以帮助。

    <C2000ware> \ driverlib \ f2838x \ examples \ c28x_cm \ ipc \ ipc_ex1_basic_c28x1

  • 很有帮助

    感谢,但是也是有个问题,enet_lwip这个例程,我把他拷贝到工作空间中,进行修改。发现c盘的文件也跟着变化。当系统提示需要更新C2000ware的时候,更新结束,我修改后保存的enet_lwip例程,又被更新成最原始的状态。

    有什么链接文件删除一下,就能解决这个问题吗?还是说,必须要新建一个工程,将enet_lwip这个例程放过去?

    特来请教

    感谢

  • 该问题建议您在英文E2E发帖,因为该例程我们这边办公室环境下不好测试,所以无法快速回复您的问题

  • 谢谢理解

  • CCS GUI在什么地方呢?

  • 应该就是指的CCS

  • 好的

    感谢