1 - AUTOSAR_DIO_Component_UserManual

AUTOSAR MCAL R4.0 User's Manual

3 - AUTOSAR_DIO_Component_UserManuals





AUTOSAR MCAL R4.0.3 
User‟s Manual 
DIO Driver Component Ver.1.0.6 
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. 
website (http://www.renesas.com). 
www.renesas.com 
Rev 0.02 May 2015

 
 


 
Notice 
1. 
All information included in this document is current as of the date this document is issued. Such information, however, is subject to change 
without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm the latest product 
information with a Renesas Electronics sales office. Also, please pay regular and careful attention to additional and different information to be 
disclosed by Renesas Electronics such as that disclosed through our website. 
2. 
Renesas Electronics does not assume any liability for infringement of 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. No license, express, implied or 
otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others. 
3. 
You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. 
4. 
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 of these circuits, software, and information in the design of 
your equipment.  Renesas Electronics assumes no responsibility for any losses incurred by 
          you or third parties arising from the use of these circuits, software, or information. 
5. 
When exporting the products or technology described in this document, you should comply with the applicable export control laws and 
regulations and follow the procedures required by such laws and regulations.  You should not use Renesas Electronics products or the 
technology described in this document for any purpose relating to military applications or use by the military, including but not limited to the 
development of weapons of mass destruction.  Renesas Electronics products and technology may 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. 
6. 
Renesas Electronics has used reasonable care in preparing the information included in this document, but Renesas Electronics does not warrant 
that such information is error free.  Renesas Electronics assumes no liability whatsoever for any damages incurred by you resulting from errors 
in or omissions from the information included herein. 
7. 
Renesas Electronics products are classified according to the following three quality grades:  "Standard", "High Quality", and "Specific".  The 
recommended applications for each Renesas Electronics product depends on the product's quality grade, as indicated below.  You must check 
the quality grade of each Renesas Electronics product before using it in a particular application.  You may not use any Renesas Electronics 
product for any application categorized as "Specific" without the prior written consent of Renesas Electronics.  Further, you may not use any 
Renesas Electronics product for any application for which it is not intended without the prior written consent of Renesas Electronics.  Renesas 
Electronics shall not be in any way liable for any damages or losses incurred by you or third parties arising from the use of any Renesas 
Electronics product for an application categorized as "Specific" or for which the product is not intended where you have failed to obtain the 
prior written consent of Renesas Electronics.  The quality grade of each Renesas Electronics product is "Standard" unless otherwise expressly 
specified in a Renesas Electronics data sheets or data books, etc. 
          "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. 
         "High Quality": Transportation equipment (automobiles, trains, ships, etc.); traffic control systems; anti-disaster systems; anti- crime systems; 
safety equipment; and medical equipment not specifically designed for life support. 
          "Specific":  Aircraft; aerospace equipment; submersible repeaters; nuclear reactor control systems; medical equipment or systems for life 
support (e.g. artificial life support devices or systems), surgical implantations, or healthcare intervention (e.g. excision, etc.), and any other 
applications or purposes that pose a direct threat to human life. 
8. 
You should use the Renesas Electronics products described in this document within the range specified by Renesas Electronics, especially with 
respect to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation characteristics, installation and 
other product characteristics. Renesas Electronics shall have no liability for malfunctions or damages arising out of the use of Renesas 
Electronics products beyond such specified ranges. 
9. 
Although Renesas Electronics endeavors to improve the quality and reliability of its 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 be sure to implement safety measures to guard them against the possibility of 
physical injury, and injury or damage caused by fire in the event of the failure of a 
           Renesas Electronics product, 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.  Because the evaluation of 
microcomputer software alone is very difficult, please evaluate the safety of the final products or system manufactured by you. 
10. 
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each 
Renesas Electronics product.  Please use Renesas Electronics products in compliance with all applicable laws and regulations that regulate the 
inclusion or use of controlled substances, including without limitation, the EU RoHS Directive.  Renesas Electronics assumes no liability for 
damages or losses occurring as a result of your noncompliance with applicable laws and regulations. 
11. 
This document may not be 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, or if you have any other inquiries. 
          (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 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
Abbreviations and Acronyms 
 
Abbreviation / Acronym  Description 
ADC 
Analog Digital Converter 
ANSI 
American National Standards Institute 
API 
Application Programming Interface 
AUTOSAR 
AUTomotive Open System ARchitecture 
CAN 
Controller Area Network 
DEM 
Diagnostic Event Manager 
DET/Det 
Development Error Tracer 
DIO 
Digital Input Output 
ECU 
Electronic Control Unit 
EEPROM 
Electrical Erasable Programmable Read Only Memory 
Id 
Identifier 
I/O 
Input/Output 
LIN 
Local Interconnnect Network 
MCAL 
MicroController Abstraction Layer 
MCU 
MicroController Unit 
PWM 
Pulse Width Modulation 
RAM 
Random Access Memory 
ROM 
Read Only Memory 
RTE 
Run Time Environment 
SCI 
Serial Communication Interface 
SPI 
Serial Peripheral Interface 
WDT 
WatchDog Timer 
 
 
 
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 
5 

 
 
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 ...................................................................................................................... 20 
4.5. 
User mode and supervisor mode ...................................................................................... 21 
Chapter 5  Architecture Details ......................................................... 23 
Chapter 6  Registers 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 
Chapter 11  Development And Production Errors ............................. 39 
11.1. 
DIO Driver Component Development Errors ................................................................... 39 
11.2. 
Dio Driver Component Production Errors ........................................................................ 40 
Chapter 12  Memory Organization ...................................................... 41 
Chapter 13  P1M Specific Information ................................................ 43 
13.1. 
Interaction Between The User And DIO Driver ................................................................ 43 
13.1.1. 
Translation Header File ........................................................................................ 43 


 
13.1.2. 
Parameter Definition File ...................................................................................... 43 
13.2. 
Sample Application............................................................................................................. 44 
13.2.1 
Sample Application Structure ............................................................................... 44 
13.2.2 
Building Sample Application ................................................................................. 47 
13.2.2.1  Configuration Example ......................................................................................... 47 
13.2.2.2  Debugging the Sample Application ...................................................................... 47 

13.3. 
Memory And Throughput ................................................................................................... 48 
13.3.1 ROM/RAM Usage ...................................................................................................... 48 
13.3.2. 
Stack Depth .......................................................................................................... 49 
13.3.3. 
Throughput Details ............................................................................................... 49 
Chapter 14  Release Details ................................................................ 51 
 
 
 
 


 
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 ..................................................... 41 
Figure 13-1              Overview Of DIO Driver Sample Application ....................................................... 44 
 
 
 
 
List Of Tables 
 

Table 4-1 
Driver Deviation List Of DIO module .................................................................... 20 
Table 4-2                 User mode and Supervisor mode details ............................................................. 21 
Table 6-1 
Register Details .................................................................................................... 27 
Table 8-1 
Description Of The DIO Driver Component Files ................................................. 32 
Table 10-1 
DIO Driver Component‟s API list. ......................................................................... 37 
Table 13-1 
PDF information for P1M ...................................................................................... 44 
Table 13-2                         ROM/RAM Details with DET ...................................................................................... 48 
Table 13-3 

ROM/RAM Details without DET .................................................................................. 48 
Table 13-4                         Throughput Details of the APIs .................................................................................... 49 
 
 
 


 
 
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 
 
 
 
 
 
i
 
n
te
 
W
rn
a
GP
M
a
F
 
t


PO
c
C
C

C
l
P
a
a
A
D
E
L
e
I
hd
C
W
T
U
ore
l
l
I
AN
x
D
I
 
 
 
E
N
O
R
U
R
 
o
 

F
M
C
la
P
 
a
 
 
T
g
 
 

R
 
 
y
 
 
 
s
s
 
h
h
OM
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
E
Po
Micro- 
x
L
t
Unit
w
.
I
 
N
e
controller 
 
 
 
r
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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. 
 r01uh0436ej0070_rh850p1x.pdf 
 0.70 
 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. 
AUTOSAR 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 DIO Driver Component 
Generation Tool User's Manual. 
 
 
 
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_LTTypes.h 
 
\Dio_Ram.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> 
17 

    Chapter 3                                                                                                             Integration And Build Process
 

 
 
 
                                                                      
 
X1X\P1x\modules\dio\generator 
                                         \R403_DIO_P1x_BSWMDT.arxml 
X1X\common_platform\modules\dio\generator\Dio_X1x.exe 
X1X\P1x\common_family\generator\P1x_translation.h 
                                           \Sample_Applications_P1x.trxml 
X1X\P1x\modules\dio\user_manual 
(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. 
 
 
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. 
 
•  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 
19 

 Chapter 4                                                                                                                                            Forethoughts        
 
 
result in a compilation error. User should ensure that the correct versions 
of the header and the source files are used. 
 
•  The DIO functions shall be called only after PORT Driver 
initialization, otherwise DIO functions will exhibit undefined behavior. 
•  User/Integrator should ensure that same Ports/Pins are configured for 
DIO Driver component. 
 
 
 
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: 
•       REGISTER_PROTECTION 
The 
functions 
SchM_Enter_Dio_<Exclusive 
Area> 
and 
SchM_Exit_Dio_<Exclusive  Area>  can  be  disabled  by  disabling  the 
configuration parameter “DioCriticalSectionProtection”.  
 
 
 
4.4. 
Deviation List 
 
 
 
Table 4-1  Driver Deviation List Of 
DIO module 
 
Sl. No. 
Description AUTOSAR 
Bugzilla  

The API DIO_GetVersionInfo is implemented as macro without DET 

error DIO_E_PARAM_POINTER. 

The API Dio_MaskedWritePort which is available in R3.2.2 is also 

added to R4.0.3 release. 
3. 
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. 
4. 
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. 
 
 
 
20 
 

Forethoughts                                                                                                                                             Chapter 4   
 
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-2 User mode and Supervisor mode details 
 
 
 
Sl.No. 
List of API’S 
User Mode 
Supervisor Mode 
Known limitation 
in User mode 
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 



 
                        
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21 

 Chapter 4                                                                                                                                            Forethoughts        
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 
 
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 
 

Registers Details 
Chapter 6 
 
 
Chapter 6  Registers Details 
 
 
This section describes the register details of DIO Driver Component. 
 
Table 6-1  Register Details 
 
 
API Name 
Registers 
Config Parameter 
Macro/Variable 
Dio_Init 



Dio_ReadPort 
PPRn 

LddPortLevel 
JPPRn 

LddPortLevel 
APPRn 

LddPortLevel 
IPPRn 

LddPortLevel 
Dio_WritePort 
PSRn 

Level 
JPSRn 

Level 
APSRn 

Level 
PMSRn 

LddPortModeLevel 
Dio_ReadChannel 
PPRn 

LddPortLevel 
JPPRn 

LddPortLevel 
APPRn 

LddPortLevel 
IPPRn 

LddPortLevel 
Dio_WriteChannel 
PSRn 

LunPSRContent.ulLongWord 
JPSRn 

LunPSRContent.ulLongWord 
APSRn 

LunPSRContent.ulLongWord 
PMSRn 

LddPortModeLevel 
Dio_FlipChannel 
PNOTn 
DioChannelBitPosition 

JPNOTn 
DioChannelBitPosition 

APNOTn 
DioChannelBitPosition 

PPRn 

LddPortLevel 
JPPRn 

LddPortLevel 
APPRn 

LddPortLevel 
PMSRn 

LddPortModeLevel 
Dio_ReadChannelGroup 
PPRn 

LddPortLevel 
JPPRn 

LddPortLevel 
APPRn 

LddPortLevel 
IPPRn 

LddPortLevel 
Dio_WriteChannelGroup 
PSRn 

LunPSRContent.ulLongWord 
JPSRn 

LunPSRContent.ulLongWord 
APSRn 

LunPSRContent.ulLongWord 
PMSRn 

LddPortModeLevel 
Dio_GetVersionInfo 



Dio_MaskedWritePort 
PSRn 


JPSRn 


APSRn 


27 

Chapter 6                                                                                                                      Register Details 
 
 

PMSRn 

LddPortModeLevel 
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 
 
 
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_LTTypes.h 
 
• 
Dio_Ram.h 
 
• 
Dio_Version.h 
 
 
The DIO Driver Component C source files: 
 
•  Dio.c 
 
•  Dio_Ram.c 
 
•  Dio_Version.c 
 
 
Note : Dio_LTTypes.h is not applicable for AUTOSAR release 4.0.3.  
 The port specific C header files: 
 
•  Compiler.h 
 
•  Compiler_Cfg.h 
 
•  MemMap.h 
 
•  Platform_Types.h 
31 

Chapter 8                                              DIO Driver Component Header And Source File Description 
 
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_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_LTTypes.h 
This file contains AUTOSAR DIO link time parameters. 
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. 
32 
 

Generation Tool Guide 
Chapter 9 
 
 
Chapter 9  Generation Tool Guide 
 
 
 
 
For more information on the Dio Driver Component Generation Tool, please 
refer “Generation Tool User Manual” 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 
 
 
 
 
Table 10-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 
37 

Chapter 10                                                                                    Application Programming Interface                                                                    
 
 
38 
 

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. 
 
Table 11-1 
DET Errors Of DIO Driver Component (1/2) 
 
 
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 
39 

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 
Source of Error 
When the above mentioned APIs are invoked without module initialization. 
 
 
 
11.2.  Dio Driver Component Production Errors 
 
 
None. 
40 
 





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 Library / 
RAM Section 
Object Files 
 
 
 
Global R AM  of uns pecif ic size required f or D IO 
 
Driver  func tioning. 
D IO D river code related  to AP Is are  plac ed in 
Y1 
t his  memory. 
Segment  N ame: 
 
NO IN IT _RA M_U N SPEC IF IED 
X1 
Segment  N ame : 
 
DIO_PUBL IC _C OD E_ROM 
Global 1- bit R AM  to be initialized by  start- up 
code. 
Segment  N ame: 
Y2 
RAM_1BIT 
 
 
 
 
 
Tool Generated Files 
 
 
 
The const section (f or D IO configuration 
structure of type “Dio_C onfigType”) in the file 
Dio_PBcf g. c is placed in this memory. 
X2 
Segment  N ame : 
DIO_CFG_DBTOC _UNSPECIFIED 
 
 
The const section (other than D IO 
Configuration structure) in the file Dio_PBcf g.c 
is placed in this memory. 
X 3  
Segment  N ame : 
 
DIO_CFG_DATA_UNSPECIFIED  
 
 
 
 
 
 
 
 
 
 
Figure 12-1  DIO Driver Component Memory Organization 
41 

Chapter 12                                                                                                            Memory Organization 
 
DIO_PUBLIC_CODE_ROM (X1): API(s) of DIO Driver Component, which 
can be located in code memory. 
 
 
DIO_CFG_DBTOC_UNSPECIFIED (X2): This section consists of DIO Driver 
Component database table of contents generated by the DIO Driver 
Component Generation Tool. This can be located in code memory. 
 
 
DIO_CFG_DATA_UNSPECIFIED (X3): This section consists of DIO 
Driver Component constant configuration structures. This can be located in 
code memory. 
 
 
RAM Section (Y1, and Y2): 
 
 
NOINIT_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 initialized by start-up code and 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. 
 
 
 
 
 
 
 
 
 
 
 
 
 
42 

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 
 
13.1.2.  Parameter Definition File 
Parameter definition files support information for P1M 
43 




Chapter 13                                                                                                      P1M Specific Information 
 
 
Table 13-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  
Application 
   
 
Figure 13-1 Overview Of DIO Driver Sample Application 
44 
 

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 
                                                                                    /config/App_DIO_P1M_701304_Sample.one 
                                                                                    /config/App_DIO_P1M_701304_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701304_Sample.html 
                                                                                    /config/App_DIO_P1M_701305_Sample.one 
                                                                                    /config/App_DIO_P1M_701305_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701305_Sample.html 
                                                                                    /config/App_DIO_P1M_701310_Sample.one 
                                                                                    /config/App_DIO_P1M_701310_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701310_Sample.html 
                                                                                    /config/App_DIO_P1M_701311_Sample.one 
                                                                                    /config/App_DIO_P1M_701311_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701311_Sample.html 
                                                                                    /config/App_DIO_P1M_701312_Sample.one 
                                                                                    /config/App_DIO_P1M_701312_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701312_Sample.html 
                                                                                    /config/App_DIO_P1M_701313_Sample.one 
                                                                                    /config/App_DIO_P1M_701313_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701313_Sample.html 
                                                                                    /config/App_DIO_P1M_701314_Sample.one 
                                                                                    /config/App_DIO_P1M_701314_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701314_Sample.html 
                                                                                    /config/App_DIO_P1M_701315_Sample.one 
                                                                                    /config/App_DIO_P1M_701315_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701315_Sample.html 
                                                                                    /config/App_DIO_P1M_701318_Sample.one 
                                                                                    /config/App_DIO_P1M_701318_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701318_Sample.html 
                                                                                    /config/App_DIO_P1M_701319_Sample.one 
                                                                                    /config/App_DIO_P1M_701319_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701319_Sample.html 
                                                                                    /config/App_DIO_P1M_701320_Sample.one 
                                                                                    /config/App_DIO_P1M_701320_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701320_Sample.html 
                                                                                    /config/App_DIO_P1M_701321_Sample.one 
                                                                                    /config/App_DIO_P1M_701321_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701321_Sample.html 
                                                                                    /config/App_DIO_P1M_701322_Sample.one 
                                                                                    /config/App_DIO_P1M_701322_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701322_Sample.html 
                                                                                    /config/App_DIO_P1M_701323_Sample.one 
45 

Chapter 13                                                                                                      P1M Specific Information 
 
                                                                                    /config/App_DIO_P1M_701323_Sample.arxml 
                                                                                    /config/App_DIO_P1M_701323_Sample.html 
                                          
                                           
 
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 
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 level of the required channel. 
The level read for the channel is actual physical level of that channel if 
the channel is configured in input mode and input buffer 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 level of all the channels of a required  
port. The level read is actual physical level of the channels that are 
configured in input mode and whose input buffer is also 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 level of group of channels of 
a  required  port.  The  level  read  is  actual  physical  level  of  the  channels 
that are configured in input mode and whose input buffer is also enabled. 
•  The API Dio_MaskedWritePort provides service to set value of given port 
with required mask.The Dio_MaskedWritePort funcion shall set the 
specified value for the channel in specified port if the corresponding bit in 
mask is „1‟. 
•  The API Dio_WriteChannel is invoked to set the required level of a 
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_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. 
 
 
 
 
46 

P1M Specific Information 
Chapter 13 
 
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_P1M_<Device_name>.html 
 
 
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. 
 
•  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.html 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_701310_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 
 
47 

Chapter 13                                                                                                      P1M Specific Information 
 
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.3.2.1 Configuration Example are provided in this section. 
 
 
Table 13-2   ROM/RAM Details with DET                        
 
 
Sl. No.  ROM/RAM 
Segment Name 
Size in bytes 
for 144 pin 
device
 
1. 
ROM 
DIO_PUBLIC_CODE_ROM 
1296 
 
DIO_PRIVATE_CODE_ROM 

CONST_ROM_UNSPECIFIED  

DIO_CFG_DATA_UNSPECIFIED  
 40 
 
DIO_CFG_DBTOC_UNSPECIFIED 
16 
 
2. 
RAM 
RAM_1BIT 

 
 NOINIT_RAM_UNSPECIFIED 


 
 DIO_CFG_RAM_UNSPECIFIED 



 
The details of memory usage for the typical configuration, with DET enabled 
and all other configurations as provided in 13.3.2.1 Configuration Example are 
provided in this section. 
 
  Table 13-3  ROM/RAM Details without DET 
 
Sl. No.  ROM/RAM 
Segment Name 
Size in bytes 
for 144 pin 
device
 
1. 
ROM 
DIO_PUBLIC_CODE_ROM 
690 
DIO_PRIVATE_CODE_ROM 

CONST_ROM_UNSPECIFIED  

DIO_CFG_DATA_UNSPECIFIED  
 40 
 
DIO_CFG_DBTOC_UNSPECIFIED 
16 
 


48 


P1M Specific Information 
Chapter 13 
 
2. 
RAM 
RAM_1BIT 

 
 NOINIT_RAM_UNSPECIFIED 

 
DIO_CFG_RAM_UNSPECIFIED 

 
 
 
 
 
13.3.2. 
Stack Depth 
 
The worst-case stack depth for DIO Driver Component for the typical  
 
Configuration provided in Section 13.3.2.1 is 24 bytes. 
 
 
13.3.3. 
Throughput Details 
 
 The throughput details of the APIs for the configuration mentioned in the 
 Section13.3.2.1 Configuration Example. 
 The clock frequency used to measure the throughput is 80 MHz for all APIs 
 
Table 13-4 Throughput Details of the APIs 
 
 
 
 
Sl. No. 
API Name 
Throughput in 
Remarks 
microseconds 
1. 
Dio_Init 
0.212 

2. 
Dio_WriteChannel 
0.912 

 3. 
Dio_ReadChannel 
0.337 

 4. 
Dio_WritePort 
0.787 

 5. 
Dio_ReadPort 
0.212 

 6. 
Dio_WriteChannelGroup 
0.937 

 7. 
Dio_ReadChannelGroup 
0.350 

 8. 
Dio_MaskedWritePort 
0.787 

 9. 
Dio_FlipChannel 
0.875 

10. 
Dio_GetVersionInfo 
0.12 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49 

Chapter 13                                                                                                      P1M Specific Information 
 
 
50 

Release Details                                                                                                                        Chapter 14 
Chapter 14  Release Details 
 
 
Embedded DIO Driver Software 
 
Version: 1.0.9 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51 

Chapter 14                                                                                                           ReleaseDetails 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52 

 
 
Revision History 
 
 
 
 
Sl.No. 
Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
30-Sep-2013 

Updated for 100 pins and 144 pins device for P1x E4.02 
1.0.1 
27-Jan-2014 
 

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, 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. 
 
 
 
 
 
 
 
 
 
 
53 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     AUTOSAR MCAL R4.0.3 User's Manual 
     DIO Driver Component Ver.1.0.6 
 
      Publication Date: Rev.0.02, May 27, 2015 
 
      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. 
2880  Scott  Boulevard  Santa  Clara,  CA 95050-2554, U.S.A. 
Tel:   +1-408-588-6000, Fax:  +1-408-588-6130 
Renesas  Electronics  Canada  Limited 
1101  Nicholson  Road,  Newmarket,  Ontario  L3Y  9C3,  Canada 
Tel:  +1-905-898-5441, Fax:  +1-905-898-3220 
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-65030, Fax:  +49-211-6503-1327 
Renesas  Electronics  (China)  Co.,  Ltd. 
7th  Floor,  Quantum  Plaza,  No.27  ZhiChunLu  Haidian  District,  Beijing  100083,  P.R.China 
Tel:  +86-10-8235-1155, Fax:  +86-10-8235-7679 
Renesas  Electronics  (Shanghai)  Co.,  Ltd. 
Unit  204,  205,  AZIA  Center,  No.1233  Lujiazui  Ring  Rd.,  Pudong  District,  Shanghai  200120,  China 
Tel:  +86-21-5877-1818, Fax:  +86-21-6887-7858 / -7898 
Renesas  Electronics  Hong  Kong  Limited 
Unit  1601-1613,  16/F.,  Tower  2, Grand  Century  Place,  193  Prince  Edward  Road  West,  Mongkok,  Kowloon,  Hong  Kong 
Tel:  +852-2886-9318, Fax:  +852  2886-9022/9044 
Renesas  Electronics  Taiwan  Co.,  Ltd. 
7F,  No.  363  Fu Shing  North  Road  Taipei,  Taiwan 
Tel:  +886-2-8175-9600, Fax:  +886  2-8175-9670 
Renesas  Electronics  Singapore  Pte.  Ltd. 
1 harbourFront Avenue,  #06-10,  keppel  Bay  Tower,  Singapore  098632 
Tel:  +65-6213-0200, Fax:  +65-6278-8001 
Renesas  Electronics  Malaysia  Sdn.Bhd. 
Unit  906,  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  Korea  Co.,  Ltd. 
11F.,  Samik  Lavied'  or Bldg.,  720-2  Yeoksam-Dong, Kangnam-Ku, Seoul  135-080,  Korea 
Tel:  +82-2-558-3737, Fax:  +82-2-558-5141 
 
 
 
 
© 2015 Renesas  Electronics  Corporation.  All rights reserved. 
 

 
 
Colophon  1.0 
 



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR MCAL R4.0.3 
 
User‟s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



 
 
 
 
 

Document Outline


4 - AUTOSAR_DIO_Tool_UserManual

AUTOSAR MCAL R4.0 User's Manual

6 - AUTOSAR_DIO_Tool_UserManuals





AUTOSAR MCAL R4.0.3 
User‟s Manual 
DIO Driver Component Ver.1.0.2 
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.0.02 Apr 2015


 
 
2 
 


 
 
 
 
Notice 
 
1. 
All information included in this document is current as of the date this document is issued. Such information, however, is subject to 
 
change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm the latest 
 
product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to additional and different 
 
information to be disclosed by Renesas Electronics such as that disclosed through our website. 
 
 
2. 
Renesas Electronics does not assume any liability for infringement of 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. No license, 
 
express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas 
 
Electronics or others. 
 
 3. 
You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. 
 
 
4. 
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 of these circuits, software, and 
 
information in the design of your equipment.  Renesas Electronics assumes no responsibility for any losses incurred by 
 
you or third parties arising from the use of these circuits, software, or information. 
 
5. 
When exporting the products or technology described in this document, you should comply with the applicable export control laws 
 
and regulations and follow the procedures required by such laws and regulations.  You should not use Renesas Electronics products 
 
or the technology described in this document for any purpose relating to military applications or use by the military, including but 
 
not limited to the development of weapons of mass destruction.  Renesas Electronics products and technology may 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. 
 
 
6. 
Renesas Electronics has used reasonable care in preparing the information included in this document, but Renesas Electronics does 
 
not warrant that such information is error free.  Renesas Electronics assumes no liability whatsoever for any damages incurred by 
 
you resulting from errors in or omissions from the information included herein. 
 
7. 
Renesas Electronics products are classified according to the following three quality grades:  "Standard", "High Quality", and 
 
"Specific".  The recommended applications for each Renesas Electronics product depends on the product's quality grade, as indicated 
 
below.  You must check the quality grade of each Renesas Electronics product before using it in a particular application.  You may 
 
not use any Renesas Electronics product for any application categorized as "Specific" without the prior written consent of Renesas 
 
Electronics.  Further, you may not use any Renesas Electronics product for any application for which it is not intended without the 
 
prior written consent of Renesas Electronics.  Renesas Electronics shall not be in any way liable for any damages or losses incurred by 
 
you or third parties arising from the use of any Renesas Electronics product for an application categorized as "Specific" or for which 
 
the product is not intended where you have failed to obtain the prior written consent of Renesas Electronics.  The quality grade of 
 
each Renesas Electronics product is "Standard" unless otherwise expressly specified in a Renesas Electronics data sheets or data 
 
books, etc. 
 
 
"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. 
 
"High Quality": Transportation equipment (automobiles, trains, ships, etc.); traffic control systems; anti-disaster systems; anti- crime 
 
systems; safety equipment; and medical equipment not specifically designed for life support. 
 
"Specific": 
Aircraft; aerospace equipment; submersible repeaters; nuclear reactor control systems; medical equipment or 
 
 
systems for life support (e.g. artificial life support devices or systems), surgical implantations, or healthcare 
 
intervention (e.g. excision, etc.), and any other applications or purposes that pose a direct threat to human life. 
 
8. 
You should use the Renesas Electronics products described in this document within the range specified by Renesas Electronics, 
 
especially with respect to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation 
 
characteristics, installation and other product characteristics. Renesas Electronics shall have no liability for malfunctions or damages 
 
arising out of the use of Renesas Electronics products beyond such specified ranges. 
 
9. 
Although Renesas Electronics endeavors to improve the quality and reliability of its 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 be sure to implement safety measures to guard them against 
 
the possibility of physical injury, and injury or damage caused by fire in the event of the failure of a 
 
Renesas Electronics product, 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.  Because the evaluation 
 
of microcomputer software alone is very difficult, please evaluate the safety of the final products or system manufactured by you. 
 
10. 
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of 
 
each Renesas Electronics product.  Please use Renesas Electronics products in compliance with all applicable laws and regulations 
 
that regulate the inclusion or use of controlled substances, including without limitation, the EU RoHS Directive.  Renesas Electronics 
 
assumes no liability for damages or losses occurring as a result of your noncompliance with applicable laws and regulations. 
 
 11.  This document may not be 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, or if you have any other inquiries. 
   
 
(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. 
 
 
 
 
 
 
 


 
 
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 
Id 
Identifier 
MCAL 
Microcontroller Abstraction Layer 
Dio/DIO 
Digital Input Output 
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 ............................................................................................................. 26 
8.3 
Information Messages ........................................................................................................ 26 
Chapter 9 Notes ...................................................................................................... 27 
 
 
 
 
 
7 


 
List of Figures 
 
Figure 3-1 
Overview of DIO Driver Generation Tool ........................................................................... 13 
 
 
 
List of Tables 
 

Table 5-1 
    Output Files Description ..................................................................................................... 17 
 
 
 
 
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 DIO Driver Generation Tool. DIO 
Driver Generation Tool is a command line tool that extracts information from 
ECU Configuration Description File and BSWMDT 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.3 
2. 
R403_DIO_P1M_04_05_12_13_20_21.arxml 
3. 
P1x Parameter Definition File 
 1.0.4 
 
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 
DIO Driver 
Dio_Cfg.h, 
File, Translation 
Generation 
Dio_PBcfg.c 
XML File and 
Tool 
Configuration 
XML File 
 
 
 
 
 
 
 
Figure 3-1  Overview of DIO Driver Generation Tool 
 
DIO Driver Generation 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 and Configuration XML 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. 
 
 
Remark    
• 
In case of errors the generation tool returns a 1, in case of no errors 
the generation tool returns a 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” file. 
 
13 


Chapter 3                                                                              DIO Driver Generation Tool Overview 
 
14 
 


Input Files 
Chapter 4 
 
 
Chapter 4  Input Files 
 
 
 
 
DIO Driver Generation Tool accepts ECU Configuration Description File(s), 
BSWMDT File, Translation XML File and Configuration XML File as input. 
DIO Driver Generation 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 
 
 
 
 
DIO Driver Generation 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. 
 
Remark  Output files generated by DIO Driver Generation 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.exe. 
 
•  If Translation XML File is not provided on the command line, Dio_X1x.trxml 
which is present in same location of Dio_X1x.exe 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.exe 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 DIO Driver Generation 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 DIO Driver 
Generation 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: 
 
Parameter Name 
Container Name 
DioDevErrorDetect 
 
 
DioMaskedWritePortApi 
 
DioVersionInfoApi 
DioGeneral 
DioVersionCheckExternalModules 
DioDeviceName 
DioFlipChannelApi 
DioCriticalSectionProtection 
 
 
 
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. 
 
 
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.
 
24 
 


Messages 
Chapter 8 
 
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. 
 
 
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. 
 
25 


Chapter 8                                                                                                                                  Messages 
 

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. 
 
 
 
8.2  Warning Messages 
 
None. 
 
 
 
8.3  Information Messages 
 
None. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26 


Notes 
Chapter 9 
 
 
 
Chapter 9 Notes 
 
 
“Generation tool” and “Tool” terminologies are used interchangeably to refer 
DIO driver generation Tool  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27 


 
 
 
 
 
 
 
     Chapter 9 
            Notes 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28 


 
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. 
 
 
29
29


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR MCAL R4.0.3 User's Manual 
DIO Driver Component Ver.1.0.2 
Generation Tool User's Manual 
 
Publication Date: Rev.0.02, April 27, 2015 
 
 
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. 
2880  Scott  Boulevard Santa  Clara,  CA 95050-2554, U.S.A. 
Tel:   +1-408-588-6000, Fax:  +1-408-588-6130 
Renesas  Electronics Canada  Limited 
1101  Nicholson Road,  New market, Ontario  L3Y  9C3,  Canada 
Tel:  +1-905-898-5441, Fax:  +1-905-898-3220 
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-65030, Fax:  +49-211-6503-1327 
Renesas  Electronics (China)  Co.,  Ltd. 
7th  Floor,  Quantum  Plaza,  No.27  ZhiChunLu Haidian  District,  Beijing  100083,  P.R.China 
Tel:  +86-10-8235-1155, Fax:  +86-10-8235-7679 
Renesas  Electronics (Shanghai)  Co.,  Ltd. 
Unit  204,  205,  AZIA  Center,  No.1233  Lujiazui  Ring  Rd.,  Pudong  District,  Shanghai  200120,  China 
Tel:  +86-21-5877-1818, Fax:  +86-21-6887-7858 / -7898 
Renesas  Electronics Hong  Kong  Limited 
Unit  1601-1613,  16/F.,  Tower  2, Grand  Century  Place,  193  Prince  Edward  Road  West,  Mongkok,  Kowloon,  Hong  Kong 
Tel:  +852-2886-9318, Fax:  +852  2886-9022/9044 
Renesas  Electronics  Taiwan  Co.,  Ltd. 
7F,  No.  363  Fu Shing  North  Road  Taipei,  Taiwan 
Tel:  +886-2-8175-9600, Fax:  +886  2-8175-9670 
Renesas  Electronics Singapore Pte.  Ltd. 
1 harbourFront Avenue,  #06-10,  keppel  Bay  Tower,  Singapore  098632 
Tel:  +65-6213-0200, Fax:  +65-6278-8001 
Renesas  Electronics Malaysia  Sdn.Bhd. 
Unit  906,  Block  B, Menara  Amcorp,  Amcorp  Trade  Centre,  No.  18,  Jln  Persiaran  Barat,  46050  Petaling  Jaya,  Selangor  Darul  Ahsan,  Malaysia 
Tel:  +60-3-7955-9390, Fax:  +60-3-7955-9510 
Renesas  Electronics Korea  Co.,  Ltd. 
11F.,  Samik  Lavied'  or Bldg.,  720-2  Yeoksam-Dong, Kangnam-Ku, Seoul  135-080,  Korea 
Tel:  +82-2-558-3737, Fax:  +82-2-558-5141 
 
 
 
 
© 2015 Renesas  Electronics  Corporation.  All rights reserved. 
Colophon  1.0 
 





 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR MCAL R4.0.3 
 
User‟s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Document Outline


7 - Dio Peer Review Checklists


Overview

Summary Sheet
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. Dio
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. Dio_Renesas_Ar4.0.3_01.00.09_1

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Lucas Wendling
Work CR ID:


EA4#3166





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


N/ASource Code


N/APolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:

3rd Party BSW component. Only reviewed 3rd party files for correctness to delivery and any Nexteer created






source files and documentation



















































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:

Follows convention created for
naming convention











BSW components
























Project contains necessary subprojects








N/A
Comments:










































Project contains the correct version of subprojects








N/A
Comments:










































Design subproject is correct version








N/A
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

01/20/16
































Lead Peer Reviewer:


Jared Julien


Approved by Reviewer(s):



Yes































Other Reviewer(s):