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.
Hello,
Martin H. said:1. EthernetIp_adapter example for ICEv2 board
This example is said to use 'normal' TCP/IP. But somehow I could not find code that does the data transfer.
I have removed all the ethernetip dependent code to obtain a 'standalone switch'. (There is a description what to remove.)
'Normal' TCP/IP transfer can be achieved by NDK stack. In the ethernet_ip example, we use these features to communicate via TCP/UDP. You can find details on how to transfer data via sockets in the NDK guide. In the end, the application has a lower layer in ICSS(forwarding, cut through etc.), and rest is in ARM(TCP/IP stack, application).
Martin H. said:1.1 Firmware
Using the API guide, you can communicate with the firmware. The source code is not available to the public.
I'll get back to you on 1.2. But my understanding is that Tx_packet is used to send out a raw packet. The data is upto you(unless you frame the data by NDK).
Regards,
Vinesh
Hi Vinesh,
so you mean I should not use the APIs from the "am335xPruReferenceGuide" but the NDK functions instead?
Can the NDK be used without using TI-RTOS?
I got the impression it can not. Is that correct?
In the EthernetIp_adapter example all the network code should be somewhere in EIPMain(), shouldn't it?
All that looks like 'network'is the function SO_Open_Session().
But I could not find a definition of SO_Open_Session(), just the prototype in user_api.h.
I tried fdOpenSession() instead, but that returned with 0 (error).
Do you have a suggestion what I might be missing?
Thank you.
Regards,
Martin H.
Hi Martin,
The ethernetip adapter can run over the low latency cut-thru switch implementation on ICSS using NDK as TCP/IP stack. So once you strip the Ethernet/IP layer (from your post i guess you have already done it ),you get a Switch application.
The ICSS Switch driver for NDK (built along with os_driver) enables the application/ NDK stack to communicate with PRU firmware.
Now on your questions
so you mean I should not use the APIs from the "am335xPruReferenceGuide" but the NDK functions instead?
In order to get basic TCP/IP functionality it is not required.
Can the NDK be used without using TI-RTOS?
No
In the EthernetIp_adapter example all the network code should be somewhere in EIPMain(), shouldn't it?
Currently the network code is part of the ethernetip library. For more info refer
Regards,
Prajith