DIO Driver
DIO Driver
Component Documentation
1 - Dio Integration Manual
Integration Manual
For
Dio
VERSION: 1
DATE: 05/08/17
Prepared By:
Software Group,
Nexteer Automotive,
Saginaw, MI, USA
Location: The official version of this document is stored in the Nexteer Configuration Management System.
Revision History
| Sl. No. | Description | Author | Version | Date |
| 1 | Initial version | Lucas Wendling | 1 | 05/08/17 |
Table of Contents
1 Abbrevations And Acronyms 4
2 References 5
3 Dependencies 6
3.1 SWCs 6
3.2 Global Functions(Non RTE) to be provided to Integration Project 6
4 Configuration REQUIREMeNTS 7
4.1 Build Time Config 7
4.2 Configuration Files to be provided by Integration Project 7
4.3 Da Vinci Parameter Configuration Changes 7
4.4 DaVinci Interrupt Configuration Changes 7
4.5 Manual Configuration Changes 7
5 Integration DATAFLOW REQUIREMENTS 8
5.1 Required Global Data Inputs 8
5.2 Required Global Data Outputs 8
5.3 Specific Include Path present 8
6 Runnable Scheduling 9
7 Memory Map REQUIREMENTS 10
7.1 Mapping 10
7.2 Usage 10
7.3 Non RTE NvM Blocks 10
7.4 RTE NvM Blocks 10
8 Compiler Settings 11
8.1 Preprocessor MACRO 11
8.2 Optimization Settings 11
9 Appendix 12
Abbrevations And Acronyms
References
This section lists the title & version of all the documents that are referred for development of this document
Dependencies
SWCs
Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.
Global Functions(Non RTE) to be provided to Integration Project
API usage and scheduling of BSW components expected to be captured at a project architectural level and is beyond the scope of this document. Third party documentation can be referenced as needed.
Configuration REQUIREMeNTS
Configuration of BSW components expected to be captured at a project architectural level and is beyond the scope of this document. Third party documentation can be referenced as needed.
Build Time Config
Configuration Files to be provided by Integration Project
N/A
Da Vinci Parameter Configuration Changes
DaVinci Interrupt Configuration Changes
Manual Configuration Changes
Integration DATAFLOW REQUIREMENTS
Required Global Data Outputs
Specific Include Path present
Yes
Runnable Scheduling
API usage and scheduling of BSW components expected to be captured at a project architectural level and is beyond the scope of this document. Third party documentation can be referenced as needed.
| Init | Scheduling Requirements | Trigger |
| | |
| Runnable | Scheduling Requirements | Trigger |
| | |
.
Memory Map REQUIREMENTS
Mapping
| Memory Section | Contents | Notes |
| | |
| | |
* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.
Usage
NvM Blocks
Compiler Settings
The MCAL related files require specific compiler toolchain settings to be used to match what the MCAL was developed and tested to. This is the following:
-c -Osize -g -cpu=rh850g3m -gsize -prepare_dispose -inline_prologue -sda=all -Wundef -no_callt -reserve_r2 --short_enum --prototype_errors --diag_error 193 -dual_debug -large_sda --no_commons -shorten_loads -shorten_moves -Wshadow -nofloatio -ignore_callt_state_in_interrupts -delete
This component’s .gpj file has been adapted to provide these options for the static files of this component. NOTE: The dynamic, generated files from this component need to be compiled with these options as well, and therefore the integration project will need to be adapted to provide these settings to the generated files in the integration project.
The following snippet can be adapted/added to the a batch file which creates the generate.gpj project for integration project usage:
for %%F in (../generate/<MCAL_Component>/src/*.c) do (
ECHO ..\generate/<MCAL_Component>/src\%%F >> generate.gpj
ECHO # MCAL BUILD OPTIONS # >> generate.gpj
ECHO -c >> generate.gpj
ECHO -Osize >> generate.gpj
ECHO -g >> generate.gpj
ECHO -cpu=rh850g3m >> generate.gpj
ECHO -gsize >> generate.gpj
ECHO -prepare_dispose >> generate.gpj
ECHO -inline_prologue >> generate.gpj
ECHO -sda=all >> generate.gpj
ECHO -Wundef >> generate.gpj
ECHO -no_callt >> generate.gpj
ECHO -reserve_r2 >> generate.gpj
ECHO --short_enum >> generate.gpj
ECHO --prototype_errors >> generate.gpj
ECHO --diag_error 193 >> generate.gpj
ECHO -dual_debug >> generate.gpj
ECHO -large_sda >> generate.gpj
ECHO --no_commons >> generate.gpj
ECHO -shorten_loads >> generate.gpj
ECHO -shorten_moves >> generate.gpj
ECHO -Wshadow >> generate.gpj
ECHO -nofloatio >> generate.gpj
ECHO -ignore_callt_state_in_interrupts >> generate.gpj
ECHO -delete >> generate.gpj
)
Preprocessor MACRO
Optimization Settings
Appendix
<This section is for appendix>
3 - R20UT3708EJ0101-AUTOSAR
AUTOSAR MCAL R4.0 User's Manual5 - R20UT3708EJ0101-AUTOSARs


AUTOSAR MCAL R4.0.3
User’s Manual
DIO Driver Component Ver.1.0.10
Embedded User’s Manual
Target Device:
RH850/P1x
All information contained in these materials, including products and product specifications,
represents information on the product at the time of publication and is subject to change by
Renesas Electronics Corp. without notice. Please review the latest information published by
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp.
websit
e (http://www.renesas.com). www.renesas.com Rev 1.01 Feb 2017
2
Notice
1.
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits,
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and
damages incurred by you or third parties arising from the use of these circuits, software, or information.
2.
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents,
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information
described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application examples.
3.
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas
Electronics or others.
4.
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics
disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copy or
otherwise misappropriation of Renesas Electronics products.
5.
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.
"Standard": Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment;
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc.
"High Quality": Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication
equipment; key financial terminal systems; safety control equipment; etc.
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and undersea
repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any
and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for which the
product is not intended by Renesas Electronics.
6.
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the ranges
specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation characteristics,
installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of the use of Renesas
Electronics products beyond such specified ranges.
7.
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention,
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your products/system.
Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the final products or
systems manufactured by you.
8.
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas
Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances, including
without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all these applicable
laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with
applicable laws and regulations.
9.
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale
is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or technologies for (1)
any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction, such as nuclear weapons,
chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering such weapons, (2) any purpose
relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of disturbing international peace and
security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or technologies to any third party whether directly
or indirectly with knowledge or reason to know that the third party or any other party will engage in the activities described above. When
exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall comply with any applicable export control laws and
regulations promulgated and administered by the governments of the countries asserting jurisdiction over the parties or transactions.
10. Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from your
resale or making Renesas Electronics products available any third party.
11. This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas
Electronics.
12. Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas
Electronics products.
(Note 1) "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned
subsidiaries.
(Note 2) "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics.
3
4
Abbreviations and Acronyms Abbreviation / Acronym Description ADC
Analog Digital Converter
ANSI
American National Standards Institute
API
Application Programming Interface
ARXML/arxml
AutosaR eXtensible Mark-up Language
AUTOSAR
AUTomotive Open System ARchitecture
BSW
Basic SoftWare
CAN
Controller Area Network
CCU
Center Control Unit
DEM/Dem
Diagnostic Event Manager
DET/Det
Development Error Tracer
DIO
Digital Input Output
ECU
Electronic Control Unit
EEPROM
Electrical Erasable Programmable Read Only Memory
GNU
GNU’s Not Unix
GPT
General Purpose Timer
HW
HardWare
ID/Id
Identifier
ICU
Input Capture Unit
I/O
Input/Output
LIN
Local Interconnect Network
MCAL
MicroController Abstraction Layer
MCU
MicroController Unit
MHz
Mega Hertz
NA
Not Applicable
PDF
Parameter Definition File
PWM
Pulse Width Modulation
R/W/RW
Read/Write/Read and Write
RAM/Ram
Random Access Memory
Rev
Revision
ROM
Read Only Memory
RTE/Rte
Run Time Environment
RUCG
Renesas Unified Code Generator
SCHM/SchM
Scheduler Manager
SCI
Serial Communication Interface
SPI
Serial Peripheral Interface
SWS
Software Requirements Specification
WDT
WatchDog Timer
5
Definitions Term Represented by Port
Represents a whole configurable port on a microcontroller device.
Port Pin
Represents a single configurable input or output pin on a
microcontroller device.
Sl. No.
Serial Number
6
Table of Contents Chapter 1 Introduction ..................................................................... 11 1.1. Document Overview ........................................................................................................... 13 Chapter 2 Reference Documents..................................................... 15 Chapter 3 Integration and Build Process ........................................ 17 3.1. DIO Driver Component Makefile ........................................................................................ 17 3.1.1. Folder Structure.................................................................................................... 17 Chapter 4 Forethoughts ................................................................... 19 4.1. General ................................................................................................................................. 19 4.2. Preconditions ...................................................................................................................... 19 4.3. Data Consistency ................................................................................................................ 20 4.4. Deviation List ...................................................................................................................... 21 4.5. User mode and supervisor mode ...................................................................................... 21 Chapter 5 Architecture Details ......................................................... 23 Chapter 6 Register Details ............................................................... 27 Chapter 7 Interaction between the User and DIO Driver
Component .......................................................................................... 29 7.1. Services Provided By DIO Driver Component To The ........................................................... 29 Chapter 8 DIO Driver Component Header and Source File
Description .......................................................................................... 31 Chapter 9 Generation Tool Guide .................................................... 33 Chapter 10 Application Programming Interface ............................... 35 10.1. Imported Types ................................................................................................................... 35 10.1.1. Standard Types .................................................................................................... 35 10.1.2. Other Module Types ............................................................................................. 35 10.2. Type Defintions ................................................................................................................... 35 10.2.1. Dio_ChannelType ................................................................................................ 35 10.2.2. Dio_PortType ....................................................................................................... 36 10.2.3. Dio_PortLevelType ............................................................................................... 36 10.2.4. Dio_ConfigType ................................................................................................... 36 10.3. Function Definitions ........................................................................................................... 37 10.3.1. Dio_Init ................................................................................................................. 37 10.3.2. Dio_ReadPort ....................................................................................................... 38 10.3.3. Dio_WritePort ....................................................................................................... 38 10.3.4. Dio_ReadChannel ................................................................................................ 39 10.3.5. Dio_WriteChannel ................................................................................................ 39 10.3.6. Dio_ReadChannelGroup ...................................................................................... 40 10.3.7. Dio_WriteChannelGroup ...................................................................................... 40 10.3.8. Dio_MaskedWritePort .......................................................................................... 41 10.3.9. Dio_FlipChannel ................................................................................................... 41 10.3.10. Dio_GetVersionInfo .............................................................................................. 42 7
Chapter 11 Development and Production Errors ............................. 43 11.1. DIO Driver Component Development Errors ................................................................... 43 11.2. DIO Driver Component Production Errors ....................................................................... 44 Chapter 12 Memory Organization ...................................................... 45 Chapter 13 P1M Specific Information ................................................ 47 13.1. Interaction between the User and DIO Driver .................................................................. 47 13.1.1. Translation Header File ........................................................................................ 47 13.1.2. Parameter Definition File ...................................................................................... 48 13.2. Sample Application............................................................................................................. 48 13.2.1 Sample Application Structure ............................................................................... 48 13.2.2 Building Sample Application ................................................................................. 50
13.2.2.1 Configuration Example ..................................................................... 50 13.2.2.2 Debugging the Sample Application .................................................. 50 13.3. Memory and Throughput ................................................................................................... 51 13.3.1. ROM/RAM Usage ................................................................................................ 51 13.3.2. Stack Depth .......................................................................................................... 52 13.3.3. Throughput Details ............................................................................................... 53 Chapter 14 Release Details ................................................................ 55 8
List of Figures Figure 1-1 System Overview of AUTOSAR Architecture ...................................................... 11 Figure 1-2 System Overview of the DIO Driver in AUTOSAR MCAL Layer .......................... 12 Figure 5-1 DIO Driver Architecture ........................................................................................ 23 Figure 5-2 DIO Driver Services ............................................................................................. 24 Figure 12-1 DIO Driver Component Memory Organization ..................................................... 45 Figure 13-1 Overview of DIO Driver Sample Application ........................................................ 48 List of Tables
Table 4-1 DIO Driver protected Resources List ................................................................... 20 Table 4-2 Driver Deviation List of DIO module ..................................................................... 21 Table 4-3 User mode and Supervisor mode details ............................................................. 21 Table 6-1 Register Details .................................................................................................... 27 Table 8-1 Description of the DIO Driver Component Files ................................................... 32 Table10-1 DIO Driver Component’s API list. ......................................................................... 37 Table11-1 DET Errors of DIO Driver Component ................................................................. 43 Table11-2 DEM Errors of DIO Driver Component ................................................................. 44
Table13-1 PDF information for P1M ...................................................................................... 48 Table13-2 ROM/RAM Details with DET ................................................................................ 52 Table13-3 ROM/RAM Details without DET ........................................................................... 52 Table13-4 Throughput Details of the APIs ............................................................................ 53 9
10
Introduction Chapter 1 Chapter 1 Introduction The purpose of this document is to describe the information related to DIO
Driver Component for Renesas P1x microcontrollers.
This document shall be used as reference by the users of DIO Driver
Component. The system overview of complete AUTOSAR architecture is
shown in the below Figure:
Application Layer
AUTOSAR RTE
System Services
On board Device Abstraction
DI O Drive r Microcontroller
Figure 1-1 System Overview of AUTOSAR Architecture The DIO Driver is part of the MCAL, the lowest layer of Basic Software in the
AUTOSAR environment.
11
Chapter 1 Introduction The Figure in the following page depicts the DIO Driver as part of layered
AUTOSAR MCAL Layer:
Micro control ler Drivers
Memory Dri vers
Communication Drivers
I/O Drivers
e
in
x
W
t
t
er
e
a
GP
M
r
t
i
c
n
C
C
R
n
n
a
a
hd
t
T
U
ore
A
l
l
e
rn
S
D
o
M
F
F
D
l
la
g
a
P
F
ri
PO
ri
T
T
as
s
l
I
H
C
l
P
A
D
v
D
E
L
e
I
v
e
e
h
h
C
W
E
an
I
AN
x
D
I
er
r
er
s
st
N
O
R
U
R
i
t
M
C
v
D
D
P
d
D
a
R
D
D
T
e
ri
r
i
l
D
y
D
r
v
v
e
D
r
OM
i
r
r
D
er
er
r
v
r
D
i
r
i
i
v
r
i
v
ri
D
er
v
i
v
e
r
er
v
er
er
v
r
i
er
i
r
v
er
D
v
e
e
r
ri
r
v
er
D
I
O
E
Po
EEP
Micro- x
F
W
C
L
P
G
M
t
L
C
C
Unit
lo
w
.
SPI
S
A
I
A
M
N
W
P
D
C
B
C
AN
CU
D
c
e
Controller S
R
T
T
k
r
U
U
I
o
M
C
H
O
&
r
S
Figure 1-2 System Overview of the DIO Driver in AUTOSAR MCAL Layer The DIO Driver Component provides the service for reading and writing to
Channels, ChannelGroups and Ports.
The DIO Driver Component comprises of two sections, that is, Embedded
Software and the Configuration Tool to achieve scalability and configurability.
The DIO Driver Component Code Generation Tool is a command line tool that
accepts ECU configuration description file(s) as input and generates source
and header file(s) Dio_PBcfg.c and Dio_Cfg.h respectively. The ECU
configuration description is an XML file that contains information about the
configuration for Port Pins.
12
Introduction Chapter 1 1.1. Document Overview The document has been segmented for easy reference. The table below
provides the user with an overview of the contents of each section:
Section Contents Section 1 (Introduction)
This section provides an introduction and overview of DIO Driver
Component.
Section 2 (Reference Documents) This section lists the documents referred for developing this document.
Section 3 (Integration and Build
This section explains the folder structure, Makefile structure for DIO
Process)
Driver Component. This section also explains about the Makefile
descriptions, Integration of DIO Driver Component with other
components, building the DIO Driver Component along with a sample
application.
Section 4 (Forethoughts)
This section provides brief information about the DIO Driver Component,
the preconditions that should be known to the user before it is used, data
consistency details and deviation list.
Section 5 (Architecture Details)
This section describes the layered architectural details of the DIO Driver
Component.
Section 6 (Register Details)
This section describes the register details of DIO Driver Component.
Section 7 (Interaction Between
This section describes interaction of the DIO Driver Component with the
User And DIO Driver Component) upper layers.
Section 8 (DIO Driver Component This section provides information about the DIO Driver Component
Header And Source File
source files. This section also contains the brief note on the tool
Description)
generated output file.
Section 9 (Generation Tool Guide) This section provides information on the DIO Driver Component
Generation Tool.
Section 10 (Application
This section explains all the APIs provided by the DIO Driver
Programming Interface)
Component.
Section 11 (Development And
This section lists the DET and DEM errors.
Production Errors)
Section 12 (Memory
This section provides the typical memory organization, which must be
Organization)
met for proper functioning of component.
Section 13 (P1M Specific
This section provides the P1M Specific Information.
Information)
Section 14 (Release Details)
This section provides release details with version name and base
version.
13
Chapter 1 Introduction 14
Reference Documents Chapter 2 Chapter 2 Reference Documents Sl. No. Title Version 1.
AUTOSAR_SWS_DIODriver.pdf
2.5.0
2.
r01uh0436ej0130-rh850p1x.pdf
1.30
3.
AUTOSAR_SWS_CompilerAbstraction.pdf
3.2.0
4.
AUTOSAR_SWS_MemoryMapping.pdf
1.4.0
5.
AUTOSAR_SWS_PlatformTypes.pdf
2.5.0
6.
AUTOSAR_BSW_MakefileInterface.pdf
0.3
7.
AUT
OSAR BUGZILLA (http://www.autosar.org/bugzilla) -
Note: AUTOSAR BUGZILLA is a database, which contains concerns raised
against information present in AUTOSAR Specifications.
15
Chapter 2 Reference Documents 16
Integration and Build Process Chapter 3 Chapter 3 Integration and Build Process In this section the folder structure of the DIO Driver Component is explained.
Description of the makefiles along with samples is provided in this section.
Remark The details about the C Source and Header files that are generated by the
DIO Driver Generation Tool are mentioned in the “R20UT3709EJ0101-
AUTOSAR.pdf”.
3.1. DIO Driver Component Makefile The Makefile provided with the DIO Driver Component consists of the GNU
Make compatible script to build the DIO Driver Component in case of any
change in the configuration. This can be used in the upper level Makefile (of
the application) to link and build the final application executable.
3.1.1. Folder Structure The files are organized in the following folders:
Remark Trailing slash ‘\’ at the end indicates a folder
X1X\common_platform\modules\dio\src\Dio.c
\Dio_Version.c
\Dio_Ram.c
X1X\common_platform\modules\dio\include\Dio.h
\Dio_Debug.h
\Dio_PBTypes.h
\Dio_Ram.h
\Dio_RegWrite.h
\Dio_Version.h
X1X\P1x\modules\dio\sample_application\<SubVariant>\make\ghs
\App_DIO_P1M_Sample.mak
X1X\P1x\modules\dio\sample_application\ <SubVariant>
\obj\<Compiler>
X1X\P1x\modules\dio\generator
\R403_DIO_P1x_BSWMDT.arxml
X1X\common_platform\modules\dio\generator\Dio_X1x.dll
tools\RUCG\RUCG.exe
X1X\P1x\common_family\generator\P1x_translation.h
\Sample_Applications_P1x.trxml
\Global_Application_P1x.trxml
X1X\P1x\modules\dio\user_manual
17
Chapter 3 Integration and Build Process
(User manuals will be available in this folder).
Note: 1. <AUTOSAR_version> should be 4.0.3
2. <SubVariant> can be P1M
3. <Device_name> can be 701304, 701305, 701310,
701311, 701312, 701313, 701314, 701315, 701318,
701319, 701320, 701321, 701322 and 701323.
4. <Compiler> can be ghs
18
Forethoughts Chapter 4 Chapter 4 Forethoughts 4.1. General Following information will aid the user to use the DIO Driver Component
software efficiently.
• The DIO Driver does not enable or disable the ECU or Microcontroller
power supply. The upper layer should handle this operation.
• Start-up code is not implemented by the DIO Driver.
• DIO Driver does not implement any callback notification functions.
• DIO Driver does not implement any scheduled functions.
• DIO Driver supports the Readback feature.
• The DIO Driver Component is Postbuild time configurable for R4.0.3.
• The file Interrupt_VectorTable.c provided is just a Demo and not all
interrupts will be mapped in this file. So the user has to update the
Interrupt_VectorTable.c as per his configuration.
• To access the Hardware Registers, The MCAL user should use the Low
Level driver Layer. The MCAL user does not write or read any data directly
from any register, but uses the AUTOSAR standard APIs provided by the
MCAL Layer.
• When the channel is configured as Output, then the PPR register will
reflect the Hardware pin level only when the Port Bi-Direction Control
Register(PBDC) is enabled. Or else only the Port register value will be
updated in the PPR register for the Output configured channels.
• DIO Driver at initialisation, does not initialise or write on any registers.
•
Integrator should ensure that usage of DIO and PORT from two different
OS tasks are avoided and PORT configured as high priority task.
4.2. Preconditions Following preconditions have to be adhered by the user, for proper
functioning of the DIO Driver Component:
• The Dio_Cfg.h and Dio_PBcfg.c files generated by the DIO Driver
Component Code Generation Tool have to be linked along with DIO
Driver Component source files.
• File Dio_PBcfg.c generated by DIO Driver Component
Generation Tool can be compiled and linked independently.
• The application has to be rebuilt, if there is any change in the Dio_Cfg.h
and Dio_PBcfg.c file generated by the DIO Driver Component Generation
Tool.
• Dio_Ram.c and Dio_Ram.h are used only for Autosar release 4.0.3.
• The DIO Driver Component needs to be initialized before accepting any API
requests. Dio_Init should be called to initialize DIO Driver Component.
19
Chapter 4 Forethoughts • The authorization of the user for calling the software triggering of a
hardware reset is not checked in the DIO Driver. This will be the
responsibility of the upper layer.
• The user should ensure that DIO Driver Component API requests
are invoked with correct input arguments.
• Input parameters are validated only when the static configuration
parameter DioDevErrorDetect is enabled. Application should ensure that
the right parameters are passed while invoking the APIs when
DioDevErrorDetect is disabled.
• A mismatch in the version numbers of header and the source files will
result in a compilation error. User should ensure that the correct versions
of the header and the source files are used.
• User/Integrator should ensure that same Ports/Pins are configured for
DIO Driver component.
•
The DIO functions shall be called only after PORT Driver
initialization, otherwise DIO functions will exhibit undefined
behavior.
•
Safety features related to Write-Verify are only available if
‘DioWriteVerify’ is enabled.
4.3. Data Consistency To support the re-entrance services, the AUTOSAR DIO module will ensure the
data consistency while accessing its own RAM storage or hardware registers.
The DIO module will use SchM_Enter_Dio_<Exclusive Area> and
SchM_Exit_Dio_<Exclusive
Area>
functions.
The
SchM_Enter_Dio_<Exclusive Area> function is called before the data needs to
be protected and SchM_Exit_Dio_<Exclusive Area> function is called after the
data is accessed.
The following exclusive area along with scheduler services is used to provide
data integrity for shared resource:
• DIO_REGISTER_PROTECTION
The
functions
SchM_Enter_Dio_<Exclusive
Area>
and
SchM_Exit_Dio_<Exclusive Area> can be disabled by disabling the
configuration parameter “DioCriticalSectionProtection”.
Table 4-1 DIO Driver protected Resources List API Name Exclusive Area Type Protected
Resources HW Registers:
Dio_WritePort
DIO_REGISTER_PROTECTION
PMSR
HW Registers:
Dio_WriteChannel
DIO_REGISTER_PROTECTION
PMSR
HW Registers:
Dio_FlipChannel
DIO_REGISTER_PROTECTION
PMSR
PNOT
HW Registers:
Dio_WriteChannel
DIO_REGISTER_PROTECTION
PMSR
20
Forethoughts Chapter 4 Group
HW Registers:
Dio_MaskedWriteP
DIO_REGISTER_PROTECTION
PMSR
ort
Note: The worst case critical section value is 0.850 microseconds measured for
Dio_WriteChannelGroup API.
4.4. Deviation List Table 4-2 Driver Deviation List of DIO module Sl. No. Description AUTOSAR Bugzilla 1.
The API Dio_MaskedWritePort which is available in R3.2.2 is also
-
added to R4.0.3 release.
2.
In case of Multiple configuration sets used, configuring different short
-
name for the containers 'DioPort', 'DioChannel' and
'DioChannelGroup' across the configuration set shall result in
generation error.
3.
In case of Multiple configuration sets used, configuring different
-
number of ‘DioPort’ or 'DioChannel' or 'DioChannelGroup' containers
across the configuration set shall result in generation error.
4.5. User mode and supervisor mode The below table specifies the APIs which can run in user mode, supervisor
mode or both modes.
Table 4-3 User mode and Supervisor mode details Sl.No. List of API’S User Mode Supervisor Mode Known limitation in User mode 1.
Dio_Init
x
x
-
2.
Dio_ReadPort
x
x
-
3.
Dio_WritePort
x
x
-
4.
Dio_ReadChannel
x
x
-
5.
Dio_WriteChannel
x
x
-
6.
Dio_FlipChannel
x
x
-
7.
Dio_ReadChannelGroup
x
x
-
8.
Dio_WriteChannelGroup
x
x
-
9.
Dio_MaskedWritePort
x
x
-
21
Chapter 4 Forethoughts 10.
Dio_GetVersionInfo
x
x
-
Note: Implementation of Critical Section is not dependent on MCAL. Hence Critical Section is not
considered to the entries for User mode in the above table.
22
Architecture Details Chapter 5 Chapter 5 Architecture Details The overview of the AUTOSAR DIO software architecture is given in the
following figure. The DIO Driver Component access the hardware features
directly. The upper layers call the functionalities provided by DIO Driver
Component:
I/O Hardware Abstraction Software
I/O Hardware Abstraction
DIO_WritePort
DIO_ReadPort
DIO_WriteChannelGroup
DIO_ReadChannelGroup
DIO_WriteChannel
DIO_ReadChannel
Dio_MaskedWritePort
DIO_FlipChannel
DIO_Init
DIO Driver On- Chip Registers
On- Chip Hardware
Figure 5-1 DIO Driver Architecture
23









Chapter 5 Architecture Details
DIO Driver Component: The following figure shows the various functionalities as offered by the DIO
Driver.
Port
Read
Channel
Channel Group
Port
Write
Channel
Channel Group
oup
Write and Read
Channel
Figure 5-2 DIO Driver Services The DIO Driver Component is divided into the following sub modules based
on the functionality required:
• Port Read and Port Write
• Channel Read and Channel Write
• ChannelGroup Read and ChannelGroup Write
DIO Read Port The levels of all channels of a DIO Port will be read. A bit value '0' indicates
the individual channels of the Port to physical STD_LOW, a bit value '1'
indicates the individual channels of the port to physical STD_HIGH. The level
of all channels of Port are read simultaneously.
DIO Read Channel The level of a single DIO Channel will be read as either STD_LOW or
STD_HIGH.
DIO Read ChannelGroup The levels of all channels of a DIO Channel Group will be read. A bit value '0'
indicates the corresponding pin to physical STD_LOW, a bit value '1' indicates
the corresponding channel to physical STD_HIGH.
24
Architecture Details Chapter 5
DIO Write Port The levels of all channels of a Port will be set simultaneously without affecting
the functionality of the input channels. A bit value '0' sets the corresponding
channel to physical STD_LOW, a bit value '1' sets the corresponding channel
to physical STD_HIGH.
DIO Write Channel The level of a single DIO Channel is set STD_HIGH or STD_LOW.
DIO Write ChannelGroup All adjoining subset of DIO channels of a port are set simultaneously. A bit
value '0' sets the corresponding channel to physical STD_LOW, a bit value '1'
sets the corresponding channel to physical STD_HIGH.
DIO Initialization All the global variables of the DIO modules will be initialized.
DIO Flip Channel The level of a single DIO channel will be set with compliment of current level
that is, if current value is STD_HIGH then STD_LOW will be set and vice
versa and then the level of a single DIO Channel will be read.
DIO GetVersionInfo The Dio_GetVersionInfo function shall return the version information of this
module.The version information includes module ID, Vendor ID and Vendor
specific version numbers.
DIO MaskedWrite Port The Dio_MaskedWritePort function shall set the specified value for the
channels in the specified port if the corresponding bit in Mask is ‘1’.
25
Chapter 5 Architecture Details 26
Register Details Chapter 6 Chapter 6 Register Details This section describes the register details of DIO Driver Component.
Table 6-1 Register Details API Name Registers Config Parameter Register Access Macro/Variable R/W/RW Dio_Init
-
-
-
-
Dio_ReadPort
PPRn
-
R
LddPortLevel
JPPRn
-
R
LddPortLevel
Dio_WritePort
PSRn
-
R/W
Level
JPSRn
-
R/W
Level
PMSRn
-
R
LulPortModeLevel
JPMSRn
-
R
LulPortModeLevel
Dio_ReadChannel
PPRn
DioChannelBitPosition
R
LddPortLevel
JPPRn
DioChannelBitPosition
R
LddPortLevel
Dio_WriteChannel
PSRn
DioChannelBitPosition
R/W
LunPSRContent.ulLongWord
JPSRn
DioChannelBitPosition
R/W
LunPSRContent.ulLongWord
PMSRn
-
R
LulPortModeLevel
JPMSRn
-
R
LulPortModeLevel
Dio_FlipChannel
PNOTn
DioChannelBitPosition
W
-
JPNOTn
DioChannelBitPosition
W
-
PPRn
DioChannelBitPosition
R
LddPortLevel
JPPRn
DioChannelBitPosition
R
LddPortLevel
PMSRn
-
R
LulPortModeLevel
JPMSRn
-
R
LulPortModeLevel
Dio_ReadChannelGroup
PPRn
DioPortMask and
R
LddPortLevel
DioPortOffset
JPPRn
DioPortMask and
R
LddPortLevel
DioPortOffset
Dio_WriteChannelGroup
PSRn
DioPortMask and
R/W
LunPSRContent.ulLongWord
DioPortOffset
JPSRn
DioPortMask and
R/W
LunPSRContent.ulLongWord
DioPortOffset
PMSRn
-
R
LulPortModeLevel
JPMSRn
-
R
LulPortModeLevel
Dio_GetVersionInfo
-
-
-
-
Dio_MaskedWritePort
PSRn
-
R/W
-
JPSRn
-
R/W
-
PMSRn
-
R
LulPortModeLevel
JPMSRn
-
R
LulPortModeLevel
27
Chapter 6 Register Details 28
Interaction between the User and DIO Driver Component Chapter 7 Chapter 7 Interaction between the User and DIO
Driver Component The details of the services supported by the DIO Driver Component to the
upper layers users and the mapping of the channels to the hardware units is
provided in the following sections:
7.1. Services Provided By DIO Driver Component To The User
The DIO Driver Component provides the following functionalities to the upper
layers or users:
• To initialize the DIO module.
• To read the physical level value from DIO Port.
• To write specified value into given DIO Port.
• To read physical level value from DIO Channel.
• To write a specified value into the given DIO Channel.
• To read physical level value from DIO ChannelGroup.
• To write specified value into DIO ChannelGroup.
• To read the DIO Driver Component version information.
• To write specified value with a specified mask into given DIO Port.
• To flip the level of a channel and return the level of the channel after flip.
29
Chapter 7 Interaction between the User and DIO Driver Component
30
DIO Driver Component Header and Source File Description Chapter 8 Chapter 8 DIO Driver Component Header and Source File Description This section explains the DIO Driver Component’s source and header files.
These files have to be included in the project application while integrating with
other modules.
The C header file generated by DIO Driver Component Code Generation
Tool:
•
Dio_Cfg.h
•
Dio_Cbk.h
The C source file generated by DIO Driver Component Code Generation
Tool:
•
Dio_PBcfg.c
The DIO Driver Component C header files:
•
Dio.h
•
Dio_Debug.h
•
Dio_PBTypes.h
•
Dio_Ram.h
•
Dio_Version.h
•
Dio_RegWrite.h
The DIO Driver Component C source files:
•
Dio.c
•
Dio_Ram.c
•
Dio_Version.c
The Stub C header files:
•
Compiler.h
•
Compiler_Cfg.h
•
MemMap.h
•
Platform_Types.h
•
Det.h
•
Rte.h
•
SchM_Dio.h
31
Chapter 8 DIO Driver Component Header and Source File Description
Dem.h
Std_Types.h
The description of the DIO Driver Component files is provided in the table below:
Table 8-1 Description of the DIO Driver Component Files File Details Dio_Cfg.h
This file is generated by the DIO Driver Component Code Generation Tool for DIO
Driver Component pre-compile time parameters. This file contains macro definitions
for the configuration elements. The macros and the parameters generated will vary
with respect to the configuration in the input ARXML file.
Dio_Cbk.h
This file contains declarations of notification functions to be used by the application.
The notification function name can be configured.
Dio_PBcfg.c
This file contains post-build configuration data. The structures related to DIO
Initialization are provided in this file. Data structures will vary with respect to
parameters configured.
Dio.h
This file provides extern declarations for all the DIO Driver Component APIs. This file
provides service Ids of APIs, DET Error codes and Global Data Types for DIO Driver
component. This header file shall be included in other modules to use the features of
DIO Driver Component.
Dio_Debug.h
This file provides Provision of global variables for debugging purpose.
Dio_RegWrite.h
This file is to have macro definitions for the registers write and verification.
Dio_PBTypes.h
This file contains the macros used internally by the DIO Driver Component code and
the structure declarations related to hardware unit registers, HARDWARE unit,
Channel configuration, Group configuration, Group RAM data and HARDWARE unit
RAM data.
Dio_Ram.h
This file contains the extern declarations for the global variables that are defined in
Dio_Ram.c file and the version information of the file.
Dio_Version.h
This file contains the macros of AUTOSAR version numbers of all modules that are
interfaced to DIO.
Dio.c
This file contains the implementation of all DIO Driver Component APIs.
Dio_Version.c
This file contains the code for checking version of all modules that are interfaced to
DIO.
Dio_Ram.c
This file contains the global variables used by DIO Driver Component.
Compiler.h
Provides compiler specific (non-ANSI) keywords. All mappings of keywords, which
are not standardized, and/or compiler specific are placed and organized in this
compiler specific header.
Compiler_Cfg.h
This file contains the memory and pointer classes.
MemMap.h
This file allows to map variables, constants and code of modules to individual
memory sections. Memory mapping can be modified as per ECU specific needs.
Platform_Types.h
This file provides provision for defining platform and compiler dependent types.
Det.h
This file is a stub for DET Component.
Rte.h
This file is a stub for Rte Component.
Std_Types.h
This file is a stub file which contains the standard type definitions.
SchM_Dio.h
This file provide a stub for SchM component.
Dem.h
This file provides a stub for Dem component.
32
Generation Tool Guide Chapter 9 Chapter 9 Generation Tool Guide For more information on the Dio Driver Component Generation Tool, please
refer “R20UT3709EJ0101-AUTOSAR.pdf” document.
33
Chapter 9 Generation Tool Guide 34
Application Programming Interface Chapter 10 Chapter 10 Application Programming Interface This section explains the Data types and APIs provided by the DIO Driver
Component to the Upper layers.
10.1. Imported Types This section explains the Data types imported by the DIO Driver Component
and lists its dependency on other modules.
10.1.1. Standard Types In this section all types included from the Std_Types.h are listed:
Std_VersionInfoType
10.1.2. Other Module Types DIO Driver Component module does not depend on other modules. Hence no
types from other modules are imported.
10.2. Type Defintions This section explains the type definitions of DIO Driver Component according
to AUTOSAR Specification.
Refer “AUTOSAR_SWS_DIODriver.pdf” for more type definitions
10.2.1. Dio_ChannelType Name: Dio_ChannelType
Type: uint8
Range: 0 to 255
Description: Type definition for Dio_ChannelType used by Dio_ReadChannel and Dio_WriteChannel
35
Chapter 10 Application Programming Interface 10.2.2. Dio_PortType Name: Dio_PortType
Type: uint8
Range: 0 to 255
Description: Type definition for Dio_PortType used by Dio_ReadPort and Dio_WritePort.
10.2.3. Dio_PortLevelType Name: Dio_PortLevelType
Type: uint16
Range: 0 to 65535
Description: Type definition for Dio_PortLevelType used by Dio_ReadPort, Dio_WritePort,
Dio_ReadChannelGroup and Dio_WriteChannelGroup.
10.2.4. Dio_ConfigType Name: Dio_ConfigType
Type: Structure
Range: Implementation specific.
This structure contains all post-build configurable parameters of the DIO driver.
Description: A pointer to this structure is passed to the DIO driver initialization function for
configuration.
36
Application Programming Interface Chapter 10 10.3. Function Definitions Table10-1 DIO Driver Component’s API list. Sl no API’s of R4.0.3 1.
Dio_Init
2.
Dio_ReadPort
3.
Dio_WritePort
4.
Dio_ReadChannel
5.
Dio_WriteChannel
6.
Dio_FlipChannel
7.
Dio_ReadChannelGroup
8.
Dio_WriteChannelGroup
9.
Dio_MaskedWritePort
10.
Dio_GetVersionInfo
10.3.1. Dio_Init Name: Dio_Init
FUNC (void, DIO_PUBLIC_CODE) Dio_Init
Prototype: (P2CONST(Dio_ConfigType, DIO_VAR, DIO_APPL_CONST) ConfigPtr)
Service ID: 0x10
Sync/Async: Synchronous
Reentrancy: Non-Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_ConfigType
ConfigPtr
NA
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: None
None
Description: Initializes the Dio module.
Configuration None
Dependency: Preconditions: None
37
Chapter 10 Application Programming Interface 10.3.2. Dio_ReadPort Name: Dio_ReadPort
Prototype: FUNC(Dio_PortLevelType, DIO_PUBLIC_CODE) Dio_ReadPort(Dio_PortType PortId)
Service ID: 0x02
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_PortType
PortId
0 . . . 255
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: Dio_PortLevelType
0 to 65535
Description: This service returns the level of all channels of given port.
Configuration None
Dependency: Preconditions: DIO Driver must be initialized
10.3.3. Dio_WritePort Name: Dio_WritePort
FUNC(void, DIO_PUBLIC_CODE) Dio_WritePort (Dio_PortType PortId,
Prototype: Dio_PortLevelType Level)
Service ID: 0x03
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_PortType
PortId
0 . . . 255
Dio_PortLevelType
Level
0x00 / 0x01
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: None
None
Description: This service writes the specified level to all the channels in given Port.
Configuration None
Dependency: Preconditions: DIO Driver must be initialized.
38
Application Programming Interface Chapter 10 10.3.4. Dio_ReadChannel Name: Dio_ReadChannel
FUNC(Dio_LevelType, DIO_PUBLIC_CODE) Dio_ReadChannel(Dio_ChannelType
Prototype: ChannelId)
Service ID: 0x00
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_ChannelType
ChannelId
0 . . . 255
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: Dio_LevelType
0x00 / 0x01
Description: This service returns the value of the specified DIO channel.
Configuration None
Dependency: Preconditions: This service returns the value of the specified DIO channel.
10.3.5. Dio_WriteChannel Name: Dio_WriteChannel
FUNC(void, DIO_PUBLIC_CODE) Dio_WriteChannel
Prototype: (Dio_ChannelType ChannelId, Dio_LevelType Level)
Service ID: 0x01
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_ChannelType
Channel Id
0 . . .255
Dio_PortLevelType
Level
0x00 / 0x01
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: None
None
Description: This service writes the value of the level into specified channel of given port.
Configuration None
Dependency: Preconditions: DIO Driver must be initialized.
39
Chapter 10 Application Programming Interface 10.3.6. Dio_ReadChannelGroup Name: Dio_ReadChannelGroup
FUNC(Dio_PortLevelType, DIO_PUBLIC_CODE) Dio_ReadChannelGroup
Prototype: (P2CONST(Dio_ChannelGroupType, DIO_VAR, DIO_CONFIG_CONST)
ChannelGroupIdPtr)
Service ID: 0x04
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_ChannelGroupType ChannelGroupIdPtr
NA
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value:
Dio_PortLevelType
0 to 65535
Description: This Service reads a subset of the adjoining bits of a port.
Configuration None
Dependency: Preconditions: DIO Driver must be initialized.
10.3.7. Dio_WriteChannelGroup Name: Dio_WriteChannelGroup
FUNC(void, DIO_PUBLIC_CODE) Dio_WriteChannelGroup
Prototype: (P2CONST(Dio_ChannelGroupType, DIO_VAR, DIO_CONFIG_CONST)
ChannelGroupIdPtr, Dio_PortLevelType Level)
Service ID: 0x05
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_ChannelGroupType ChannelGroupIdPtr
NA
Dio_PortLevelType
Level
0x00 / 0x01
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: None
None
Description: Service to set a subset of the adjoining bits of a port to a specified level.
Configuration None
Dependency: Preconditions: DIO Driver must be initialized.
40
Application Programming Interface Chapter 10 10.3.8. Dio_MaskedWritePort Name: Dio_MaskedWritePort
FUNC(void, DIO_PUBLIC_CODE) Dio_MaskedWritePort
Prototype: (Dio_PortType PortId, Dio_PortLevelType Level,Dio_PortLevelType Mask)
Service ID: 0x13
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_PortType
PortId
0. . . . 255
Dio_PortLevelType
Level
0x00 / 0x01
Dio_PortLevelType
Mask
0. . . . 65535
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: None
None
Description: Service to set the value of a given port with required mask.
Configuration Parameter DioMaskedWritePortApi should be configured as TRUE
Dependency: Preconditions: DIO Driver must be initialized.
10.3.9. Dio_FlipChannel Name: Dio_FlipChannel
FUNC(Dio_LevelType, DIO_PUBLIC_CODE) Dio_FlipChannel(Dio_ChannelType
Prototype: ChannelId)
Service ID: 0x11
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: Dio_ChannelType
Channel Id
0 . . . 255
Parameters InOut: None
NA
NA
Parameters out: None
NA
NA
Type
Possible Return Values
Return Value: Dio_LevelType
0x00 / 0x01
Description: Service to flip (change from 1 to 0 or from 0 to 1) the level of a channel and return the
level of the channel after flip.
Configuration Parameter DioFlipChannelApi should be configured as TRUE
Dependency: 41
Chapter 10 Application Programming Interface Preconditions: DIO Driver must be initialized.
10.3.10. Dio_GetVersionInfo Name: Dio_GetVersionInfo
FUNC(void, DIO_PUBLIC_CODE) Dio_GetVersionInfo
Prototype: (P2VAR(Std_VersionInfoType, AUTOMATIC, DIO_APPL_DATA)versioninfo)
Service ID: 0x12
Sync/Async: Synchronous
Reentrancy: Reentrant
Type
Parameter
Value/Range
Parameters In: None
None
NA
Parameters InOut: None
NA
NA
Parameters out: Std_VersionInfoType
Versioninfo
NA
Type
Possible Return Values
Return Value: None
None
Description: Service to get the version information of dio module.
Configuration Parameter DioVersionInfoApi should be configured as TRUE
Dependency: Preconditions: DIO Driver must be initialized.
42
Development and Production Errors Chapter 11 Chapter 11 Development and Production Errors In this section the development errors that are reported by the DIO Driver
Component are tabulated. The development errors will be reported only when
the pre compiler option DIO_DEV_ERROR_DETECT is enabled in the
configuration. The DIO Driver Component does not support any production
errors.
11.1. DIO Driver Component Development Errors The following contains the DET errors that are reported by DIO Driver
Component. These errors are reported to Development Error Tracer Module
when the DIO Driver Component APIs are invoked with wrong input
parameters or without initialization of the driver.
Table11-1 DET Errors of DIO Driver Component Sl. No. 1 Error Code
DIO_E_PARAM_INVALID_CHANNEL_ID
Related API(s)
Dio_ReadChannel , Dio_WriteChannel and Dio_FlipChannel
Source of Error
When the above mentioned APIs are invoked with invalid Channel ID
Sl. No. 2 Error Code
DIO_E_PARAM_CONFIG
Related API(s)
Dio_Init
Source of Error
When the above mentioned API is invoked with NULL parameter.
Sl. No. 3 Error Code
DIO_E_PARAM_INVALID_PORT_ID
Related API(s)
Dio_ReadPort, Dio_WritePort , Dio_WriteChannel, Dio_FlipChannel,
Dio_WriteChannelGroup and Dio_MaskedWritePort
Source of Error
When the above mentioned APIs are invoked with invalid Port ID
Sl. No. 4 Error Code
DIO_E_PARAM_INVALID_GROUP
Related API(s)
Dio_ReadChannelGroup and Dio_WriteChannelGroup
Source of Error
When the above mentioned APIs are invoked with invalid ChannelGroup ID
Sl. No. 5 Error Code
DIO_E_INVALID_DATABASE
Related API(s)
Dio_Init
Source of Error
When the above mentioned API is called without a database or invalid database
43
Chapter 11 Development and Production Errors Sl. No. 6 Error Code
DIO_E_UNINIT
Related API(s)
Dio_ReadChannel, Dio_WriteChannel, Dio_ReadPort, Dio_WritePort,
Dio_ReadChannelGroup , Dio_WriteChannelGroup and
Dio_FlipChannel, Dio_MaskedWritePort
Source of Error
When the above mentioned APIs are invoked without module initialization.
Sl. No. 7 Error Code
DIO_E_PARAM_POINTER
Related API(s)
Dio_ReadChannelGroup , Dio_WriteChannelGroup and Dio_GetVersionInfo
Source of Error
When the above mentioned APIs are invoked with NULL pointer
11.2. DIO Driver Component Production Errors In this section the DEM errors identified in the DIO Driver component are
listed. DIO Driver component reports these errors to DEM by invoking
Dem_ReportErrorStatus API. This API is invoked, when the processing of
the given API request fails.
Table11-2 DEM Errors of DIO Driver Component
Sl. No. 1 Error Code
DIO_E_REG_WRITE_VERIFY
Related API(s)
Dio_WritePort, Dio_WriteChannel, Dio_FlipChannel, Dio_WriteChannelGroup,
Dio_MaskedWritePort
Source of Error
When register write-verify fails.
44













Memory Organization Chapter 12 Chapter 12 Memory Organization Following picture depicts a typical memory organization, which must be met
for proper functioning of DIO Driver Component software.
ROM Section DIO Driver Component RAM Section Library / Object Files Global RAM of unspecific size required for DIO
Driver functioning.
Y1 Segment Name:
NO_INIT_RAM_UNSPECIFIED DIO Driver code related to AP Is are
Global 1- bit RAM to be initialized by start- up
placed in this memory.
X1 code.
Segment Name :
Y2 Segment Name:
DIO_PUBLIC _CODE_ROM RAM_1BIT: Global 16- bit RAM to be initialized by start- up
code.
Y3 Segment Name:
NO_INIT_RAM_16BIT: Tool Generated File The const section (other than D IO Configuration
structure) in the file Dio_PBcfg.c is placed in this
memory
X2
Segment Name:
DIO_CFG_DATA_UNSPECIFIED Figure 12-1 DIO Driver Component Memory Organization 45
Chapter 12 Memory Organization DIO_PUBLIC_CODE_ROM (X1): API(s) of DIO Driver Component, which
can be located in code memory.
DIO_CFG_DATA_UNSPECIFIED (X2): This section consists of DIO
Driver Component constant configuration structures. This can be located in
code memory.
RAM Section (Y1, and Y2): NO_INIT_RAM_UNSPECIFIED (Y1): This section consists of the global RAM
pointer variables that are used internally by DIO Driver Component. This can
be located in data memory.
RAM_1BIT (Y2): This section consists of the global RAM variables of 1-bit
size that are used internally by DIO Driver Component. This can be located in
data memory.
NO_INIT_RAM_16BIT (Y3): This section consists of the global RAM
variables of 16-bit size that are used internally by DIO Driver Component and
other software components. The specific sections of respective software
components will be merged into this RAM section accordingly. This can be
located in data memory.
Notes:
• X1, Y1, and Y2 pertain to only DIO Driver Component and do not include
memory occupied by Dio_PBcfg.c files generated by DIO Driver
Component Generation Tool.
• User must ensure that none of the memory areas overlap with each other.
Even ‘debug’ information should not overlap.
46
P1M Specific Information Chapter 13 Chapter 13 P1M Specific Information P1M supports following devices:
•
R7F701304
•
R7F701305
•
R7F701310
•
R7F701311
•
R7F701312
•
R7F701313
•
R7F701314
•
R7F701315
•
R7F701318
•
R7F701319
•
R7F701320
•
R7F701321
•
R7F701322
•
R7F701323
13.1. Interaction between the User and DIO Driver Component
13.1.1. Translation Header File The P1x_translation.h file supports following devices:
•
R7F701304
•
R7F701305
•
R7F701310
•
R7F701311
•
R7F701312
•
R7F701313
•
R7F701314
•
R7F701315
•
R7F701318
•
R7F701319
•
R7F701320
•
R7F701321
•
R7F701322
•
R7F701323
47
Chapter 13 P1M Specific Information 13.1.2. Parameter Definition File Parameter definition files support information for P1M
Table13-1 PDF information for P1M PDF Files Devices Supported R403_DIO_P1M_04_05_12_13_20_21. 701304, 701305, 701312, 701313, 701320,
arxml
701321
R403_DIO_P1M_10_11_14_15_18_19
701310, 701311, 701314, 701315, 701318,
_22_23.arxml
701319, 701322, 701323
13.2. Sample Application 13.2.1 Sample Application Structure The Sample Application is provided as reference to the user to understand the
method in which the DIO APIs can be invoked from the application.
Generic AUTOSAR TYPES
COMPILER
rh850
TYPES
Devices STUB
P1x
Det
DIO
Sample
Dem
Application
Figure 13-1 Overview of DIO Driver Sample Application 48
P1M Specific Information Chapter 13 The Sample Application of the P1M is available in the path
X1X/P1x/modules/dio/sample_application
The Sample Application consists of the following folder structure
X1X/P1x/modules/dio/definition/<Subvariant>/R403_DIO_P1M_04_05_12_13_
20_21.arxml
X1X/P1x/modules/dio/definition/<Subvariant>/R403_DIO_P1M_10_11_14_15_
18_19_22_23.arxml
X1X/P1x/modules/dio/sample_application/<Subvariant> /<AUTOSAR_version>
/src/Dio_PBcfg.c
/inc/Dio_Cfg.h
/inc/Dio_Cbk.h
/config/App_DIO_P1M_701304_Sample.arxml
/config/App_DIO_P1M_701305_Sample.arxml
/config/App_DIO_P1M_701310_Sample.arxml
/config/App_DIO_P1M_701311_Sample.arxml
/config/App_DIO_P1M_701312_Sample.arxml
/config/App_DIO_P1M_701313_Sample.arxml
/config/App_DIO_P1M_701314_Sample.arxml
/config/App_DIO_P1M_701315_Sample.arxml
/config/App_DIO_P1M_701318_Sample.arxml
/config/App_DIO_P1M_701319_Sample.arxml
/config/App_DIO_P1M_701320_Sample.arxml
/config/App_DIO_P1M_701321_Sample.arxml
/config/App_DIO_P1M_701322_Sample.arxml
/config/App_DIO_P1M_701323_Sample.arxml
In the Sample Application all the DIO APIs are invoked in the following
sequence:
• The API Dio_GetVersionInfo is invoked to get the version of the DIO
Driver module with a variable of Std_VersionInfoType, after the call of
this API the passed parameter will get updated with the DIO Driver
version details.
• The API Dio_Init is invoked with a valid database address for the
proper initialization of the DIO Driver, all the DIO Driver control
registers and RAM variables will get initialized after this API is called.
• The API Dio_WriteChannel is invoked to set the required level of a
49
Chapter 13 P1M Specific Information particular channel. It sets the output level of the channel if that particular
channel is configured in output mode. If channel is configured for input
mode, Dio_WriteChannel has no effect.
•
The API Dio_ReadChannel reads the actual physical level of the
required channel. The level read for the input channel is actual
physical level of that channel if input buffer for that channel is
enabled. The level read for the output channel is actual physical level
of that channel if bidirectional control for that channel is enabled.
• The API Dio_WritePort is invoked to simultaneously set the required
levels to all channels of a port. It sets the output level of the channels
which are configured in output mode, for the channels which are
configured in input mode, Dio_WritePort has no effect.
•
The API Dio_ReadPort reads the actual physical level of all the port
pins of a required port. The level read for the input port pin is actual
physical level of that port pin if input buffer for that port pin is enabled.
The level read for the output port pin is actual physical level of that port
pin if bidirectional control for that port pin is enabled.
•
The API Dio_WriteChannelGroup is invoked to simultaneously set the
required levels to group of channels of a port. It sets the output level of
the channels which are configured in output mode, for the channels
which are configured in input mode, Dio_WriteChannelGroup has no
effect.
•
The API Dio_ReadChannelGroup reads the actual physical level of
channel group of a required port. The level read for the input channel
group is actual physical level of that channel group if input buffer for that
channel group is enabled. The level read for the output channel group is
actual physical level of that channel group if bidirectional control for that
channel group is enabled.
• The API Dio_MaskedWritePort provides service to set value of given port
with required mask.The Dio_MaskedWritePort function shall set the
specified value for the channel in specified port if the corresponding bit in
mask is ‘1’.
• The API Dio_FlipChannel reads the level of the channel and invert it,
then write the inverted level to the channel if the channel is configured as
output channel and the function shall have no influence on the physical
output if the channel is configured as input channel.
13.2.2 Building Sample Application 13.2.2.1 Configuration Example This section contains the typical configuration which is used for measuring
RAM/ROM consumption, stack depth and throughput details.
Configuration Details: Name of the configuration file:
App_DIO_<SubVariant>_<Device_Name>_Sample.arxml
13.2.2.2 Debugging the Sample Application Remark GNU Make utility version 3.81 or above must be installed and available in the
path as defined by the environment user variable “GNUMAKE” to complete
the build process using the delivered sample files.
50
P1M Specific Information Chapter 13 • Open a Command window and change the current working directory
to “make” directory present as mentioned in below path:
“X1X\P1x\common_family\make\<Compiler>”
Now execute batch file SampleApp.bat with following parameters:
SampleApp.bat dio 4.0.3 <Device_name>
<Device_name> can be 701304, 701305, 701310, 701311, 701312,
701313, 701314, 701315, 701318, 701319,
701320, 701321, 701322 and 701323.
After this, the tool output files will be generated with the configuration as
mentioned in App_DIO_P1M_<Device_name>_Sample.arxml file
available in the path:
• “X1X\P1x\modules\dio\sample_application\<SubVariant>\<AUTOSAR_versi
on> \config”
• After this, all the object files, map file and the executable file Sample.out
will be available in the output folder
(“X1X\P1x\modules\dio\sample_application\<SubVariant>\obj\<Compiler>”
in this case).
• The executable can be loaded into the debugger and the sample
application can be executed.
Remark Executable files with ‘*.out’ extension can be downloaded into the target
hardware with the help of Green Hills debugger.
If any configuration changes (only post-build) are made to the
ECU Configuration Description files
“X1X\P1x\modules\dio\sample_application\< SubVariant >
\<AUTOSAR_version>config \ App_DIO_P1M_701318_Sample.arxml”
The database alone can be generated by using the following commands.
make –f App_DIO_P1M_Sample.mak generate_dio_config
make –f App_DIO_P1M_Sample.mak App_Dio_P1M_Sample.s37
After this, a flashable Motorola S-Record file App_Dio_P1M_Sample.s37 is
available in the output folder.
13.3. Memory and Throughput 13.3.1. ROM/RAM Usage The details of memory usage for the typical configuration provided in Section
13.2.2.1
Configuration Example are provided in this section.
51
Chapter 13 P1M Specific Information Table13-2 ROM/RAM Details with DET Sl. ROM/Segment Name Size in bytes for No. RAM 144 pin device
R7F701318 1.
ROM
DIO_PUBLIC_CODE_ROM
1530
DIO_PRIVATE_CODE_ROM
0
CONST_ROM_UNSPECIFIED
0
DIO_CFG_DATA_UNSPECIFIED
72
2.
RAM
NO_INIT_RAM_16BIT
2
NO_INIT_RAM_UNSPECIFIED
8
DIO_CFG_RAM_UNSPECIFIED
0
The details of memory usage for the typical configuration, with DET enabled
and all other configurations as provided in 13.2.2.1
Configuration Example are
provided in this section.
Table13-3 ROM/RAM Details without DET Sl. ROM/Segment Name Size in bytes for No. RAM 144 pin device
R7F701318 1.
ROM
DIO_PUBLIC_CODE_ROM
836
DIO_PRIVATE_CODE_ROM
0
CONST_ROM_UNSPECIFIED
0
DIO_CFG_DATA_UNSPECIFIED
72
2.
RAM
NO_INIT_RAM_16BIT
2
NO_INIT_RAM_UNSPECIFIED
8
DIO_CFG_RAM_UNSPECIFIED
0
13.3.2. Stack Depth The worst-case stack depth for DIO Driver Component for the typical
Configuration provided in Section 13.2.2.1 is 24 bytes.
52
P1M Specific Information Chapter 13 13.3.3. Throughput Details The throughput details of the APIs for the configuration mentioned in the
Section13.2.2.1 Configuration Example.
The clock frequency used to measure the throughput is 80 MHz for all APIs.
Table13-4 Throughput Details of the APIs Sl. No. API Name Throughput in Remarks microseconds for
R7F701318 1.
Dio_Init
0.3
-
2.
Dio_WriteChannel
1.275
-
3.
Dio_ReadChannel
0.475
-
4.
Dio_WritePort
1.112
-
5.
Dio_ReadPort
0.325
-
6.
Dio_WriteChannelGroup 1.287
-
7.
Dio_ReadChannelGroup 0.5
-
8.
Dio_MaskedWritePort
1.1
-
9.
Dio_FlipChannel
1.375
-
10.
Dio_GetVersionInfo
0.137
-
53
Chapter 13 P1M Specific Information 54
Release Details Chapter 14 Chapter 14 Release Details
DIO Driver Software Version: 1.0.12
55
Chapter 14 Release Details 56
Revision History Sl.No. Description Version Date 1.
Initial Version
1.0.0
30-Sep-2013
2
Updated for 100 pins and 144 pins device for P1x E4.02
1.0.1
27-Jan-2014
3
Following change is made:
1.0.2
13-Mar-2014
In page no 40, Header is changed.
In section 13.3.2.1, configuration file mentioned changed.
In page no 54, Header is added.
4.
Following change is made:
1.0.3
25-Aug-2014
In section 13.4 RAM/ROM details and throughput details
are updated.
Section 13.1.2 is added.
Section 13.2 is updated for compile and Linker and
Assembler options.
5.
Following changes are made:
1.0.4
04-Sep-2014
Table 11-1 is updated.
Repeated DIO_CFG_DBTOC_UNSPECIFIED is removed
from RAM section from table 13-5 and from table 13-6.
DIO_E_PARAM_POINTER is removed from DET Error
codes.
6.
Following changes are made:
1.0.5
18-Nov-2014
User manual is updated as per Template.
Dio_MaskedWritePort information is provided in section 5
and section 7.
Throughput Details are updated in section 13.4.3
7.
Following changes are made:
1.0.6
27-May-2015
Chapter 2 reference documents section is updated.
Chapter 3 section 3.1.1 is updated for new devices.
Chapter 4 section 4.1 General is updated and a note is
added regarding interrupt vector (.c) file
Chapter 4 section 4.4 Deviation list is updated.
Chapter 13 Section for compiler, linker, and assembler
details is removed.
Chapter 13
13.1.1 Translation header files section is updated as per
new devices.
13.1.2 PDF section is updated as per new devices.
13.2.1 Sample application structure is updated for new
devices
13.2.2 Building sample application section is updated
13.3 Memory and throughput details are updated for 144
pin devices.
8.
Following changes are made,
1.0.7
28-Mar-2016
1. In section 13.2, the description details for the APIs are updated.
2. In Chapter 14,DIO Driver Software version is updated
3. In Chapter 4, section General is updated.
4. Chapter 2 is updated for related documents.
5. Chapter 3 is updated for RUCG details.
6. Chapter 9 is updated for R-Number version of TUM.
7. Chapter 12 ‘Memory Organization’ has been updated to remove
the sections DIO_CFG_DBTOC_UNSPECIFIED and RAM_1BIT and
added NOINIT_RAM_16BIT.
8. Chapter 13.3 ‘Memory and Throughput’ is updated.
9. Section 4.3 Data Consistency is updated for exclusive areas.
57
Sl.No. Description Version Date 9
Following changes are made,
1.0.8
04-Aug-2016
1. Updated section 4.4 Deviation list
2. Updated section 13.3. Memory and throughput details.
3. Added a ‘Note’ below the table 'Supervisor mode and User
mode details'.
4. Updated section 13.2, removed reference to .one and .html files
5. Updated Chapter 6 ‘Register Details’.
6. Updated section 4.3 Data consistency by adding Table 4-1
Dio driver protected resources list.
7. R Number updated.
8. Updated Chapter 14 ‘Release Details’.
9.Updated Chapter 12 ‘Memory Organization’.
10.Chapter 8 is updated for Dio_RegWrite.h in C Header files
and Std_Types.h added to Stub files.
11.Clock frequency mentioned in section 13.3.3 is changed
to 80Mhz.
10
Following changes are made,
1.0.9
21-Oct-2016
1. Updated Chapter 6 ‘Register Details’.
2. Updated section 13.3 Memory and Throughput.
3. Updated section 4.2 Preconditions.
4. Updated section 3.1.1 Folder Structure.
11
Following changes are made:
1.0.10
16-Feb-2017
1. Section 10.3 Function Definitions updated.
2. Updated Chapter 11 Development and Production Errors.
3. Abbreviations and Acronyms updated.
4. Chapter 2 ‘Reference section’ updated.
5. R Number updated.
6. Updated Driver Version Details in Chapter 14 ‘Release Details’.
7. Updated section 13.3 ‘Memory and Throughput’.
8. Updated chapter 4 ‘Forethoughts’.
9. Updated notice and copyright information.
10. Modified Figure 5-2 in chapter 5.
58
59
AUTOSAR MCAL R4.0.3 User's Manual DIO Driver Component Ver.1.0.10
Embedded User’s Manual Publication Date: Rev.1.01, February 16, 2017
Published by: Renesas Electronics Corporation

SALES OFFICES http://www.renesas.com Refer
to "http://www.renesas.com/" for the latest and detailed information.
Renesas Electronics America Inc.
2801 Scott Boulevard Santa Clara, CA 95050-2549, U.S.A.
Tel: +1-408-588-6000, Fax: +1-408-588-6130
Renesas Electronics Canada Limited
9251 Yonge Street, Suite 8309 Richmond Hill, Ontario Canada L4C 9T3
Tel: +1-905-237-2004
Renesas Electronics Europe Limited
Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, U.K
Tel: +44-1628-585-100, Fax: +44-1628-585-900
Renesas Electronics Europe GmbH
Arcadiastrasse 10, 40472 Düsseldorf, Germany
Tel: +49-211-6503-0, Fax: +49-211-6503-1327
Renesas Electronics (China) Co., Ltd.
Room 1709, Quantum Plaza, No.27 ZhiChunLu Haidian District, Beijing 100191, P.R.China
Tel: +86-10-8235-1155, Fax: +86-10-8235-7679
Renesas Electronics (Shanghai) Co., Ltd.
Unit 301, Tower A, Central Towers, 555 Langao Road, Putuo District, Shanghai, P. R. China 200333
Tel: +86-21-2226-0888, Fax: +86-21-2226-0999
Renesas Electronics Hong Kong Limited
Unit 1601-1611, 16/F., Tower 2, Grand Century Place, 193 Prince Edward Road West, Mongkok, Kowloon, Hong Kong
Tel: +852-2265-6688, Fax: +852 2886-9022
Renesas Electronics Taiwan Co., Ltd.
13F, No. 363, Fu Shing North Road, Taipei 10543, Taiwan
Tel: +886-2-8175-9600, Fax: +886 2-8175-9670
Renesas Electronics Singapore Pte. Ltd.
80 Bendemeer Road, Unit #06-02 Hyflux Innovation Centre, Singapore 339949
Tel: +65-6213-0200, Fax: +65-6213-0300
Renesas Electronics Malaysia Sdn.Bhd.
Unit 1207, Block B, Menara Amcorp, Amcorp Trade Centre, No. 18, Jln Persiaran Barat, 46050 Petaling Jaya, Selangor Darul Ehsan, Malaysia
Tel: +60-3-7955-9390, Fax: +60-3-7955-9510
Renesas Electronics India Pvt. Ltd.
No.777C, 100 Feet Road, HAL II Stage, Indiranagar, Bangalore, India
Tel: +91-80-67208700, Fax: +91-80-67208777
Renesas Electronics Korea Co., Ltd.
12F., 234 Teheran-ro, Gangnam-Gu, Seoul, 135-080, Korea
Tel: +82-2-558-3737, Fax: +82-2-558-5141
© 2006-2017 Renesas Electronics Corporation. All rights reserved.
Colophon 4.1

AUTOSAR MCAL R4.0.3
User’s Manual
R20UT3708EJ0101
Document Outline
6 - R20UT3709EJ0101-AUTOSAR
AUTOSAR MCAL R4.0 User's Manual8 - R20UT3709EJ0101-AUTOSARs


AUTOSAR MCAL R4.0.3
User’s Manual
DIO Driver Component Ver.1.0.6
Generation Tool User’s Manual
Target Device:
RH850/P1x
All information contained in these materials, including products and product specifications,
represents information on the product at the time of publication and is subject to change by
Renesas Electronics Corp. without notice. Please review the latest information published by
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp.
website
(http://www.renesas.com). www.renesas.com Rev.1.01 Feb 2017
2
Notice
1.
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits,
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and
damages incurred by you or third parties arising from the use of these circuits, software, or information.
2.
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents,
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information
described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application examples.
3.
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas
Electronics or others.
4.
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics
disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copy or
otherwise misappropriation of Renesas Electronics products.
5.
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.
"Standard": Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment;
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc.
"High Quality": Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication
equipment; key financial terminal systems; safety control equipment; etc.
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and undersea
repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any
and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for which the
product is not intended by Renesas Electronics.
6.
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the ranges
specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation characteristics,
installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of the use of Renesas
Electronics products beyond such specified ranges.
7.
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention,
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your products/system.
Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the final products or
systems manufactured by you.
8.
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas
Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances, including
without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all these applicable
laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with
applicable laws and regulations.
9.
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale
is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or technologies for (1)
any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction, such as nuclear weapons,
chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering such weapons, (2) any purpose
relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of disturbing international peace and
security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or technologies to any third party whether directly
or indirectly with knowledge or reason to know that the third party or any other party will engage in the activities described above. When
exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall comply with any applicable export control laws and
regulations promulgated and administered by the governments of the countries asserting jurisdiction over the parties or transactions.
10. Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from your
resale or making Renesas Electronics products available any third party.
11. This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas
Electronics.
12. Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas
Electronics products.
(Note 1) "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned
subsidiaries.
(Note 2) "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics.
3
3
4
Abbreviations and Acronyms Abbreviation / Acronym Description API
Application Programming Interface
AUTOSAR
AUTomotive Open System ARchitecture
BSWMDT
Basic Software Module Description Template
ECU
Electronic Control Unit
Dio/DIO
Digital Input Output
Id
Identifier
MCAL
Microcontroller Abstraction Layer
Msn
Module short name
RUCG
Renesas Unified Code Generator
Rev
Revision
XML
eXtensible Mark-up Language
Definitions Terminology Description BSWMDT File
This file is the template for the Basic Software Module Description.
Configuration XML File
This file contains the setting of command line options.
ECU Configuration Description
Input file to DIO Driver Generation Tool. It is generated by ECU
File
Configuration Editor.
Sl.No
Serial Number.
Translation XML File
This file contains the translation and device specific header file path.
5
6
Table of Contents Chapter 1 Introduction ........................................................................................ 9 1.1 Document Overview ............................................................................................................. 9 Chapter 2 Reference ......................................................................................... 11 2.1 Reference Documents ........................................................................................................ 11 2.2 Trademark Notice................................................................................................................ 11 Chapter 3 DIO Driver Generation Tool Overview ............................................ 13 Chapter 4 Input Files ......................................................................................... 15 Chapter 5 Output Files ...................................................................................... 17 Chapter 6 Precautions ...................................................................................... 19 Chapter 7 User Configuration Validation ........................................................ 21 Chapter 8 Messages.......................................................................................... 23 8.1 Error Messages ................................................................................................................... 23 8.2 Warning Messages ............................................................................................................. 27 8.3 Information Messages ........................................................................................................ 27 Chapter 9 Notes ...................................................................................................... 29 7
List of Figures Figure 3-1 Overview of DIO Driver Generation Tool ........................................................................... 13 List of Tables
Table 5-1 Output Files Description ........................................................................................................ 17 Table 8-1 Parameters and Container related to error ERR102004 ....................................................... 23
8
Introduction Chapter 1 Chapter 1 Introduction The DIO Driver component provides the service for initializing the whole DIO
structure of the microcontroller.
The DIO Driver module comprises of two sections as Embedded Software
and the Generation Tool to achieve scalability and configurability.
The document describes the features of the Renesas Unified Code
Generator (RUCG) tool. Renesas Unified Code Generator (RUCG) tool is a
command line tool that extracts information from ECU Configuration
Description File, BSWMDT and Dio_X1x.dll as input File and generates DIO
Driver C Source and C Header files.
Dio_Cfg.h and Dio_PBcfg.c.
This document contains information on the options, input and output files of
the DIO Driver Generation Tool. In addition, this manual covers a step-by-step
procedure for the usage of tool.
ECU Configuration Description File contains information about DIO
configuration.
1.1 Document Overview This user manual is organized as given in the table below:
Section Contents Section 1 (Introduction)
Provides an introduction to the document and explains how information
is organized in this manual.
Section 2 (Reference)
Provides a list of documents referred while developing this document.
Section 3 (DIO Driver
Provides the DIO Driver Generation Tool Overview.
Generation Tool Overview)
Section 4 (Input Files)
Provides information about ECU Configuration Description File.
Section 5 (Output Files)
Explains the output files that are generated by the DIO Driver
Generation Tool.
Section 6 (Precautions)
Contains precautions to be taken during configuration of ECU
Configuration Description File.
Section 7 (User Configuration
Describes about user configuration validation done by the DIO Driver
Validation)
Generation Tool.
Section 8 (Messages)
Describes all the Error/Warning/Information messages of R4.0.3 which
helps the user to understand the probable reason for
the same.
Section 9 (Notes)
Provides notes to help the user to understand this document better.
9
Chapter 1 Introduction 10
Reference Chapter 2 Chapter 2 Reference 2.1 Reference Documents The following table lists the documents referred to develop this document:
Sl.No. Title Version 1.
Autosar R4.0 2.5.0
AUTOSAR_SWS_DIODriver.pdf
P1x Parameter Definition File 1.0.6
2.
R403_DIO_P1M_04_05_12_13_20_21.arxml
3.
P1x Parameter Definition File 1.0.7
R403_DIO_P1M_10_11_14_15_18_19_22_23.arxml
2.2 Trademark Notice Microsoft and Windows are trademarks/registered trademarks of Microsoft
Corporation.
11
Chapter 2 Reference 12
DIO Driver Generation Tool Overview Chapter 3 Chapter 3 DIO Driver Generation Tool Overview DIO Driver Generation Tool overview is shown below.
ECU Configuration Description File, BSWMDT RUCG Dio_Cfg.h, File, Translation Tool Dio_PBcfg.c XML File, Dio_Cbk.h Configuration XML File and Dio_X1x.dll Figure 3-1 Overview of DIO Driver Generation Tool Renesas Unified Code Generator (RUCG) tool is a command line tool that
extracts, analyzes the configuration details provided in the input file and
validates correctness of the data and provides scalability and configurability
for DIO Driver module. It accepts ECU Configuration Description File(s),
Translation XML File, BSWMDT File, Configuration XML and Dio_X1x.dll as
input File as input and displays appropriate context sensitive error messages
for wrong input and exits. Tool creates the Log file (Msn.log) that contains the
list of Error/Warning/Information messages in the output directory.
For the error free input file, the tool generates the following output files:
Dio_Cfg.h and Dio_PBcfg.c.
Dio_Cfg.h will be compiled and linked with DIO Driver Component.
Dio_PBcfg.c will be compiled and linked separately from the other C Source
files and placed in flash.
ECU Configuration Description File can be created or edited using ECU
Configuration Editor.
13
Chapter 3 DIO Driver Generation Tool Overview
Remark •
In case of errors the generation tool returns 1, in case of no errors the
generation tool returns 0.
•
DIO Driver Generation Tool uses “Common Published Information” from
DIO module specific BSWMDT File. DIO module specific BSWMDT File
should not be updated manually since it is “Static Configuration” fil
14
Input Files Chapter 4 Chapter 4 Input Files RUCG Tool accepts ECU Configuration Description File(s), BSWMDT File,
Translation XML File, Configuration XML File and Dio_X1x.dll as input.
RUCG Tool needs information about DIO Driver module. Hence ECU
Configuration Description File should contain configuration of
DIO Driver module. Generation Tool ignores any other AUTOSAR component
configured in the ECU Configuration Description File. ECU Configuration
Description File can be generated using configuration editor.
ECU Configuration Description File must comply with AUTOSAR standard
ECU Configuration Description File format.
Remark The detailed explanation about the parameters and containers are found in
Parameter Definition File mentioned in the Reference Documents section.
15
Chapter 4 Input Files 16
Output Files Chapter 5 Chapter 5 Output Files RUCG Tool generates configuration details in C Header and C Source files.
(DIO Driver Generation Tool will generate Dio_Cfg.h and
Dio_PBcfg.c files.).
The content of each output file is given in the table below:
Table 5-1 Output Files Description Output File Details Dio_Cfg.h
This file contains the macro definitions for development error detects, version info API
and channel group. This file contains DIO Channel Configuration Handles, DIO Port
Configuration Handles and DIO Channel Group Configuration Handles.
Dio_PBcfg.c
This file contains Data Structures for DIO Port Group Configuration, DIO Port Channel
Configuration and DIO Port Channel Group Configuration. This file also contains
information on Number of ports and Channels configured.
Dio_Cbk.h
This file contains callback function prototype declarations to be used by application.
Remark Output files generated by RUCG Tool should not be modified or edited
manually.
17
Chapter 5 Output Files 18
Precautions Chapter 6 Chapter 6 Precautions • ECU Configuration Description File and BSWMDT File must comply with
AUTOSAR standard for R4.0.3 ECU Configuration Description File and
BSWMDT File respectively.
• The input file must contain DIO Driver module.
• Default Configuration XML File (Dio_X1x.cfgxml) must be present in same
location of Dio_X1x.dll.
• If Translation XML File is not provided on the command line, Dio_X1x.trxml
which is present in same location of Dio_X1x.dll is considered as ‘default’
Translation XML File.
• If Configuration XML File is not provided on the command line,
Dio_X1x.cfgxml which is present in same location of Dio_X1x.dll is
considered as ‘default’ Configuration XML File.
• Translation XML File should contain the file extension ‘.trxml’.
• Configuration XML File should contain the file extension ‘.cfgxml’.
• All the function names and the string values configured should follow C
syntax for variables. It can only contain alphanumeric characters and “_”. It
should start with an alphabet.
• If the output files generated by RUCG Tool are modified externally, then
they may not produce the expected results or may lead to
error/warning/Information messages.
• Short Name for a container should be unique within a name space.
• An error free ECU Configuration Description File generated from
configuration editor has to be provided as input to the RUCG Tool.
Otherwise Tool may not produce the expected results or may lead to
errors/warnings/information messages.
• User has to make sure that the respective device specific configuration file
is used otherwise Tool may not produce the expected results or may lead
to errors/warnings/information messages.
• The description file should always be generated using AUTOSAR specified
configuration editor and it should not be edited manually.
Remark Please refer the DIO Component User Manual for deviations from AUTOSAR
Specifications, if any.
19
Chapter 6 Precautions 20
User Configuration Validation Chapter 7 Chapter 7 User Configuration Validation This section provides help to analyze the error, warning and information
messages displayed during the execution of DIO Driver Generation Tool. It
ensures conformance of input file with syntax and semantics. It also performs
validation on the input file for correctness of the data.
For more details on list of Error/Warning/Information messages that are
displayed as a result of input file(s) validation, refer Chapter “8
Messages”.
The Generation Tool displays error or warning or information when the user
has configured incorrect inputs. The format of Error/Warning/Information
message is as shown below.
• ERR/WRN/INF<mid><xxx>: <Error/Warning/Information Message>.
where,
<mid>: 120 - DIO Driver Module id (120) for user configuration checks.
000 - for command line checks.
<xxx>: 001-999 - Message id.
• File Name: Name of the file in which the error has occurred
• Path: Absolute path of the container in which the parameter is present
‘File Name’ and ‘Path’ need not be present for all Error/Warning/Information
messages.
21
Chapter 7 User Configuration Validation 22
Messages Chapter 8 Chapter 8 Messages The messages help to identify the syntax or semantic errors in the ECU
Configuration Description File. Hence it ensures validity and correctness of
the information available in the ECU Configuration Description File.
The following section gives the list of error, warning and information
messages displayed by the Generation Tool.
8.1 Error Messages ERR120001: Number of fields is not same for the entity 'Structure Name'. This error occurs, if the number of fields is not same in the structure that is to
be generated in the output file.
ERR120002: Field 'Field Name' is empty in the entity 'Structure Name'. This error occurs, if the structure fields that are to be generated in the output
file are empty.
ERR120003: 'DIO Driver' Component is not present in the input file(s). This error occurs, if DIO Driver Component is not present in the input ECU
Configuration Description File(s).
ERR120004: The parameter 'parameter name' in the container 'container
name' should be configured. This error occurs, if any of the mandatory configuration parameter(s)
mentioned below is (are) not configured in ECU Configuration Description File.
The list of mandatory parameters with respect to container is listed below:
Table 8-1 Parameters and Container related to error ERR102004
Parameter Name Container Name DioDevErrorDetect
DioMaskedWritePortApi
DioVersionInfoApi
DioGeneral
DioVersionCheckExternalModules
DioDeviceName
DioFlipChannelApi
DioCriticalSectionProtection
DioWriteVerify
DioUseWriteVerifyErrorInterface
23
Chapter 8 Messages Parameter Name Container Name DioPortName
DioPort
DioChannelBitPosition
DioChannel
DioPortMask
DioChannelGroup
DioPortOffset
ERR120005: The value <value for DioPortName> configured for the
parameter ‘DioPortName’ present in the container ‘DioPort’ should be
unique. This error occurs, if the value for parameter DioPortName present in the
container DioPort is not unique.
ERR120006: The value for parameter ‘DioChannelBitPosition’ present in
the container ‘DioChannel’ of the DIO port group <value for DioPortName
parameter> is not in the range of <Start> and <End>. This error occurs, if the value for parameter DioChannelBitPosition present in
the container DioChannel for respective DIO port group is not valid as
configured channel bit position must belongs to the respective DIO port
group. In above error message, <Start> and <End> will be replaced by ‘start
channel bit position’ and ‘end channel bit position’ respectively for selected
DIO port group.
Example: Suppose in PORTGROUP_2_BITS_0_TO_2, only 0 to 2 channels
are available. If user configures channels, which does not belongs to
PORTGROUP_2_BITS_0_TO_2 then it is invalid configuration. Here start is 0
and end is 2.
ERR120007: The value <value for DioChannelBitPosition> configured for
the parameter ‘DioChannelBitPosition’ present in the container ‘DioChannel’ of the DIO port group <value for DioPortName parameter> should be unique. This error occurs, if the value for parameter DioChannelBitPosition present in
the container DioChannel is not unique for respective DIO port group
configured for the parameter DioPortName.
ERR120008: The value for parameter ‘DioPortMask’ <value for the
DioPortMask> present in the container ‘DioChannelGroup’ of the DIO
port group <value for DioPortName parameter> is not valid. This error occurs, if value for parameter DioPortMask present in the container
DioChannelGroup for respective DIO port group is not valid as the grouped
channels must belong to the respective DIO port group.
Example: Suppose in PORTGROUP_2_BITS_0_TO_2, only 0 to 2 channels
are available. In this case, user should not consider channel 3 and channel 4
in channel grouping, since channel 3 and channel 4 does not belong to
PORTGROUP_2_BITS_0_TO_2.
24
Messages Chapter 8
ERR120009: The value for parameter ‘DioPortMask’ <value for the
DioPortMask> present in the container ‘DioChannelGroup’ of the DIO
port group <value for DioPortName parameter> is not valid. While
masking, channels should be grouped in continuous order. This error occurs, if value for parameter DioPortMask present in the container
DioChannelGroup is not valid. The grouped channels should be continuous
order.
Example: Channel 1 and Channel 5 cannot be grouped in one DIO Channel
Group since they are not continuous channels.
ERR120010: The value for parameter ‘DioPortOffset’ <value for the
DioPortOffset> present in the container ‘DioChannelGroup’ of the DIO
port group <value for DioPortName parameter> is not valid. The value of
the parameter ‘DioPortOffset’ should be equal to the start position of the
DIO channel group. This error occurs, if the value for parameter DioPortOffset present in the
container DioChannelGroup is not valid. The value of the parameter
DioPortOffset should be equal to the start position of the DIO channel group.
Example: Suppose DIO channel grouping started from Channel 2 then value
for parameter DioPortOffset should be 2.
ERR120011: The short name <short name for DioPort> configured for
the container ‘DioPort’ should be unique. This error occurs, if short name of the container DioPort is not unique in ECU
Configuration Description File.
ERR120012: The short name <short name for DioChannel> configured
for the container ‘DioChannel’ should be unique. This error occurs, if short name of the container DioChannel is not unique in
each DioPort container.
ERR120013: The short name <short name for DioChannelGroup> configured for the container ‘DioChannelGroup’ should be unique. This error occurs, if short name of the container DioChannelGroup is not
unique in each DioPort container.
ERR120014: The number of ‘DioPort’ container is not same
across multiple configuration sets. This error occurs, if the number of DioPort container is not same across
multiple configuration sets.
ERR120015: The number of ‘DioChannel’ container is not same across
multiple configuration sets. This error occurs, if the number of DioChannel container is not same across
multiple configuration sets.
25
Chapter 8 Messages ERR120016: The number of ‘DioChannelGroup’ container is not same
across multiple configuration sets. This error occurs, if the number of DioChannelGroup container is not same
across multiple configuration sets.
.
ERR120017: The container short name of ‘DioPort’ container is not
same across multiple configuration sets. This error occurs, if the container short name of DioPort container is not same
across multiple configuration sets.
ERR120018: The container short name of ‘DioChannel’ container is not
same across multiple configuration sets. This error occurs, if the container short name of DioChannel container is not
same across multiple configuration sets.
ERR120019: The container short name of ‘DioChannelGroup’ container
is not same across multiple configuration sets. This error occurs, if the container short name of DioChannelGroup container
is not same across multiple configuration sets.
ERR120020: As write-verify check is enabled through the parameter
DioWriteVerify in DioGeneral container and
DioUseWriteVerifyErrorInterface is configured as true. DioWriteVerifyError Interface should have valid error notification.
This error will occur if there is no valid error notification configured for the
parameter Dio UseWriteVerifyError Interface when write-verify check is
enabled.
ERR120021: As write-verify check is enabled through the parameter
DioWriteVerify in DioGeneral container, DIO_E_REG_WRITE_VERIFY in
DioDemEventParameterRefs container should be configured. This error will occur if the parameter DIO_E_REG_WRITE_VERIFY in
DioDemEventParameterRefs container is not configured when write-verify
check is enabled.
ERR120022: The reference path <path> provided for the parameter
'DIO_E_REG_WRITE_VERIFY’ within the container
‘DioDemEventParameterRefs’ is incorrect. This error will occur, if the path provided for the parameter
DIO_E_REG_WRITE_VERIFY in the container DioDemEventParameterRefs
is incorrect.
26
Messages Chapter 8
ERR120023: As write-verify check is disabled via the parameter
DioWriteVerify, DioUseWriteVerifyErrorInterface parameter should not
be configured as true in DioGeneral Container.
This error will occur when the parameter DioUseWriteVerifyErrorInterface is
configured as true, when the write-verify check is disabled.
8.2 Warning Messages None.
8.3 Information Messages None
27
Chapter 8 Messages 28
Notes
Chapter 9
Chapter 9 Notes “Generation tool” and “Tool” terminologies are used interchangeably to refer
DIO driver generation Tool.
29
Chapter 9 Notes
30
Revision History Sl.No. Description Version Date 1.
Initial Version
1.0.0
30-Sep-2013
2.
Parameter ‘DioCriticalSectionProtection’ is updated in Error
1.0.1
01-Sep-2014
message ‘ERR120004’.
Reference Documents section is updated for addition of Parameter
definition file reference in chapter 2.
Precautions chapter is updated.
3.
Section 2.1 Reference documents section is updated with the
1.0.2
27-Apr-2015
parameter definition file names.
4
R-Number is added.
1.0.3
28-Mar-2016
Chapter 2.1, Reference Documents version details are updated.
5
Chapter 8.1 Error Messages updated.
1.0.4
04-Aug-2016
Chapter 2.1 Reference Documents version details are updated.
Chapter 3 , Figure 3-1 is updated.
Chapter 5 , Table 5-1 is updated.
R-Number updated.
6
Table headers added for Table 8.1
1.0.5
09-Sep-2016
7
1.0.6
16-Feb-2017
R Number updated.
Updated notice and copyright information
Updated Abbreviations and Acronyms
Page numbers corrected.
Updated chapter 2 References
31
AUTOSAR MCAL R4.0.3 User's Manual DIO Driver Component Ver.1.0.6 Generation Tool User's Manual Publication Date: Rev 1.01, February 16, 2017
Published by: Renesas Electronics Corporation

SALES OFFICES http://www.renesas.com Refer
to "http://www.renesas.com/" for the latest and detailed information.
Renesas Electronics America Inc.
2801 Scott Boulevard Santa Clara, CA 95050-2549, U.S.A.
Tel: +1-408-588-6000, Fax: +1-408-588-6130
Renesas Electronics Canada Limited
9251 Yonge Street, Suite 8309 Richmond Hill, Ontario Canada L4C 9T3
Tel: +1-905-237-2004
Renesas Electronics Europe Limited
Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, U.K
Tel: +44-1628-585-100, Fax: +44-1628-585-900
Renesas Electronics Europe GmbH
Arcadiastrasse 10, 40472 Düsseldorf, Germany
Tel: +49-211-6503-0, Fax: +49-211-6503-1327
Renesas Electronics (China) Co., Ltd.
Room 1709, Quantum Plaza, No.27 ZhiChunLu Haidian District, Beijing 100191, P.R.China
Tel: +86-10-8235-1155, Fax: +86-10-8235-7679
Renesas Electronics (Shanghai) Co., Ltd.
Unit 301, Tower A, Central Towers, 555 Langao Road, Putuo District, Shanghai, P. R. China 200333
Tel: +86-21-2226-0888, Fax: +86-21-2226-0999
Renesas Electronics Hong Kong Limited
Unit 1601-1611, 16/F., Tower 2, Grand Century Place, 193 Prince Edward Road West, Mongkok, Kowloon, Hong Kong
Tel: +852-2265-6688, Fax: +852 2886-9022
Renesas Electronics Taiwan Co., Ltd.
13F, No. 363, Fu Shing North Road, Taipei 10543, Taiwan
Tel: +886-2-8175-9600, Fax: +886 2-8175-9670
Renesas Electronics Singapore Pte. Ltd.
80 Bendemeer Road, Unit #06-02 Hyflux Innovation Centre, Singapore 339949
Tel: +65-6213-0200, Fax: +65-6213-0300
Renesas Electronics Malaysia Sdn.Bhd.
Unit 1207, Block B, Menara Amcorp, Amcorp Trade Centre, No. 18, Jln Persiaran Barat, 46050 Petaling Jaya, Selangor Darul Ehsan, Malaysia
Tel: +60-3-7955-9390, Fax: +60-3-7955-9510
Renesas Electronics India Pvt. Ltd.
No.777C, 100 Feet Road, HAL II Stage, Indiranagar, Bangalore, India
Tel: +91-80-67208700, Fax: +91-80-67208777
Renesas Electronics Korea Co., Ltd.
12F., 234 Teheran-ro, Gangnam-Gu, Seoul, 135-080, Korea
Tel: +82-2-558-3737, Fax: +82-2-558-5141
© 2006-2017 Renesas Electronics Corporation. All rights reserved.
Colophon 4.1

AUTOSAR MCAL R4.0.3
User’s Manual
R20UT3709EJ0101
Document Outline
9 - R20UT3754EJ0101-AUTOSAR
RUCG Tool User's Manual11 - R20UT3754EJ0101-AUTOSARs


RUCG Tool
User’s Manual
Version 1.1.3
Target Device:
RH850/P1M
All information contained in these materials, including products and product specifications,
represents information on the product at the time of publication and is subject to change by
Renesas Electronics Corp. without notice. Please review the latest information published by
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp.
websit
e (http://www.renesas.com). www.renesas.com Rev.1.01 Feb 2017
2
Notice
1.
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits,
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses
and damages incurred by you or third parties arising from the use of these circuits, software, or information.
2.
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents,
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical
information described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application
examples.
3.
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas
Electronics or others.
4.
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas
Electronics disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration,
modification, copy or otherwise misappropriation of Renesas Electronics products.
5.
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.
"Standard": Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment;
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc.
"High Quality": Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication
equipment; key financial terminal systems; safety control equipment; etc.
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and
undersea repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics
disclaims any and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics
product for which the product is not intended by Renesas Electronics.
6.
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the
ranges specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation
characteristics, installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of
the use of Renesas Electronics products beyond such specified ranges.
7.
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention,
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your
products/system. Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the
final products or systems manufactured by you.
8.
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each
Renesas Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances,
including without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all
these applicable laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your
noncompliance with applicable laws and regulations.
9.
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or
sale is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or
technologies for (1) any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction,
such as nuclear weapons, chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering
such weapons, (2) any purpose relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of
disturbing international peace and security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or
technologies to any third party whether directly or indirectly with knowledge or reason to know that the third party or any other party will
engage in the activities described above. When exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall
comply with any applicable export control laws and regulations promulgated and administered by the governments of the countries asserting
jurisdiction over the parties or transactions.
10. Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from
your resale or making Renesas Electronics products available any third party.
11. This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas
Electronics.
12. Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas
Electronics products.
(Note 1) "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned
subsidiaries.
(Note 2) "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics
3
4
Abbreviations and Acronyms Abbreviation / Acronym Description ARXML/arxml
AUTOSAR xml
AUTOSAR
AUTomotive Open System Architecture
BSWMDT
Basic Software Module Description Template
<MSN>
Module Short Name
ECU
Electronic Control Unit
DMA
Direct Memory Access
ECU
Electronic Control Unit
MCAL
Microcontroller Abstraction Layer
MCU
Microcontroller Unit
XML
eXtensible Mark-up Language
DLL
Dynamic Linking Library
Definitions Terminology Description .arxml
AUTOSAR XML File.
.trxml
Translation XML File.
PerlCtrl
The utility converts a Perl program into an ActiveX control.
5
6
Table of Contents Chapter 1 Introduction .........................................................................9 1.1 Document Overview ............................................................................................................... 9 Chapter 2 Reference ........................................................................... 11 2.1. Reference Documents.......................................................................................................... 11 2.2. Trademark Notice ................................................................................................................ 11 Chapter 3 Tool Overview ..................................................................... 13 3.1 Usage..................................................................................................................................... 13 Chapter 4 Input Files .......................................................................... 17 4.1 Msn Control DLL .................................................................................................................. 17 4.2 ECU Configuration Description File(s) .............................................................................. 17 4.3 BSWMDT File ........................................................................................................................ 17 4.4 Translation XML File ............................................................................................................ 18
4.4.1 Translation Header File ............................................................................................. 18 4.4.2 Device Specific Header File ...................................................................................... 18 4.5 Configuration XML File ........................................................................................................ 19 4.6 Other Description Files........................................................................................................ 19 Chapter 5 Output Files ....................................................................... 21 Chapter 6 Precautions ........................................................................ 23 Chapter 7 User Configuration Validation .......................................... 25 Chapter 8 Messages ........................................................................... 27 8.1. RUCG Tool Messages .......................................................................................................... 27
8.1.1 Error Messages ......................................................................................................... 27 8.1.2 Warning Messages ................................................................................................... 28 8.1.3 Information Messages ............................................................................................... 28 8.2. Common Messages ............................................................................................................. 28
8.2.1 Error Messages ......................................................................................................... 28 8.2.2 Warning Messages ................................................................................................... 31 8.2.3 Information Messages ............................................................................................... 31 8.3. R3.2.2 Messages .................................................................................................................. 31
8.3.1 Error Messages ......................................................................................................... 32 8.3.2 Warning Messages ................................................................................................... 32 8.3.3 Information Messages ............................................................................................... 32 8.4. R4.0.3 Messages .................................................................................................................. 32
8.4.1 Error Messages ......................................................................................................... 32 8.4.2 Warning Messages ................................................................................................... 33 8.4.3 Information Messages ............................................................................................... 33 Chapter 9 Notes .................................................................................. 35 Chapter 10 Appendix .......................................................................... 37 7
List of Figures Figure 3.1 Tool Overview ........................................................................................................................ 13
List of Tables
Table 1.1 Document Overview .................................................................................................................. 9
Table 2.1 Reference Documents .............................................................................................................. 11
Table 3.1 Options and Description ........................................................................................................ 14
Table 8.1 R3.2.2 BSWMDT Mandatory Parameters .............................................................................. 32
Table 8.2 R4.0.3 BSWMDT Mandatory Parameters .............................................................................. 33 8
Introduction Chapter 1 Chapter 1 Introduction The document describes the features of the RUCG Tool.
RUCG Tool is a command line tool that extracts information from ECU
Configuration Description File(s) and generates Driver C source and C header
files.
This document contains information on the options, input and output files of the
RUCG Tool. In addition, this manual covers a step-by-step procedure for the
usage of tool.
1.1 Document Overview This user manual is organized as given in the table below:
Table 1.1 Document Overview Section Contents Section 1 (Introduction)
Provides an introduction to the document and explains how
information is organized in this manual.
Section 2 (Reference)
Provides a list of documents referred while developing this
document.
Section 3 (RUCG Tool
Provides the component overview of RUCG.
Overview)
Section 4 (Input Files)
Provides information about all the input files supplied to
Tool.
Section 5 (Output Files)
Explains the output files that are generated by the RUCG Tool.
Section 6 (Precautions)
Contains precautions to be taken during execution of
RUCG Tool.
Section 7 (User Configuration Describes about user configuration validation done by the RUCG
Validation)
Tool.
Section 8 (Messages)
Describes all the Error/Warning/Information messages that
help the user to understand the probable reason for the
same.
Section 9 (Notes)
Provides notes to help the user to understand this document
better.
Section 10(Appendix)
Provides additional information, if any.
9
Chapter 1 Introduction 10
Reference Chapter 2 Chapter 2 Reference 2.1. Reference Documents The following table lists the documents referred to develop this document:
Table 2.1 Reference Documents Sl.No. Title Version 1.
EAAR-RS-0089.pdf
1.1.0
2.
GettingStarted_MCAL_Drivers_X1x.pdf
1.0.6
2.2. Trademark Notice Microsoft and Windows are trademarks/registered trademarks of Microsoft
Corporation.
11
Chapter 2 Reference 12
Tool Overview Chapter 3 Chapter 3 Tool Overview RUCG Tool is a command line tool that provides scalability and
configurability for the component. It accepts Module Specific DLL, ECU
Configuration Description File(s), BSWMDT File, Translation XML File and
Configuration XML File as input and generates the C Header and C
Source files. However Configuration XML File is optional.
RUCG Tool is a standalone windows executable. The Tool can run without
any additional dependencies.
Operating Environment:
Operating System
Windows 7 Professional SP1 64 bit
RAM
8 GB
RUCG Tool doesn’t support parallel execution.
Figure 3.1 Tool Overview For more information about input files to be given to the RUCG tool
refer section “4
Input Files”.
For more information about output files generated by the RUCG tool
refer section “5
Output Files”.
3.1 Usage This section provides the information regarding usage of the RUCG
Tool. It also provides the syntax of the command line arguments
(input filenames and options).
RUCG Tool executable is invoked as shown below.
RUCG.exe <DLL Path> [<Options>] {<Input Filename>}
13
Chapter 3 Tool Overview Where,
RUCG.exe: RUCG Tool Executable
DLL Path: Module specific DLL file path
Options: [-H/-Help -C/-Config -O/-Output -Osrc -Oinc -L/-Log –F/-
FILVERSION -D/-Dryrun –T/-TimeOut]
Input Filename: {ECU Configuration Description File(s), BSWMDT
File, Translation XML File [optional] and Configuration XML File
[optional]}
Notations:
{data} represents compulsory data
<data> represents the actual data that will be specified on command
line during tool usage.
[data] represents optional data.
Table 3.1 Options and Description Options Description -H/-Help
To display help regarding usage of the tool. Gets the highest priority when
used with other options.
-C/-Config
To execute tool with the options provided in the Configuration XML File.
Command line options get the higher priority than the options provided in
Configuration XML File.
-O/-Output
By default, the tool generates output files in the
“<Msn>_Output” folder in the path where DLL is present. The user can use
the -O option followed by the folder name, to generate the output files in the
specified folder. Either absolute path or relative path can be provided to
specify the folder name.
The C Source and C Header files are generated in the sub folders “src‟ and
“inc‟ within the output folder.
-Osrc
The user can use the -Osrc option followed by the folder name, to generate
the C Source files in the specified folder.
-Oinc
The user can use the -Oinc option followed by the folder name, to generate
the C Header files in the specified folder.
–L/-Log
To log the output to the <Msn>.log file in the output folder.
-D/-Dryrun
To execute tool in validation mode. The tool will not generate output files even
though the input file provided is error free.
-F/-FILEVERSION To display the perl file version which are used to create the DLL.
-T/-TimeOut
The user can use the –TimeOut option followed by the timeout value, to set
the maximum timeout for underlying DLL execution. Default timeout value is
10 seconds. Timeout value should be in the range of 1 – 60 seconds.
Remark If the “-H/-Help” option is provided on the command line without any
other inputs, RUCG Tool help is displayed.
14
Tool Overview Chapter 3 If the “-H/-Help” option is provided with DLL path, module specific
DLL help is displayed.
If Translation XML File is not provided on the command line then
"<Msn>_X1x.trxml" which is present in the same location of DLL is
considered as "default" Translation XML File by the RUCG Tool.
If Configuration XML File is not provided on the command line then
"<Msn>_X1x.cfgxml" which is present in the same location of DLL is
considered as "default" Configuration XML File by the RUCG Tool.
The RUCG tool doesn’t allow parallel execution.
The RUCG tool returns its execution status to the user through the
console. User can get this tool return status using the environment
variable %ERRORLEVEL%.
15
Chapter 3 Tool Overview 16
Input Files Chapter 4 Chapter 4 Input Files RUCG Tool accepts the following files as inputs to generate output files.
4.1 Msn Control DLL Module specific DLL File can be generated using PerlCtrl utility from the
perl scripts. The Perl script contains implementation of generating
configuration output files with PerlCtrl template. PerlCtrl accepts the perl
scripts and generates module specific DLL. For the PerlCtrl template
contents, refer Chapter "10 Appendix".
4.2 ECU Configuration Description File(s) The ECU Configuration Description file is in XML format, which contains
the configured values for Parameters, Containers and Modules. ECU
Configuration Description XML File format will be compliant with the
AUTOSAR ECU specification standards. ECU Configuration Description
File can be created or edited using ECU Configuration Editor.
4.3 BSWMDT File The BSWMDT File in XML format, which is the template for the Basic
Software Module Description. BSWMDT File format will be compliant with
the AUTOSAR BSWMDT specification standards.
RUCG Tool uses "Common Published Information" from module specific
BSWMDT file. BSWMDT file should not be updated manually since it is
"Static Configuration" file.
The required elements from BSWMDT File by module specific Generation
Tool is as follows:
BSW-MODULE-DESCRIPTION
• MODULE-ID
BSW-IMPLEMENTATION
• SW-VERSION
• VENDOR-ID
• AR-RELEASE-VERSION
• VENDOR-API-INFIX
In case of multiple driver support implementation, VENDOR-API-INFIX is
mandatory. In case of single driver support implementation, VENDOR-
API- INFIX is not used.
17
Chapter 4 Input Files 4.4 Translation XML File Translation XML File is in XML format which contains translation and
device specific header file path. For the syntax of the contents of
Translation XML File, please refer the Chapter 10 Appendix.
If mapped device specific address label is changed/updated then only
respective mapping in Translation Header File needs to be updated. In
this case there will not be any impact on Generation Tool for the
generation of address in tool generated output file(s).
4.4.1 Translation Header File This file is look-up table (mapping in the form of definitions) for the device
specific address labels. Based on the configuration in ECU Configuration
Description File, the mapped device specific address labels will be
searched in Device Specific Header File by RUCG Tool to generate
associated address in tool generated output file(s). For the Translation
Header File path, the value of "<Msn>DeviceName" parameter from the
container "<Msn>General" container should be present as child tag of
TRANSLATION-FILE-PATH in Translation XML File. Both "Absolute" and
"Relative" paths are supported by generation tool however default path is
"Relative" path.
E.g.
<TRANSLATION-FILE-PATH>
<Value_Of_MsnDeviceName>..\DF_Timer.h ..\DF_Timer_ISR.h</
Value_Of_MsnDeviceName>
</TRANSLATION-FILE-PATH>
4.4.2 Device Specific Header File This file contains device specific labels and associated address. Based on
the configuration in ECU Configuration Description File, the mapped
device specific address labels will be used to generate associated
address in tool generated output file(s). For the Device Specific Header
File path, the value of “<Msn>DeviceName” parameter from the container
“<Msn>General” container should be present as child tag of DEVICE-
FILE-PATH in Translation XML File. Both “Absolute” and “Relative” paths
are supported by generation tool however default path is “Relative” path.
If multiple Device Specific Header Files need to be provided for the same
device (value of “<Msn>DeviceName” parameter) in Translation XML File,
then each Device Specific Header File path should be separated with
“space”.
18
Input Files Chapter 4 E.g.
<DEVICE-FILE-PATH>
<Value_Of_MsnDeviceName>..\DF_Timer.h ..\DF_Timer_ISR.h</
Value_Of_MsnDeviceName>
</DEVICE-FILE-PATH>
4.5 Configuration XML File Configuration XML File is in XML format which contains command line
options and input/output path. For the syntax of the contents of
Configuration XML File, please refer the Chapter 10 Appendix.
E.g.
<LOG>ON/OFF</LOG>
<HELP>ON/OFF</HELP>
4.6 Other Description Files RUCG Tool requires other description files (i.e. Dem File and MCU File)
inputs, depends on the corresponding parameter configuration in the ECU
Configuration Description File
19
Chapter 4 Input Files 20
Output Files Chapter 5 Chapter 5 Output Files RUCG Tool is a command line tool that provides scalability and
configurability for Msn Driver component. It accepts inputs which
mentioned in the Chapter 4 Input Files and generates configuration details
in C Header and C Source files (<Msn>_Cfg.h, <Msn>_Cbk.h,
<Msn>_Lcfg.c and <Msn>_PBcfg.c).
<Msn>_Cfg.h
This file contains pre-compile configuration parameters.
<Msn>_Cbk.h
This file contains prototype declarations for callback notification functions.
<Msn>_Lcfg.c
This file contains link-time parameters.
<Msn>_PBcfg.c
This file contains post-build configuration data.
Log File
The file which briefs the execution details of RUCG Tool.
Remark: Output files generated by Msn Driver Generation Tool should not be modified or
edited manually
21
Chapter 5 Output Files 22
Precautions Chapter 6 Chapter 6 Precautions •
Module Specific DLL must be created by using PerlCtrl with the
PerlCtrl template which specified in this document. For the PerlCtrl
template contents, refer Chapter "10 Appendix".
•
ECU Configuration Description File and BSWMDT File must comply
with AUTOSAR standard for R4.0 ECU Configuration Description File
and BSWMDT File respectively.
•
Default Translation XML File (<Msn>_Xx4.trxml) must be present in
same location of DLL file.
•
Default Configuration XML File (<Msn>_Xx4.cfgxml) must be present in
same location of DLL file.
•
If Translation XML File is not provided on the command line,
<msn>_Xx4.trxml which is present in same location of DLL file is
considered as ‘default’ Translation XML File.
•
If Configuration XML File is not provided on the command line,
Msn_Xx4.cfgxml which is present in same location of DLL file is
considered as ‘default’ Configuration XML File.
•
ECU Configuration Description File(s) should contain the file
extension ‘.arxml’.
•
Translation XML File should contain the file extension ‘.trxml’.
•
Configuration XML File should contain the file extension ‘.cfgxml’.
•
If the output files generated by RUCG Tool are modified externally,
then they may lead to error while compilation or not produce the
expected results.
23
Chapter 6 Precautions 24
User Configuration Validation Chapter 7 Chapter 7 User Configuration Validation This section provides help to analyze the error, warning and information
messages displayed during the execution of RUCG Tool. It ensures
conformance of input file with syntax and semantics. It also performs
validation on the input file for correctness of the data.
For more details on list of Error/Warning/Information messages that are
displayed as a result of input file(s) validation, refer Chapter “8
Messages”.
The RUCG Tool displays error or warning or information messages when
the user has configured incorrect inputs. There are two types of messages
displayed,
RUCG Tool generated messages
Module Specific DLL generated messages
The format of RUCG Tool generated message is as shown below.
•
CGERR/CGINF/CGWAR<xx><yy>:
<Error/Warning/Information Message>.
<xx>: Stage of error happen
<yy>: Actual error code
The format of Module Specific DLL generated messages is as shown
below.
•
ERR/WRN/INF<mid><xxx>: <Error/Warning/Information
Message>. where,
<mid>: 123 - MSN Driver Module id (123) for user configuration checks.
000 - for command line checks.
<xxx>: 001-999 - Message id.
•
File Name: Name of the file in which the error has occurred
•
Path: Absolute path of the container in which the parameter is present.
‘File Name’ and ‘Path’ need not be present for all
Error/Warning/Information messages.
25
Chapter 7 User Configuration Validation 26
Messages Chapter 8 Chapter 8 Messages The messages help to identify the syntax or semantic errors in the inputs
supplied to execution.
The following section gives the list of error, warning and information
messages displayed during the tool execution.
When the tool detects the following errors, it will automatically exit after
showing the error message.
8.1. RUCG Tool Messages This section contains the list of error/warning/information messages which
is generated by the RUCG tool.
8.1.1 Error Messages
CG_ERR0001: Another instance is already running.
This error occurs, if trying to run more than one instance of application in
parallel.
CG_ERR0002: First argument should be a module specific DLL file
path.
This error occurs, if the specified first file argument does not have
extension (.dll or .ocx).
CG_ERR0003: DLL not found on specified path.
This error occurs, if the specified DLL file input is not found in the
specified location.
CG_ERR0004: Specified module specific DLL file is not DLL
executable.
This error occurs, if the specified DLL file is not a windows executable
DLL.
CG_ERR0101: Please provide valid number of arguments.
This error will occur, if the no option is provided in the command line.
CG_ERR0102: Please provide valid time out value in seconds (1 - 60).
This error occurs, if the specified timeout value is invalid or out of range.
CG_ERR0301: DLL activation context creation failed.
This error occurs, if the generated manifest file for the specified DLL is
wrong. Ensure the manifest file write implementation in the RUCG Tool.
CG_ERR0302: Specified DLL implemented using wrong PerlCtrl
template.
This error occurs, if the specified DLL file is created using wrong Control ID
in PerlCtrl template. For the PerlCtrl template contents, refer Chapter "10
Appendix".
CG_ERR0303: DLL directory should be write-enabled.
This error occurs, if the specified DLL file path is write protected.
CG_ERR0401: Code generation is not completed within the time out.
This error occurs, if the specified DLL does not return within a default or
specified timeout.
27
Chapter 8 Messages Note: When Code Generation is terminated due to timeout, the RUCG Tool
drops a temporary file (GLOB(0x2a8d104)) in the execution location. Please
delete the file after the execution.
CG_ERR0402: Cannot find implementation of method "execution” in
the DLL.
This error will occur, if the specified DLL created without entry function call
"execute".
CG_ERR0403: Error occurred while code generation.
This error will occur, when the specified DLL calls “exit” function while its
execution. In the tool code implementation, general assumption is “exit”
function in the perl script should called only at the erroneous conditions.
8.1.2 Warning Messages None
8.1.3 Information Messages
CG_INF0001: Tool Version This is to display Tool Version for each execution of the tool.
CG_INF0002: Module DLL Path
This is to display parsed Module DLL Path from the command line
arguments.
CG_INF0003: <RUCG Tool Usage Information>
This is to display usage information of the tool.
CG_INF0004: Execution terminated due to parallel execution errors. This information will occur, if the execution is terminated due to parallel
execution.
CG_INF0005: Execution terminated due to command line errors.
This information will occur, if the execution is terminated due to command
line errors.
CG_INF0006: Execution terminated due to the previous errors.
This information will occur, if the error happened during the DLL execution.
CG_INF0007: Code generation completed successfully.
This information will occur, if the tool execution completed successfully.
8.2. Common Messages This section contains the list of error/warning/information messages which
is common for AUTOSAR Renesas R3.2.2 and R4.0.3 X1x MCAL Driver
module that will be generated during the Module Specific DLL execution.
8.2.1 Error Messages
ERR000001: File <File_Name> does not exist.
This error occurs, if the input <File_Name> is not found.
ERR000002: Name of the Generation Tool Configuration XML File is 28
Messages Chapter 8 not given along with <-C/-CONFIG> option.
This error occurs, if the name of the Generation Tool Configuration XML File
is not given along with <-C/-CONFIG> option.
ERR000003: File <File name> is not as per XML standard. This error will occur, if the input <File name> is not as per XML standard.
ERR000004: Cannot open the <Log file name> file. This error will occur, if unable to open the <Log file name> file.
ERR000005: Name of output directory is not given along with <-O/-
OUTPUT> option. This error will occur, if the output directory name is not given along with <-
O/- OUTPUT> option.
ERR000006: Name of output directory is not given in OUTPUT-PATH
tag in <File name>. This error will occur, if the output directory is not given in OUTPUT-PATH
tag in configuration file.
ERR000007: The Generation Tool expects inputs. This error will occur, if Only specified Module Specific DLL path in the
command line without default configuration file.
ERR000008: The option <option> is not supported by the Generation
Tool. The Generation Tool supports <-O/-OUTPUT, -Osrc , -Oinc, -H/-
HELP, -L/-LOG, -C/-CONFIGFILE and -D/-DRYRUN>" options. This error will occur, if the invalid <option> is provided to the tool.
ERR000009: Invalid output directory name <output directory name> as
the file with same name exists. This error will occur, if the <output directory name> already exists.
ERR000010: Invalid output directory name <output directory name>
Directory name should not contain any of \*\?\"\|\: characters. This error will occur, if the <output directory name> path contains junk
character.
ERR000011: ECU Configuration Description File is not provided as
input to the Generation Tool. This error will occur, if the ECU Configuration Description File is not given in
the command line or in configuration file.
ERR000012: The input <File name> is not as per XML standard.
Provide the ECU Configuration Description File as input on the
command line. This error will occur, if the ECU Configuration Description File is not as per
XML standard.
ERR000014: 'TRANSLATION-FILE-PATH' tag in <File name> is empty. This error will occur, if the translation <File name> doesn’t have
“TRANSLATION-FILE-PATH‟ tags.
ERR000015: The 'device_name' tag should be present as child of
'TRANSLATION-FILE-PATH'' tag in <File name>. This error will occur, if the device mentioned in ECU Configuration
Description File is not present in “TRANSLATION-FILE-PATH‟ tag in the
<File name>
ERR000016: ‘DEVICE-FILE-PATH’ tag in <File name> is empty. 29
Chapter 8 Messages This error will occur, if the translation file <File name> doesn’t have
“DEVICE- FILE-PATH‟ tags.
ERR000017: The 'device_name’ tag should be present as child of
‘DEVICE-FILE-PATH' tag in <File name>. This error will occur, if the device mentioned in ECU Configuration
Description File is not present in “DEVICE-FILE-PATH‟ tag.
ERR000018: Cannot create directory <output directory name>. This error will occur, if unable to create output directory <output directory
name>.
ERR000019: Cannot open <File name>. This error will occur, if unable to open <File name>.
ERR000020: The macro label <macro label> should be unique in
<translation file name> translation C Header File. This error will occur, if macro label is not unique in translation C Header
File.
ERR000021: The macro definition for <macro label> macro is not
found in <translation file name> translation C Header File. The macro
label format should be <label format>. This error will occur, if macro definition is not found in translation C Header
File.
ERR000022: The macro value for <macro label> macro is empty in
<translation file name> translation C Header File. This error will occur, if macro label value is empty in translation C Header
File.
ERR000023: The macro definition for <macro value> macro is not
found in input device specific C Header File(s). This error will occur, if macro definition is not found in input device specific
C Header File(s).
ERR000024: The macro value for <macro value> macro is empty in
input device specific C Header File(s). This error will occur, if macro value is empty in input device specific C
Header File(s).
ERR000025: Path <Configured Reference Path> provided for Bsw
Module is incorrect. This error will occur, if the reference provided for Bsw Module Component is
incorrect.
ERR000026: BSWMDT content is not present in the input file(s) for
‘<Module Name>’ module. This error will occur, if the module specific BSWMDT content is not present
in the input files.
ERR000027: <MSN> BSWMDT File of either AUTOSAR R3.2 or R4.0
should be given as input. This error will occur, if the both R3.2 and R4.0 BSWMDT file given to the
input to the generation tool.
ERR000028: 'MODULE-DESCRIPTION-REF' element should be present
in the description file of '<Module Name>' module. This error will occur, if the MODULE-DESCRIPTION-REF element is not
present module specific description file.
30
Messages Chapter 8 ERR000029: AUTOSAR version of BSWMDT File and Module
Description File is different. This error will occur, if the AUTOSAR version of the BSWMDT File and
module description file is different.
Remark Apart from the above error codes DLL will generates some additional
Module Specific errors during the execution.
8.2.2 Warning Messages WRN000001: As per AUTOSAR ECU Configuration Description File
naming convention, the file extension should be '.arxml' for file. This warning will occur, if ECU Configuration Description files having an
extension other than ‟.arxml‟.
8.2.3 Information Messages
INF000001: DLL Version: This is to display DLL Version of specified module specific DLL.
INF000002: Command line arguments: This is to display the DLL arguments received from the Tool.
INF000003: The valid inputs are provided below. This information will occur, if the DLL option is not given. (I.e. only provide
Module DLL Path as command line arguments)
INF000004: Opened file <filename> at <time>. This information will occur, during opening the file.
INF000005: Error(s) and Warning(s) detected. This information will display the number of errors and warnings.
INF000006: Execution completed successfully. This information will occur, if the execution completed successfully.
INF000007: Execution completed successfully with warnings. This information will occur, if the execution completed successfully with
warnings.
INF000008: Execution terminated due to command line errors. This information will occur, if the execution terminated due to command line
errors.
INF000009: Execution terminated due to error in the input file. This information will occur, if the execution terminated due to error in the
input file.
INF000010: Execution terminated due to error, during the structure
generation in the output file. This information will occur, if the execution terminated during structure
generation in output file.
8.3. R3.2.2 Messages This section contains the list of error/warning/information messages which is
specific to AUTOSAR Renesas R3.2.2 X1x MCAL Driver module that will be
generated during the Module Specific DLL execution.
31
Chapter 8 Messages 8.3.1 Error Messages
ERR000030: The 'parameter tag name' tag should be configured in
BSWMDT File. This error will occur, if any of the configuration parameter(s) mentioned
below is (are) not configured in BSWMDT File.
The list of mandatory parameters with respect to container is listed below:
Table 8.1 R3.2.2 BSWMDT Mandatory Parameters Container Parameters BswImplementation
SW-MAJOR-VERSION
SW-MINOR-VERSION
SW-PATCH-VERSION
AR-MAJOR-VERSION
AR-MINOR-VERSION
AR-PATCH-VERSION
VendorApiInfix
BswModuleDescription
ModuleId
Note: VendorApiInfix parameter is mandatory for only some modules. 8.3.2 Warning Messages None.
8.3.3 Information Messages None.
8.4. R4.0.3 Messages This section contains the list of error/warning/information messages which is
specific to AUTOSAR Renesas R4.0.3 X1x MCAL Driver module that will be
generated during the Module Specific DLL execution.
8.4.1 Error Messages
ERR000030: The 'parameter tag name' tag should be configured in
BSWMDT File. This error will occur, if any of the configuration parameter(s) mentioned
below is (are) not configured in BSWMDT File.
32
Messages Chapter 8 The list of mandatory parameters with respect to container is listed below:
Table 8.2 R4.0.3 BSWMDT Mandatory Parameters Container Parameters BswImplementation
SwVersion
VendorId
ArReleaseVersion
VendorApiInfix
BswModuleDescription
ModuleId
Note: VendorApiInfix parameter is mandatory for only some modules. 8.4.2 Warning Messages None.
8.4.3 Information Messages None.
33
Chapter 8 Messages 34
Notes Chapter 9 Chapter 9 Notes “Tool” terminology is used interchangeably to refer RUCG Tool.
35
Chapter 9 Notes 36
Appendix Chapter 10 Chapter 10 Appendix •
Translation XML File Translation XML File content format shall be given as mentioned below:
<?xml version="1.0" encoding="UTF-8"?>
<!--
The tag PATH-DETAILS should not be renamed since it is top level
element.
-->
<PATH-DETAILS>
<!--
TRANSLATION-FILE-PATH should contain the path of the translation
header file. The tag TRANSLATION-FILE-PATH should not be
renamed. Only respective value should be updated for the translation
header file.
-->
<TRANSLATION-FILE-PATH>
<value_of_MsnDeviceName>Path</value_of_MsnDeviceName>
</TRANSLATION-FILE-PATH>
<!--
The tags present in DEVICE-FILE-PATH tag should contain the path
of the device specific C Header File.
The tags present in DEVICE-FILE-PATH should be equal to the value for
parameter
MsnDeviceName present in MsnGeneral container. The
tag DEVICE-FILE-PATH should not be renamed.
If multiple device header files need to provide for same device then
each file name should be separated with space.
-->
<DEVICE-FILE-PATH>
<value_of_MsnDeviceName>Path</value_of_MsnDeviceName>
</DEVICE-FILE-PATH>
</PATH-DETAILS>
37
Chapter 10 Appendix •
Configuration XML File Configuration XML File content format shall be given as mentioned below:
<?xml version=”1.0” encoding="UTF-8"?>
-->
<!--
None of the tag from this XML should be renamed or deleted.
-->
<XML>
<!-- Supported Command Line options<OPTION>
<!-- Only ON or OFF should be provided. -->
<HELP>ON/OFF</HELP>
<!-- Only ON or OFF should be provided. -->
<LOG>ON/OFF</LOG>
<!-- Only ON or OFF should be provided. -->
<DRYRUN>ON/OFF</DRYRUN>
<!-- Only ON or OFF should be provided. -->
<OUTPUT>OFF</OUTPUT>
<!-- Name of output directory -->
<OUTPUT-PATH>Path</OUTPUT-PATH>
</OPTION>
<!-- To provide input files. If multiple input files need to be
provided then each file should be separated with ",". -->
<INPUT-FILE>Path</INPUT-FILE>
</XML>
38
Appendix Chapter 10 •
PerlCtrl Template
Module Specific dll can be created by using PerlCtrl utility. PerlCtrl accepts
the perl scripts which consists implementation of generating module specific
configuration files with correct perlCtrl template.
PerlCtrl Template content shall be given as mentioned below:
=pod
=begin PerlCtrl
%TypeLib = (
PackageName => 'MsnCtrl',
TypeLibGUID => '{52093072-B5B3-413B-B4CF-
ACD3E3AAFE7A}', # do NOT edit this line
ControlGUID => '{1D887D1B-E692-4F8B-8552-F6957BB8B834}',
# do NOT edit this line either
DispInterfaceIID=> '{CFC0FF40-EAE4-49C8-8720-
850170DB1ADD}', # or this one
ControlName => 'MsnVeryOwnControl',
ControlVer => 1, # increment if new object with same ProgID
# create new GUIDs as well
ProgID => 'MsnCtrl.Control',
DefaultMethod => 'main',
Methods => {
'main' => {
DocString => "The main() method",
HelpContext => 10,
RetType => VT_I4,
TotalParams => 1,
NumOptionalParams => 0,
ParamList =>[ 'cmd_input' => VT_BSTR ]
},
}, # end of 'Methods'
Properties => {
}, # end of 'Properties'
); # end of %TypeLib
=end PerlCtrl
=cut
39
Chapter 10 Appendix 40
Revision History Sl.No. Description Version Date 1
Initial Version
1.0.0
7-Nov-2015
2
Section 3.1 and 8.1 are updated as per the new enhancement
1.1.0
12-Dec-2015
feature requirements (EAAR_PN0089_FR_0018,
EAAR_PN0089_FR_0019, EAAR_PN0089_NR_0010).
3
Reference section is updated with correct document name.
1.1.1
7-Apr-2016
4
R-Number corrected for the document
1.1.2
13-Jul-2016
5
Following changes are made,
1.1.3
17-Feb-2017
1. Updated notice and copyright information.
2. Updated R Number.
41
RUCG Tool User's Manual V1.1.3 Publication Date: Rev.1.01, February 17, 2017
Published by: Renesas Electronics Corporation
SALES OFFICES http://www.renesas.com Refer
to "http://www.renesas.com/" for the latest and de tailed information.
Renesas Electronics America Inc.
2801 Scott Boulevard Santa Clara, CA 95050-2549, U.S.A.
Tel: +1-408-588-6000, Fax: +1-408-588-6130
Renesas Electronics Canada Limited
9251 Yonge Street, Suite 8309 Richmond Hill, Ontario Canada L4C 9T3
Tel: +1-905-237-2004
Renesas Electronics Europe Limited
Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, U.K
Tel: +44-1628-585-100, Fax: +44-1628-585-900
Renesas Electronics Europe GmbH
Arcadiastrasse 10, 40472 Düsseldorf, Germany
Tel: +49-211-6503-0, Fax: +49-211-6503-1327
Renesas Electronics (China) Co., Ltd.
Room 1709, Quantum Plaza, No.27 ZhiChunLu Haidian District, Beijing 100191, P.R.China
Tel: +86-10-8235-1155, Fax: +86-10-8235-7679
Renesas Electronics (Shanghai) Co., Ltd.
Unit 301, Tower A, Central Towers, 555 Langao Road, Putuo District, Shanghai, P. R. China 200333
Tel: +86-21-2226-0888, Fax: +86-21-2226-0999
Renesas Electronics Hong Kong Limited
Unit 1601-1611, 16/F., Tower 2, Grand Century Place, 193 Prince Edward Road West, Mongkok, Kowloon, Hong Kong
Tel: +852-2265-6688, Fax: +852 2886-9022
Renesas Electronics Taiwan Co., Ltd.
13F, No. 363, Fu Shing North Road, Taipei 10543, Taiwan
Tel: +886-2-8175-9600, Fax: +886 2-8175-9670
Renesas Electronics Singapore Pte. Ltd.
80 Bendemeer Road, Unit #06-02 Hyflux Innovation Centre, Singapore 339949
Tel: +65-6213-0200, Fax: +65-6213-0300
Renesas Electronics Malaysia Sdn.Bhd.
Unit 1207, Block B, Menara Amcorp, Amcorp Trade Centre, No. 18, Jln Persiaran Barat, 46050 Petaling Jaya, Selangor Darul Ehsan, Malaysia
Tel: +60-3-7955-9390, Fax: +60-3-7955-9510
Renesas Electronics India Pvt. Ltd.
No.777C, 100 Feet Road, HAL II Stage, Indiranagar, Bangalore, India
Tel: +91-80-67208700, Fax: +91-80-67208777
Renesas Electronics Korea Co., Ltd.
12F., 234 Teheran-ro, Gangnam-Gu, Seoul, 135-080, Korea
Tel: +82-2-558-3737, Fax: +82-2-558-5141
© 2006-2017 Renesas Electronics Corporation. All rights reserved.
Colophon 4.1

RUCG Tool
User’s Manual
R20UT3754EJ0101
Document Outline