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.

enetLwip_sysbios and profibus_slave hang if they run as a unified project

Other Parts Discussed in Thread: PROFIBUS, SYSBIOS

 

Hi all.

I’m trying to realize an application that implements, on the same device, a socket server (ethernet tcp/ip) and a profibus slave (profibus dp).

To do this, I started from the profibus_slave example and the enetLwip_sysbios example, both available in the sdk. I specialized them for my board and both the examples work properly, if they run separately.

After that, I inserted the modules of the enetLwip_sysbios example into the profibus_slave project, I wrote a unified main and I merged all the settings (or I hope so...).

The problem is that this unified project hangs after some minute of running.

It seems to be a data abort related to a queue, used by a mutex, but I’m a beginner so I don’t know exactly how to understand the error messages.

What should be this problem related to?

What can I check to understand what is the problem?

My system configuration is:
- Processor: ARM AM3359 on a custom board
- Operative System: sysbios
- Code Composer Studio 5..5.0.77
- SDK 1.1.0.4
- XDCtools 3.25.3.72
- Sys/Bios 6.35.4.50
- IPC: 1.25.2.12 (not used)
- System Analyzer UIA 1.3.1.08  (not used)

 Below I report some print screen of the ROV, in the error condition.

Thank you very much.

Best regards

Maurizio

  • Hello,

    Issue looks similar to SDOCM0010803(http://processors.wiki.ti.com/index.php?title=AM335x_SYSBIOS_Industrial_SDK_01.01.00.05_Release_Notes#Fixed_In_This_Release). Can you update to SDK 1.1.0.5?

    Regards,
    Vinesh

  • Hi Vinesh.

    Thank you very much. You are right!

    I didn't install sdk 1.1.0.5 due to compatibility reasons, but I downloaded it.

    I compared the files of the enetLwip_sysbios project in the sdk 1.1.0.4 and 1.1.0.5: the only difference related to the problem was the type of Gate used in sys_arch.c.

    In the sdk 1.1.0.4, prot_mutex_hdl is declared as GateMutex_Handle, while in the sdk 1.1.0.5 it is declared as GateHwi_Handle. So I changed my source in this way (.c and .cfg) and all now is running properly.

    This change solved also another problem I had before: I wasn't be able to activate the UIA (RTOS analyzer)because the application crashed. Now it's working properly.

    Thank you again.
    Best Regards
    Maurizio