Hi all,
I am using Simulink and various Mathworks products (Simulink coder, Embedded coder) to generate code from a model for the OMAP-L138 / C6748 (EVM board). Code generation and build process do work as well as the load, execute and run process can be automated via DSS from Simulink.
In order to verify that the executed code is working properly on the target I wanted to perform Processor in the Loop (PIL) verification.
[side note: I could not get SIL working, due to "portable word sizes", see https://uk.mathworks.com/matlabcentral/answers/279543-simulink-embedded-coder-sil-code-generation-for-ti-omap-l138-fails-for-portable-word-sizes ]
I set up a test harness model and included a simple reference model using the "Model" block twice: as normal model and in PIL configuration. Code generation is based on the "idelink_ert.tlc" (IDE Link ERT) system target file. Build format is set to "Makefile" approach, as I am using CCSv5.5. The toolchain is set using commands checkEnvSetup('ccsv5', 'omapl138', 'setup') and xmakefilesetup from the Matlab command line.
When I start the test harness model I get the following error:
### Connectivity configuration for referenced model "mysumdiff": Texas Instruments Code Composer Studio (IDE) ###
An error occurred while creating an instance of connectivity configuration class "ticcsext.pil.ConnectivityConfig". Check that this is a valid connectivity configuration class.
Caused by:
When the build format is "Makefile", PIL cannot use the IDE debugger to communicate with your target. If your target supports Serial Communication Interface (SCI) or TCP/IP, configure PIL to use those instead. See the documentation for more information.
What should I do? I think the build process needs the "Makefile" build format. Which documentation is meant to be referenced (no link is included in the error message)?
As SCI is mentioned, I stumbled across "Code Verification and Validation with PIL" here: http://uk.mathworks.com/help/supportpkg/texasinstrumentsc2000/examples/code-verification-and-validation-with-pil.html -- this is referring to the C2000 DSP family.
As the PIL preference group did not exist in my Matlab I tried to set those values manually (to see if I can get it working without the unknown documentation):
>> setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','COMPort','COM3')
>> setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','BaudRate',115200)
>> setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','enableserial',true)
This yields me a slightly different error message when starting the model:
An error occurred while creating an instance of connectivity configuration class "ticcsext.pil.ConnectivityConfigSerial". Check that this is a valid connectivity configuration class.
This makes me wonder, because afaik C674x is not a subset of the C64x family.
Is there a working approach to get PIL working for OMAP-L138 or C6748?
The standard connectivity configuration (rtiostream) uses TCP/IP. I think this will not be applicable when only using the DSP (I don't want code overhead on the ARM). An alternative would be to use the Serial Communication Interface (SCI). Is this supported for the OMAP or the C6000 family or would I need to completely implement something on my own?
If using the SCI I would need a serial interface. The OMAP-L138 EVM board has an external serial adaptor. I also found that the embedded XDS100 includes a dual UART chip where in the reference design port A is used for JTAG and port B could be used for serial communication as well. Is port B on the evaluation board "wired" to some UART interface of the SoC or do I need to use the separate Sub-D9 connector with a separate USB/serial converter?
Thank you for your help.
Best regards,
Matthias