FAQ 322: Software Module Description File Templates for ECU Testing
Question
I do not get a Software module description file from my ECU supplier, but I would like to integrate an existing A2L file to the ECU Interface Manager to create an EIC file for ConfigurationDesk. How can I create a software module description file? Are there any templates available?
Solution
Please find below two templates with different purposes.
The following two templates are based on XCP on CAN. You can use the templates along with XCP on Ethernet, too.
Assumption: The A2L file name is Example_XCPonCAN.a2l. The A2L file is in the same folder as the software module description file:
Simple XML template
Purpose: This template allows access configuration in the ECU Interface Manager on A2L variable base. Variable groupings, data direction (read/write), XCP event assignments etc., must be done manually in the ECU Interface Manager access configuration pane.
<?xml version=”1.0” encoding=”UTF-8”?> <Tier-1Project xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”http://www.dspace.com/xml/xsd/eif/EIFManager/Schema/IS/Versions/1.0/RCP-IndustryStandard.xsd”> <General> <SchemaVersion major=”1” minor=”0”/> </General> <Environments> <Environment name=”Test XCP CAN”/> </Environments> <ReferencedFiles> <File name=”file://.\Example_XCPonCAN.a2l”/> </ReferencedFiles> </Tier-1Project>
For the schema definition of the ReferencedFiles section, refer to the dSPACE document “ECU Interface Manager Guide”, chapter “Appendix: Creating a Package and a Software Module Description File“.
Advanced XML template for a software module description file
Purpose: This advanced template allows a convenient access configuration in the ECU Interface Manager on A2L variable base. Variables, data direction, XCP event assignment etc., are automatically assigned according to the following XML definition.
Assumption: The A2L file name is Example_XCPonCAN.a2l.
<?xml version=”1.0” encoding=”UTF-8”?> <Tier-1Project xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”http://www.dspace.com/xml/xsd/eif/EIFManager/Schema/IS/Versions/1.0/RCP-IndustryStandard.xsd”> <General> <SchemaVersion major=”1” minor=”0”/> </General> <Environments> <Environment name=”Test XCP CAN”/> </Environments> <Contexts> <Context name=”context_10ms” id=”1”/> <Context name=”service” id=”1”/> </Contexts> <Processes> <Process name=”task_10ms” address=”0x00000004”> <Contexts> <Context contextRef=”context_10ms”/> </Contexts> </Process> <Process name=”DSXCP_Service” address=”0x00000008”> <Contexts> <Context contextRef=”service”/> </Contexts> <InterfaceOptions> <Interface name=”dSPACE.EIF.Function”> <Option name=”Flag” value=”Callable”/> </Interface> <Interface name=”dSPACE.EIF.Function.Event”> <Option name=”IF_DATA” value=”XCPplus”/> <Option name=”XCPplus_TL” value=”XCP_ON_CAN”/> <Option name=”XCP_ON_CAN_TLI” value=”Instance1”/> </Interface> </InterfaceOptions> </Process> </Processes> <ServicePoints> <ServicePoint name=”task_10ms_start” id=”0” contextRef=”context_10ms” position=”Begin” serviceProcessRef =”DSXCP_Service”/> <ServicePoint name=”task_10ms_end” id=”1” contextRef=”context_10ms” position=”End” serviceProcessRef =”DSXCP_Service”/> </ServicePoints> <ReferencedFiles> <File name=”file://.\Example_XCPonCAN.a2l”/> </ReferencedFiles> </Tier-1Project>
For the schema definitions of the Contexts, Processes, and ServicePoints statements, refer to the dSPACE document “ECU Interface Manager Guide”, chapter “Appendix: Creating a Package and a Software Module Description File“.
A2L file example (Example_XCPonCAN.a2l ) referenced in the advanced template with its relevant counterparts in the software module description files. The words marked in yellow get a direct reference in the software module description file
/begin PROJECT XCP_CAN "Example"
/begin MODULE demo_module ""
…
/begin A2ML … /end A2ML
/begin MOD_COMMON "" … /end MOD_COMMON
/begin MOD_PAR "" … /end MOD_PAR
/begin STIM … /end STIM
/begin IF_DATA XCPplus
0x103
/begin PROTOCOL_LAYER … /end PROTOCOL_LAYER
/begin DAQ
…
/begin EVENT /* EVENT */
"task_10ms_start" /* EVENT_CHANNEL_NAME */
"10ms_1" /* EVENT_CHANNEL_SHORT_NAME */
0 /* EVENT_CHANNEL_NUMBER */
DAQ_STIM /* both kinds of DAQ_LISTs */
0xFF /* MAX_DAQ_LIST */
0x01 /* TIME_CYCLE */
0x07 /* TIME_UNIT */
0x00 /* PRIORITY */
/end EVENT
/begin EVENT /* EVENT */
"task_10ms_end" /* EVENT_CHANNEL_NAME */
"10ms_2" /* EVENT_CHANNEL_SHORT_NAME */
1 /* EVENT_CHANNEL_NUMBER */
DAQ_STIM /* both kinds of DAQ_LISTs */
0xFF /* MAX_DAQ_LIST */
0x01 /* TIME_CYCLE */
0x07 /* TIME_UNIT */
0x00 /* PRIORITY */
/end EVENT
/end DAQ
/begin XCP_ON_CAN
…
TRANSPORT_LAYER_INSTANCE "Instance1"
/end XCP_ON_CAN
/end IF_DATA
/**************************************************************************
/* COMPU_METHODs / VARIABLES / FUNCTIONS */
/**************************************************************************
/begin COMPU_METHOD CM_IDENTICAL … /end COMPU_METHOD
/begin MEASUREMENT TestVar1 … /end MEASUREMENT
/begin MEASUREMENT TestVar2 … /end MEASUREMENT
/begin FUNCTION task_10ms
"task_10ms"
/begin IN_MEASUREMENT
TestVar1
TestVar2
/end IN_MEASUREMENT
/begin OUT_MEASUREMENT
TestVar1
TestVar2
/end OUT_MEASUREMENT
FUNCTION_VERSION "39.1"
/end FUNCTION
/end MODULE
/end PROJECT
The complete A2L file can be requested from dSPACE Support
Tags
| Date | 2023-08-30 |
| 製品 | ECU Interface Manager |
| インフォメーション | FAQ |
| 情報カテゴリー | 初めての方へ, 詳細 |