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.

AM3356: EtherNet/IP questions

Part Number: AM3356

Hi,

Let me talk about EtherNet/IP for AM335x.

We have a few questions, use PRU-ICSS-SW version 1.00.02

◆ Current program operation
(1)In the EIPNDK_acdStackThread task function for registering the new IP address
in the NDK.

(2)Register IP address registration completion notification callback function using
NS_setAddrHook () from EtherNet/IP application task (equivalent to TaskFxn) to NDK

(3)The callback function EIPACD_validateIPAddress() that notifies completion of
IP address registration is called from the NDK and generates the ACD monitor task
(EIPACD_acdMonitor())

◆ Bug (unexpected) Event
After compleate (1)-(3), When ARP is transmitted from another EIP device,
EIPACD_validateIPAddress() is called with ARP reception.
After this two ACD monitoring tasks are present at the same time.

--------------------------------------------------------
Question 1 - About EIPACD_validateIPAddress()
--------------------------------------------------------
EIPACD_validateIPAddress() is executed only when registration of IP address is completed in NDK
This understanding is correct ?
(Is it executed by other factors?)


--------------------------------------------------------
Question 2 - Timing of new IP address registration
--------------------------------------------------------
We see sample program of ethernetip_adapter_AM335x_arm.
In the sample program, a task is registered with ".cfg", and a registration task
(EIPNDK_acdStackThread) is created when the user program is executed.

Do you have any reason create task generation by ".cfg" ?
Do we have any problem even if task creation (EIPNDK_acdStackThread)
is performed using Task_create () ?


--------------------------------------------------------
Question 3 - Timing of new IP address registration
--------------------------------------------------------
Can user call EIPACD_validateIPAddress(), before generating a task EIPNDK_acdStackThread()?


--------------------------------------------------------
Question (4) - About the ACD monitoring task
--------------------------------------------------------
Now multiple ACD monitor tasks (EIPACD_acdMonitor()) are generated.

We guess it is not good.
ACD monitor task should be generated only once.
Is it unexpected that ACD monitor task is generated multitask ?

Best Regards
Hiroyasu