This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Renesas Mcal Support

Renesas Mcal Support

Component Documentation

1 - GettingStarted_MCAL_Drivers_X1x

AUTOSAR MCAL R3.2 and R4.0 User's Manual

3 - GettingStarted_MCAL_Drivers_X1xs




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for 
X1x MCAL Driver 
 
 
User’s 
 
 
  
Manual 
Version 1.0.5
 
 
 
Target Device: 
RH850/X1x 
 
 
 
 
 
 
 
 
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.01 Aug 2014

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

 
 
  4 

 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ARXML/arxml 
AUTOSAR xml 
AUTOSAR 
Automotive Open System Architecture 
BSWMDT 
Basic Software Module Description Template 
<MSN> 
Module Short Name 
ECU 
Electronic Control Unit 
GUI 
Graphical User Interface 
MB 
Mega Bytes 
MHz 
Mega Hertz 
RAM 
Random Access Memory 
xml/XML 
eXtensible Markup Language 
<MICRO_VARIANT> 
F1x, R1x, P1x, E1x etc. 
<MICRO_SUB_VARIANT> 
F1L, R1L, P1L, E1L, E1MS etc. 
AUTOSAR_VERSION 
3.2.2 or 4.0.3 
DEVICE_NAME 
Example :701205EAFP 
 
 
 
Definitions 
 
 
 
Terminology 
Description 
.xml 
XML File. 
.one 
Project Settings file. 
.arxml 
AUTOSAR XML File. 
.trxml 
Translation XML File. 
ECU Configuration 
The ECU Configuration Parameter Definition is of type XML, which contains the 
Parameter Definition File 
definition for AUTOSAR software components i.e. definitions for Modules, 
Containers and Parameters. The format of the XML File will be compliant with 
AUTOSAR ECU specification standards. 
ECU Configuration 
The ECU Configuration Description file in XML format, which contains the 
Description File 
configured values for Parameters, Containers and Modules. ECU Configuration 
Description XML File format will be compliant with the AUTOSAR ECU 
specification standards. 
BSWMDT File 
The BSWMDT File in XML format, which is the template for the Basic Software 
Module Description. BSWMDT File format will be compliant with the AUTOSAR 
BSWMDT specification standards. 
Translation XML File 
Translation XML File is in XML format which contains translation and device 
specific header file path. 
Configuration XML File 
Configuration XML File is in XML format which contains command line options 
and options for input/output file path. 


 
 
6 

 
Table Of Contents 
 

Chapter 1  Introduction ..................................................................... 11 
Chapter 2  ECU Configuration Editor (ECU  Spectrum) .................. 13 
2.1. 
Installation Of ECU Configuration Editor (ECU  Spectrum) ................................................ 13 
2.2. 
ECU Spectrum Input and Output Files .................................................................................. 20 
Chapter 3  Configuration Using ECU Configuration ....................... 21 
Editor (ECU Spectrum) ....................................................................... 21 
3.1. 
Creating New Project .............................................................................................................. 21 
3.2. 
Configuration ........................................................................................................................... 22 
3.2.1.  Parameter Configuration ............................................................................................... 24 
3.2.2.  Distinguish Between Containers ................................................................................... 24 
3.2.3.  Save Project.................................................................................................................. 25 
3.2.4.  Validation ...................................................................................................................... 25 

3.3. 
Generate ECU Configuration Description ............................................................................ 26 
Chapter 4  Generation Tool ............................................................... 29 
4.1. 
Translation XML File ................................................................................................................ 29 
4.1.1.  Translation Header File ................................................................................................ 30 
4.1.2.  Device Specific Header File .......................................................................................... 30 

4.2. 
Configuration XML File ........................................................................................................... 30 
4.3. 
Usage ........................................................................................................................................ 31 
4.4. 
Sample Usage .......................................................................................................................... 32 
4.5. 
Tool Installation Requirements .............................................................................................. 34 
4.5.1.  Hardware Requirements ............................................................................................... 34 
4.5.2.  Software Requirements ................................................................................................. 34 
4.5.3.  Limitations ..................................................................................................................... 34 

4.6. 
Tool Installation ....................................................................................................................... 34 
4.6.1.  Pre Requisite ................................................................................................................ 35 
4.6.2.  Installation Steps .......................................................................................................... 35 

4.7. 
Tool Un-Installation ................................................................................................................. 35 
4.8. 
Common Messages ................................................................................................................ 35 
4.8.1.  Error Messages ............................................................................................................. 35 
4.8.2.  Warning Messages ....................................................................................................... 39 
4.8.3.  Information Messages .................................................................................................. 39 

4.9. 
R3.2.2 Messages...................................................................................................................... 40 
4.9.1.  Error Messages ............................................................................................................ 40 
4.9.2.  Warning Messages ....................................................................................................... 40 
4.9.3.  Information Messages .................................................................................................. 40 

4.10.  R4.0.3 Messages...................................................................................................................... 40 
4.10.1.  Error Messages ............................................................................................................ 41 
4.10.2.  Warning Messages ....................................................................................................... 41 
4.10.3.  Information Messages .................................................................................................. 41 

4.11.  BSWMDT File ........................................................................................................................... 41 


 
Chapter 5  Application Example ....................................................... 43 
5.1. 
Folder Structure....................................................................................................................... 43 
5.2. 
Makefile Description ............................................................................................................... 43 
5.2.1.  App_<Msn>_<variant>_Sample.mak ........................................................................... 43 
5.3. 
Integrating The <MSN> Driver Component With  Other Components .............................. 49 
5.4. 
Building The <MSN> Driver Component .............................................................................. 50 
5.4.1.  Targets Supported By The Sample Base Makefile ....................................................... 51 
Chapter 6  Support For Different Interrupt Categories ................... 53 
Chapter 7  GNU MAKE Environment ................................................ 55 
7.1. 
Build Process With GNUMAKE .............................................................................................. 55 
7.2. 
Build Process Without GNUMAKE ........................................................................................ 55 
Chapter 8  Load Binaries .................................................................. 59 
Chapter 9  Appendix.......................................................................... 61 
9.1. 
Translation XML File ................................................................................................................ 61 
9.2. 
Configuration XML File ................................................................................................................. 61 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
List Of Figures 
 
Figure 2-1 
Installation Initiation ........................................................................................................... 14 
Figure 2-2 
Splash Screen .................................................................................................................... 14 
Figure 2-3 
ECU Spectrum installation step 1....................................................................................... 15 
Figure 2-4 
ECU Spectrum installation step 2....................................................................................... 15 
Figure 2-5 
ECU Spectrum installation step 3 ...................................................................................... 16 
Figure 2-6 
ECU Spectrum installation step 4 ...................................................................................... 16 
Figure 2-7 
ECU Spectrum installation step 5....................................................................................... 17 
Figure 2-8 
ECU Spectrum installation step 6....................................................................................... 18 
Figure 2-9 
ECU Spectrum installation step 7....................................................................................... 18 
Figure 2-10 
ECU Spectrum installation step 8....................................................................................... 19 
Figure 2-11 
ECU Spectrum installation step 9....................................................................................... 19 
Figure 2-12 
ECU Spectrum Overview ................................................................................................... 20 
Figure 3-1 
Creating New Project ......................................................................................................... 22 
Figure 3-2 
Adding New Module Instance ............................................................................................ 23 
Figure 3-3 
GUI for Configuration ......................................................................................................... 23 
Figure 3-4 
Parameter Configuration .................................................................................................... 24 
Figure 3-5 
Distinguish Between Containers ........................................................................................ 25 
Figure 3-6 
Validation ........................................................................................................................... 26 
Figure 3-7 
Description File Generation ............................................................................................... 27 
Figure 4-1 
Generation Tool Overview ................................................................................................. 29 
 
 
 
 
 
 
List Of Tables 
 

Table 4-1 
Options and Description .................................................................................................... 31 
Table 4-2 
Mandatory Parameters ...................................................................................................... 40 
Table 4-3 
Mandatory Parameters ...................................................................................................... 41 
Table 6-1 
CAT1 and CAT2 Naming Convention ................................................................................ 53 
Table 6-2 
List of ISR Names that need to be configured and published in Os.h ................................ 54 
(CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver ...................................................... 54 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
10 

Introduction 
 
 
 
 
 
 
 
 
 
      Chapter 1
 
 
 
 
Chapter 1 
Introduction 
 
 
 
 
The document describes the information about installation, usage of ECU 
Configuration Editor (ECU Spectrum), Generation Tool and references to 
Sections in the Component User Manuals that the user needs to refer to build 
the executable. 
 
ECU Spectrum is a tool that dynamically generates GUI controls for specified 
AUTOSAR components according to ECU Configuration Parameter Definition 
File and generates ECU Configuration Description file complying with 
AUTOSAR standards. 
 
Generation Tool is a command line tool that accepts ECU Configuration 
Description File(s), BSWMDT File, Translation XML File and Configuration 
XML File as input and generates the C source and header files based on the 
configuration of the module. 
11 

Chapter 1  
 
 
 
 
 
 
 
 
 
Introduction 
 
 
 
 
12 

ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
    Chapter 2 
 
 
Chapter 2 
ECU Configuration Editor (ECU 
 
Spectrum) 
 
 
 
 
2.1. 
Installation Of ECU Configuration Editor (ECU 
 
Spectrum) 
 
 
The Following procedure is to be followed for proper installation of the 
software: 
 
Copy all the files from the installation disk to a separate folder on to the hard 
disk of the computer on which the application is to be installed (recommended 
but not mandatory). Initialize the ‘setup.exe’ file (This can also be done by 
directly clicking on the same file in the installation disk). 
 
An Install Shield application is invoked which guides the user throughout the 
installation of the software. 
 
The ECU Spectrum installation Disk1 consists of the following files: 
 
• 
data1.cab 
 
• 
data1.hdr 
 
• 
data2.cab 
 
• 
engine32.cab 
 
• 
layout.bin 
 
• 
setup.bmp 
 
• 
setup.exe 
 
• 
setup.ibt 
 
• 
setup.ini 
 
• 
setup.inx 
 
• 
setup.skin 
 
 
The user is recommended to take backup of the installation disk before 
proceeding with the actual installation. Due to certain reasons if the installation 
procedure is aborted, the backup can be used. 
 
The installation procedure is divided into ten steps. The details of all the steps 
are given below. 
13 



 Chapter 2  
 
 
 
 
 
 ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
 
 
Step 1: 
 
 
 
 
 
 
 
Figure 2-1 
Installation Initiation 
 
Run ‘setup.exe’ by double clicking on the setup.exe icon. This operation shows 
the progress indication dialog as shown in the above Figure 2-1. After 
displaying above Figure 2-1, for few minutes ECU Spectrum splash screen will 
appear. 
 
 
 
 
Figure 2-2 
Splash Screen 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14 






ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
    Chapter 2
 
 
 
 
After displaying splash screen for few seconds following 'Preparing Setup' 
dialog box appears (Refer Figure 2-3). 
 
 
 
Figure 2-3 
ECU Spectrum installation step 1 
 
 
 
Step 2: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 2-4 
ECU S  pectrum installation step 2 
 
After completion of the above operation, another dialog box is displayed (Refer 
Figure 2-4) in order to get confirmation from the user to proceed with the 
installation. The user can cancel the installation of software by selecting 
‘Cancel’ button’. To proceed with the installation select ‘Next’ button. 
15 



 Chapter 2  
 
 
 
 
 
 ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
Step 3: 
 
 
 
 
Figure 2-5 
ECU Spectrum installation step 3 
 
 
On selecting ‘Next’ button in Step 2, a dialog box is invoked displaying the 
license agreement. If the terms and conditions of the agreement are 
acceptable then select ‘Yes’ button else select ‘No’ button to abort the 
installation. The user can select ‘Back’ button in order to modify previously 
made settings. (Refer Figure 2-5) 
 
 
Step 4:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                           
Figure 2-6 
ECU Spectrum installation step 4 
16 



ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
    Chapter 2
 
 
 
Step 5: 
 
‘Customer Information’ dialog is displayed. Enter the User Name, Company 
Name and Serial Number and click on ‘Next’ button to proceed for further 
installation procedure. (Refer Figure 2-6) 
 
 
 
 
 
Figure 2-7 
ECU Spectrum installation step 5 
 
Dialog box is displayed for user registration confirmation. Check the appeared 
user registration information, if yes click on ‘Yes’ button. (Refer Figure 2-7). If 
not click on ‘No’ and re-enter the user registration information. 
 
Step 6:
 
 
 
 
17 


 Chapter 2  
 
 
 
 
 
 ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
Figure 2-8 
ECU Spectrum installation step 6 
 
Next, a dialog box allowing the user to select the destination folder is 
displayed (Refer Figure 2-8). The default directory for installation selected by 
the Install shield is C:\Program Files\ECU Spectrum R3.0. However the user 
can select the folder for installation of his/her choice using the ‘Browse’ 
button. The user can cancel the installation of software by selecting 'Cancel' 
button and click on 'Next' button to proceed for further installation procedure. 
 
 
Step 7: 
 
 
 
 
Figure 2-9 
ECU Spectrum installation step 7 
 
Next, a dialog box allowing the user to select the program folder is displayed. 
By default, the name of the folder is ‘ECU Spectrum R3.0’ and the user is 
allowed to change the folder name. (Refer Figure 2-9) 
 
Select ‘Next’ button to continue the installation and ‘Cancel’ button to abort the 
installation. 
18 



ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
Chapter 2
 
 
 
 
Step 8: 
 
 
 
 
Figure 2-10  ECU Spectrum installation step 8 
 
After selecting the appropriate folder for installation, the install wizard will 
display a dialog box displaying the status of the files being copied. (Refer 
Figure 2-10). 
 
The user is allowed to abort the installation by pressing ‘Cancel’ button. 
 
 
Step 9:
 
 
 
 
Figure 2-11  ECU Spectrum installation step 9 
 
After confirmation from the user for copying the files mentioned in Step 8, the 
install wizard will automatically install the ECU Spectrum application, based on  
 
 
19 

 Chapter 2  
 
 
 
 
 
 ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
the selections made by the user. After completion of the installation procedure, 
a dialog gets displayed to intimating the user about completion of the 
installation process. (Refer Figure 2-11). 
 
 
Step 10: Click on ‘Finish’ button to complete the installation process. 
 
 
2.2. 
ECU Spectrum Input and Output Files 
 
 
 
 
ECU Spectrum takes ECU Configuration Parameter Definition File(s) as input. 
It reads the definitions, provides a generic interface to edit values for all the 
configuration parameters and generates the ECU Configuration Description 
file(s) in XML format. It resolves relatively simple dependencies explicitly 
defined in the ECU Configuration Parameter Definition file. On the Plug-In 
side, the user can choose the Generation Tool executable for the individual 
components that takes ECU Configuration Description File as input and 
generates the required ‘C’ source and header files. 
 
 
 
 
 
 
 
. ONE 
AUTOSAR 
 
 
X L
M   AUTOSAR 
 
 
XML 
 
 
 
ECU SPECTRUM 
PROJECT SETTING 
ECU 
 
FILE 
CONFIGURATION 
 
PARAMETER 
 
 
DEFINITION 
 
 
AUTOSAR 
X L
M   
 
AUTOSAR 
XML
 
 
 
GENERATION 
ECU 
TOOLS 
 
DESCRIPTION 
 
 
C FILE 
C FILE 
 
 
HEADER AND 
SOURCE FILES
 
 
 
 
Figure 2-12  ECU Spectrum Overview 
 
20 

Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
Chapter 3 
Configuration Using ECU Configuration 
 
Editor (ECU Spectrum) 
 
 
 
 
This section gives details about procedure for creating a new project, 
configuring the parameters, saving a project, validating the current GUI 
configuration and generating ECU Configuration Description file of ECU 
Spectrum. 
 
 
 
3.1. 
Creating New Project 
 
 
Creating a ‘New Project’ loads the modules from specified ECU Configuration 
Parameter Definition File into the Software. New Project is created using “File - 
> New Project” from the main menu. 
 
 
Steps to be followed: 
 
1.  Select “File -> New Project”. 
 
2.  Select the AUTOSAR Version. Default AUTOSAR version is 4.0.x. 
 
3.  Browse a valid Project Settings file name (of type ‘.one’). 
 
4.  Browse a valid ECU Configuration Parameter Definition File name (of type 
                                               ‘*.xml /*.arxml’). 
 
5.  Click on ‘OK’ button. 
 
6.  Follow step 4 to load more than one definition file. 
 
 
The modules available in the selected files get loaded into the software and it 
is saved in the specified Project Settings file location. Specified Project 
Settings File name is displayed on the title bar of the ECU Spectrum along with 
the respective AUTOSAR version. 
 
21 


Chapter 3 
 
 
      Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
 
 
 
 
 
Figure 3-1 
Creating New Project 
 
The modules available in the selected files get loaded into the Software and it 
is saved in the specified Project Settings location. Specified Project Settings 
file name is displayed on the Title bar of the Software. 
 
 
 
3.2. 
Configuration 
 
 
 
 
Right click on the module in the 'Left Selection View', a popup menu having 
'New Module’ option is displayed. On selecting this option, the instance of the 
module is created. The ECU Spectrum will assign a short name to the newly 
created module automatically. On selecting the newly created module, controls 
are displayed in the 'Right Configuration View' for configuration. Edit the data 
and validate the current GUI configuration. Errors/Warnings/Messages is 
displayed in the ‘Message Info’ window, if any. 
 
The user can configure any number of modules, containers, parameters, and 
references depending on the Multiplicity specified in the ECU Configuration 
Parameter Definition File. 
 
Right clicking on the instance of the module in 'Left Selection View', a popup 
menu having ‘Insert Copy’ ,‘Delete’ ,’Expand’ and ’Collapse’ option is 
displayed. Using ’Insert Copy’, the copy of selected element with configured 
values is inserted. ‘Insert Copy’ option is displayed in the pop up menu based 
on the multiplicity.  Using ‘Delete’, user can delete the selected element. 
‘Expand’ is used to expand the selected element and ‘Collapse’ is used to 
collapse the selected element. 
 
Existing Project Settings can be configured in following ways: 
 
1.  Right Click on the module and add an instance of the module. 
  22 



Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
 
 
 
Figure 3-2 
Adding New Module Instance 
 
2.Click on the instance of the module, user will find a grid on right view for 
configuration. 
 
 
 
 
 
 
Figure 3-3 
GUI for Configuration 
23 


 Chapter 3 
 
 
      Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
3.2.1.  Parameter Configuration 
 
Short Name, Definition Type, Lower multiplicity, Upper multiplicity, Minimum 
value, Maximum value, Implementation config class, Implementation config 
variant,  Default value and Long Name are displayed in ‘Attributes’ grid  and 
Description of the parameter is displayed in the ’Description’ display area on 
click of the parameter in the ‘Right Configuration View’ as shown in the 
following figure. Configure the parameter and press ‘ENTER’ button. Following 
are the types of the parameters: 
 
 
 
 
Figure 3-4 
Parameter Configuration 
 
 
 
3.2.2.  Distinguish Between Containers 
 
On selecting the newly created module in the ‘Left Selection View’, controls are 
displayed in the 'Right Configuration View' for configuration. Name of the 
containers gets displayed at the top of the ‘Right Configuration View’ as shown 
in the following figure. On selecting the container, Parameters and sub- 
containers gets displayed in the grid control as shown in the following figure. 
24 


Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
 
 
 
 
 
 
 
Figure 3-5 
Distinguish Between Containers 
 
 
 
3.2.3.  Save Project 
 
Using “File-> Save Project” menu item, current GUI configuration can be saved 
with specified Project Settings file name. 
 
 
 
 
 
 
3.2.4.  Validation 
 
The modules configuration can be checked for correctness and completeness 
in validation. Before generation of ECU Configuration Description, validate the 
configured values of the modules. Select “Project -> Validate” or press ‘F8’ key, 
25 


  Chapter 3 
 
 
      Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
a current GUI configuration is validated and list of Errors/Warnings/Messages 
is displayed in the ‘Message Info’ window, if any. 
 
 
 
Figure 3-6 
Validation 
 
 
 
3.3. 
Generate ECU Configuration Description 
 
 
This generates the ECU Configuration Description File, which contains the 
configured values for Parameters, Containers and Modules. The generated 
ECU Configuration Description File format will be compliant with the 
AUTOSAR ECU specification standards. After validation of the configured 
values, to generate the ECU Configuration Description follow the below steps: 
 
1.  Select “Generate -> ECU Configuration Description”. 
 
2.  Check the ‘Select all’ Check box. 
 
3.  Specify the ECU Configuration Description File name (of type '*.xml/ 
                                               *.arxml’). 
 
4.  Click ‘Generate’ button 
 
 
 
 
 
 
 
 
 
 
 
 
 
26 


Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
 
 
 
 
 
 
Figure 3-7 
Description File Generation 
 
Successful generation message is displayed in the ‘Result’ display area. The 
ECU Configuration Description data for all modules is generated at the 
specified location. 
27 

 Chapter 3 
 
 
       Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
28 

Generation Tool  
 
 
 
 
 
 
 
 
     Chapter 4 
 
 
 
 
Chapter 4 
Generation Tool 
 
 
 
 
Generation Tool is a command line tool that provides scalability and 
configurability for the component. It accepts ECU Configuration Description 
File(s), BSWMDT File, Translation XML File and Configuration XML File as 
input and generates the C Header and C Source files. However Configuration 
XML File is optional. 
 
 
 
 
 
 
 
 
 
ECU Configuration 
 
Output Folder  -O or 
Description Fil e(s ) 
 
-OUTPU T 
(.arxml),  BSWMDT 
Generation  Tool 
‘Folder_Name’ 
File and Translation 
 
 
 
XML Fi le (.trxml) 
 
 
 
Label to be searched 
inc 
src 
 
Configuration XML 
Translation Header 
 
 
File (.cfgxml) 
File (.h) 
 
*.h 
*.c 
 
Mapped Label to be searched 
 
 
Address to be generated 
Device Specific 
Header File (.h) 
 
 
 
 
Figure 4-1 
Generation Tool Overview 
 
 
 
 
 
 
4.1. 
Translation XML File 
 
 
Generation Tool accepts ECU Configuration Description File(s) (.arxml), 
BSWMDT File (.arxml) and Translation XML File (.trxml) as an input. 
Translation XML File is in XML format which contains translation and device 
specific header file path. For the syntax of the contents of Translation XML 
File, please refer the Chapter 8 Appendix
 
 
If mapped device specific address label is changed/updated then only 
respective mapping in Translation Header File needs to be updated. In this 
case there will not be any impact on Generation Tool for the generation of 
address in tool generated output file(s). 
29 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
4.1.1.  Translation Header File 
 
This file is look-up table (mapping in the form of definitions) for the device 
specific address labels. Based on the configuration in ECU Configuration 
Description File, the mapped device specific address labels will be searched 
in Device Specific Header File by Generation Tool to generate associated 
address in tool generated output file(s). For the Translation Header File path, 
the value of ‘<Msn>DeviceName’ parameter from the container 
‘<Msn>General’ container should be present as child tag of TRANSLATION- 
FILE-PATH in Translation XML File. Both ‘Absolute’ and ‘Relative’ paths are 
supported by generation tool however default path is ‘Relative’ path. 
 
E.g. 
 
<TRANSLATION-FILE-PATH> 
 
<Value_Of_MsnDeviceName>..\DF_Timer.h 
..\DF_Timer_ISR.h</ Value_Of_MsnDeviceName> 
 
</TRANSLATION-FILE-PATH> 
 
 
 
4.1.2.  Device Specific Header File 
 
This file contains device specific labels and associated address. Based on the 
configuration in ECU Configuration Description File, the mapped device 
specific address labels will be used to generate associated address in tool 
generated output file(s). For the Device Specific Header File path, the value of 
‘<Msn>DeviceName’ parameter from the container ‘<Msn>General’ container 
should be present as child tag of DEVICE-FILE-PATH in Translation XML File. 
Both ‘Absolute’ and ‘Relative’ paths are supported by generation tool however 
default path is ‘Relative’ path. 
 
If multiple Device Specific Header Files need to be provided for the same 
device (value of ‘<Msn>DeviceName’ parameter) in Translation XML File, then 
each Device Specific Header File path should be separated with ‘space’. 
 
E.g. 
 
<DEVICE-FILE-PATH> 
 
<Value_Of_MsnDeviceName>..\DF_Timer.h ..\DF_Timer_ISR.h</ 
Value_Of_MsnDeviceName> 
 
</DEVICE-FILE-PATH> 
 
 
 
Remark  Generation Tool will searches the mapped labels in Device Specific Header 
File by using Translation Header File for the respective address generation in 
tool generated output file(s). 
 
 
4.2. 
Configuration XML File 
 
 
Configuration XML File is in XML format which contains command line options 
and input/output path. For the syntax of the contents of Configuration XML File, 
please refer the Chapter 8 Appendix
30 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 4 
 
 
 
E.g. 
 
<LOG>ON/OFF</LOG> 
 
<HELP>ON/OFF</HELP> 
 
 
4.3. 
Usage 
 
 
This section provides the information regarding usage of the Generation Tool. 
It also provides the syntax of the command line arguments (input filenames 
and options). 
 
 
Generation Tool executable is invoked as shown below. 
 
 
{<Component_Name>_X1x.exe} <Options> <Input Filename(s)> 
 
 
Where, 
 
 
<Component_Name>_X1x.exe: Name of the Generation Tool Executable 
 
Options: [-H/-Help -C/-Config -O/-Output -Osrc  -Oinc -L/-Log -D/-Dryrun] 
 
Input Filename(s): {ECU Configuration Description File(s), BSWMDT File and 
Translation XML File [optional]} 
 
 
Notations: 
 
{data} represents compulsory data 
 
<data> represents the actual data that will be specified on command line 
during tool usage. 
 
[data] represents optional data. 
 
 
Table 4-1  Options and Description 
 
Option 
Description 
-H/-Help 
To display help regarding usage of the tool. Gets the 
highest priority when used with other options. 
-C/-Config 
To execute tool with the options provided in the 
Configuration XML File. Command line options get the 
higher priority than the options provided in Configuration 
XML File. 
31 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
Table 4-1  Options and Description 
 
Option 
Description 
-O/-Output 
By default, the tool generates output files in the 
‘<Component_Name>_Output’ folder in the path where 
executable is present. The user can use the -O option 
followed by the folder name, to generate the output files in 
the specified folder. Either absolute path or relative path 
can be provided to specify the folder name. 
The C Source and C Header files are generated in the sub 
folders ‘src’ and ‘inc’ within the output folder. 
-Osrc 
The user can use the -Osrc option followed by the folder 
name, to generate the C Source files in the specified 
folder. 
-Oinc 
The user can use the -Oinc option followed by the folder 
name, to generate the C Header files in the specified 
folder. 
–L/-Log 
To log the output to the <Component_Name>.log file. 
-D/-Dryrun 
To execute tool in validation mode. The tool will not 
generate output files even though the input file provided is 
error free. 
 
Remark    
•   If Translation XML File is not provided on the command line then 
‘<Component_Name>_X1x.trxml’ which is present in the same location of 
‘<Component_Name>_X1x.exe’ is considered as ‘default’ Translation XML 
File by the Generation Tool. 
 
•   If Configuration XML File is not provided on the command line then 
‘<Component_Name>_X1x.cfgxml’ which is present in the same location of 
‘<Component_Name>_X1x.exe’ is considered as ‘default’ Configuration 
XML File by the Generation Tool. 
 
•   The Generation Tool should not be executed more than five times in parallel 
 
 
4.4. 
Sample Usage 
 
 
Sample usage of the generation tool is given below. “<Msn>_X1x.exe” is taken 
as example. Similar usage is applicable for other MCAL Generation Tools. 
 
 
<Msn>_X1x 
 
<Msn> Driver Generation Tool usage is displayed on the terminal. Generation 
Tool accepts Configuration XML File as default and performs the execution, 
based on the settings provided in Configuration XML File. 
 
 
<Msn>_X1x -H 
 
Displays <MSN> Driver Generation Tool help information on the terminal, 
where <MSN> Driver Generation Tool executable is present. 
 
 
<Msn>_X1x -L -O output Sample.arxml BSWMDT.arxml 
 
Generation Tool logs the output to the <Msn>.log file. <Msn>_PBcfg.c file is 
generated in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘include’ folder. 
32 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 4 
 
 
 
                                      <Msn>_X1x -D Sample.arxml BswMd.arxml 
 
Generation Tool validates an input file and displays error/warning/information 
messages if any on the command line. Output files are not generated since –D 
option is provided in the command line. 
 
 
<Msn>_X1x -O output Sample.arxml BswMd.arxml 
 
Output files are generated in folder “output”. <Msn>_PBcfg.c is generated in 
‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
<Msn>_X1x C:\Input\Sample.arxml C:\Input\BswMd.arxml -O output 
 
Generation Tool accepts input file (Sample.arxml) from absolute directory path 
“C:\Input”. Output files are generated in folder “output”. <Msn>_PBcfg.c is 
generated in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
<Msn>_X1x Sample.arxml BswMd.arxml -O C:\Output 
 
Output files are generated in folder “C:\Output”. <Msn>_PBcfg.c is generated 
in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
<Msn>_X1x Sample.arxml BswMd.arxml Sample.trxml 
 
Generation Tool accepts ECU Configuration Description File (Sample.arxml), 
BSWMDT File (BswMd.arxml) and Translation XML File (Sample.trxml) from 
the current working directory. Output files are generated in the default folder 
“<Msn>_Output”, since –O option is not provided in the command line. 
<Msn>_PBcfg.c is generated in ‘src’ folder. <Msn>_Cfg.h file is generated in 
‘inc’ folder. 
 
 
<Msn>_X1x -C Sample.cfgxml 
 
Generation Tool accepts ECU Configuration Description File (Sample.arxml), 
BSWMDT File (BswMd.arxml) and Configuration XML File (Sample.cfgxml) 
from the current working directory. Tool accepts options provided in the 
Configuration XML File. If Configuration XML File name is not provided as 
input with -C option, Generation Tool errors out. 
 
 
Remark    
•  If Translation XML File is not provided on the command line, 
<Msn>_X1x.exe considers <Msn>_X1x.trxml as ‘default’ Translation 
XML File from the same directory where the tool is located. 
 
•  If Configuration XML File is not provided on the command line, 
<Msn>_X1x.exe considers <Msn>_X1x.cfgxml as ‘default’ Configuration 
XML File from the same directory where the tool is located. 
 
•  If any filename/directory name related argument on the command line 
contain the ‘space’, then the same argument on the command line should 
be provided in double quotes “” as followed by standard command line 
feature. E.g. if file name is ‘Sample Description.arxml’, then on the 
command line the same name should be provided in double quotes “” as 
“Sample Description.arxml”. 
 
•  The ‘include’ and ‘src’ directories are generated inside the output directory 
provided on the command line or in the default output directory 
33 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
<Msn>_Output.\ 
 
•  BSWMDT file should not be updated manually since it is “Static 
  Configuration” file. 
 
 
4.5. 
Tool Installation Requirements 
 
 
The minimum hardware and software requirements for proper installation of 
Module Specific Generation Tool are listed below. This ensures optimal 
performance of the Tool. 
 
 
 
 
4.5.1.  Hardware Requirements 
 
 
 
Processor 
Pentium/equivalent processor @ 500 MHz or greater 
 
Memory 
RAM 64MB or greater 
 
Hard Disk Drive 
500 MB or greater storage capacity 
 
 
 
 
4.5.2.  Software Requirements 
 
 
 
Operating System 
Microsoft Windows Platform 
 
 
 
 
 
4.5.3.  Limitations 
 
 
 
Command Line characters are limited to 128 depending upon the operating 
system. 
 
 
 
 
 
4.6. 
Tool Installation 
 
 
The installation procedure of Module Specific Generation Tool is provided in 
the section below. 
34 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 4 
 
 
 
 
4.6.1.  Pre Requisite 
 
 
 
Module Specific Generation Tool executable runs on Windows platforms only. 
 
 
 
4.6.2.  Installation Steps 
 
 
 
Copy the Module Specific Generation Tool executable file to the local hard 
disk. 
 
 
Run the executable with -H option to get help on usage of the tool. 
 
 
<Msn>_X1x.exe -H 
 
 
This command generates usage of Module Specific Driver Generation Tool on 
the command line. 
 
 
 
 
 
4.7. 
Tool Un-Installation 
 
 
There is no specific method for un-installing the Module specific Generation 
Tool. To un-install, delete the Module specific Generation Tool executable from 
the existing directory. 
 
 
 
4.8. 
Common Messages 
 
 
This section contains the list of error/warning/information messages 
 
which is common for AUTOSAR Renesas R3.2.2 and R4.0.3 X1x MCAL Driver 
module that will be generated by the Generation Tool. 
 
 
 
4.8.1.  Error Messages 
 
ERR000001: File <File_Name> does not exist. 
 
This error occurs, if the input <File_Name> is not found. 
 
 
ERR000002: Name of the Generation Tool Configuration XML File is not 
given along with <-C/-CONFIG> option.
 
 
This error occurs, if the name of the Generation Tool Configuration XML File is 
not given along with <-C/-CONFIG> option. 
35 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000003: File <File name> is not as per XML standard. 
 
This error will occur, if the input <File name> is not as per XML standard. 
 
 
ERR000004: Cannot open the <Log file name> file. 
 
This error will occur, if unable to open the <Log file name> file. 
 
 
ERR000005: Name of output directory is not given along with <-O/- 
OUTPUT> option.
 
 
This error will occur, if the output directory name is not given along with <-O/- 
OUTPUT> option. 
 
 
ERR000006: Name of output directory is not given in OUTPUT-PATH tag 
in <File name>.
 
 
This error will occur, if the output directory is not given in OUTPUT-PATH tag in 
configuration file. 
 
 
ERR000007: The Generation Tool expects inputs. 
 
This error will occur, if the no option is provided in the command line and none 
of the option in the configuration file is set. 
 
 
ERR000008: The option <option> is not supported by the Generation 
Tool. The Generation Tool supports <-O/-OUTPUT, -Osrc , -Oinc, -H/-HELP,   -
L/-LOG, -C/-CONFIGFILE and -D/-DRYRUN>"   options.
 
 
This error will occur, if the invalid <option> is provided to the tool. 
 
 
ERR000009: Invalid output directory name <output directory name> as 
the file with same name exists.
 
 
This error will occur, if the <output directory name> already exists. 
 
 
ERR000010: Invalid output directory name <output directory name> 
Directory name should not contain any of \*\?\"\|\: characters.
 
 
This error will occur, if the <output directory name> path contains junk 
character. 
 
 
ERR000011: ECU Configuration Description File is not provided as input 
to the Generation Tool.
 
 
This error will occur, if the ECU Configuration Description File is not given in 
the command line or in configuration file. 
 
 
ERR000012: The input <File name> is not as per XML standard. Provide 
the ECU Configuration Description File as input on the command line.
 
 
This error will occur, if the ECU Configuration Description File is not as per 
XML standard. 
36 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 4 
 
 
 
 
ERR000013: <File name> should contain the TRANSLATION-FILE-PATH' 
and 'DEVICE-FILE-PATH' tags.
 
 
This error will occur, if the translation <File name> doesn’t have 
‘TRANSLATION-FILE-PATH’  and 'DEVICE-FILE-PATH' tags. 
 
 
ERR000014: 'TRANSLATION-FILE-PATH' tag in <File name> is empty. 
 
This error will occur, if the translation <File name> doesn’t have 
‘TRANSLATION-FILE-PATH’ tags. 
 
 
ERR000015: The 'device_name' tag should be present as child of 
'TRANSLATION-FILE-PATH'' tag in <File name>. 
 
This error will occur, if the device mentioned in ECU Configuration Description 
File is not present in 
 
'TRANSLATION-FILE-PATH’ tag in the <File name>. 
 
 
ERR000016: ‘DEVICE-FILE-PATH’ tag in <File name> is empty. 
 
This error will occur, if the translation file <File name> doesn’t have ‘DEVICE- 
FILE-PATH’ tags. 
 
 
ERR000017: The 'device_name’ tag should be present as child of 
‘DEVICE-FILE-PATH' tag in <File name>. 
 
This error will occur, if the device mentioned in ECU Configuration Description 
File is not present in 
 
‘DEVICE-FILE-PATH’ tag. 
 
 
ERR000018: Cannot create directory <output directory name>. 
 
This error will occur, if unable to create output directory <output directory 
name>. 
 
 
ERR000019: Cannot open <File name>. 
 
This error will occur, if unable to open <File name>. 
 
 
ERR000020: The macro label <macro label> should be unique in                
<translation file name> translation C Header File.
 
 
This error will occur, if macro label is not unique in translation C Header File. 
 
 
ERR000021: The macro definition for <macro label> macro is not found 
in <translation file name> translation C Header File. The macro label 
format should be <label format>.
 
 
This error will occur, if macro definition is not found in translation C Header 
File. 
 
 
 
37 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000022: The macro value for <macro label> macro is empty in
 
<translation file name> translation C Header File. 
 
 
This error will occur, if macro label value is empty in translation C Header File. 
 
 
ERR000023: The macro definition for <macro value> macro is not found 
in input device specific C Header File(s).
 
 
This error will occur, if macro definition is not found in input device specific C 
Header File(s). 
 
 
ERR000024: The macro value for <macro value> macro is empty in input 
device specific C Header File(s).
 
 
This error will occur, if macro value is empty in input device specific C Header 
File(s). 
 
 
ERR000025: Path <Configured Reference Path> provided for Bsw Module 
is incorrect.
 
 
This error will occur, if the reference provided for Bsw Module Component is 
incorrect. 
 
 
ERR000026: BSWMDT content is not present in the input file(s) for 
‘<Module Name>’ module. 
 
This error will occur, if the module specific BSWMDT content is not present in 
the input files. 
 
 
ERR000027: <MSN> BSWMDT File of either AUTOSAR R3.2 or R4.0 
should be given as input.
 
 
This error will occur, if the both R3.2 and R4.0 BSWMDT file given to the input 
to the generation tool. 
 
 
ERR000028: 'MODULE-DESCRIPTION-REF' element should be present in 
the description file of '<Module Name>' module.
 
 
This error will occur, if the MODULE-DESCRIPTION-REF element is not 
present module specific description file. 
 
 
ERR000029: AUTOSAR version of BSWMDT File and Module Description 
File is different. 
 
This error will occur, if the AUTOSAR version of the BSWMDT File and module 
description file is different. 
 
 
 
 
 
 
 
 
 
38 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 4 
 
 
 
 
4.8.2.  Warning Messages 
 
WRN000001: As per AUTOSAR ECU Configuration Description File 
naming convention, the file extension should be '.arxml' for file.
 
 
This warning will occur, if ECU Configuration Description file having an 
extension other than ’.arxml’. 
 
4.8.3.  Information Messages 
 
INF000001: Tool Version: 
 
This is to display Tool Version for each execution of the tool. 
 
 
INF000002: Command line arguments: 
 
This is to display the command line arguments for each execution of the tool. 
 
 
INF000003: The valid inputs are provided below. 
 
This information will occur, if the command line option is not given. 
 
 
INF000004: Opened file <filename> at <time>. 
 
This information will occur, during opening the file. 
 
 
INF000005: Error(s) and Warning(s) detected. 
 
This information will display the number of errors and warnings. 
 
 
INF000006: Execution completed successfully. 
 
This information will occur, if the execution completed successfully. 
 
 
INF000007: Execution completed successfully with warnings. 
 
This information will occur, if the execution completed successfully with 
warnings. 
 
 
INF000008: Execution terminated due to command line errors. 
 
This information will occur, if the execution terminated due to command line 
errors. 
 
 
INF000009: Execution terminated due to error in the input file. 
 
This information will occur, if the execution terminated due to error in the input 
file. 
 
 
INF000010: Execution terminated due to error, during the structure 
generation in the output file.
 
 
This information will occur, if the execution terminated during structure 
generation in output file. 
39 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
4.9. 
R3.2.2 Messages 
 
 
This section contains the list of error/warning/information messages which is 
specific to AUTOSAR Renesas R3.2.2 X1x MCAL Driver module that will be 
generated by the Generation Tool. 
 
 
 
4.9.1.  Error Messages 
 
ERR000030: The 'parameter tag name' tag should be configured in 
BSWMDT File. 
 
This error will occur, if any of the configuration parameter(s) mentioned below 
is (are) not configured in BSWMDT File. 
 
The list of mandatory parameters with respect to container is listed below: 
 
Table 4-2  Mandatory Parameters 
 
Container 
Parameters 
BswImplementation 
SW-MAJOR-VERSION 
SW-MINOR-VERSION 
SW-PATCH-VERSION 
AR-MAJOR-VERSION 
AR-MINOR-VERSION 
AR-PATCH-VERSION 
VendorApiInfix 
BswModuleDescription 
ModuleId 
 
Note: VendorApiInfix parameter is mandatory for only some modules. 
 
 
 
4.9.2.  Warning Messages 
 
None. 
 
 
 
4.9.3.  Information Messages 
 
None. 
 
 
 
4.10.  R4.0.3 Messages 
 
 
This section contains the list of error/warning/information messages which is 
specific to AUTOSAR Renesas R4.0.3 X1x MCAL Driver module that will be 
generated by the Generation Tool. 
40 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 4 
 
 
 
 
4.10.1. Error Messages 
 
ERR000030: The 'parameter tag name' tag should be configured in 
BSWMDT File. 
 
This error will occur, if any of the configuration parameter(s) mentioned below 
is (are) not configured in BSWMDT File. 
 
The list of mandatory parameters with respect to container is listed below: 
 
Table 4-3  Mandatory Parameters 
 
Container 
Parameters 
BswImplementation 
SwVersion 
VendorId 
ArReleaseVersion 
VendorApiInfix 
BswModuleDescription 
ModuleId 
 
Note: VendorApiInfix parameter is mandatory for only some modules. 
 
 
 
 
 
4.10.2. Warning Messages 
None. 
 
 
 
 
 
4.10.3. Information Messages 
 
None. 
 
 
 
 
 
4.11.  BSWMDT File 
 
 
The BSWMDT File is the template for the Basic Software Module Description. 
Module specific Generation Tool uses “Common Published Information” from 
module specific BSWMDT file. BSWMDT file should not be updated manually 
since it is “Static Configuration” file. 
 
 
The required elements from BSWMDT File by module specific Generation 
Tool are as follows: 
 
BSW-MODULE-DESCRIPTION 
 
• 
MODULE-ID 
 
 
 
 
 
41 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
BSW-IMPLEMENTATION 
 
• 
SW-VERSION 
• 
 
• 
VENDOR-ID 
 
• 
AR-RELEASE-VERSION 
 
• 
VENDOR-API-INFIX 
 
 
In case of multiple driver support implementation, VENDOR-API-INFIX is 
mandatory. In case of single driver support implementation, VENDOR-
API- INFIX is not used. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42 
 

 Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
 
 
     
 
Chapter 5 
Application Example 
 
 
 
 
5.1. 
Folder Structure 
 
 
Refer Section “Integration and Build Process” in the respective component 
User Manuals. 
 
 
 
 
 
5.2. 
Makefile Description 
 
 
 
 
Makefile is available in the folder “X1X\< MICRO_VARIANT 
>\modules\<msn>\sample_application\< MICRO_SUB_VARIANT 
>\make\<compiler>”.  
The Makefiles with the guidelines provided in AUTOSAR BSW Makefile 
Interface Specification, which enables easy integration with other components 
and the application. 
 
The files is: 
 
 
• A p p _<Msn>_<MICRO_SUB_VARIANT>_<DEVICE_NAME>Sample.mak 
(Contains the device specific instructions). 
 
 
 
 
 
5.2.1.  App_<Msn>_<variant>_Sample.mak 
 
############################################################## 
 
# Makefile to compile and build the Sample application with the AUTOSAR 
<MSN> # 
 
# Driver Component (For Test purposes only) 

 
# Compatible with GNU Make 3.81 for Win32.                                   # 
 
############################################################## 
 
 
############################################################## 
 
# Definitions of global environment variables 
   # 
 
############################################################## 
 
#Get name of the current application 
 
CURRENT_APPL = App_<Msn> 
 
 
# Get the project directory into variable "PROJECT_ROOT" 
 
43 

Chapter 5                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
PROJECT_ROOT = $(shell cd)\..\..\..\..\..\.. 
 
COMMON_SAMPLE_CORE_PATH =     
$(PROJECT_ROOT)\$(MICRO_FAMILY)\common_platform 
                                  \modules\<Msn>\sample_application 
                            
# Get the current working directory into variable "SAMPLE_ROOT_PATH" 
SAMPLE_ROOT_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules
<Msn>\sample_application\$(MICRO_SUB_VARIANT) 
 
# Get the current working directory into variable "STUBS" 
STUBS_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY) 
                                                                           \common_platform\generic 
                                  \stubs\$(AUTOSAR_VERSION) 
 
# Get current configuration path 
 
<MSN>_CONFIG_PATH = 
$(SAMPLE_ROOT_PATH)\$(AUTOSAR_VERSION) 
 
 
# Get TRXML path 
 
                                       TRXML_CONFIG_PATH =  $(PROJECT_ROOT) 
                                                                                  \$(MICRO_FAMILY)\$(MICRO_VARIANT) 
                                                                                  \common_family\generator 
 
# Get BSWMDT path 
 
<MSN>_BSWMDT_CONFIG_PATH = $(PROJECT_ROOT) 
                                                                                                    \$(MICRO_FAMILY) 
                                                                                                    \$(MICRO_VARIANT) 
                                                                                                    \modules\<Msn>                                                                                                          
\generator 
 
# Get current configuration file path 
 
<MSN>_CONFIG_FILE = $(MSN_CONFIG_PATH) \config 
                                         \App_<MSN>_$(MICRO_SUB_VARIANT)_ 
                                         $(DEVICE_NAME)_Sample.arxml 
 
# Path to TRXML Configuration File which is required for this module 
 
TRXML_CONFIG_FILE = 
"$(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO
_VARIANT).trxml"" 
 
                              # Path to ECUM Configuration File which is required for this module 
ECUM_CONFIG_PATH = $(STUBS_PATH)\EcuM 
 
ifeq ($(AUTOSAR_VERSION), 3.2.2) 
ECUM_CONFIG_FILE = "$(ECUM_CONFIG_PATH)\xml\EcuM.arxml" 
else 
44 
 

 Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
 
ECUM_CONFIG_FILE = "$(ECUM_CONFIG_PATH)\xml\EcuM_Icu.arxml" 
endif 
 
                                        # Path to TRXML Configuration File which is required for Test Application 
                                        TRXML_CONFIG_FILE =                  
"$(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO_VARIANT).trxml" 
 
# Path to BSWMDT Configuration File which is required for MSN Sample                   
Application 
 
                                         ifeq ($(AUTOSAR_VERSION), 3.2.2) 
                                        MSN_BSWMDT_CONFIG_FILE =                     
"$(MSN_BSWMDT_CONFIG_PATH)\R322_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml" 
                                         else 
                                         ICU_BSWMDT_CONFIG_FILE =          
"$(MSN_BSWMDT_CONFIG_PATH)\R403_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml" 
                                         endif 
                               
                                         # Version check for inter modules required 
                                        MSN_VERSION_CHECK_REQ = yes 
 
# Database to be linked together with the current application 
 
# Define 'no' to isolate database from the application 
 
<MSN>_DBASE_REQ = yes 
 
 
# Get the name of the SRECORD file 
 
 
                                        CURRENT_APPL_SRECORD = 
                                         $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample 
 
# Name of the database if generated separately 
 
<MSN>_DB = <Msn>_PBcfg 
 
 
############################################################## 
 
# Final executable 

 
############################################################## 
 
EXE = $(CURRENT_APPL)_ MICRO_ 
<SUB_VARIANT>_Sample.$(EXE_FILE_SUFFIX) 
LIBRARIES_TO_BUILD = 
OBJECTS_LINK_ONLY = 
 
OBJECT_OUTPUT_PATH  = $(SAMPLE_ROOT_PATH)\obj\ghs 
GENERATED_SOURCE_FILES = 
CC_FILES_TO_BUILD = 
45 

Chapter 5                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 
CPP_FILES_TO_BUILD = 
ASM_FILES_TO_BUILD = 
 
 
CC_INCLUDE_PATH = 
CPP_INCLUDE_PATH = 
ASM_INCLUDE_PATH = 
 
 
PREPROCESSOR_DEFINES = 
 
 
LIBRARIES_LINK_ONLY = 
DIRECTORIES_TO_CREATE = 
DEPEND_GCC_OPTS = 
 
 
MAKE_CLEAN_RULES = 
MAKE_GENERATE_RULES = 
MAKE_COMPILE_RULES = 
MAKE_DEBUG_RULES = 
MAKE_CONFIG_RULES = 
MAKE_ADD_RULES = 
 
 
MAKE_DEBUG_RULES = 
MAKE_ CONFIG_RULES = 
MAKE_ADD_RULES = 
 
MAKE_DEBUG_RULES += debug_base_make 
 
STD_LIBRARY = 
 
LNKFILE = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<msn
>\sample_application\$(MICRO_SUB_VARIANT)\make\ghs\$(CURRENT_APP
L)_$(MICRO_SUB_VARIANT)_$(DEVICE_NAME)_Sample.ld 
 
LNKFILE_DB = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<ms
n>\sample_application\$(MICRO_SUB_VARIANT)\make\ghs\$(CURRENT_A
PPL)_$(MICRO_SUB_VARIANT)_$(DEVICE_NAME)_Sample_db.ld 
 
 
                           .PHONY: MAKE_CLEAN_RULES MAKE_GENERATE_RULES  
                           MAKE_COMPILE_RULES \ 
                           MAKE_DEBUG_RULES MAKE_CONFIG_RULES MAKE_ADD_RULES 
 
############################################################## 
 
# Modules to be included in the project 

 
############################################################## 
46 
 

 Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
 
############################################################## 
# Sample Application 
 

 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_Defs.mak 
 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_rules.mak 
 
 
SAMPLE_CORE_PATH = $(SAMPLE_ROOT_PATH) 
 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_defs.mak 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_rules.mak 
 
 
############################################################## 
 
############################################################## 
 
############################################################## 
 
 
# DET Module Core Path 
 

 
#DET_CORE_PATH = $(STUBS_PATH)\Det 
 
#include $(DET_CORE_PATH)\make\det_defs.mak 
 
#include $(DET_CORE_PATH)\make\det_rules.mak 
 
############################################################## 
 
############################################################## 
 
 
# OS Module Core Path 
 

 
OS_CORE_PATH = $(STUBS_PATH)\os 
 include $(OS_CORE_PATH)\make\os_defs.mak 
 include $(OS_CORE_PATH)\make\ os_rules.mak 
 ############################################################# 
 
                              
                              
                                          ############################################################## 
                                          # ECUM Module Core Path 
                                          # 
                                          ECUM_CORE_PATH = $(STUBS_PATH)\EcuM 
                                          include $(ECUM_CORE_PATH)\make\ecum_defs.mak 
                                          include $(ECUM_CORE_PATH)\make\ecum_rules.mak 
                                          ############################################################## 
 
 ############################################################## 
47 

Chapter 5                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 
 # Scheduler Manager Module Core Path 
 
 # 
 
 ifeq ($(AUTOSAR_VERSION), 3.2.2) 
 SCHM_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(SCHM_CORE_PATH)\make\schm_defs.mak 
 else 
 RTE_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(RTE_CORE_PATH)\make\rte_defs.mak 
 endif  
 ############################################################# 
 
 # <MSN> Driver Component 
 
 # 
 
<MSN>_CORE_PATH = 
 $(PROJECT_ROOT \$(MICRO_FAMILY)\  common_platform 
 \modules\<msn> 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_defs.mak  
 include $(<MSN>_CORE_PATH)\make\renesas _<msn>_check.mak 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_rules.mak 
 
 
 ############################################################# 
 
 
############################################################## 
 
# Command to generate standalone database 

                             
$(MSN_DB).$(S_RECORD_SUFFIX):$(MSN_DB).$(OBJ_FILE_SUFFIX) 
$(LNKFILE_DB) 
@echo    ********************************************************************* 
                                         @echo Building the standalone database ...   
                                         $(DBLINKER) $(LNKFILE_DB) \ 
                                         "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(MAP_FILE_SUFFIX)" \ 
-o "$(OBJECT_OUTPUT_PATH)\$(MSN_DB).$(EXE_FILE_SUFFIX)" 
                                         @echo Generating Motorola S-Record file... 
                                         $(CONVERTER) $(SFLAGS)                                       
                                        
"$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(EXE_FILE_SUFFIX)" \ 
    
                              -o "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(S_RECORD_SUFFIX)" 
                                          @echo Done ... 
 
############################################################## 
################## 
 
$(<MSN>_DB).$(S_RECORD_SUFFIX):$(<MSN>_DB).$(OBJ_FILE_SUFFIX 
) $(LNKFILE_DB) 
 
@echo ********************************************************************* 
 
@echo Building the standalone database ... 
 
$(DBLINKER) $(LNKFILE_DB) \ 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(MAP_FILE_SUFFIX)" \ 
48 
 

 Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" 
 
@echo Generating Motorola S-Record file... 
 
$(CONVERTER) $(SFLAGS) 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(S_RECORD_SUFFIX)" 
 
@echo Done ... 
 
                              
     
############################################################### 
 
# End of the Base Make script                                                  # 
############################################################### 
 
5.3. 
Integrating The <MSN> Driver Component With 
 
Other Components 
 
This section explains the procedure to integrate the <MSN>Driver Component 
with other BSW components and the application. 
 
Depending on the various configurations, the following modules are required to 
be integrated with the <MSN>Driver Component: 
 
• 
<MSN>Interface (Folder ‘Sample_Application’ where the sample 
application for <MSN> exists. The variable ‘<MSN>_CORE_PATH’ 
and the corresponding module Makefile names must be suitably 
changed in the base Makefile) 
 
 
• 
Development Error Tracer (Folder ‘Det’ where the DET module files exist. 
The variable ‘DET_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
Scheduler Manager (Folder ‘SchM’ where the SCHM module exists. 
The variable ‘RTE_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
MCU Interface (Folder ‘Mcu’ in the give example. The variables 
‘MCU_CONFIG_PATH’ and ‘MCU_CONFIG_FILE’ must be suitably 
changed in the module Makefile 
(Software_Source_Code\ssc\mak\renesas_<MSN>_rules.mak) and 
the base Makefile). 
 
 
All the above folders are given only as examples and they have to be 
replaced with actual component folders. It is assumed that every component 
has the corresponding module Makefiles. 
 
Apart from the above BSW components, few other folders are provided as 
mentioned below: 
 
• 
AUTOSAR Type definition Files (Folder ‘common\include’, where the 
header files containing standard definitions that are common to all 
components are placed. The variable ‘STUB_CORE_PATH’ and the 
corresponding module Makefile names must be suitably changed in the 
base Makefile) 
49 

Chapter 5                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 
• 
RH850 specific Files (Folder ‘X1X\common_platform\generic\include’,where 
the header files that are common to all components but specific to Renesas 
V850 microcontroller are placed. The variable ‘ 
GENERIC_PLATFORM_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile) 
 
Compiler specific Files (Folder ‘compiler’, where the header files that are 
common to all components but specific to GreenHills Compiler are placed. 
The variable ‘COMPILER_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile). 
 
5.4. 
Building The <MSN> Driver Component 
 
 
This section explains the procedure to build the <MSN>Driver Component for 
any given configuration. 
 
The <MSN> Driver Configuration Description file (.arxml) has to be given as 
input to the <MSN> Driver Generation Tool. The tool generates output files 
namely <Msn>_Lcfg.c, <Msn>_PBcfg.c, <Msn>_Cbk.h and <Msn>_Cfg.h. 
 
 
Following variables must be defined in the base Makefile described in 
Section 5.2.1 (Makefile Description) 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
SPECIFIC_APPL_ROOT_PATH: Directory where the <MSN> sample 
application exists. 
 
• 
OBJECT_OUTPUT_PATH: Directory where the module specific output 
files are generated. 
 
• 
STARTUP_<family>_CORE_PATH: Core path for the variant specific 
statup files exist. 
 
• 
STUB_CORE_PATH: Core path for the stub files exist. 
 
• 
COMPILER_PATH: Directory where the compiler files exist. 
 
• 
DEVICE_FILE_PATH: Directory where the device files exists. 
 
• 
MSN_CORE_PATH: Core path for the <MSN> Driver Component 
folder. 
 
• 
MSN_TOOL_PATH: Directory where the module specific tool exe exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_clean_generated_files: This target can be used to clean the 
configuration source and header files generated by the <MSN> Driver 
Generation Tool. 
 
• 
debug_<MSN>_makefile: This target can be used to print the debug 
information such as paths used by <MSN> Driver Component. 
 
• 
generate_<MSN>_config: This target can be used to invoke the <MSN> 
Driver Generation Tool which in turn takes the ECU Configuration 
Description files (App_<MSN>_<DEVICE_NAME>_Sample.arxml) as 
an input and generates the configuration source and header files. 
 
50 
 

 Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
 
Following variables must be defined in the Module Makefile described in
 
Section 5.2.1 (Makefile Description): 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
MSN_CONFIG_PATH: Configuration path for description file of the 
<MSN> Driver Component. 
 
• 
MSN_CONFIG_FILE: Name of the <MSN> Driver Component description 
file. 
 
• 
STUB_CONFIG_PATH: Configuration path for description file of the stub. 
 
• 
MCU_CONFIG_FILE:  Name of the MCU Driver Component description 
file. 
 
• 
TRXML_CONFIG_PATH: TRXML Configuration file path used for the 
 
 
 
        <MSN> Driver Component. 
 
• 
TRXML_CONFIG_FILE: TRXML Configuration file used for the <MSN> 
    Driver Component. 
 
• 
BSWMDT_CONFIG_PATH: Path for <MSN> BSWMDT file. 
 
• 
BSWMDT_CONFIG_FILE: Name of the <MSN> BSWMDT file. 
 
• 
GENERIC_STUB_PATH: Directory where the generic stub exist. 
 
• 
GENERIC_PLATFORM_PATH: Directory where the generic platform 
files exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_DB: Name of the Post-build configuration file. 
 
The above mentioned variables must be used by the user to build the base 
Makefile. 
 
A sample base Makefile (App_<MSN>_ <MICRO_SUB_VARIANT> 
_Device_Sample.mak) has been provided with the product for reference. 
This file can be modified to suit the developer’s needs. 
 
The targets that are supported in the base Makefile enable the user in build 
and cleanup activities during/after the build process. They are listed below: 
 
 
5.4.1.  Targets Supported By The Sample Base Makefile 
 
5.4.1.1.  debug_base_make 
 
Invoking the Make utility and passing “debug_base_make” as a parameter 
prints all the variables that are used in the base Makefile. This can be used to 
print various paths and file names to see if they are correct. 
 
5.4.1.2.  clean_objs 
 
Invoking the Make utility and passing “clean_objs” as a parameter deletes all 
the object files from the output folder 
(“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT >\obj” in this case). 
 
51 

Chapter 5                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
5.4.1.3.  clean 
 
Invoking the Make utility and passing “clean” as a parameter deletes tool 
generated files in the configuration output folders 
(“X1X\<MICRO_VARIANT>\modules\<msn>\sample_application\< 
MICRO_SUB_VARIANT>\src” and 
 
“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\include”in this case) 
 

5.4.1.4.  clean_all 
 
Invoking the Make utility and passing “clean_all” as a parameter deletes all 
files such as object file, list files and map files from the output folder 
(“X1X\< MICRO_VARIANT > 
          \modules\<msn>\sample_application\< MICRO_SUB_VARIANT           
>\obj” in this case). 
 
5.4.1.5.  generate_<msn>_config 
 
Invoking the Make utility and passing “generate_<MSN>_config” as a 
parameter invokes the <MSN> Driver Generation Tool. The tool takes the 
ECU Configuration Description File(s) (“X1X\< MICRO_VARIANT 
>\modules\<msn>\Sample_application\<MICRO_SUB_VARIANT> 
   \ AUTOSAR_VERSION 
 
config\<MSN>_Sample_ <MICRO_SUB_VARIANT>\.arxml” as input and 
generates the output files in folders 
 
“X1X\< MICRO_VARIANT >\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \src” and 
 
“X1X\< MICRO_VARIANT >1\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \include”). 
 
5.4.1.6. 
App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out 
 
Invoking the Make utility and passing “Sample.out” as a parameter invokes the 
compiler and linker sequentially. Then it generates the executable 
“App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out”. 
 
5.4.1.7.  <Msn>_PBcfg.s37 
 
Invoking the Make utility and passing “<Msn>_PBcfg.s37” as a parameter 
invokes 
the compiler and linker sequentially and generates the Motorola S-Record file 
“<Msn>_PBcfg.s37” in the output folder. 
This scenario typically arises when post-build parameters are modified and 
only the database needs to be flashed into the device without disturbing the 
other ROM contents. 
 
52 
 

 Support For Different Interrupt Categories           
 
 
 
 
    Chapter 6                                                                                       
 
 
 
 
 
 
 
 
 
 
     
Chapter 6  Support For Different Interrupt Categories 
 
 
 
 
The <MSN> Driver supports CAT1 and CAT2 interrupt categories: 
 
 
CAT1 
 
In  CAT1  type  of  interrupt  ISR  does  not  use  an  operating  system  service.  In 
practice, the OS does not handle these interrupts, and the interrupt handler is 
implemented  in  the  driver  code,  with  the  only  restriction  that  OS  services 
cannot be called. Typically, these are the fastest highest priority interrupts. 
 
 
 
 
CAT2 
 
In  CAT2 type  of  interrupt wherein the  ISR  is  handled by  the  system and  OS 
calls can be called from the handler. 
 
 
For CAT1 and CAT2, the selection of interrupt category is for each interrupt in 
the module. Individual MCAL module does not contain any option for interrupt 
category configuration. The user has to configure the ISR category in OS and 
also  to  use  the  right  MCAL  specified  name  and  MCAL  expects 
"ISR(INTERRUPT_NAME)" keyword defined in OS in case of CAT2. 
 
Notes  1.   The understanding is Os module does not publish short name handles for 
CAT1 OsIsr container. But it should be defined in the interrupt vector table 
by the OS. 
 
2.   The understanding is that Os module should publish short name handles 
for CAT2 OsIsr container according to ecuc_sws_2108 requirement by 
adding the Os_" pefix to the configured interrupt name. 
 
 
Reference between the <MSN> module and OS: 
 
<Msn> module's <Module>_Irq.c/h files include "Os.h" header file to obtain the 
interrupt  category  information  configured  in  the  OS.  Therefore  following  pre- 
processor  definitions  are  expected  to  be  published  in  Os.h  file  by  the  OS  in 
case of CAT2 or to be used in the interrupt vector table in case of CAT1. 
 
 
Table 6-1  CAT1 and CAT2 Naming Convention 
 
Interrupt Category 
Naming Convention 
CAT1 
<MCAL_INTERRUPT_NAME>_ ISR 
CAT2 
<MCAL_INTERRUPT_NAME>_CAT2_ISR 
CAT2 (In case the handles of 
Os_<MCAL_INTERRUPT_NAME>_CAT2_ISR 
the OsIsr container are 
generated without ‘Os_’ prefix 
by Os generation tool) 
 
 
 
53 

Chapter 6 
 
 
 
 
 
    Support For Different Interrupt Categories 
 
  
MCAL in Stand Alone: 
 
In  case  if  the  MCAL  modules  are  to  be  used  stand  alone  without  having 
standard Autosar Os module, the user has to prepare an Os.h stub file with the 
published  handles  only  for  those  interrupt  names  which  are  to  be  used  as 
CAT2. 
 
Table 6-2 
List of ISR Names that need to be configured and published in Os.h 
(CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver 
 
 
 
 
 
 
CAT2(In case the handles of the 
 
 
Sl. 
OsIsr container are generated 
CAT1 
CAT2 
No. 
without ‘Os_’ prefix by Os 
generation tool)
 

<MSN>n_SGm_ISR 
<MSN>n_SGm_CAT2_ISR 
Os_<MSN>n_SGm_CAT2_ISR 

<MSN>_DMA_CHxy_ISR 
<MSN>_DMA_CHxy_CAT2_ISR 
Os_<MSN>_DMA_CHxy_CAT2_IS 

 
Where 
 
‘n’ indicate HW Unit number 
 
‘m’ indicate SG Unit number 
 
‘xy’ indicate DMA channel Id number 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54 


 GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 7 
 
 
Chapter 7 
GNU MAKE Environment 
 
Every component is delivered with the necessary Make scripts that are 
required to integrate the component with the application. The scripts are 
compatible with GNU Make version 3.81. 
 
 
All the delivered Makefiles have to be included in the project level base 
Makefile in order to build the component together with the application. Refer 
section “Integration and Build Process” of the respective component User 
Manuals for more information on the Makefile variables and their usage. 
 
 
 
7.1. 
Build Process With GNUMAKE 
 
 
When the batch file of certain application is built, the GNU Make utility will be 
searched by batch file. The GNU Make utility should be present in the default 
path specified by GNUMAKE\PATH variable. By making use of the GNU Make 
utility the batch file will be compiled. 
 
 
 
7.2. 
Build Process Without GNUMAKE 
 
 
If GNU Make utility is not present at the default path or present in some other 
directory the following procedure is followed to set the Environmental variable 
GNUMAKE\PATH. 
 
1.   Right click on “My Computer” select properties, user will find System 
Properties. 
 
 
55 



Chapter 7  
 
 
 
 
 
 
 
       GNU MAKE Environment 
 
 
2.   In System Properties select “Advanced” option, user will find 
“Environmental Variables” at the bottom side of window. 
 
 
 
 
3.   Click on “Environmental Variables”, user will find “Environment Variables” 
window in that, select “New”. 
 
 
56 


 GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 7 
 
 
 
4.   After step 3, user can find “New User Variable” window with “Variable 
name” and “Variable path” options which needs to be set, Variable name 
will be set as GNUMAKE and Variable path is the path of the directory 
where GNU Make utility is present and click ok. 
 
 
 
 
5.   After step 4, in “System Properties” window click “Apply” and then “Ok”. 
 
 
Remark  GNU Make utility version 3.81 must be separately downloaded and installed to 
use the Makefiles delivered along with the component. More information on the 
utility can be found at http://www.gnu.org/ 
 
 
 
 
 
 
 
 
57 

Chapter 7  
 
 
 
 
 
 
 
       GNU MAKE Environment 
 
 
 
58 
 

 Load Binaries                                                                                                                            Chapter 8
 
 
 
 
 
 
 
 
 
 
     
Chapter 8 
Load Binaries 
 
 
 
 
Once the Executable or S-Record is generated using the project level base 
Makefile, it needs to be downloaded into the target using a Flash programmer. 
 
 
The user has to read the instructions provided in the Flash programmer’s User 
Manual thoroughly before using it. 
 
 
59 

 Chapter 8                                                 
 
 
 
 
 
Load Binaries                                                                                                                                                                                                                                      
 
 
 
 
 
 
 
 
 
              
 
 
 
60 
 

 Appendix  
 
 
 
 
 
 
 
 
                  Chapter 9                                                                                                                                       
 
 
 
 
 
 
 
 
 
 
      
Chapter 9 
Appendix 
 
 
 
9.1.  Translation XML File 
 
 
Translation XML File content format shall be given as mentioned below: 
 
 
<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
The tag PATH-DETAILS should not be renamed since it is top level element. 
--> 
<PATH-DETAILS> 
<!-- 
TRANSLATION-FILE-PATH should contain the path of the translation 
header file. 
The tag TRANSLATION-FILE-PATH should not be renamed. Only respective 
value should be updated for the translation header file. 
--> 
<TRANSLATION-FILE-PATH> 
<value_of_<MSN>DeviceName>Path</value_of_<MSN>DeviceName> 
</TRANSLATION-FILE-PATH> 
<!-- 
The tags present in DEVICE-FILE-PATH tag should contain the path of 
the device specific C Header File. 
The tags present in DEVICE-FILE-PATH should be equal to the value 
for parameter <MSN>DeviceName present in <MSN>General container. 
The tag DEVICE-FILE-PATH should not be renamed. 
 
 
If multiple device header files need to provide for same device then each file 
name should be separated with space. 
--> 
<DEVICE-FILE-PATH> 
<value_of_<MSN>DeviceName>Path</value_of_<MSN>DeviceName> 
</DEVICE-FILE-PATH> 
</PATH-DETAILS> 
 
 
 
 
 
9.2.  Configuration XML File 
 
 
Configuration XML File content format shall be given as mentioned below: 
 
 
<? 
xml version="1.0" encoding="UTF-8"?> 
<!-- 
61 

Chapter 9   
 
 
 
 
 
 
 
 
 
      Appendix 
 
 
 
 
None of the tag from this XML should be renamed or deleted. 
--> 
<XML> 
<!-- Supported Command Line options  --> 
<OPTION> 
<!-- Only ON or OFF should be provided. --> 
<HELP>ON/OFF</HELP> 
 
 
<!-- Only ON or OFF should be provided. --> 
<LOG>ON/OFF</LOG> 
 
 
<!-- Only ON or OFF should be provided. --> 
<DRYRUN>ON/OFF</DRYRUN> 
 
 
<!-- Only ON or OFF should be provided. --> 
<OUTPUT>OFF</OUTPUT> 
 
 
<!-- Name of output directory --> 
<OUTPUT-PATH>Path</OUTPUT-PATH> 
</OPTION> 
 
 
<!-- To provide input files. If multiple input files need to be provided then 
each file should be separated with ",". --> 
<INPUT-FILE>Path</INPUT-FILE> 
</XML> 
62 
 

 
 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
31-Jan-2013 
2. 
Following changes are made: 
1.0.1 
16-Oct-2013 
1. -Osrc and -Oinc options are added at section 4.3. Usage. 
2.  Error message ERR000008 is updated at section 4.8.1. Error 
Messages.                                                                                                            
3. F1x is renamed to X1x in all relevant places.  
 
3. 
Following changes are made: 
1.0.2 
24-Jan-2014 
1. Chapter 5 is updated for paths. 
2. F1x and F1L names are removed. 
3. Makefile location is updated. 
4. Name of executable is updated. 
 
4. 
Following changes are made: 
1.0.3 
08-April-2014 
1. Page Number alignment is corrected. 
2. R- Number is added for document. 
5. 
Following changes are made: 
1.0.4 
17-July-2014 
1. Copyright year information is corrected. 
2. R- Number is added for document. 
6. 
Following changes are made: 
1.0.5 
09-Aug-2014 
1. Document is updated as per template. 
 
63 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for X1x MCAL Driver User's Manual 
Version 1.0.5 
 
Publication Date: Rev.0.01, August 09, 2014 
 
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 
 
 
 
 
© 2014 Renesas  Electronics  Corporation.  All rights reserved. 
Colophon  1.0 
 



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for X1x MCAL Driver 
 
User’s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R20UT2979EJ0001 
 
 
 

Document Outline


4 - KnownIssues_P1x_R403_2015_CW23

KnownIssues_P1x_R403_2015_CW23

6 - KnownIssues_P1x_R403_2015_CW23s

ID
Category
Summary
Description
ASR_TicketType
Status
22712
General
Usage of value INF not according ASR 
Problem description: 
BUG
OPEN 
requirements
According AUTOSAR_TPS_ECUConfiguration the value 'inf' derived from standard module definition STMD must be used as follows: 
ISSUE
• [ecuc_sws_6045] If the min value equals -inf or the max value equals inf in 
the StMD the min/max values in the VSMD shall be replaced with the actually 
supported min/max values for this implementation. 
 
Expected behavior: 
INF shall not be used, but instead the actual MIN/MAX values shall be available in PDFs 
 
Current behavior: 
See problem description field.
26927
General
[Port] 
Problem description: 
BUG
OPEN 
AUTOSAR_PORT_Component_UserManual. Lack of information about Exclusives areas in AUTOSAR_PORT_Component_UserManual.pdf. As a result user is facing difficulty during integration. 
ISSUE
pdf is lacking information about Exclusives  Source Package: AUTOSAR_RH850_P1x_MCAL_E4.03 
areas for CRITICAL SECTION PROTECTION
 
Expected Behavior: 
The user manual should contain information about INIT_CONFIG_PROTECTION, REFRESH_PORT_INTERNAL_PROTECTION and SET_TO_DIO_ALT_PROTECTION. 
 
Actual behaviour: 
UM only describes SET_PIN_MODE_PROTECTION in chapter 4.4, but SET_PIN_DIR_PROTECTION, INIT_CONFIG_PROTECTION, REFRESH_PORT_INTERNAL_PROTECTION and 
SET_TO_DIO_ALT_PROTECTION, SET_PIN_DEFAULT_MODE_PROTECTION, SET_PIN_DEFAULT_DIR_PROTECTION are not mentioned.
26988
General
CAN and LIN modules not following 
Problem description: 
BUG
OPEN 
Autosar requirement BSW00347
As per AUTOSAR requirement BSW00347, the driver modules shall be named as per <MSN>_<VendorId>_<VendorSpecificName>_<ServiceName>. 
ISSUE
For Example : 'Can_Init()' will become 'Can_59_Renesas_Init()'.  
It shall be followed for File Names, Public APIs, Published Parameters, Memory allocation Keywords and Public data types. But this is not followed in CAN and LIN modules which support 
multiple instance as per autosar base definition file. 
 
Expected behaviour: 
The driver modules shall be named as per <MSN>_<VendorId>_<VendorSpecificName>_<ServiceName>. 
 
Actual behaviour: 
The driver modules(CAN and LIN) are not named as per <MSN>_<VendorId>_<VendorSpecificName>_<ServiceName>. 
 
The following MCAL modules have the tag 'UPPER-MULTIPLICITY-INFINITE' is set to 'true' in Autosar Base Definition file AUTOSAR_MOD_ECUConfigurationParameters.arxml and hence 
support multiple instance. 
1. CAN 
2. Ethernet 
3. FLS 
4. Flexray 
5. ICU 
6. LIN 
7. PWM 
8. WDG 
But for Ethernet, FLS, ICU, and PWM modules, the requirement BSW00347 is moved to NA requirements in the Traceability section.  

27639
General
PRAGMA define inconsistent to device 
<u>Problem Description:</u> 
BUG
OPEN 
header file package
PRAGMA define differs between io_macros_v2.h from device header file packages and compiler.h in MCAL package. 
ISSUE
 
In Compiler.h: 
#define PRAGMA(x) _Pragma(x) 
 
In io_macros_v2.h: 
#define PRAGMA(x) _Pragma(#x) 
 
<u>Current Behaviour:</u> 
In customer application this might cause a compilation warning due to a macro redefinition if both header files are used. 
 
<u>Expected Behaviour:</u> 
Consistent define used in both header files. 
27721
General
Command line option -F not working
Problem description: 
BUG
OPEN 
The -F/FILEVERSION option of generation tool is not working. Instead of listing the version of tool code files, the tool is throwing error 'ERR000011:ECU Configuration Description File is 
ISSUE
not provided as input to the Generation Tool'. 
 
Expected behavior: 
On the usage of -F/FILEVERSION option, generation tool must list the version of tool code files. 
 
Actual behaviour: 
See Problem description. 
27747
General
Makefiles use invalid include paths for GHS  Problem Description: 
BUG
OPEN 
builder
The GHS makefiles for sample applications use invalid include paths parameters. 
ISSUE
This behaviour has currently no effect to GHS builder but this might change. 
It lengthens the command lines without any use. 
 
Actual behaviour: 
GHS builder is called with invalid options like 
-I\4.0.3 
-I\common 
 
Expected behaviour: 
Only valid include path parameters shall be used.
27766
General
Functional codes are executing Even after  Problem Description: 
BUG
OPEN 
DEM is reported.
 
ISSUE
Even after DEM error is reported, functional codes are getting executed, which may result in unexpected behavior of driver.  
 
Similar issue is found in SPI while doing functional testing for E1x V4.00.04 release, And an issue is reported in mantis # bug:26731. 
 
Decided to create new ticket to start  investigation for similar issues in all other module (see note:181849). 
 
 
 
Expected behavior:  
Functional codes shall not execute after reporting DEM Error. 
 
 
Actual behavior:  
Functional codes are executed even after reporting DEM Error. 

27974
General
Makefiles specify irrelevant folders for 
Problem description: 
BUG
OPEN 
header search
The -I parameter is used to specify folders where the GHS builder shall search for header files. But also source folders are given. 
ISSUE
 
Actual behaviour: 
Many irrelevant folders are given as parameter to GHS builder. When project becomes large the maximum command line length (8k) is exceeded. 
 
Expected behaviour: 
Only relevant folders shall be given with -I parameter.
28478
General
CAN-ENTER-EXCLUSIVE-AREA-REF tag is 
canEnterExclusiveArea is required inside the entity in BSWMDT, if the referenced exclusive area is used in the entity's code.  
BUG
OPEN 
missing in the BSWMDT
The entity can be BswCalledEntity, BswSchedulableEntity or BswInterruptEntity. 
ISSUE
 
 
Actual behaviour: 
 
<BSW-INTERNAL-BEHAVIOR UUID="ECUS:951843a9-6848-4a8d-869a-7b29a87158fa"> 
  <SHORT-NAME>BswInternalBehavior_0</SHORT-NAME> 
    <EXCLUSIVE-AREA UUID="ECUS:1b965de4-5e4a-49d8-a4cb-e7782386f347"> 
      <SHORT-NAME>VARIABLE_PROTECTION</SHORT-NAME> 
    </EXCLUSIVE-AREA> 
  </EXCLUSIVE-AREAS> 
  <ENTITYS> 
    <BSW-INTERRUPT-ENTITY UUID="ECUS:8d9d01cd-59a4-4f9d-a0c5-a46966e1b2ad"> 
      <SHORT-NAME>BswInterruptEntity_1</SHORT-NAME> 
      <IMPLEMENTED-ENTRY-REF DEST="BSW-MODULE-ENTRY">/ArPackage_0/MCU_FEINT_ISR</IMPLEMENTED-ENTRY-REF> 
      <INTERRUPT-CATEGORY>CAT-1</INTERRUPT-CATEGORY> 
      <INTERRUPT-SOURCE>INTLVI</INTERRUPT-SOURCE> 
    </BSW-INTERRUPT-ENTITY> 
 
Expected behaviour: 
 
<BSW-INTERNAL-BEHAVIOR UUID="ECUS:951843a9-6848-4a8d-869a-7b29a87158fa"> 
  <SHORT-NAME>BswInternalBehavior_0</SHORT-NAME> 
    <EXCLUSIVE-AREA UUID="ECUS:1b965de4-5e4a-49d8-a4cb-e7782386f347"> 
      <SHORT-NAME>VARIABLE_PROTECTION</SHORT-NAME> 
    </EXCLUSIVE-AREA> 
  </EXCLUSIVE-AREAS> 
28534
General
Wrong upper multiplicity definition for 
Problem description: 
BUG
OPEN 
Configuration container.
In PDF of some MCAL modules the upper multiplicity is defined as 
ISSUE
<UPPER-MULTIPLICITY-INFINITE>XX</UPPER-MULTIPLICITY-INFINITE> 
 
The above definitions are not correct according to ASR ecuc_sws_2011. 
 
 
Actual behavior: 
Multiple configuration is not possible due to the above problem. 
 
Expected behavior: 
The correct definitions must be as follows: 
<UPPER-MULTIPLICITY>XX</UPPER-MULTIPLICITY>

26812
ADC
Unexpected DET ADC_E_IDLE is been raised  Problem Description: 
BUG
OPEN 
from Adc_DisableHardware Trigger
Unexpected DET ADC_E_IDLE is being raised when Adc_DisableHardwareTrigger is invoked for an already enabled group (using the api Adc_EnableHardwareTrigger)whose status is 
ISSUE
ADC_STREAM_COMPLETED. 
 
Expected Behaviour : 
As  per requirement ADC304, the DET ADC_E_IDLE should not be reported when Adc_DisableHardwareTrigger is called for a group that has already been enabled using 
Adc_EnableHardwareTrigger. 
 
Actual Behaviour : 
The DET ADC_E_IDLE is reported when Adc_DisableHardwareTrigger is called for a group that has already been enabled using Adc_EnableHardwareTrigger. 
27492
ADC
HW triggered One-shot conversion in 
Problem Description: 
BUG
OPEN 
Circular Streaming is not working as 
As per AUTOSAR specification, one HW trigger should trigger only one ADC channel group conversion stream. The conversion must finish once it receives the HW trigger that is equal to 
ISSUE
expected
number of streams configured for the group.  
 
But in the current design single trigger executes the whole stream of conversions. 
 
Expected Behavior:  
Only one ADC channel Group conversion stream should happen per H/W trigger. 
 
Actual Behavior: 
Streaming conversion is getting completed with single H/W trigger
27505
ADC
'ucGroupSettings' element of 
Problem Description: 
BUG
OPEN 
Adc_GstGroupConfig[] is not generated 
LSB of 'ucGroupSettings' element decides whether a group is one-shot or continuous.  
ISSUE
properly
'0' means continuous group and  
'1' means one-shot group. 
But code generator is not generating this properly. 
For one-shot mode and circular streaming group it generates '1' and 
for continuous mode and linear streaming group it generates '0'  
 
Expected Behavior:  
LSB of 'ucGroupSettings' must be '0' for continuous group and '1' for one-shot group. 
 
 
Actual Behavior: 
Code generator is generating the below values, 
For one-shot mode and circular streaming group it is generates '1' and 
for continuous mode and linear streaming group it generates '0' 
27592
ADC
DMA enabled ADC conversion gives wrong  Problem description: 
BUG
OPEN 
conversion result if DTFRRQn register 
 
ISSUE
signals a pending transfer request
Conversion of an ADC group with 'AdcResultAccessMode' => 'ADC_ISR_ACCESS' (Group without DMA) leads to the flagging of DTFRRQn.DRQ bit. 
 
Conversion of an ADC group with 'AdcResultAccessMode' => 'ADC_DMA_ACCESS' (DMA enabled group) when DTFRRQn.DRQ bit already set leads to the return of converted value from 
previous cycle. 
 
Therefore DTFRRQn.DRQ bit must be cleared each time when DMA enabled ADC groups conversion is started. 
 
 
Expected Behavior: 
DMA enabled ADC Groups should return the converted result of the current input voltage. 
 
 
Actual Behavior: 
DMA enabled ADC Groups are not returning the converted result of the current input voltage because of already set DTFRRQn.DRQ bit.

27603
ADC
Conversion of a DMA enabled one-shot 
Problem description: 
BUG
OPEN 
ADC group is happening only for the first 
One-shot ADC groups with DMA as result access mode is getting converted only for the first trigger and not for the consecutive triggers.  
ISSUE
HW trigger and not for the next triggers
 
Note that if the result access mode is selected as interrupt then it is working as expected. 
 
Expected Behavior: 
One-shot ADC groups with DMA as result access mode should convert the group channels for every HW trigger until it is stopped explicitly by Adc_DisableHardwareTrigger() 
 
Actual Behavior: 
One-shot ADC groups with DMA as result access mode is getting converted only for the first trigger and not for the consecutive triggers after enabling the group via 
Adc_EnableHardwareTrigger()
27613
ADC
HW triggered ADC group with DMA circular  Problem description: 
BUG
OPEN 
streaming access should convert one 
Current behaviour of the driver is, HW triggered ADC group with DMA and circular streaming access mode is converts more than one sample per H/W trigger.  
ISSUE
sample per one trigger
Sample conversion continues until the group is stopped by calling Adc_DisableHardwareTrigger(). 
 
As per the AUTOSAR specification only one sample conversion must be initiated for one HW trigger. 
 
Expected Behavior: 
As per the AUTOSAR specification only one sample conversion must be initiated for one HW trigger. 
 
 
Actual Behavior: 
Stream conversion continues with a single HW trigger.
27624
ADC
Adc_GetStreamLastPointer() API does not  Problem description: 
BUG
OPEN 
return the valid sample count when the 
Adc_GetStreamLastPointer() API does not return correct number of valid samples when the status of the circular streaming group is ADC_STREAM_COMPLETED. This API must return the 
ISSUE
status of the group is 
value equal to the configured 'AdcStreamingNumSamples' parameter of that group. 
ADC_STREAM_COMPLETED
 
Expected Behavior: 
Adc_GetStreamLastPointer() API must return the maximum sample value when the status of the circular streaming group is ADC_STREAM_COMPLETED. 
 
Actual Behavior: 
Adc_GetStreamLastPointer() API is returning random value when the status of the group is ADC_STREAM_COMPLETED.

28094
ADC
Value assigned to register (ADCDnTHGSR) is Problem Description:-  
BUG
OPEN 
not correct in API Adc_HwInit().
In Private API Adc_HwInit() value assigned to register (ADCDnTHGSR) usADCXnTHGSR is not correct, assignment to this register is as mentioned below.  
ISSUE
 
<b> LpAdcRegisters->usADCXnTHGSR = (uint16)(LpHwUnitConfig->ucGroupSelectMask); </b> 
 
Generated value in structure element "ucGroupSelectMask" is not correct, Thereby selection of T&H group B will not work properly. 
 
In tool code value for structure element <b>"ucGroupSelectMask"</b> is as mentioned below. Here final value in "ucGroupSelectMask" is the value in local variable <b>$grp_mask</b>, 
Understanding is that for register ADCDnTHGSR bit positions are in even number, as mentioned in section 30.3.23 of Device manual R01UH0436EJ0070 Rev.0.70, But in Generation Tool 
code its considered that ADCDnTHGSR register bit positions are continues, As mentioned in Actual Behavior. 
 
Please check and do needful. 
 
Actual Behavior:-  
@Line No 749 of BswPbIm.pm file, SVN Revision $185322 
Looping below mentioned code for each channel. 
# Fill ucGroupSelectMask 
      $grp_mask = 0; 
            $BswPbIm::Dbrom_PbImage{Adc_GstHWUnitConfig}{$index} 
              {ucGroupSelectMask} = $grp_mask; 
            if ($chn_trck eq "ADC_TH_GROUPB") 
            { 
             <b>$grp_mask = $grp_mask | (1 << $ch_id); </b> 
              $BswPbIm::Dbrom_PbImage{Adc_GstHWUnitConfig}{$index} 
                {ucGroupSelectMask} = $grp_mask; 
            } 
 
 
28109
ADC
Limit check implementation is not proper 
Problem description: 
BUG
OPEN 
for Polling mode
In the case of Polling, Adc_ReadGroup API is called multiple times in a Loop. From Adc_PollingReadGroup function(called form Adc_ReadGroup API), Adc_ErrIsr is called. In Adc_ErrIsr the 
ISSUE
following errors are being cleared by writing 0x0E to ADCDnECR register. 
1. Upper Limit/Lower Limit Error. 
2. Overwrite Error. 
3. Parity Error Clear. 
 
In next polling(calling Adc_ReadGroup), even if the value is beyond Limit/Lower limit, ADC group notification is called and the conversion status is changed to ADC_STREAM_COMPLETED. 
 
Expected Behavior: 
ADC driver should trigger the next conversion even if it is configured for one-shot conversion. 
 
 
Actual Behaviour: 
Further conversion is not triggered for one-shot groups. 
ADC group notification is called and the conversion status is changed to ADC_STREAM_COMPLETED.

28111
ADC
Conversion is not happening for TH groups  Problem Description: 
BUG
OPEN 
when parameter 'AdcSuspendMode' is 
Conversion is happening for ADC groups which contains Track and Hold enabled channels when the configuration parameter 'AdcSuspendMode' 
ISSUE
'ADC_ASYNCHRONOUS_SUSPEND' and the  in container 'AdcHwUnit' is configured as 'ADC_ASYNCHRONOUS_SUSPEND' and the parameter 'AdcGroupTriggSrc' is 'ADC_TRGG_SRC_SW'. 
Trigger is SW
 
The track and hold functionality is working fine for HW triggered groups even if the parameter 'AdcSuspendMode' is 'ADC_ASYNCHRONOUS_SUSPEND'. 
Also, it is working properly for both SW and HW triggered groups if the parameter 'AdcSuspendMode' is 'ADC_SYNCHRONOUS_SUSPEND' 
 
But if the parameter 'AdcSuspendMode' is configured as 'ADC_SYNCHRONOUS_SUSPEND' the generator tool produces the following warning. 
"The parameter 'AdcSuspendMode' should be configured as <ADC_ASYNCHRONOUS_SUSPEND> when the channels are enabled for Track and hold feature." 
 
 
Expected Behavior: 
conversion should be happened for both SW and HW triggered groups if parameter 'AdcSuspendMode' is 'ADC_ASYNCHRONOUS_SUSPEND' 
 
 
Actual Behaviour: 
Conversion is not happening if parameter 'AdcSuspendMode' is 'ADC_ASYNCHRONOUS_SUSPEND' for SW triggered groups.
28118
ADC
Critical section protection for global 
Problem Description : 
BUG
OPEN 
structure array "Adc_GpGroupRamData" is   
ISSUE
not implemented.
Critical section protection for global structure array "Adc_GpGroupRamData" is not implemented, even though the values of the structure "Adc_GpGroupRamData" is modified in most of 
the APIs.  
 
In most of the private API, address of global structure array "Adc_GpGroupRamData" is assigned  to a local pointer and then  the elements values are changed / modified / read. 
Even  though the values are changed using local pointer,  the value in global structure array "Adc_GpGroupRamData" also gets changed. 
 
Example : 
 
The value of structure element "ddGroupStatus" of "Adc_GpGroupRamData" global structure is being modified in  Adc_GroupCompleteMode()  
private API called from Adc_Isr().  
 
/* Set group status as conversion completed */ 
      LpGroupData->ddGroupStatus = ADC_STREAM_COMPLETED; 
 
Consider a  situation in which  API Adc_StopGroupConversion() is called from a high priority task ( say Timer Isr) than that of Adc_Isr(), And if Adc_StopGroupConversion() is called ( for 
same group) just after start exciting Adc_Isr(), but not reached above mentioned code.  
 
In this case the status  Group Status remain ADC_STREAM_COMPLETED, even after calling Adc_StopGroupConversion(). 
 
To avoid such issues, critical sections need to be implemented properly. 
 
Required MO suggestion on same. 
 
Actual Behavior : 
Critical section protection not implemented. 
 

28120
ADC
Autosar requirement ADC413 is not taken  Problem Description : 
BUG
OPEN 
care.
 
ISSUE
As per AUTOSAR requirement ADC413 all API functions, except  Adc_Init, Adc_DeInit and Adc_GetVersionInfo are re-entrant. But in current implementation it is not taken care. If the 
functions are called  
for different channel groups, in current implementation these re-entrant API will not work properly. 
 
Example:- 
Consider that SW triggered ADC channel group 0 is already in queue. 
 
Considered that we call Adc_ReadGroup() for ADC group 1 and API Adc_DisableHardwareTrigger() is invoked for ADC Channel group 1 form a interrupt (Like Timer ISR) when only DET 
check in Adc_ReadGroup() API is completed. Then execution of Adc_ReadGroup() is pushed to stack and start execution of Adc_DisableHardwareTrigger() API.  
 
When Adc_DisableHardwareTrigger() API complete execution, it pops the ADC channel group 0 from queue, trigger its conversion, and when Adc_ReadGroup() start execution, it will give 
unexpected behavior. 
 
similar issues exist in most of the API's,  
 
Requesting MO suggestions on same. 
 
Expected Behavior : 
Requirement should be taken care properly and API's except above mentioned should be re-entrant. 
 
Actual Behavior : 
Requirement is not taken care.
28121
ADC
Memory section mapping used for global 
Probable Description:- 
BUG
OPEN 
variable "Adc_GaaHwUnitIndex[]" and 
1.The global variable "Adc_GaaResultGroupRamData[]" is mapped to memory section "CONFIG_DATA_UNSPECIFIED_SEC_STARTED" (ADC_START_SEC_CONFIG_DATA_UNSPECIFIED), But 
ISSUE
"Adc_GaaResultGroupRamData[]"  is not 
this global variable is not initialized in Adc_PBcfg.c (Generated file). 
correct. 
 
Declaration of this variable is as mentioned below. 
 
extern VAR(Adc_ValueGroupType, ADC_NOINIT_DATA) Adc_GaaResultGroupRamData[]; 
of Adc_Ram.c file. 
 
2. The global variable "Adc_GaaHwUnitIndex[]" is mapped to memory section "VAR_NOINIT_UNSPECIFIED_SEC_STARTED" (ADC_START_SEC_CONFIG_VAR_NOINIT_UNSPECIFIED), But 
this global variable is of type const and initialized in Adc_PBcfg.c (Generated file). 
 
Declaration of this variable is as mentioned below. 
 
extern CONST(uint8, ADC_CONST) Adc_GaaHwUnitIndex[]; 
of Adc_Ram.c file. 
 
Suggested Solution: 
 
1.Adc_GaaResultGroupRamData[] global variable needs to mapped to Uninitialized  variable section. 
 
2.Adc_GaaHwUnitIndex[] global variable needs to mapped to initialized constant variable section. 
 
Expected Behavior:- NA 
 
Actual Behavior:- NA

28125
ADC
Register ADCDnTHSTPCR 
Problem Description : 
BUG
OPEN 
(ucADCXnTHSTPCR) needs to use instead of  Register ADCDnTHSTPCR (ucADCXnTHSTPCR) needs to use instead of ADCDnTHSMPSTCR (ucADCXnTHSMPSTCR) to stop TRACK & HOLD in following mentioned Line of code. 
ISSUE
ADCDnTHSMPSTCR (ucADCXnTHSMPSTCR)    
to stop T&H.
As per device manual R01UH0436EJ0070 Rev.0.70 section 30.3.15 ADCDnTHSMPSTCR register is used for starting T&H. 
 
As per device manual R01UH0436EJ0070 Rev.0.70 section 30.3.16 ADCDnTHSTPCR register is used for stop T&H. 
 
1. LpAdcRegisters->ucADCXnTHSMPSTCR = ADC_ZERO; 
of Adc_Private_ADCD_ADCB.c file in Private API Adc_HwDeInit(). 
2. LpAdcRegisters->ucADCXnTHSMPSTCR = ADC_BYTE_ZERO; 
of Adc_Private_ADCD_ADCB.c file in Private API Adc_HwStopGroupConversion(). 
3. Also Adc_Init() needs to update to stop T&H by setting this register. 
 
Actual Behavior : 
Register use ADCDnTHSMPSTCR (ucADCXnTHSMPSTCR) to stop TRACK & HOLD. 
 
Expected Behavior : 
Register ADCDnTHSTPCR (ucADCXnTHSTPCR) needs to be use to stop TRACK & HOLD.
28134
ADC
Implementation of MRS requirement 
Problem Description: 
BUG
OPEN 
"AR_PN0076_FR_0201" is not proper.
If we call Adc_EnableChannel() API  before calling Adc_DisableChannel() API, illegal memory access will occur. 
ISSUE
Because when we call Adc_EnableChannel() API internally private API Adc_IntDisableEnableChannel() will call as mentioned below. 
 
Adc_IntDisableEnableChannel(Group, ChannelId, ADC_TRUE) 
 
and in private API Adc_IntDisableEnableChannel(),  
if LblApiType( 3rd argument) == ADC_TRUE,  
then, decrement the number of channels to disabled,as mentioned in below code  
 
LpGroupData->ucNoofChDisabled--; 
 
 
Initial value of "ucNoofChDisabled" is zero, so after decrement it become 255, which is not correct result in  
illegal memory access or unexpected behavior in API Adc_ReadGroup(), Adc_GetStreamLastPointer(), Adc_ConfigureGroupForConversion() and Adc_IsrConfigureGroupForConversion(). 
 
Expected Behavior: 
N/A 
 
Actual Behavior: 
N/A 
 
Suggested solution: 
Add a DET check if particular channel is trying to enable before it is disabled.
28135
ADC
Version check for Dem.h file is not present. Problem description: 
BUG
OPEN 
As per autosar requirement ADC124 The ADC module shall perform Inter Module Checks to avoid integration of incompatible files. 
ISSUE
 
But version check for Dem.h file is not present in the above mentioned file. 
 
FILE : Adc_Private_ADCD_ADCB.c  
 
Expected Behavior :  
Version check should be done. 
 
Actual Behavior : 
No version check is performed.

28143
ADC
General requirement 
Problem description : 
BUG
OPEN 
"AR_PN0034_FR_0025" is not considered.
The DMA related registers are not initialized in Adc_init(). 
ISSUE
 
The same issue is there with following registers also: 
 
1. ADCDnTHBCR (ucADCXnTHBCR), 
2. ADCDnSGCRx (ucADCXnSGCRx), 
3. ADCDnSGVCSPx (ucADCXnSGVCSPx) 
4. ADCDnSGVCEPx (ucADCXnSGVCEPx) 
5. ADCDnSGMCYCRx (ucADCXnSGMCYCRx) 
6. ADCDnULLMSRx (ucADCXnULLMSRx) 
7. ADCDnADTIPRy (ulADCXnADTIPRy) 
8. ADOPDIGn (ulADOPDIGn) 
9. ADCDnTHACR 
10. ADCDnTHCR  
11. ADCXnULLMTBR 0 to 2 
 
are not initialized in Adc_Init(). 
 
But as per General MRS "AR_PN0034_FR_0025"  : 
The <MSN>_Init API shall ensure that the related peripheral is running correctly, even if the peripheral was previously configured by another Application that changed the registers' default 
values. 
Thereby this General requirement "AR_PN0034_FR_0025" is not considered for above mentioned registers. 
 
Expected Behavior: 
The general MRS requirement "AR_PN0034_FR_0025" should be taken care for all above mentioned registers and DMA related registers and all should be initialized in Adc_init(). 
 
Actual Behavior: 
28151
ADC
AUTOSAR requirement  ADC077 is not 
Problem Description: 
BUG
OPEN 
taken care while implementing Adc_Init().
As per this requirement, 
ISSUE
[ADC077] The function Adc_Init shall disable the notifications and hardware trigger capability (if statically configured as active). 
 
Configured HW triggers are not disabled in Adc_Init(). If we consider General MRS requirement "AR_PN0034_FR_0025", it needs to be corrected accordingly.  
As per this requirement:- "The <MSN>_Init API shall ensure that the related peripheral is running correctly, even if the peripheral was previously configured by another Application that 
changed the registers' default values. " 
 
Expected Behavior: 
Configured HW triggers to be  disabled in Adc_Init() 
 
Actual Behavior: 
Configured HW triggers are not disabled in Adc_Init().

28158
ADC
The Cautions mentioned in Device manual  Problem Description: 
BUG
OPEN 
are not implemented.
For example 
ISSUE
As per Caution[1]: section 30.3.9 
 To prevent malfunctions, make ADCDnADCR1 settings after making or confirming the following settings.  
(1) HLDTE of T&H group A and B are 0. 
(2) ADSTARTE of all scan groups are 0 and TRGMD of all scan groups are 0H. 
(3) SGACT of all scan groups are 0 (before scan groups are started).] 
 
Before setting value to ADCDnADCR1 (ucADCXnADCR1) Register  in Adc_Private_ADCD_ADCB.c file in Adc_HwInit() API, we are not setting the bits or values of these register bits 
mentioned in Caution are unknown to the driver. So based on General MRS requirement "AR_PN0034_FR_0025" this is to be implemented.  
 
 
Same type of issues are applicable for following registers also. Please check all applicable Cautions. 
 
1. ADCDnADCR2 (ucADCXnADCR2) 
2. ADCDnSFTCR (ucADCXnSFTCR) 
3. ADCDnTDCR (ucADCXnTDCR) 
4. ADCDnODCR (ucADCXnODCR) 
5. ADCDnTHACR (ucADCXnTHACR) 
6. ADCDnTHER (ucADCXnTHER) 
7. ADCDnTHGSR(usADCXnTHGSR) 
8. ADCDnSGVCSPx (ucADCXnSGVCSPx) 
9. ADOPDIGn (ulADOPDIGn) 
 
Expected Behavior: 
none 
 
Actual Behavior: 
28165
ADC
DEM error is not reported for Overwrite 
Problem description: 
FEATURE
OPEN 
Error  in error ISR  Adc_ErrIsr()
In the  API Adc_ErrIsr(), ucADCXnOWER register is only used to calculate Physical channel ID. Understanding is that DEM error of Overwrite Error also needs to be reported. Also add 
ISSUE
similar DEM error report to other errors like Parity Error, Upper / lower limit error and  ID Error. 
 
Expected Behavior: 
DEM error needs to be reported. 
 
Actual Behavior: 
DEm error is not reported.

28179
ADC
Device manual CAUTION is not considered  Problem Description: 
BUG
OPEN 
for implementation in Adc_HwInit() and 
CAUTION mentioned in section 7.10.2.13 of R01UH0436EJ0070 Rev.0.70, is not considered for implementation . 
ISSUE
Adc_HwDeInit()
As per device manual Caution  
"DTFR.REQSEL can be changed while DTFR.REQEN is 0." 
 
But in current implementation both bits REQSEL and REQEN of DTFRn Register are updating simultaneously as mentioned in below code snippet. 
 
In Adc_HwInit(): 
LpDmaRegisters->ulDTFRn = LpSGmDmaConfig->ulDmaDtfrRegValue; 
ulDmaDtfrRegValue is generated value contain value of both bits REQSEL and REQEN of DTFRn Register. 
In Adc_HwDeInit(): 
LpDmaRegisters->ulDTFRn  = ADC_DOUBLE_WORD_ZERO; 
 
Understanding is that before changing the value of DTFR.REQSEL, needs to clear bit DTFR.REQEN. 
 
Expected Behavior: 
Please update the design as below.  
In Adc_HwInit() 
1. Reset: DTFRRQn register (0x00) 
2. Clear bits LpDmaRegisters->ulDCENn  = ADC_DMA_DTE_DISABLE;  
3. LpDmaRegisters->ulDTFRn = LpSGmDmaConfig->ulDmaDtfrRegValue; 
 
For  Adc_HwDeInit() 
Make similiar changes 
 
Actual Behavior: 
In Adc_HwInit(): 
LpDmaRegisters->ulDTFRn = LpSGmDmaConfig->ulDmaDtfrRegValue; 
28184
ADC
Clearing of  ID Error is not correct.
Problem Description : 
BUG
OPEN 
Clearing of Error flags are not correct, In current implementation ADCDnIER.IDE error flag for ID Error is not clearing. 
ISSUE
 
LpAdcRegisters->ucADCXnECR = ADC_CHKCLR_ERROR_FLAG; 
of Adc_Private_ADCD_ADCB.c file in Adc_ErrIsr() Private API is used to clear all the error flag. 
 
As per device manual R01UH0436EJ0070 Rev.0.70 Section 30.3.29, register ADCDnECR (Error Clear Register) last 4 digits should be set to clear all error flag. 
 
In Adc_PBTypes_ADCD_ADCB.h file  ADC_CHKCLR_ERROR_FLAG value of this macro is 0x0E. So last ADCDnIER.IDE bit is not clear. 
 
Suggested Solution : 
Adc_PBTypes_ADCD_ADCB.h file  ADC_CHKCLR_ERROR_FLAG value of this macro should be 0x0F to clear all the flag. 
 
Actual Behavior : ID error is not getting clear when all the error flags are made clear.  
 
Expected Behavior : ID error should also getting clear when all the error flags made clear. 
  

28187
ADC
Implementation of  MRS requirement 
problem Description : 
BUG
OPEN 
AR_PN0076_FR_0087 and 
1.MRS requirement "AR_PN0076_FR_0087" is needs to be take care in Tool code, But in current implementation its not taken care. As per Device manual R01UH0436EJ0070 Rev.0.70 
ISSUE
AR_PN0076_FR_0089 is not proper.
section 30.3.28, number of  ADCDnULLMTBRx register is 3 (x = 0, 1, 2). In current implementation tool code will not give any error even if we configure channel having limit check more 
than 2, when value of parameter "AdcPriorityImplementation" = ADC_PRIORITY_NONE. 
 
2.MRS requirement "AR_PN0076_FR_0089" is needs to be take care in Tool code, But in current implementation its not taken care. As per Device manual R01UH0436EJ0070 Rev.0.70 
section 30.3.28, number of  ADCDnULLMTBRx register is 3 (x = 0, 1, 2). In current implementation tool code will not give any error even if we configure channel having limit check more 
than 2, when value of parameter "AdcPriorityImplementation" = ADC_PRIORITY_HW_SW or ADC_PRIORITY_HW. 
 
Actual Behavior : 
 
For both case generation tool code is not generating validation error, if limit check enabled for more than 3 channel Group with different Limit check setting. Understating is that, it will 
not work properly when these groups are queued.  
 
Expected Behavior : 
For both case proper validation needs to add in Tool code. 
 
Required MO suggestion on same. 
28188
ADC
Register "ADCDnECR" (ucADCXnECR) is not  Problem description: 
BUG
OPEN 
handled properly in Adc_DeInit and 
In private API Adc_Init() register "ADCDnECR" (ucADCXnECR) is not implemented. 
ISSUE
Adc_Init() API's.
 
and also in private API Adc_DeInit()  register "ADCDnECR" (ucADCXnECR) is upated with zero as mentioned below :  
 
LpAdcRegisters->ucADCXnECR = ADC_ZERO; 
 
Understanding is that to clear error flags ADCDnOWER.OWE, ADCDnPER.PE and ADCDnIER.IDE, we need to set ( write 1) to respective bits of the "ADCDnECR" (ucADCXnECR) register in 
Adc_DeInit() and Adc_Init() API. 
 
We can also consider general MRS requirement "AR_PN0034_FR_0025", As per this requirement,  
 
The Adc_Init API shall ensure that the related peripheral is running correctly, even if the peripheral was previously configured by another Application that changed the registers' default 
values. 
 
and autosar requirement ADC110 : 
 
The function Adc_DeInit shall return all ADC HW Units to a state 
comparable to their power on reset state. Values of registers which are not writeable are excluded. It’s the responsibility of the hardware design that this state does not lead to undefined 
activities in the µC. 
 
Expected Behavior : 
Register ADCDnECR" (ucADCXnECR) should be updated correctly in Adc_Init and Adc_DeInit APIs as per requirements. 
 
Actual Behavior : 
Register ADCDnECR" (ucADCXnECR) is not handled as per the requirements.

28214
ADC
AUTOSAR Requirement ADC091 and 
1. as per ADC091 requirement : 
BUG
OPEN 
ADC277 is not taken care.
 "The  ADC module’s configuration shall be such that an ADC Channel group contains at least one ADC Channel" 
ISSUE
  
In current implementation AUTOSAR Requirement ADC091 is not taken care, in generation tool. 
As per current implementation, tool code is not giving any proper error even if no channel is configured under a ADC Group and tool code will crash by giving error "ERR123001", which is 
not correct. 
 
2. As per ADC277 Requirement, 
"The ADC module’s configuration shall be such that all channels  
contained in one ADC Channel group shall belong to the same ADC HW Unit." 
 
Its found that this SWS requirement is not mapped properly in TSDD, Traceability and TSTP, that's needs to fix accordingly. 
 
Most of the requirement are not tracked properly in Traceability sheet. 
 
 
Expected Behavior : 
point 1. Tool code should give a error message stating no channel is configured for particular ADC group. 
 
point 2. Update TSDD, TSTP, Traceability 
 
Actual Behavior : 
point 1. Tool code crash if no channel is configured for a ADC group. 
point 2. Requirements are not tracked properly in Traceability sheet. 
26442
Can
Transmission History List issues
1) CanIf (CanIf_TxConfirmation) is being called while looping by the Can_TxConfirmationProcessing function. 
BUG
OPEN 
   Any processing isn't being done by hardware, so I'm thinking the time-out isn't being confirmed. 
ISSUE
So don't we have to check the time out handling here? 
 
2) It's written on "CLEARING OF ALL TRANSMIT MESSAGE BUFFERS" and a comment in  the Can_StartMode function, but how is a transmission history buffer initialized? 
   RSCAN0THLACCm and RSCAN0TXQPCTRm resister weren't being read, so I didn't understand how to be initialized.
26903
Can
PBcfg file Generation operation terminated  Problem description: 
BUG
OPEN 
due to Illegal division by zero
Generation terminated due to Illegal division by zero at /PerlApp/BswConfigValidate.pm line 561. 
ISSUE
 
can_X1X.exe Can.arxml Sample_Application_F1x.trxml R403_can_F1x_BSWMDT.arxml EcuM.arxml Mcu.arxml Os.arxml Dem.arxml 
INF000001: Tool Version: 1.2.3 
INF000002: Command line arguments: Can_X1x.exe Can.arxml 
           Sample_Application_F1x.trxml R403_can_F1x_BSWMDT.arxml EcuM.arxml 
           Mcu.arxml Os.arxml Dem.arxml 
Illegal division by zero at /PerlApp/BswConfigValidate.pm line 561. 
 
 
Expected behavior: 
PBcfg file Generation operation should not be terminated. If any error occurred Generator tool should throw out error with ambiguous error message. 
 
Actual behavior: 
PBcfg file Generation operation is terminated due to Illegal division.If any error occurred Generator tool is throwing out error with unambiguous error message.

27020
Can
Walking 0 pattern is not implemented in 
Problem description: 
BUG
OPEN 
Can_RamTst_WalkPath_Algorithm() API
As per Renesas requirement AR_PN0069_FR_0023,the RAM is checked by using data patterns (checker pattern, walking-0 and walking-1 pattern).  
ISSUE
But in the current implementation walking-0 pattern is not implemented. This shall be implemented as an enhancement, but it is not a bug since Walking "0"'s pattern and Walking "1"'s 
pattern is similar. 
 
Expected behaviour: 
As per requirement walking-0 pattern shall be implemented. 
 
Actual behaviour: 
In the current code, walking-0 pattern is not implemented.
27183
Can
Can_SelfTestChannel API  executes in 
Problem description: 
BUG
OPEN 
modes other than STOPPED
 
ISSUE
If the controller is not in STOPPED state, the function 'Can_SelfTestChannel' shall be aborted and returns E_NOT_OK. But as per the current implementation, this check is not provided and 
the code try to set the operation mode as Halt mode. 
 
 
Expected behavior: 
 
The function shall be aborted and returns E_NOT_OK, if the controller is not in the STOPPED state.  
 
Actual behavior: 
 
Please see the problem description. 
27647
Can
Transmission occurs even if the return of 
Problem description: 
BUG
OPEN 
Can_write() API is CAN_BUSY
If cancellation is enabled, cancellation has to be initiated for the lower priority ID/Identical ID (if identical Id cancellation is also enabled) request when the write request came with the 
ISSUE
higher priority ID / identical ID for the same HTH. The TX request for the new L-PDU shall be repeated by the CanIf module, inside the notification function CanIf_CancelTxConfirmation - 
requirement [CAN288].  
 
If cancellation is disabled, the new Can_Write() request for the same HTH shall not be accepted and returned with CAN_BUSY. The first write request shall be transmitted which was in 
pending state. 
 
The same information is covered with the requirements [CAN213], [CAN214], [CAN215] and [CAN434] 
 
Expected Behaviour: 
1. The transmission shall not be there for the Can_Write() request when its return value is CAN_BUSY. 
2. The cancellation of the pending transmission has to happen properly, when transmission cancellation is enabled. 
 
Actual Behaviour: 
In different scenarios the transmission of the frame happens even after returning the reply as CAN_BUSY for the Can_Write() API call. 
 
EX: 
1. When the cancellation is OFF (In polling mode), however the return value of the Can_Write() request for the same HTH is CAN_BUSY, the transmission of the frame is observed on the 
CANAlyzer and also Tx confirmation is received. 
 
2. When Identical ID cancellation is ON, however the return for the Can_Write() request for the same HTH with identical ID is CAN_BUSY as expected and cancel confirmation is received, 
the transmission is happening without re-requested as stated in requirement [CAN288]. Also complete frame data is '0' and Tx confirmation is received as well.  
 
3. When cancellation is ON, however the return for the Can_Write() request for the same HTH with higher priority ID is CAN_BUSY as expected and cancel confirmation is received, the 
transmission is happening without re-requested as stated in requirement [CAN288] and also Tx confirmation is received . 

27649
Can
Hth Cancellation is not notifed correctly to  Problem description: 
BUG
OPEN 
the upper layer (CanIf) in case of multiple 
There is no while loop, but unnecessarily LucArrPosition incremented and wrong comment provided. 
ISSUE
Hth to cancel
  uint8_least LucArrPosition; 
  --code---- 
  if (LblTxCancelFlag == CAN_TRUE) 
  { 
    /* Set the BasicCAN HTH count to maximum to exit the while loop */ 
    LucArrPosition = LpPBController->ucNoOfBasicCanHth; 
    /* Set the TX Cancellation Status flag of the HTH */ 
    Can_RSCAN_GaaTxCancelStsFlgs[(LucArrPosition >> CAN_THREE)] = 
           (Can_RSCAN_GaaTxCancelStsFlgs[(LucArrPosition >> CAN_THREE)]) | 
           ((uint8)(CAN_ONE << (LucCount % CAN_EIGHT))); 
    /* Increment the array position to point to next 
     * BasicCAN HTH of the controller */ 
    LucArrPosition++; 
  } 
  else 
  { 
    /* No action required */ 
  } 
 
 
Expected behavior: 
None 
 
Actual behavior: 
None
27650
Can
Multiple DET error reporting from one API  Description: 
BUG
OPEN 
not compliant with AUTOSAR requirement According to CAN091 from AUTOSAR 4.0.3 CAN SWS - a function that reports a development error shall return immediately after. 
ISSUE
In many CAN driver APIs multiple errors are checked and reported, before the function returns. Examples: 
* Can_Init() may report CAN_E_TRANSITION, CAN_E_PARAM_POINTER before it returns 
* Can_Can_InitController() may report e.g. CAN_E_UNINIT and CAN_E_PARAM_POINTER before it returns) 
 
 
Expected behaviour: 
Every CAN driver API should return immediately with not action after a development error is detected is reported 
 
Actual behaviour: 
In some case in CAN APIs multiple development errors can be reported, like for Can_Init(), Can_InitController()
27654
Can
DEM version Check is missing
Problem Description: 
BUG
OPEN 
As per the requirement [CAN111](BSW004), the AUTOSAR major and minor release version needs to be checked for all the external modules. But the version check for the DEM module is 
ISSUE
missing. 
 
Expected Behaviour: 
The compilation error shall be reported when the DEM module with different AUTOSAR release version is integrated. 
 
Actual behaviour: 
The compilation is happening successfully even when the DEM module with different AUTOSAR release version is integrated.
27742
Can
The MCAL CAN driver shall clear the 
Problem Description: The MCAL CAN driver will not clear the corresponding WUF flag in the ISR if the precompile configuration parameter CanWakeUpFactorClearIsr is set to TRUE. 
BUG
OPEN 
corresponding WUF flag in the ISR 
Default value should be FALSE. PDF is reviewed and found that the parameter CanWakeUpFactorClearIsr  is not implemented. 
ISSUE
(AR_PN0069_FR_0025)
 
Expected Behavior: AR_PN0069_FR_0025 shall be implemented. 
 
Actual Behavior: AR_PN0069_FR_0025 is not implemented properly

27874
Can
Autosare requirment CAN065_Conf is not 
Problem Description:  
BUG
OPEN 
taken care
As per Autosare SWS CAN065_Conf, CanIdType  shall support ID's of type STANDARD, MIXED and EXTENDED. In the current implementation only STANDARD and EXTENDED types are 
ISSUE
taken care. 
 
Expected Behavior: MIXED ID type shall also be supported by the PDF. 
 
Actual Behavior: NA
27880
Can
Additional API to cancel Tx is not available  Problem Description: The internal function “Can_TxCancel” is available as private API. As per the requirement description, the API shall be available as public API such that CanIf AUTOSAR  BUG
OPEN 
for CanIf / Upper layer.
module can have corresponding call to this API in order to use it. 
ISSUE
 
Expected Behavior: The internal function “Can_TxCancel” shall be available as additional API (public) 
 
Actual Behavior: NA
27882
Can
CAN_E_DATALOST development error is 
Problem description: 
BUG
OPEN 
not reported
According to AUTOSAR 4.0.3 CAN SWS CAN395: "If the development error detection for the Can module is enabled, the Can module shall raise the error CAN_E_DATALOST in case of 
ISSUE
“overwrite” or “overrun” event detection." 
 
This DET error CAN_E_DATALOST is declared in Can.h but it is not used in the code. 
 
 
Expected behaviour: 
Development error CAN_E_DATALOST should be reported if overwrite or overrun events are detected in the reception buffers. 
 
Actual behaviour: 
CAN_E_DATALOST development error reporting is nowhere encountered in CAN driver code
27934
Can
Unexpected Behavior of in Can wake up
Problem description: CAN wake up shows unexpected behavior. Wake up ISR is getting triggered, even if wake up is not initiated. 
BUG
OPEN 
 
ISSUE
Expected Bahavior: Wake up shall be triggered only on occurance of a wake up event 
 
Actual Behavior: Undefined behavior of CAN wake up
27945
Can
Can_Write request returns  CAN_OK when  Problem Description: Can_Write request returns  CAN_OK when HTH is busy to process another transmit request. Can transmission shall only be initiated after getting tx confirmation on  BUG
OPEN 
HTH is busy
the last transmitted message. 
ISSUE
 
Expected Behavior: Can_Write request shall return CAN_BUSY when HTH is busy to process another transmit request 
 
Actual Behavior: NA
27965
Can
Can module is malfunctioning on HW Tx 
Problem description: 
BUG
OPEN 
Cancellation.
Can module is malfunctioning when HW Tx Cancellation support is enabled and a Transmit abort request was not successful (the CAN frame was transmitted). 
ISSUE
It this particular case, once the Tx Cancellation is initiated inside the Can module source code the global transmit cancel flag “Can_GblTxCancelIntFlg” is set to CAN_TRUE. Later this flag 
“Can_GblTxCancelIntFlg” is cleared inside the source code invoked when the "INTCnWUP" interrupt is serviced. But in the current use case, since the Transmit abort request was not 
successful, the "INTCnWUP" interruupt is not activated. Instead, the "INTCnTRX" interrupt is activated (frame successfully transmitted from message buffer m), but the source code 
invoked when "INTCnTRX" interrupt is serviced (ex. CAN_CONTROLLER0_TX_ISR) does not clear the “Can_GblTxCancelIntFlg” flag. 
The flag remains set and this causes subsequent calls to "Can_Write()" to fail and return "CAN_BUSY" result. This renders the Can module incapable to transmit CAN frames any more 
(until being re-initialized). 
 
Actual behavior: N/A 
 
Expected behavior: N/A
28070
Can
[X1x][CAN] 
Problem Description: While updating ECODE for merging the changes done as part of F1H E4.00.01 release to trunk, in Can_RAMTest API call of 'Can_RamTst_WalkPath_Algorithm' was 
BUG
OPEN 
Can_RamTst_WalkPath_Algorithm is not 
replaced by 'Can_RamTest_Checker_Algorithm'. So now instead of calling Can_RamTst_WalkPath_Algorithm, Can_RamTest_Checker_Algorithm is called second time. 
ISSUE
called from Can_RAMTest API
Work Around: Repeated call of 'Can_RamTest_Checker_Algorithm' has to be replaced with 'Can_RamTst_WalkPath_Algorithm'. 
 
Expected behavior: Can_RamTst_WalkPath_Algorithm should be called from Can_RAMTest API. 
 
Actual behavior: Can_RamTst_WalkPath_Algorithm is not called from Can_RAMTest API.

28503
Can
CAN_E_DATALOST development error is 
Problem description: 
BUG
OPEN 
not reported
According to AUTOSAR 4.0.3 CAN SWS CAN395: "If the development error detection for the Can module is enabled, the Can module shall raise the error CAN_E_DATALOST in case of 
ISSUE
“overwrite” or “overrun” event detection." 
 
This DET error CAN_E_DATALOST is declared in Can.h but it is not used in the code. 
 
 
Expected behaviour: 
Development error CAN_E_DATALOST should be reported if overwrite or overrun events are detected in the reception buffers. 
 
Actual behaviour: 
CAN_E_DATALOST development error reporting is nowhere encountered in CAN driver code
28505
Can
Multiple polling period for Tx and Rx (valid  Problem Description: 
BUG
OPEN 
for R3.2and R4.x) is not supported
This is a task to verify the possibility to configure and handle multiple transmission or reception in polling mode based on SWS R3.2 ID: CAN356,CAN436 (Rx) and CAN358, CAN345 (Tx). 
ISSUE
 
The solution to this issue is to update the CAN code generator to count how many instances of the parameter CanMainFunctionWritePeriod and CanMainFunctionReadPeriod are 
configured  
and based on this to generate the opportune number of macro  
 
#defines Can_MainFunction_Write_0  
#define  Can_MainFunction_Read_0  
for the 1st instance,  
 
#define Can_MainFunction_Write_1  
#define Can_MainFunction_Read_1 for the 2nd instance 
 
The generated code should look like this: 
 
/*Polling Period 0 for Write*/ 
#define Can_MainFunction_Write_0() Can_MainFunction_Write() 
 
/*Polling Period 1 for Write*/ 
#define Can_MainFunction_Write_1() Can_MainFunction_Write() 
...etc. 
 
Expected behaviour: 
N/A 
 
Actual Behaviour: 
N/A 
28541
Can
Restrict the baudrate to only a limited 
Restrict the baudrate to only a limited range is wrong. There are other buadrate like 50K or 25K  that can be realized. 
BUG
OPEN 
range is wrong.
 
ISSUE
Actually the generator impelementation is to occur error, if the value of the parameter CanControllerBaudRate is other than 33, 83,100,125,250,500 or 1000Kbps for the particular 
controller. 
 
Actual Behaviour: Error occurs, if the value of the parameter CanControllerBaudRate is other than 33,83,100,125,250,500 or 1000Kbps for the particular controller. 
 
Expected Behaviour:Error should not occur, if the value of the parameter CanControllerBaudRate is other buadrate like 50K or 25K.

28601
Can
Correct typo in error ERR080034.
Problem Description: 
BUG
OPEN 
 
ISSUE
Correct typo in error ERR080034 in BswConfigValidate.pm 
 
Expected behavior:  
 
The description of the ERR shall be "The calculated 'Time Quanta' should be in the range of <8- 25>" 
 
Actual Behavior: 
 
The description of the error is currently 
 
The calculated 'DBT (Data Bit Time)' should be in the range of <8- 25>.  
  
Initialization Check is not performed for 
Problem Description: 
OPEN 
Dio_MaskedWritePort() API In the DIO 
 Dio_MaskedWritePort() API is not checked whether DIO Is initialized or not. 
ISSUE
driver.
 
Expected behavior: 
FUNC(void, DIO_PUBLIC_CODE) Dio_MaskedWritePort 
(Dio_PortType PortId, 
 Dio_PortLevelType Level, 
 Dio_PortLevelType  Mask) 

  ------variable declaraiton ---------- 
  /* Check whether DIO_DEV_ERROR_DETECT is enabled */ 
  #if (DIO_DEV_ERROR_DETECT == STD_ON) 
  /*START of DIO_AR_VERSION */ 
  #if (DIO_AR_VERSION  == DIO_AR_HIGHER_VERSION) 
  if (Dio_GblDriverStatus == DIO_UNINITIALIZED) 
  { 
    /* Report Error to DET */ 
    (void)Det_ReportError(DIO_MODULE_ID, DIO_INSTANCE_ID, 
                      DIO_MASKED_WRITE_PORT_SID, DIO_E_UNINIT); 
    LenDetErrFlag = E_OK; 
  } 
  else 
  { 
    /* No action required */ 
  } 
  #endif 
24131 DIO
    
BUG
  --------- 
26249
DIO
The channel group not validated correctly  Problem Description: 
BUG
OPEN 
in 
Functional argument pointer 'ChannelGroupIdPtr' is checked only against NULL_PTR in Dio_ReadChannelGroup/Dio_WriteChannelGroup APIs and it is not validated properly to report 
ISSUE
Dio_ReadChannelGroup/Dio_WriteChannel DIO_E_PARAM_INVALID_GROUP.  
Group APIs
 
Currently, if wrong or out-of-bound address is passed (Ex: If Dio_GstChannelGroupData[] size is 4 i.e. 0-3 and if &Dio_GstChannelGroupData[4] is passed by mistake), the NULL_PTR 
condition check is unable to catch this and the API proceeds for further processing instead of reporting DET DIO_E_PARAM_INVALID_GROUP. 
 
While doing further processing the behaviour might be un-predictable. 
 
Expected Behavior: 
The channel group needs to be validated to report DET and it shall not do any further processing detecting DET. 
 
Actual Behavior: 
The channel group is not validated to report DET and it shall do further processing even during development error condition. 

26251
DIO
Global variable 
Problem Description: 
BUG
OPEN 
(Dio_GusNoOfChannelGroups) and config 
The global variable 'Dio_GusNoOfChannelGroups' which is initialised with the value of the config structure member 'usNoofChannelGroups' is used as offset for accessing the channel 
ISSUE
structure member (usNoofChannelGroups)  group structure when multi config set comes into picture. But the name suggests that it holds the value of "number of channel groups configured" which misleading. 
names are misleading
 
E.g.: If 8 channel groups are configured with two config sets (each), the handles will be generated as, 
 
 
#define DioConf_DioChannelGroup_DioChannelGroup1 (&Dio_GstChannelGroupData[0]) 
#define DioConf_DioChannelGroup_DioChannelGroup2 (&Dio_GstChannelGroupData[1]) 
#define DioConf_DioChannelGroup_DioChannelGroup3 (&Dio_GstChannelGroupData[2]) 
#define DioConf_DioChannelGroup_DioChannelGroup4 (&Dio_GstChannelGroupData[3]) 
#define DioConf_DioChannelGroup_DioChannelGroup5 (&Dio_GstChannelGroupData[4]) 
#define DioConf_DioChannelGroup_DioChannelGroup6 (&Dio_GstChannelGroupData[5]) 
#define DioConf_DioChannelGroup_DioChannelGroup7 (&Dio_GstChannelGroupData[6]) 
#define DioConf_DioChannelGroup_DioChannelGroup8 (&Dio_GstChannelGroupData[7]) 
 
It shall generate 8 handles pointing 8 channel group structures and the channel structures 9-16 which is applicable for second config set shall be accessed with the help of same handles 
with offset value in 'Dio_GusNoOfChannelGroups'. i.e. When config set 0 is initialised its value will be 0. When config set 1 is initialised  its value will be 8 for the above case. 
 
 
Expected Behavior: 
The name of this global variable and respective config structure member has to be corrected with meaningful name which is near to it usage. Ex: 'Dio_GusChannelGroupsOffset' and 
'usChannelGroupsOffset' respectively. 
 
Actual Behavior: 
Variable names are misleading
26572
DIO
Optimize the execution time of RSR register  Problem description: 
BUG
OPEN 
setting sequence
Check the pin direction and prepare the value and write to psr register will take less time to execute when the pin direction check is failed(beginning check itself it will come out). As per 
ISSUE
current method Even the pin direction check is failed, Prepare the value to set to the register operation is performed. 
 
Expected behavior: 
1.Check the pins direction.(Check the PMSR register.) 
2.Prepare the value to set to the register. 
3.Write the PSR register. 
Source : Please refer to the attached file.(Proposed amendments) 
       Dio_WriteChannel 168-191 
       Dio_WriteChannelGroup 407-415 
       Dio_MaskedWritePort 584-591 
 
Actual behavior: 
1.Prepare the value to set to the register. 
2.Check the pins direction.(Check the PMSR register.) 
3.Write the PSR register. 
Function : Dio_WriteChannel, Dio_WriteChannelGroup, Dio_MaskedWritePort 
Line : Dio_WriteChannel 931-956 
       Dio_WriteChannelGroup 1573-1583 
       Dio_MaskedWritePort 1714-1721

27729
DIO
Unreachable code present in Dio.c
In API Dio_ReadChannelGroup and API Dio_WriteChannelGroup, In the below code if the first condition got true, code will not go inside else part. If the first condition fails the second 
BUG
OPEN 
condition would also be false. So the code inside the second if block is unreachable that is dead code. The issue is found during UT. 
ISSUE
 
  if (ChannelGroupIdPtr == NULL_PTR) 
  { 
    /* TRACE [R3, DIO140][R4, DIO140] */ 
    /* TRACE [R4, DIO178] */ 
    /* Report Error to DET */ 
    (void)Det_ReportError(DIO_MODULE_ID, DIO_INSTANCE_ID, 
                      DIO_WRITE_CHANNEL_GROUP_SID, DIO_E_PARAM_POINTER); 
    LenDetErrFlag = E_OK; 
  } 
  else 
  { 
    /* Get the pointer to corresponding index in the 
       array Dio_GstChannelGroupData */ 
    /* MISRA Violation: START Msg(4:0492)-6 */ 
     LpChannelGroupPtr = &ChannelGroupIdPtr[Dio_GusNoOfChannelGroups]; 
    /* END Msg(4:0492)-6 */ 
      if (NULL_PTR == LpChannelGroupPtr) 
      { 
        /* Report Error to DET */ 
        (void)Det_ReportError(DIO_MODULE_ID, DIO_INSTANCE_ID, 
                      DIO_WRITE_CHANNEL_GROUP_SID, DIO_E_PARAM_INVALID_GROUP); 
        LenDetErrFlag = E_OK; 
      } 
      else 
      { 
26594
FLS
[F1L][FLS] Mismatch in memory mapping of  Problem descripaon: 
BUG
OPEN 
Fls_MainFunction
There is a mismatch in the memory mapping of Fls_MainFunction. 
ISSUE
 
In Fls.h, Fls_MainFunction is mapped to FLS_START_SEC_PUBLIC_CODE:(See the code below) 
 
254 : #define FLS_START_SEC_PUBLIC_CODE 
255 : #include "MemMap.h" 
       
280 : extern FUNC(void, FLS_PUBLIC_CODE) Fls_MainFunction(void); 
 
 
In Fls.c, Fls_MainFunction is mapped to FLS_START_SEC_SCHEDULER_CODE(See the code below) 
 
1689 : define FLS_START_SEC_SCHEDULER_CODE 
1690 : #include "MemMap.h" 
1691 : 
1692 : FUNC(void, FLS_PUBLIC_CODE)Fls_MainFunction(void) 
 
And in MemMap.h, both FLS_START_SEC_PUBLIC_CODE and FLS_START_SEC_SCHEDULER_CODE are defined as ".FLS_PUBLIC_CODE_RAM". 
 
Expected behaviour: 
Memory mapping in both declaration and definition of function shall be unique. 
 
Actual behaviour: 
There is difference in the memory mapping of declaration and definition of function Fls_MainFunction.

26925
FLS
Length calculation for misaligned access 
Description: 
BUG
OPEN 
fails
Length calculation in Fls_Internal leads to invalid values. 
ISSUE
 
Actual behaviour: 
Resulting length is around 4 billion which causes other function to be in endless loop. 
 
Expected behaviour: 
Correct length calculation
27581
FLS
Fls_GVar structure is not initialised 
Problem description: 
BUG
OPEN 
properly according to C89/C90 (ISO/IEC 
The initialization of Fls_GVar in Fls_Ram.c is not according to C90 standard. A structure that contains pointers, variables and further structures is simply initialized with "0". 
ISSUE
9899:1990)
This is possible in C99 (ISO/IEC 9899:1999, chapter 6.7.8.21), but MCAL shall be implemented according to C89/C90 (ISO/IEC 9899:1990). 
 
In Coding Guidelines EAAR-GL-0084.pdf, EAAR_PN0084_NR_0065 an example is given: 
/* Usage and initialization in a C file: */   
MyModule_Vector_tst Vector1_st = { 0, 0, 0 }; 
 
 
Expected behaviour: 
Each element in the structure shall be initialised properly. 
 
Actual behaviour: 
Structure is initialised as VAR(Fls_GVarProperties, FLS_INIT_DATA) Fls_GVar = {FLS_ZERO}; 
27819
FLS
Fls_Resume cannot interrupt the FLS 
Problem Description:  
BUG
OPEN 
ISR(JOB END).(AR_PN0072_FR_0046)
As per current implementation in Fls_Resume() API, If FLS_DEV_ERROR_DETECT = STD_ON and FLS_TIMEOUT_MONITORING = STD_ON then after waiting for FLS_ISR_TIMEOUT_VALUE, It 
ISSUE
starts FLS Resume process without checking whether FLS ISR is serviced (Check whether Fls_GVar.Fls_MutexFlag == FLS_ZERO). In current implementation, It will also not report any DET if 
timeout occurred after waiting for FLS ISR is serviced. 
 
This issue exist in file Fls.c V1.3.6. 
 
 
As per requirement AR_PN0072_FR_0046:-  
 
<Fls_Suspend cannot interrupt the FLS ISR(JOB END). It means when FLS ISR(JOB END) has already entered critical section (protected by semaphore/mutex) the upcoming Fls_Suspend 
must wait until ISR(JOB END) exits critical section. until ISR(JOB END) exits critical section.> 
 
Understanding is that above mentioned point in MRS is not correct. As per our understanding correct one is as mentioned below. 
 
<Fls_Resume cannot interrupt the FLS ISR(JOB END). It means when FLS ISR(JOB END) has already entered critical section (protected by semaphore/mutex) the upcoming Fls_Resume must 
wait until ISR(JOB END) exits critical section. until ISR(JOB END) exits critical section.> 
 
Expected Behavior: MRS requirement AR_PN0072_FR_0046 needs to implement properly. 
 
Actual Behavior: MRS requirement AR_PN0072_FR_0046 is not implemented properly. 

27829
FLS
Fls_Suspend cannot interrupt the FLS 
Problem Description:  
BUG
OPEN 
ISR(JOB END).(AR_PN0072_FR_0045)
As per current implementation in Fls_Suspend() API, If FLS_DEV_ERROR_DETECT = STD_ON and FLS_TIMEOUT_MONITORING = STD_ON then after waiting for FLS_ISR_TIMEOUT_VALUE, It 
ISSUE
starts FLS Suspend process without checking whether FLS ISR is serviced (Check whether Fls_GVar.Fls_MutexFlag == FLS_ZERO). In current implementation, It will also not report any DET if 
timeout occurred after waiting for FLS ISR is serviced. 
 
This issue exist in file Fls.c V1.3.6. 
 
 
As per requirement AR_PN0072_FR_0045:- Fls_Suspend cannot interrupt the FLS ISR(JOB END). It means when FLS ISR(JOB  
END) has already entered critical section (protected by semaphore/mutex) the upcoming Fls_Suspend must wait until ISR(JOB END) exits critical section.  
 
Expected Behavior: MRS requirement AR_PN0072_FR_0045 needs to implement properly. 
 
Actual Behavior: MRS requirement AR_PN0072_FR_0045 is not implemented properly. 
27839
FLS
Fls_Cancel cannot interrupt the FLS ISR(JOB  Problem Description:  
BUG
OPEN 
END).(AR_PN0072_FR_0011)
As per current implementation in Fls_Cancel() API if FLS_DEV_ERROR_DETECT = STD_ON and FLS_TIMEOUT_MONITORING = STD_ON then after waiting for FLS_ISR_TIMEOUT_VALUE, It 
ISSUE
starts FLS Cancel process without checking whether FLS ISR is serviced (Check whether Fls_GVar.Fls_MutexFlag == FLS_ZERO). In current implementation, It will also not report any DET if 
timeout occurred after waiting for FLS ISR is serviced. 
 
This issue exist in file Fls.c V1.3.6. 
 
 
As per requirement AR_PN0072_FR_0011:- Fls_Cancel cannot interrupt the FLS ISR(JOB END). It means when FLS ISR(JOB END) has already entered critical section (protected by 
semaphore/mutex) the upcoming Fls_Cancel must wait until ISR(JOB END) exits critical section. 
 
Expected Behavior: MRS requirement AR_PN0072_FR_0011 needs to implement properly. 
Actual Behavior: NA 
27867
FLS
Pre compile switch required to partition 
Problem description: 
BUG
OPEN 
FCL and FDL in source code 
 
ISSUE
(AR_PN0072_FR_0027)
As per AR_PN0072_FR_0027, The source code of FLS module must be partitioned in FCL part and FDL part by 
using pre-compile switches. 
The Flash library files, in this case FCL/FDL files, shall be included in build process as per FLS module configuration for respective use-cases. Redundant library files shall be excluded from 
build process 
 
Expected behavior: The requirement AR_PN0072_FR_0027 shall be implemented 
 
Actual Behavior: NA
27890
FLS
Flash library status mapping
Problem description: 
BUG
OPEN 
Internal status of underlying libraries, ie. FCL and FDL shall be mapped to FLS driver status accordingly and shall lead to proper job processing result of FLS driver. 
ISSUE
 
In case of critical internal errors, notification must be given and user can decide to take necessary remedy. 
 
Expected behavior: 
MRS requirement AR_PN0072_FR_0042 needs to implement. 
 
Actual behavior: 
MRS requirement AR_PN0072_FR_0042 is not implemented properly.

28459
FLS
Incomplete linker directive file for FLS 
<B>Problem Description:</B> 
BUG
OPEN 
sample application
The linker directive file of FLS sample application does not contain the entries for  
ISSUE
copying the initial variable values from ROM to RAM during startup. 
This is typically done by e.g. <pre>.romdata  ROM(.data)</pre> 
 
<B>Expected Behaviour:</B> 
Variables are initialized by GHS startup as required by C standard. 
 
<B>Actual Behaviour:</B> 
Variables are uninitialized, typically at 0 after power on, at any undefined value after reset. 
Application might show strange behaviour.
28514
FLS
Negative test cases required to verify the 
In Fls.c,in section 
BUG
OPEN 
boundary check of FLS_CF_OFFSET_VALUE  
ISSUE
#if (FLS_FLASH_ACCESS == FLS_CODEFLASH_ACCESS) 
    /* Virtual address is mapped to physical address */ 
    TargetAddress = TargetAddress - FLS_CF_OFFSET_VALUE; 
 
There shall be a check for TargetAddress against FLS_CF_OFFSET_VALUE before doing subtraction. 
 
Further, it requires negative test cases to verify the boundary check.
28515
FLS
Fls_GulTimeout to be removed from 
In Fls_Internal.c, Fls_GulTimeout is actually not used in functions Fls_CFProcessReadCommand and Fls_CFProcessCompareCommand. 
BUG
OPEN 
functions Fls_CFProcessReadCommand and   
ISSUE
Fls_CFProcessCompareCommand
So it should be removed from above mentioned two subfunctions.
28516
FLS
Setting of variable job notification to True  In Fls_Internal.c, in API Fls_EndJobProcess(), 'LblJobNotification' variable is set to true irrespective of the condition check "if (R_FDL_OK == Fls_GstVar.GucDFStatus)". 
BUG
OPEN 
is actually not depending on data flash 
 
ISSUE
status or code flash status
Similar is the case with the check "if (R_FCL_OK == Fls_GstVar.GucCFStatus)". 
 
So the redundant code can be merged in these cases.
28517
FLS
DEM error report should be added 
In Fls_Irq.c, Dem_ReportErrorStatus(FLS_E_ERASE_FAILED, DEM_EVENT_STATUS_FAILED) and Dem_ReportErrorStatus(FLS_E_WRITE_FAILED, DEM_EVENT_STATUS_FAILED) should be 
BUG
OPEN 
depending on the Erase/Write operations. added depending on the Erase/Write operations. 
ISSUE
28518
FLS
Tool shall throw error message when 
If interrupt is supported (FlsUseInterrupt = ON) and the call back functions are not mapped (NULL), the program will hang. 
BUG
OPEN 
'FlsUseInterrupt = ON' and the call back 
 
ISSUE
functions are not mapped
The tool code shall be updated to throw error message for above mentioned user configuration.
28520
FLS
Default value of LenReturnValue shall be 
In Fls.c, 
BUG
OPEN 
E_NOT_OK
 
ISSUE
Default value of LenReturnValue shall be E_NOT_OK. In this way, FLS job request will be rejected in the first place when driver state is busy. This logic is not dependent on DET settings.
28521
FLS
The logic for updating 
In Fls_Irq.c, at end of job processing, the logic for updating Fls_GVar.Fls_GenState, Fls_GVar.Fls_GenJobResult and triggering JobEnd or JobError notifications shall be in line with the logic  BUG
OPEN 
Fls_GVar.Fls_GenState and 
in Fls_EndJobProcess function in Fls_Internal.c. 
ISSUE
Fls_GVar.Fls_GenJobResult shall be in line   
with the logic in Fls_EndJobProcess
In the current implementation, Fls_Erase and Fls_Write support interrupt based job processing. And Fls_EndJobProcess is not required at end of interrupt based job processing.

28522
FLS
JobEnd and JobErrorNotification should 
In Fls_Irq.c, Fls_GpConfigPtr->pJobEndNotificationPointer() and Fls_GpConfigPtr->pJobErrorNotificationPointer() should be depending on both (FLS_JOB_NOTIF_CONFIG == STD_ON) &&  BUG
OPEN 
depend on both (FLS_JOB_NOTIF_CONFIG  (FLS_INTERRUPT_MODE == STD_ON). 
ISSUE
== STD_ON) && (FLS_INTERRUPT_MODE ==  
STD_ON)
Actual Behaviour : 
 
if (R_FDL_OK == Fls_GstVar.GucDFStatus) 

  /* Set the job Result to OK */ 
  Fls_GVar.Fls_GenJobResult = MEMIF_JOB_OK; 
  /* If job ended with success and call the job end call back 
   * function. 
   */ 
  Fls_GpConfigPtr->pJobEndNotificationPointer(); 

else 

  /* Set the job Result to Failed */ 
  Fls_GVar.Fls_GenJobResult = MEMIF_JOB_FAILED; 
  /* If job ended with error and call the job error call back 
   * function. 
   */ 
  Fls_GpConfigPtr->pJobErrorNotificationPointer(); 

 
Expected Behaviour : 
 
if (R_FDL_OK == Fls_GstVar.GucDFStatus) 

28523
FLS
Improvement in PDF of P1x
The following points should be taken care in the Parameter Definition File of P1x. 
BUG
OPEN 
 
ISSUE
a. The upper bound/maximum value of FlsFclRamAddress shall be 4276092927 (0xFEDF_FFFF) for P1x. 
 
b. The parameters used in each of the following containers should be re-ordered to give a better overview of parameters. 
     1. FlsDataFlash 
     2. FlsCodeFlash 
     3. FlsPublishedInformation 
 
c. Parameter "FlsDFTotalSize" in 'FlsDataFlash' container should be renamed as "FlsDataFlashSize". 
 
d. The statement in the description of following parameters shall be updated as mentioned. 
     1. FlsMaxWriteNormalMode : add into description - This parameter is not used for implementation. 
     2. FlsMaxEraseNormalMode : add into description - This parameter is not used for implementation. 
     3. FlsTotalSize : improve description - This parameter specifies the total amount of flash memory in bytes that is accessible by FLS driver. 
     4. FlsNumberOfSectors : add into description - This parameter setting shall be in line with FlsSectorStartaddress. 
     5. FlsFclRamAddress : add into description - This parameter is not used for implementation. 
     6. FlsDFTotalSize : improve description - This parameter indicates the physical total size of Data Flash memory.
28545
FLS
Safe exit from while-loop for 
In Fls.c, 
BUG
OPEN 
R_FDL_Handler in Fls_Init shall be realized   
ISSUE
as per general requirement
Safe exit from while-loop for R_FDL_Handler in Fls_Init shall be realized as per general requirement. 
 
Timeout monitoring can be considered here.
28546
FLS
DEM error should be reported for transient  FLS Initialization (Fls_Init) can fail during driving cycle of ECU, due to eg. operation voltage change, clock frequency change, etc. (transient failures). 
BUG
OPEN 
failures
Such kind of fault must be notified and afterwards the upper layer can, for example, retry with init procedure until succeeds, or the system can be switched to a safety state if required. 
ISSUE
DEM error should be reported here.
28547
FLS
R_FDL_Handler() call in Fls_MainFunction 
In Fls.c, R_FDL_Handler() call in Fls_MainFunction and Fls_Init should be protected with critical section.
BUG
OPEN 
and Fls_Init should be protected with 
ISSUE
critical section

28587
FLS
Unexpected Interrupt pending bit is set in  Problem description: 
FEATURE
OPEN 
Fls_Write and Fls_Erase APIs
In Fls_Write and Fls_Erase APIs, interrupt processing is enabled as follows: 
ISSUE
 #if (FLS_INTERRUPT_MODE == STD_ON) 
        /* Enable interrupt processing */ 
        RH850_SV_MODE_IMR_AND(16, (Fls_GpConfigPtr->pFlEndImrAddress), 
                                   (Fls_GpConfigPtr->usFlEndImrMask)); 
 #endif 
 
At that point SW nearly always had the interrupt pending bit set, so a first unwanted interrupt occurs quite fast there. 
 
Pending interrupts are not properly handled in the code so that this will cause some confusion because of a pending interrupt from the previous operation. 
 
There is a chance of setting interrupt pending bit from the previous Read operation, which have inbuilt blank check. 
 
Expected behaviour: 
Before enabling interrupts, interrupt pending bit shall be cleared. 
 
Actual behaviour: 
Interrupt pending bit is set when interrupt processing is enabled in Fls_Write and Fls_Erase APIs 
28507
FlsTst
As per Autosar requirement, FlsTst.h 
According to Autosar requirement specification, the include of Std_Types.h should be done in FlsTst.h 
BUG
OPEN 
should include Std_Types.h directly.
 
ISSUE
But in FlsTst, Std_Types.h is included through FlsTst_PBTypes.h and FlsTst_Types.h in the current implementation. The files can be found in the following svn path - 
 
/trunk/external/X1X/common_platform/modules/flstst/include 
 
 
 
Expected behaviour : 
FlsTst.h should include Std_Types.h directly. 
 
Actual behaviour :  
Std_Types.h is included through FlsTst_PBTypes.h and FlsTst_Types.h
28511
FlsTst
FlsTst_GenLastFgndResult and 
FlsTst_GenLastFgndResult and FlsTst_GenOverallBgndResult shall be declared as FLSTST_INIT_DATA, so as to match with memory section FLSTST_START_SEC_VAR_UNSPECIFIED. 
BUG
OPEN 
FlsTst_GenOverallBgndResult shall be 
But in the current implementation FlsTst_GenLastFgndResult and FlsTst_GenOverallBgndResult are declared as FLSTST_NOINIT_DATA. This can be found in the path - 
ISSUE
declared as FLSTST_INIT_DATA
   \trunk\external\X1X\common_platform\modules\flstst\src\FlsTst_Ram.c 
 
Expected Behaviour : 
/* Variable to store the fgnd test result  */ 
VAR(FlsTst_TestResultFgndType, FLSTST_INIT_DATA)FlsTst_GenLastFgndResult 
                                                            = FLSTST_NOT_TESTED; 
/* TRACE [R4, FlsTst154] */ 
/* Variable to store the overall Bgnd test result  */ 
VAR(FlsTst_TestResultType, FLSTST_INIT_DATA)FlsTst_GenOverallBgndResult 
                                                     = FLSTST_RESULT_NOT_TESTED; 
 
Actual Behaviour : 
/* Variable to store the fgnd test result  */ 
VAR(FlsTst_TestResultFgndType, FLSTST_NOINIT_DATA)FlsTst_GenLastFgndResult 
                                                            = FLSTST_NOT_TESTED; 
/* TRACE [R4, FlsTst154] */ 
/* Variable to store the overall Bgnd test result  */ 
VAR(FlsTst_TestResultType, FLSTST_NOINIT_DATA)FlsTst_GenOverallBgndResult 
                                                     = FLSTST_RESULT_NOT_TESTED;

27528
Fr
[P1x][Fr] While doing QAC Static Analysis, 
Problem Description: 
BUG
OPEN 
Some of the Misra violations are not 
While running QAC Static Analysis for the Fr_59.c file and Fr_59_Internal.c, QAC Misra rules violations are occuring.Some of the violations are justified and some violations are not 
ISSUE
justified.
justified.(For example: The messages such as 4:1843, 4:1863, 4:2985 etc. are not justified.). 
Common code change is not in the scope of V4.00.04 P1x release. 
 
Expected Behaviour: 
NA 
 
Actual Behaviour: 
NA
27727
Fr
[P1x][V4.00.04][FR] The test cases related  Problem Description: 
BUG
OPEN 
to 
The test cases related to Dem_ReportErrorStatus(FrDemCtrlTestResultRef, DEM_EVENT_STATUS_FAILED) - FR_ETC_065, Dem_ReportErrorStatus (FrIfDemFTSlotStatusRef, 
ISSUE
Dem_ReportErrorStatus(FrDemCtrlTestRes DEM_EVENT_STATUS_FAILED) - FR_ETC_066 and FR_ETC_067 are failing. 
ultRef, DEM_EVENT_STATUS_FAILED) - 
 
FR_ETC_06
FR_ETC_065: 
In the ESTS, in the Tested functionality, Dem_ReportErrorStatus(FR_E_ACCESS, DEM_EVENT_STATUS_FAILED) is tested.But in the expected test result, 
Dem_ReportErrorStatus(FrDemCtrlTestResultRef, DEM_EVENT_STATUS_FAILED) is checked for the APIs Fr_ReceiveRxLPdu, Fr_CheckTxLPduStatus, Fr_TransmitTxLPdu, Fr_CancelTxLPdu. 
The test cases FR_ETC_065 is not tested because the Dem_ReportErrorStatus (FrDemCtrlTestResultRef, DEM_EVENT_STATUS_FAILED) is not implemented in the following APIs 
Fr_ReceiveRxLPdu, Fr_CheckTxLPduStatus, Fr_TransmitTxLPdu, Fr_CancelTxLPdu. 
 
FR_ETC_066 and FR_ETC_067: 
In the ESTS, in the Tested functionality, Dem_ReportErrorStatus(FR_E_ACCESS, DEM_EVENT_STATUS_FAILED) is tested.But in the expected test result,Dem_ReportErrorStatus 
(FrIfDemFTSlotStatusRef, DEM_EVENT_STATUS_FAILED) is checked for the APIs Fr_TransmitTxLPdu, Fr_ReceiveRxLPdu. 
The test cases FR_ETC_066 and FR_ETC_067 are not tested because the Dem_ReportErrorStatus (FrIfDemFTSlotStatusRef, DEM_EVENT_STATUS_FAILED) is not implemented in the 
following APIs Fr_TransmitTxLPdu, Fr_ReceiveRxLPdu. 
 
Expected Behaviour: 
FR_ETC_065: 
As per the Autosar R4.03 FlexRay SWS requirement, 
if any hardware error occurs while running the APIs Fr_ReceiveRxLPdu[FR232], Fr_CheckTxLPduStatus[FR243] , Fr_TransmitTxLPdu[FR223], Fr_CancelTxLPdu[FR613], then it should call 
Dem_ReportErrorStatus (FrDemCtrlTestResultRef, DEM_EVENT_STATUS_FAILED) and return E_NOT_OK. 
 
FR_ETC_066 and FR_ETC_067: 
As per the Autosar R4.03 FlexRay SWS requirement, 
In the API Fr_ReceiveRxLPdu, [FR605]If the optional configuration parameter FrIfDemFTSlotStatusRef exists and a single slot status error bit (vSS!SyntaxError, vSS!ContentError, 
vSS!Bviolation) is set, then the slot status information shall be reported to DEM as Dem_ReportErrorStatus (FrIfDemFTSlotStatusRef, DEM_EVENT_STATUS_FAILED). 
 
Actual Behaviour: 
27728
[P1x][V4.00.04][FR] the functional 
Problem Description: 
OPEN 
testcases related to Transmit Queue and 
In ESTS the functional testcases related to Transmit Queue and Receive Queue functionality (FR_ETC_098, FR_ETC_099, FR_ETC_100, FR_ETC_101, FR_ETC_102, FR_ETC_103) are failing. 
ISSUE
Receive Queue functionality are failing.
 
Expected Behaviour: 
After transmitting the Data by invoking Fr_TransmitQueue_Table() it is returning E_OK as per the Expected Test result and when Fr_ReceiveQueue_Table() is invoked, it should E_OK and 
also the transmitted data should be received by the controller. 
 
Actual Behaviour: 
After transmitting the Data by invoking Fr_TransmitQueue_Table() it is returning E_OK as per the Expected Test result and when Fr_ReceiveQueue_Table() is invoked, it is returning E_OK 
as per the expected Test Result but the data is not received. 
Fr
BUG
28147
Fr
[P1x][Fr][R4.0] 
Problem Description: 
BUG
OPEN 
Fr_User_Request_Output_Transfer and 
Fr_User_Request_Output_Transfer and Fr_User_Request_Input_Transfer API's are returning E_OK but no transmit/receive functionality is happening. 
ISSUE
Fr_User_Request_Input_Transfer API's are   
not working.
Expected Behaviour: 
Transmit/receive functionality should happen in this Fr_User_Request_Output_Transfer and Fr_User_Request_Input_Transfer API's . 
 
Actual Behaviour: 
Transmit/receive functionality is not happen in this Fr_User_Request_Output_Transfer and Fr_User_Request_Input_Transfer API's .

28326
[P1x][FR]Some Ecode lines are more than   Problem Description: 
OPEN 
80 characters and trailing spaces are 
1.More than 80 characters in following lines :  
ISSUE
present.
Fr_59_Internal.c : @L1332 , L1352, 1405,1424,1519,1591,1620,1632,1774,1905,2101 
Fr_59.c : @L1909,2561 
Fr_59_Debug.h : @L83 
Fr_59_GeneralTypes.h:@L277,286 
Fr_59_Internal.h : @L71, @L97 
Fr_59_Version.h: @L86 
Fr_59.h : @L436, L70 
 
2. Trim trailing space not done in following files: 
Fr_59.h, Fr_59_Ram.h, Fr_59_PBTypes.h, Fr_59_Internal.h, Fr_59.c, Fr_59_Ram.c, Fr_59_Internal.c 
 
Actual Behavior: 
NA 
 
Expected Behavior: 
NA 
Fr
BUG
28474
Fr
[P1x][Fr][R4.0] Null pointer checking is not  Problem Description: 
BUG
OPEN 
performing.
Null pointer checking is not performing in the following API's 
ISSUE
 
1.Fr_59_ReceiveRxLPdu 
  line: 3053  (*Fr_LPduStatusPtr = FR_59_NOT_RECEIVED;) 
  line: 3058  (*Fr_LSduLengthPtr = FR_59_ZERO;) 
2.Fr_59_CheckTxLPduStatus  
  line: 8485  (*Fr_TxLPduStatusPtr = FR_59_NOT_TRANSMITTED;) 
 
 
Actual behaviour: 
When dereference a NULL pointer thereby raising a NullPointerException. It will cause the controller to reset. 
 
Expected behaviour: 
Null pointer checking should be performed in the API Fr_59_ReceiveRxLPdu, Fr_59_CheckTxLPduStatus

28397
GPT
Wake up disabled channels are giving DET  Description 
BUG
OPEN 
after GPT_MODE_SLEEP to 
----------- 
ISSUE
GPT_MODE_NORMAL  mode transition.
While Running ATF test case "GPT_FTC_142" its observed that unexpected DET with 
ApiId = 0X2 => Service Id of Gpt_DeInit API. 
ErrorId = 0XB => DET code to report Timer is already running. 
 
is occurring when calling Gpt_DeInit(), here all channels are expected be in "stopped" state. 
 
We tested as mentioned below, in ATF configuration "ATF_cfg01". 
 
Test Scenario 
------------- 
 
1.  Call Gpt_Init(&GPT_CONFIG_01) to initialize the driver with [GPT_CONFIG_01]. 
     
2.  Call Gpt_EnableNotification() for channel 0. 
3.  Call Gpt_EnableNotification() for channel 1. 
4.  Call Gpt_EnableNotification() for channel 3. 
     
5.  Call Gpt_EnableWakeup() for channel 0. 
6.  Call Gpt_DisableWakeup() for channel 1. 
5.  Call Gpt_DisableWakeup() for channel 3. 
     
6.  Call Gpt_StartTimer() for channel 0. 
7.  Call Gpt_StartTimer() for channel 1. 
8.  Call Gpt_StartTimer() for channel 3. 
     
9.  Wait for 1 Seconds. 
28405
GPT
Timer is starting automatically when call 
While testing ATF test case "App_Gpt_Sample" its observed that notification is occurring when call Gpt_EnableWakeup() in GPT_MODE_SLEEP mode before starting the timer. 
BUG
OPEN 
Gpt_EnableWakeup() in GPT_MODE_SLEEP   
ISSUE
mode.
We tested as mentioned below, in ATF configuration "ATF_cfg05". 
 
1.  Call Gpt_Init(&GPT_CONFIG_01) to initialize the driver with [GPT_CONFIG_01]. 
2.  Call Gpt_EnableNotification() for channel 0. 
3.  Start timer for channel 0. 
4.  Wait for 200 (ms). 
5.  call Gpt_GetTimeElapsed() for channel 0. 
6.  Check whether Time Elapsed > 0 , and it's obtained as expected. 
7.  Wait for 10 (ms). 
8.  call Gpt_GetTimeRemaining() for channel 0. 
9.  Check whether Time Remaining > 0 , and it's obtained as expected. 
10. Wait for 5 Seconds. 
11. Check whether notification obtained is  > 0 , and it's obtained as expected. 
12. call Gpt_DisableWakeup() for channel 0. 
13. Set GPT mode to 'GPT_MODE_SLEEP' by calling  "Gpt_SetMode(GPT_MODE_SLEEP)". 
14. Wait for 1 Seconds. 
15. Clear The Notification Count. 
16. Wait for 2 Seconds. 
17. Check whether notification obtained is  = 0 , and it's obtained as expected. 
18. Set GPT mode to 'GPT_MODE_NORMAL' by calling  "Gpt_SetMode(GPT_MODE_NORMAL)". 
19. Wait for 2 Seconds. 
20. Check whether notification obtained is  = 0 , and it's obtained as expected. 
21. Set GPT mode to 'GPT_MODE_SLEEP' by calling  "Gpt_SetMode(GPT_MODE_SLEEP)". 
22. call Gpt_EnableWakeup() for channel 0. 
23. Set GPT mode to 'GPT_MODE_NORMAL' by calling  "Gpt_SetMode(GPT_MODE_NORMAL)". 
24. Wait for 5 Seconds. 

25856
ICU
Obsolete code in Icu_HW_Init() function.
Problem description: 
BUG
OPEN 
At line 754 in Icu_LLDriver.c the following loop is present: 
ISSUE
  for (LucCnt = ICU_MAX_TIMER_CHANNELS_CONFIGURED; LucCnt < ICU_MAX_CHANNEL; 
                                                                       LucCnt++) 
  { 
 
This "for" loop is used for external interrupts only and not for timer channels initialization. 
 
Inside the loop you have checks for timer channels, which will always fail, since the loop is only for channels configured with external interrupts. 
 
It seems that everything above the "switch" at line 823 in this loop is obsolete code. 
 
 
Expected behavior: 
N/A 
 
Actual behavior: 
N/A
Interrupts(IMR) are enabled All Channel 
Problem Description: 
OPEN 
After calling Icu_SetMode() Api form 
As per Autosar4.0.3 ICU requirement says that ICU194  ICU_MODE_NORMAL: Normal operation, all used interrupts are enabled according to the notification requests. ICU_MODE_SLEEP: 
ISSUE
ICU_MODE_SLEEP to ICU_MODE_NORMAL. Reducedpower mode. In sleep mode only those notifications are available which are configured as wakeup capable.  
 
Current implementation is 
In Icu_SetMode(ICU_MODE_NORMAL) Api  called after Icu_SetMode(ICU_MODE_SLEEP) Api. 
All interrupts are enabled with out considering Current notification status. 
 
 Ver4.01.06 -- release  Icu_LLDriver.c 
 1765:        /* Enable Interrupt */  
 1766:        RH850_SV_MODE_IMR_AND(16, (LpImrIntpCntrlReg),  
                           (LpChannelConfig->usImrMaskValue));  
 
 
Expected Behaviour: 
All used interrupts are enabled according to the notification requests 
 
Actual Behaviour: 
27622 ICU
All interrupts are enabled with out considering notification status.
BUG
28585
ICU
Component User Manual - Unimplemented  Problem Description: 
BUG
OPEN 
APIs and Not supported features 
1. The functionalities which are not supported by the hardware are present in the component user manual.Icu_CheckWakeup, Icu_DisableWakeup and Icu_EnableWakeup should be 
ISSUE
removed from user manual. 
 
2. If a feature is not supported please mention "Not supported" in Table 5-1 
 
Expected Behaviour: 
NA 
 
Actual Behaviour: 
Wakeup functionalities(Icu_CheckWakeup, Icu_DisableWakeup and Icu_EnableWakeup) which are not implemented are mentioned in the user manual, which misleads the user.

27490
MCU
McuResetReason could not be accessed By  Problem Description: 
BUG
OPEN 
EcuMResetReason from 
The contents of McuPublishedInformation0/McuResetReasonConf0/McuResetReason could not be accessed from EcuMResetReason since the implementation methodology in 
ISSUE
McuPublishedInformation0/McuResetReas McuPublishedInformation dont seem to be according to what AUTOSAR has prescribed 
onConf0 container
 
Note: Why is the P1x McuResetReason implementation  different from F1x (The McuResetReason implemented in different way for F1x and P1x devices ) 
  
Expected Behavior: 
None 
 
Actual Behavior: 
None
28160
MCU
GetVersionInfo() API of each module shall  Problem Description: 
BUG
OPEN 
also return “instanceID” as one of the 
 
ISSUE
parameter in Std_VersionInfoType
This ticket is created to track the pre-release review done on P1x MCU work products as part of V4.00.04 release.  
 
Requirement: AR_PN0034_FR_0017 
 
Finding: As per the requirement GetVersionInfo() API of each module shall also return “instanceID” as one of the 
parameter in Std_VersionInfoType pointed by the output parameter versioninfo. In the current implementation only moduleid, and vendorid are returned. Instance id is not returned 
 
 
Expected Behavior: 
GetVersionInfo() API of each module shall return moduleid, vendorid and instanceID 
 
Actual Behavior: 
GetVersionInfo() API of each module shall return moduleid and vendorid 
28170
MCU
Dummy read to register must be 
Problem Description: 
BUG
OPEN 
performed after writing to register.
 
ISSUE
This ticket is created to track the pre-release review done on P1x MCU work products as part of V4.00.04 release. 
 
Requirement: AR_PN0034_FR_0068 
 
Finding: Synchronizing peripherals register write operation by dummy read. As per this requirement, Dummy read to register must be performed after writing to register. The requirement 
is not taken care in Mcu source code. 
 
Expected Behavior: 
NA 
 
Actual Behavior: 
NA

28202
MCU
APIs Mcu_GetResetReason() and 
Problem Description: 
BUG
OPEN 
Mcu_GetResetRawValue() shall return the   
ISSUE
same result in case they are called multiple  This ticket is created to track the pre-release review done on P1x MCU work products as part of V4.00.04 release. 
times
 
Requirement: EAAR_PN0079_FR_0086 
 
The APIs Mcu_GetResetReason() and Mcu_GetResetRawValue() shall return the 
same result in case they are called multiple times after a reset or a power on 
event. 
 
Finding: Add test case to test the requirement. 
 
Expected behaviour: 
NA 
 
Actual behaviour: 
NA 
28382
MCU
McuResetReason added in Mcu schema 
In Mcu Schema several reset reason was added in McuPublishedInformation container. 
BUG
OPEN 
cannot be referenced by EcuM
 
ISSUE
According with ECUM128_Conf Mcu Reset Reason should be in McuResetReasonConf container so this can be referenced by EcuM module .
28421
MCU
In definition file Mandatory parameter's 
Problem Description: 
BUG
OPEN 
Lower and Upper multiplicity values are not In definition .arxml file Mandatory parameter's Lower and Upper multiplicity value should be one.  
ISSUE
taken care properly
parameters are McuLoopCount and McuPbusWaitCount. 
 
example: 
In Mcu_PBTypes.h MCU_PBUSWAITCOUNT is define with MCU_PBUSWAITCOUNT_VALUE and is used in Mcu.c file 
If McuPbusWaitCount value is not set, In Mcu_Cfg.h for MCU_PBUSWAITCOUNT_VALUE will not be generated any value: 
In PBcfg.h file 
/* Pbus Count Value for the MCU_PBUSWAITCOUNT */ 
#define MCU_PBUSWAITCOUNT_VALUE 
 
 
Expected Behavior: 
<!-- PARAMETER DEFINITION: McuPbusWaitCount --> 
<ECUC-INTEGER-PARAM-DEF UUID="ECUS:dbeafba1-bfaf-4ca0-8572-235f3c9b9b35"> 
<SHORT-NAME>McuPbusWaitCount</SHORT-NAME> 
<DESC> 
<L-2 L="EN">The parameter represents the PBus access wait time.The loop can be minimum 1 to maximum 65535</L-2> 
</DESC> 
<LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY> 
<UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY> 
 
Actual Behavior: 
<!-- PARAMETER DEFINITION: McuPbusWaitCount --> 
<ECUC-INTEGER-PARAM-DEF UUID="ECUS:dbeafba1-bfaf-4ca0-8572-235f3c9b9b35"> 
<SHORT-NAME>McuPbusWaitCount</SHORT-NAME> 
<DESC> 
<L-2 L="EN">The parameter represents the PBus access wait time.The loop can be minimum 1 to maximum 65535</L-2> 
28444
MCU
Reset reson handling depending on 
What is the difference between "McuResetReasonConfPowerOnReset" and "McuResetReasonConfPowerOnFlagReset" ? 
BUG
OPEN 
POF.POF bit
 
ISSUE
The implementation seems to be wrong as POF.POF bit seems to be set in both cases mentioned, which means only McuResetReasonConfPowerOnFlagReset is reported and 
McuResetReasonConfPowerOnFlagReset is never reported. 

28473
MCU
App_MCU_Device_Sample.h Which is not 
Problem Description: 
BUG
OPEN 
as per AR_PN0034_FR_0039.
 
ISSUE
App_MCU_Device_Sample.h Which is not as per AR_PN0034_FR_0039.  
 
Expected Behavior: 
NA 
 
Actual Behavior: 
NA
25132
Port
When changing port pin to a DIO mode, 
Problem Description: 
BUG
OPEN 
handling of PSRn(Pn) is different by API.
The port pin can be changed to a DIO mode at API Port_SetPinMode, Port_SetToDioMode and Port_SetPinDefaultMode.Among these the Port_SetToDioMode doesn't set to PSR 
ISSUE
register.Is this what Development Team intended? 
 
DIO output level change should be performed in DIO Driver and the user can also decide at the timing of change in the DIO output level.I'm thinking this specification is simplest and is 
without mistakes. 
 
Could you tell me why it's such specification? 
 
Expected Behavior  : 
It is necessary to unify these specifications 
 
Actual Behavior    : 
the Port_SetToDioMode doesn't set to PSR register.
26487
Port
When Port_SetPinDirection() change 
PortPinDirectionChangeable = True 
BUG
OPEN 
direction from o/p to o/p (refeshing) for 
PortPinModeChangeable = True 
ISSUE
JTAG pins, the o/p level will set to default 
PortPinLevelValue = PORT_PIN_LEVEL_LOW 
state.
PortPinInitialMode = DIO_SUPP_PFC_PMCSR 
PortPinDirection = <b>PORT_PIN_OUT</b> 
 
Test case: 
Port_Init(PortConfigSet0); 
while(1) 
{  
    /* This API will initilize all the registers to the initial values */ 
    Port_Init(PortConfigSet0); 
    /* Set Port Pin level of for JP0_6 to High. */ 
    JPSR0 = 0xFFFF0040; 
    /* Refresh the pin. */ 
    Port_SetPinDirection (Port_PortGroupJtag00_PortPin60, <b>PORT_PIN_OUT</b>); 

 
Expected result: 
JP0_6 remains High. 
 
Actual result: 
JP0_6 sets to Low.

26852
Port
Local variables may remain not initialized in  Problem description: 
BUG
OPEN 
Port_SetToDioOrAltMode API.
If we have a configuration with the following generated code 
ISSUE
 
/* Availability of numeric port groups */ 
#define PORT_NUM_PORT_GROUPS_AVAILABLE STD_OFF 
 
/* Availability of alphabetic port groups */ 
#define PORT_ALPHA_PORT_GROUPS_AVAILABLE STD_OFF 
 
/* Availability of jtag port groups */ 
#define PORT_JTAG_PORT_GROUPS_AVAILABLE STD_OFF 
 
then in Port_SetToDioOrAltMode() API the local variables LpFuncCtrlReg and LulBaseAddress will be used without being initialized. 
 
Expected result: 
N/A 
 
Actual result: 
N/A
27039
Port
Port Group 4 Pin 6 MUX appears to be mis- Problem description: 
BUG
OPEN 
labeled in the Parameter defitnition file.
Port Group 4 Pin 6 MUX appears to be mis-labeled in the Parameter definition file. It is labeled as TAUD202_ALT6_OUT, while according to the HW user manual "2.4.1.7 Port 4 (P4)" it is 
ISSUE
related to TAUD2O3. 
 
Expected behavior: 
Port Group 4 Pin 6 MUX must be labeled as TAUD2O3_ALT6_OUT. 
 
Actual behavior: 
Port Group 4 Pin 6 MUX is labeled as TAUD2O2_ALT6_OUT.
27079
Port
Port Generator throwing unwanted error
Problem description: 
BUG
OPEN 
If PortIpControl is enabled for e.g. CSI pins as recommended in description of PortIpControl, then error 124018 is raised. 
ISSUE
Pin names in description of PortIpControl do not match to available options in PortPinInitialMode. 
This issue is valid for 701011 device, but not for 701035. 
 
Expected behaviour: 
No error should occur. 
 
Actual behaviour: 
ERR124018 Error occurs that is in contradiction to description. 
27676
Port
Fail to initialize the PFCAE registers 
Problem Description: 
BUG
OPEN 
correctly
The register initialization sequence in Port_InitConfig() api is not as mentioned in r01uh0436ej0070_rh850p1x.pdf(v0.70) at page 122 Section 2.3.4.6. 
ISSUE
 
 
Expected Behavior : 
 
PFCAE register along with PFC and PFCE should be initialized after initializing 
PINV register. 
 
 
Actual Behavior : 
 
The function control registers(PFC,PFCE,PFCAE) are initialized before PINV register initialization

28391
Port
PINVn register is not setting properly in API  Problem description: 
BUG
OPEN 
Port_SetPinDirection()
Value updating to PINVn — Port Output Level Inversion Register write protection is not implemented as in device User Manual.  
ISSUE
 
 
Expected behavior: 
Needs to follow the write protection sequence mentioned in device User Manual.   
 
Actual behavior: 
Register write protection is not implemented properly.
28447
Port
PMSR register access is not correct
Problem description: 
BUG
OPEN 
PMSR register is accessing without checking whether PMSR register is present for that particular Port group.  
ISSUE
 
 
Expected behavior: Before accessing PMSR register check whether PMSR register is exist is required. 
    /*Check for PMSR register availability */ 
    if (PORT_REG_NOTAVAILABLE != LpSetPinModeGroupStruct->ucPMSRRegIndex) 
    { 
   ... 
    } 
 
Actual behavior: 
This check is not present result in illegal memory access.  
28539
Port
Pre compiler Macro is surrounded code at  Problem description: 
BUG
OPEN 
wrong place in Port_FilterConfig()
 
ISSUE
Pre compiler Macro "PORT_DNFA_REG_CONFIG" is surrounded code at wrong place in Port_FilterConfig(). 
 
#if ((PORT_DNFA_REG_CONFIG == STD_ON) || (PORT_FCLA_REG_CONFIG == STD_ON)) 
#define PORT_START_SEC_PRIVATE_CODE 
#include "MemMap.h" 
STATIC FUNC(void, PORT_PRIVATE_CODE) Port_FilterConfig(void) 

  /* Pointer to digital filter DNFA register data structure */ 
  #if (PORT_DNFA_REG_CONFIG == STD_ON) 
  P2CONST(volatile Port_DNFARegs, AUTOMATIC, PORT_CONFIG_DATA) LpDNFAReg; 
 
  /* Pointer to Edge control EDC register data structure */ 
  #if (PORT_EDGE_DETECT_CONTROL == STD_ON) 
  P2CONST(volatile Port_EDCRegs, AUTOMATIC, PORT_CONFIG_DATA) LpEDCReg; 
  #endif /* End of PORT_EDGE_DETECT_CONTROL == STD_ON */ 
 
 -----code----- 
  #endif /* End of PORT_DNFA_REG_CONFIG == STD_ON */ 
 
 -----code---- 
 
Port_FilterConfig() API is enabled by PORT_DNFA_REG_CONFIG is STD_ON or PORT_FCLA_REG_CONFIG is STD_ON, 
In side variable declaration is done for PORT_DNFA_REG_CONFIG is STD_ON, When PORT_DNFA_REG_CONFIG is STD_OFF and PORT_FCLA_REG_CONFIG is STD_ON it will corrupted. 
 
Expected behavior: 
Pre compiler Macro should be surrounded the E-code at appropriate places. 

25724
PWM
Det PWM_E_PARAM_CHANNEL is not 
Problem description: 
BUG
OPEN 
reporting for Pwm_SetTriggerDelay().
 For the current PWM driver implementation we face the problem that it is not reporting Det PWM_E_PARAM_CHANNEL for Pwm_SetTriggerDelay() when configured for PWM TAU 
ISSUE
channel.  
 
Expected behavior: 
 Det PWM_E_PARAM_CHANNEL should report for Pwm_SetTriggerDelay() when configured for PWM TAU channel. 
  
Actual behavior: 
 DET is not occuring.
26874
PWM
Pwm_SelectChannelClk is starting the PWM Problem Description: 
BUG
OPEN 
diag channels configured for sync start
If you configure 2 channels 1 on TAU and one PWM diag in sync start mode. If after Pwm_SynchronousInit() API, Pwm_SelectChannelClk() is called, the pwm diag channel will start even 
ISSUE
before calling Pwm_SynchronousStart(). 
 
Expected behavior: 
Channels marked as synchronous shall start only after Pwm_SynchronousStart() API is called. 
 
Current behavior: 
Check the problem description 
28292
PWM
[P1x][PWM] PWM notification is not 
Problem Description: 
BUG
OPEN 
handled properly
1. PWM notification null pointer checking is not performing on Pwm_HW_Callback ISR 
ISSUE
2. Notification will send for wrong PWM channels/channels which are not configured. 
 
 
Actual behaviour: 
With in Pwm_HW_Callback ISR, channel id is incrementing with in a for loop. Notification checking and sending is doing outside this for loop. After the execution of that for loop channel id 
will be, exact channel id + 1 + number of slave channels. So the notification will send for wrong channels or try to send notification for the channels which are not configured. 
 
Example: we have configured 7 channels out of which 3 are slave channels. 
and the interrupt is coming for 4th master channel. 
So at the end of the 'for' loop, channel id will be 8. This will cause out of array access and if the value of that memory location is one, it will try to send notification, which is not configured. 
This will cause the controller to reset. 
 
Expected behaviour: 
1.PWM notification null pointer checking should be performed in Pwm_HW_Callback ISR 
2.PWM notification checking should be with proper channel id.
25663
RamTst
[P1x][RAMTST][R4.0] The test result is not    RamTst_GetTestResultPerBlock() does not return RAMTST_RESULT_UNDEFINED, when March test on the specific block is running.
BUG
OPEN 
RAMTST_RESULT_UNDEFINED, if a March 
ISSUE
Test on this block is running.
25664
RamTst
[P1x][RAMTST][R4.0] RamTst_FillPattern 
When the configuration parameter RamTstTestPolicy for a block is set to RAMTEST_DESTRUCTIVE, the test algorithm does not fill the tested cells after the test with the bit pattern defined BUG
OPEN 
not getting updated in the RAM location 
for this block by parameter RamTst_FillPattern except for the test algorithm RAMTST_ABRAHAM_TEST_APP.
ISSUE
when RamTstTestPolicy is 
RAMTEST_DESTRUCTIVE.

26482
RamTst
Dem event parameter name not generated  Problem Description: 
BUG
OPEN 
correctly
If the short name of DemEventParameter in file Dem_RamTst.arxml is not appended with any number then the Dem event parameter name is not getting generated correctly. 
ISSUE
 
Expected Behaviour: 
DEM event parameters should generated correctly as follows 
 
#define RAMTST_E_RAM_FAILURE                               \ 
  DemConf_DemEventParameter_DemEventParameter 
 
Actual Behaviour: 
DEM event parameters are generated as follows 
 
#define RAMTST_E_RAM_FAILURE                               \ 
  DemConf_DemEventParameter_ 
 
This results in compilation issues as "the identifier "DemConf_DemEventParameter_" is undefined" 
28604
RamTst
Issues in EUM.
Problem Description: 
BUG
OPEN 
This ticket is to report the defects found in EUM. 
ISSUE
 
1.In Section 8 "Software Generation Tool" and "Driver Generation Tool" are used in parallel, which is misleading. 
[Driver Generation Tool] should be used here. 
 
2.In Revision History SI. No. 4 "As part of P1x V4.00.04 activity following changes are made:" should be removed. 
 
3.In Section 4.5 'X' is not marked for user mode for RamTst APIs, even with known limitations listed in Table 4-1. This is not in line with other MCAL modules.User mode is supported by 
RamTst_RunFullTest, RamTst_RunPartialTest, RamTst_MainFunction, but with precondition that the critical section should be disabled. 
 
Expected behavior 
N/A 
 
Actual behavior 
N/A 
28605
RamTst
RamTst_Ram.c and RamTst_Ram.h files are  Problem Description : 
BUG
OPEN 
missing.
 
ISSUE
Unlike other MCAL modules there are no dedicated files, ie. RamTst_Ram.c and RamTst_Ram.h, to address global variables. 
 
In other MCAL modules <MSN>_Ram.c and <MSN_Ram.h> used to address global variables. 
 
Actual Behavior : 
No dedicated file is exist to address global variables. 
 
Expected Behavior : 
To maintain consistent file structures across all the MCAL modules these files should be added to address global variables.

28607
RamTst
Autosar requirement RamTst033 is not 
Problem Description : 
BUG
OPEN 
implemented properly.
 
ISSUE
As per AUTOSAR requirement RamTst033 : 
"If the DET is enabled and the execution status of the RAM Test is 
not RAMTST_EXECUTION_RUNNING or RAMTST_EXECUTION_SUSPENDED, the 
function RamTst_Stop shall report the error value RAMTST_E_STATUS_FAILURE to 
the DET, and then immediately return." 
 
 
Actual Behavior : 
In the current implementation execution status is checked against STOPPED as below:  
else if (RAMTST_EXECUTION_STOPPED == RamTst_ExecutionStatus) in RamTst_Stop API. 
 
Expected Behavior : 
N/A
28608
RamTst
Autosar requirement RamTst003 is not 
Problem Description : 
BUG
OPEN 
implemented properly.
 
ISSUE
As per this requirement RamTst.h shall include Std_Types.h directly. 
 
In  current implementation Std_Types.h is included via RamTst_Types.h. 
 
Actual Behavior : 
Std_Types.h is included RamTst_Types.h and RamTst_Types.h is included RamTst.h which is not correct as per Autosar requirement RamTst003. 
 
Expected Behavior : 
RamTst.h shall include Std_Types.h directly.
25109
SPI
SpiJobEndNotification functions are not 
Problem description: 
BUG
OPEN 
generated correctly, when two or more 
SpiJobEndNotification functions are not generated correctly, when two or more Jobs have the same JobEndNotification function. 
ISSUE
Jobs have the same JobEndNotification 
Some JobEndNotifications functions are NULL after the generation, in spite they are not configured as NULL. 
function.
There is no information or warning in the generator's manual, that this configuration would not be allowed. 
 
Expected behavior: 
If the following SpiJobEndNotifications are in one configuration: 
 
  TswSpi_AsyncJobEndNotif 
  TswSpi_AsyncJobEndNotif 
  NULL 
  NULL 
  TswSpi_PrioCheckJob1EndNotif 
  TswSpi_PrioCheckJob2EndNotif 
  TswSpi_PrioCheckJob3EndNotif 
  TswSpi_PrioCheckJob4EndNotif 
  TswSpi_PrioCheckJob5EndNotif 
  NULL 
  NULL 
 
the same should be expected to be generated in  Spi_BPcfg.c 
 
Actual behavior: 
Instead in Spi_BPcfg.c we have the following: 
 
 NULL_PTR 
  TswSpi_AsyncJobEndNotif 
  NULL_PTR 

26389
SPI
Short name, File name and Path generated  Problem Description: 
BUG
OPEN 
for error id ERR083058 is incorrect
ERR083058 message is generating as follows 
ISSUE
The reference path </AUTOSAR/EcucDefs/Dem0/DemConfigSet0/DemEventParamete> provided for the parameter 'SPI_E_HARDWARE_ERROR' in the container 
'SpiDemEventParameterRefs', having shortname <HASH(0x31829ac){ShortName}> is incorrect. 
 File Name: HASH(0x31829ac) {FileName} 
 Path: HASH(0x31829ac){ShortName} 
 
Expected Behaviour: 
Correct Short name, File name and Path should be generated for error id ERR083058. 
 
Actual Behaviour: 
Short name, File name and Path generated for error id ERR083058 are wrong.
26420
SPI
Execution stuck in Spi_HWTransmitSyncJob  Problem Description: 
BUG
OPEN 
function
 
ISSUE
When a sequence is transmitted synchronously, the execution hangs in Spi_HWTransmitSyncJob. 
 
Expected Behaviour: 
Sequence should be transmitted without hang. 
 
Actual Behaviour: 
Calling Spi_SyncTransmit API results hanging in Spi_HWTransmitSyncJob API .
26764
SPI
The SPI driver does not change its status in  Problem description: 
BUG
OPEN 
case of data consistency error occurs 
In case of data consistency error flag (CSIHnDCE) is set during SPI sync transmission, the ongoing sequence is aborted. 
ISSUE
during sync transmission.
The problem is that after the ongoing sequence was aborted, the global variable Spi_GusHwStatus is not changed by the Spi_SyncTransmit API. This blocks all the next SPI communication. 
 
Expected result: 
In case of consistency error detection during SPI Sync transmission, the ongoing sequence must be cancelled. 
 
Actual result: 
After consistency error detection during SPI Sync transmission, whole further communication is blocked. 
 
A workaround is not to enable the CSIHnCTL1.CSIHnDCS bit, until this issue is not fixed.  
27688
SPI
Illegal Memory access in Spi_Driver.c in API  Problem description:  
BUG
OPEN 
Spi_TransmitISR()
If the if condition: 
ISSUE
if (SPI_FIFO_BUFFER_FULL != Spi_GucHWFifoBufferSts[SPI_FIFO_RX_INDEX])) fails,  
the pointer LpPBChannelConfig will not be initialised (since it is written in the if condition at Line 5618) 
This would lead to an illegal memory access (at Line:5707) where LpPBChannelConfig is used. 
 
Expected Behavior:  
The variable LpPBChannelConfig shall be initialized before used 
 
Actual behavior:  
If the if condition ((if (SPI_FIFO_BUFFER_FULL != Spi_GucHWFifoBufferSts[SPI_FIFO_RX_INDEX]))) fails, LpPBChannelConfig is not initialized. 

27707
SPI
Illegal Memory access in Spi_Driver.c
Problem Description: In Spi_Driver.c, API Spi_TransmitISR(), the local variable LpJobConfig is initialized in the part of code as below.  
BUG
OPEN 
 
ISSUE
 if (SPI_FIFO_BUFFER_UNINIT == Spi_GucHWFifoBufferSts[SPI_FIFO_RX_INDEX]) 
      { 
         ..............; 
         ...............; 
        LpJobConfig = Spi_GpFirstJob + LddJobIndex; 
       } 
 
If the condition SPI_FIFO_BUFFER_UNINIT is not equal to Spi_GucHWFifoBufferSts[SPI_FIFO_RX_INDEX]), the variable LpJobConfig will not be initialized. This could lead to illegal memory 
access since the variable is also used elsewhere. Eg: In the do while loop below the if loop mentioned in the description, 
 
#if (SPI_DMA_MODE_ENABLE == STD_ON) 
        /* MISRA Violation: START Msg(4:2962)-18 */ 
        if ((SPI_INTERRUPT_MODE == Spi_GddAsyncMode) && 
                    (SPI_INVALID_DMAUNIT == LpJobConfig->ucRxDmaDeviceIndex)) 
        /* END Msg(4:2962)-18 */ 
        #endif 
 
Expected Behavior: None 
 
Actual Behavior: Illegal Memory access could happen if the if condition mentioned in the problem description fails.
27978
SPI
 Spi_SyncTransmit API is not working 
Problem Description: 
BUG
OPEN 
properly.
 
ISSUE
when calling Spi_SyncTransmit() an exception is occurring from private API Spi_HWTransmitSyncJob(). On analysis we found that this is because of improper handling of a while loop exit 
criteria, resulting in illegal memory access.  
 
Expected behavior:  
Spi_SyncTransmit() execute with out any exception.   
 
Actual behavior:  
An exception is occurring while execution of Spi_SyncTransmit() API.  
28233
SPI
Improper pre-compiler switch for the 
Problem Description: 
BUG
OPEN 
Spi_Mainfunction_Handling function 
Spi_Mainfunction_Handling  function should be invoked only when polling mechanism is selected by Spi_SetAsyncMode API. This mode can be set only when the SPI_LEVEL_DELIVERED is 
ISSUE
definition
two. but the pre compiler switch for the function definition is as follows 
#if (((SPI_LEVEL_DELIVERED == SPI_ONE) || (SPI_LEVEL_DELIVERED == SPI_TWO)) \ 
      && (SPI_HWUNIT_ASYNCHRONOUS == STD_ON)) 
 
#define SPI_START_SEC_PUBLIC_CODE 
#include "MemMap.h" 
 
FUNC(void, SPI_PUBLIC_CODE) Spi_MainFunction_Handling (void) 

... 
 
Expected Behaviour: 
Spi_Mainfunction_Handling function shall be available in Level 2 only. 
 
Actual Behaviour: 
Spi_Mainfunction_Handling function is available in Level 1 and 2 also.
28249
SPI
SpiFifoTimeOut parameter is mandatory
Problem description: 
BUG
OPEN 
SpiFifoTimeOut parameter is made mandatory but it is only valid for CSIH 
ISSUE
 
Expected behaviour: 
SpiFifoTimeOut parameter should be optional (multiplicity 0..1) and additionally there should be a generator error check in case it is not configured for CSIH HW units in FIFO mode.

28251
SPI
The information provided about user mode  Problem Description: 
BUG
OPEN 
and supervisor mode is not correct in the 
In the user manual Table 4-5, it indicates that Spi_MainFunction_Handling() requires Supervisor mode access when Interrupt mode is active (SI. No. 14), though 
ISSUE
user manual
Spi_MainFunction_Handling() is not necessary in interrupt mode. 
Also, Spi_AsyncTransmit(), SI. No. 4 in Table 4-5, is missing any mark in the Interrupt Mode/user mode column.. 
 
Expected Behaviour: 
Spi_MainFunction_Handling shall be removed in interrupt mode and  Spi_AsyncTransmit() shall be corrected for applicable modes. 
 
Actual Behaviour: 
Spi_MainFunction_Handling is marked for both interrupt and Polling modes. and Spi_AsyncTransmit() is missing any mark in the Interrupt Mode/user mode column.
28364
SPI
Error ERR083120 is generated when 
Problem Description: 
BUG
OPEN 
SpiEnableCs is configured as false
When the Parameter SpiEnableCs is configured as false SpiPortPinSelect should not be configured. But when SpiPortPinSelect is not configured tool is generating error ERR083120- the 
ISSUE
parameter 'SpiPortPinSelect' value in the container 'SpiJob<x>', should be configured as CSL<n> since 'CSIH<x>' is configured. 
 
Expected Behaviour: 
Tool should not generate error. 
 
Actual Behaviour: 
ERR083120 is generated.
28456
SPI
Variables are uninitialized when the certain  Problem description: 
BUG
OPEN 
condition does not meet.
Some of the Variables are uninitialized when the following conditions are not met.  
ISSUE
when the SPI_DIRECT_ACCESS_MODE is STD_OFF 
 
 
Expected behavior: 
Before using the variables, Variables should be initialized. 
 
Actual behavior: 
Before using the variables, Variables are not initialized when SPI_DIRECT_ACCESS_MODE is STD_OFF
28676
SPI
Calling of Spi_MainFunction_Handling 
Description: 
BUG
OPEN 
possible in interrupt mode
If interrupt mode is selected (Spi_SetAsyncMode(SPI_INTERRUPT_MODE))  
ISSUE
a call to Spi_MainFunction_Handling() is possible. Functions Spi_TransmitISR and Spi_ReceiveISR are called there without further checks. This can cause 
corrupted data transmission. 
 
Actual Behavior: 
No error but corrupted data. 
 
Expected Behavior: 
In interrupt mode a call to Spi_MainFunction_Handling shall be rejected, e.g. by DET.

28199
WDG
Wdg_SetMode function reports DEM error  Problem description: 
BUG
OPEN 
if WDGIF_OFF_MODE is selected
As per AUTOSAR specification [WDG160], Wdg_SetMode function supports WDGIF_OFF_MODE. 
ISSUE
And the user sets WdgDisableAllowed parameter 'true' in Configuration tool. 
However, in code Wdg_59_DriverA_SetMode function reports a Dem Error in case WDGIF_OFF_MODE is selected. 
 
Wdg_59_DriverA_SetMode function in Wdg_59_DriverA.c: 
    if (Mode == WDGIF_OFF_MODE) 
    { 
      /* Report Error to DEM */ 
      Dem_ReportErrorStatus(WDG_59_DRIVERA_E_DISABLE_REJECTED, 
                                                      DEM_EVENT_STATUS_FAILED); 
 
WDG driver does not allow Wdg_SetMode function to translate the state into OFF by "4.4 WDG State Diagram" in WDG Driver Component Embedded User's Manual Rev.0.01 Nov 2013. 
 
Customer need to know the background for this. 
 
Expected behaviour: 
Wdg_SetMode function shall report DEM error only if required mode is 'WDGIF_OFF_MODE' and 'WdgDisableAllowed' is false. 
 
Actual behaviour: 
Wdg_SetMode function is reporting DEM error only if required mode is 'WDGIF_OFF_MODE' and 'WdgDisableAllowed' is true. 

7 - P1M_FixedIssues_Ver4.02.01.D

External issue IDKeyComponentsSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sTSafety Related

ARDAAAE-2344FLSRegister write operation is performed on Read only(R) bitsFLS_REG_WRITE macro implementation is done to write to Read only bits of register

In current implementation,
Fls_FcuClearStatus API,

/* Only CMDLK bit may be set, others have to be cleared */
if (FLS_FCU_REGBIT_FASTAT_CMDLK != LpFACIRegPtr->ucFASTAT)
{
{color:#14892c} FLS_REG_WRITE(LpFACIRegPtr->ucFASTAT,FLS_FCU_REGBIT_FASTAT_CMDLK)

FLS_REG_WRITE_VERIFY_INIT(LpFACIRegPtr->ucFASTAT, \
FLS_FCU_REGBIT_FASTAT_CMDLK, FASTAT_REG_MASK_VAL, \
FLS_FCUCLEARSTATUS_API_ID){color}

}
else
{
/* No action required */
}

CMDLK bit is updated which is R only bit in FASTAT register .


*+Suggested Solution:+*
Error bit checks should be removed from Fls_FcuClearStatus().
Writing to Read only bits should be avoidedRead only bits are updated

REG_WRITE is performed to updated CMDLK (R only) bit
CodeResolvedVer4.02.01.DVer4.01.01.DBugNo

ARDAAAE-2329GeneralAPI Service ID mentioned in the BSWMDT file is not consistent across the modulesThe decimal values are supposed to be provided as API service ID in the BSWMDT file. But it is not consistent across the all the P1x modules. API service IDs are missing from BSWMDT file
Example:
Service Ids are added in PORT BSWMDT file but not present in WDG BSWMDT file.
Implementation of API Service ID in the BSWMDT file, shall be consistent across the modules.Implementation of API Service ID in the BSWMDT file, is not consistent across the modules.PDFResolvedVer4.02.01.DVer4.01.01.DBugNo

ARDAAAE-2289FLSFLS timeout error is triggered incorrectly in case of out-of-sync call to Fls_MainFunctionIt is assumed that user application should schedule Fls_MainFunction with the exact period time being specified in FlsCallCycle parameter.
However, it cannot always be guaranteed the time span between call to Fls_Write() and (the first) call to Fls_MainFunction() is exactly matching the period time (FlsCallCycle), because they are called from different task threads.

Based on the current timeout implementation, in case the time span from Flash job request (e.g. call to Fls_Write) to the first time call to Fls_MainFunction() is shorter than the time period specified in FlsCallCycle parameter, timeout error is triggered incorrectly.
In case out-of-sync (first time) call to Fls_MainFunction(), timeout error should not be triggered.In case the time span from Flash job request to the first time call to Fls_MainFunction() is shorter than the time period specified in FlsCallCycle parameter, timeout error is triggered incorrectly.CodeResolvedVer4.02.01.DVer4.02.00.DBugNo

ARDAAAE-2287SPIVariable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queuedGlobal variable 'Spi_GblQueueStatus' is used to store the status of job queue Spi_GaaJobQueue .

Before the queue is filled, status needs to be changed to SPI_QUEUE_FILLED.
If queue is empty status should be SPI_QUEUE_EMPTY.

But as per current implementation status of queue is not updated as SPI_QUEUE_FILLED after following line inside Spi_scheduler.c , inside function Spi_PushRemainingJobsToQueue:


{code:java}
if (SPI_QUEUE_EMPTY == Spi_GblQueueStatus[LucQueueIndex])
{
----------------------------
}

{code}

Global variable 'Spi_GblQueueStatus' should be updated correctlyVariable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queuedCodeResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugYes

ARDAAAE-2269SPISPI Driver does not Recover Normal Communication After Error Injection/DetectionThe sequence tx has sent every 2ms on CSIH2. The sequence consists of 1 job / 1 ch so 2ms is more than enough time for the SPI tx to complete.
Step1) Generate or inject the parity error.The SPI driver detects the parity error, and the error ISR handler SPI_CSIH2_TIRE_ISR is executed one time only.
Step2) The SPI sequence status is correctly set to SPI_SEQ_FAILED. After this, subsequent calls to Spi_AsyncTransmit() results in SPI_SEQ_PENDING and seq tx never completes successfully even though the error condition has been removed
The SPI driver should report seq failure when the error condition is present but once the error condition is removed, seq transfer should resume normallyThe SPI driver should report seq failure when the error condition is present but once the error condition is removed,subsequent calls to Spi_AsyncTransmit() results in SPI_SEQ_PENDING and seq tx never completes successfully even though the error condition has been removedCodeResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2265GeneralMissing check of interrupt status flag as part of Interrupt Consistency Check for INTC2 interruptsAs per P1M HW-SAN (SAN-P1x-2604) both *checking the interrupt flag *and *mask bit in EICn register* should be done in the ISR to prove correct occurrence of interrupt.

Note: this is only recommended for INTC2 interrupts in the device safety concept (INTC1 is part of the CPU1 and is thus implemented redundant/lockstep).

However in the ISRs of INTC2 interrupts only check of mask bit is implemented, check against status flag is missing.

Note:
following INTC2 interrupts handled by MCAL appear to be impacted
FLS_FLENDNM_ISR,
SPI_CSIG0_TIRE_ISR,
SPI_CSIG0_TIR_ISR,
SPI_CSIH[0~3]_TIRE_ISR,
SPI_CSIH[0~3]_TIR_ISR,
SPI_CSIH[0~3]_TIJC_ISR,
SPI_CSIH[0~3]_TIC_ISR


check of status flag in ISRs of INTC2 interrupts should be done (part of ICC)check of status flag in ISRs of INTC2 interrupts is mmissingCode, RequirementsResolvedVer4.02.01.DVer4.02.00.DBugYes

ARDAAAE-2263SPISPI_DMA_WRITE_VERIFY and SPI_CSIGH_WRITE_VERIFY values are not generated in Spi_Cfg.hCompilation error is happening for a valid configuration with the DMA STD_OFF condition.
On evaluation it is found that the SPI_CSIGH_WRITE_VERIFY and SPI_DMA_WRITE_VERIFY values are not getting generated in the Spi_Cfg.h file.

{code}
/* Enable/Disable the register write check
WV_DISABLE - 0 , WV_INIT_ONLY - 1 , WV_INIT_RUNTIME - 2 */
#define SPI_CSIGH_WRITE_VERIFY

/* Enable/Disable the DMA register write check
WV_DISABLE - 0 , WV_INIT_ONLY - 1 , WV_INIT_RUNTIME - 2 */
#define SPI_DMA_WRITE_VERIFY
{code}

The respective description file, generator output and target compilation output are attached.
SPI_DMA_WRITE_VERIFY and SPI_CSIGH_WRITE_VERIFY values should be generated in Spi_Cfg.hSPI_DMA_WRITE_VERIFY and SPI_CSIGH_WRITE_VERIFY values are not generated in Spi_Cfg.hGeneratorResolvedVer4.02.01.DVer4.02.00.DBugYes

ARDAAAE-2260GeneralGenerator cannot handle multiple Module instances in configuration.For all modules, the generator tool (<Msn>_X1x.exe) cannot distinguish between Renesas and other vendor configurations. If both are present in one big configuration file, the generator tool may fail to generate. Renesas generator shall ignore other vendor's configurations.

This issue is applicable for all modules. Our code generator should be able to handle multiple instances of same module. Generator should not validate any parameter which is not from Renesas <Msn> configuration.

The Renesas code generator shall process only Renesas specific configurationAll parts in the configuration are processed which might be conflicting, causing generation errors.GeneratorResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2258SPIAR_PN0063_FR_0005 is not satisfied in Spi_DeInit APISpi_DeInit API does not disable interrupts related to configured SPI HW units.All interrupts related to SPI HW units configured must be disabled after SPI driver de-initialization.All interrupts related to SPI HW units configured are not disabled after SPI driver de-initialization.CodeResolvedVer4.02.01.DVer4.01.00BugNo

ARDAAAE-2253FLSConfiguration description file throws error while generating configuration filesWhile generating Cfg file for the configuration description file B_Can_Fls_project.arxml for FLS , the generatorOutput.log throws the following errors:

ERR092012: The reference path <> provided for the parameter
'FLS_E_HW_FAILURE'within the container 'FlsDemEventParameterRefs' is
incorrect.
File Name:
V:\Test\FLS\RH850_P1M_403\TestCaseSeed2\CustomTest\cfg001\description.arxml
Path:
/Renesas/EcucDefs_Fls/Fls0/FlsConfigSet0/FlsDemEventParameterRefs0
ERR092036: If the parameter FlsWriteVerify is configured as
WV_INIT_ONLY or WV_INIT_RUNTIME, then the parameter
'FLS_E_REG_WRITE_VERIFY' in the container
FlsDemEventParameterRefsshould be configured.
File Name:
V:\Test\FLS\RH850_P1M_403\TestCaseSeed2\CustomTest\cfg001\description.arxml
Path:
/Renesas/EcucDefs_Fls/Fls0/FlsConfigSet0/FlsDemEventParameterRefs0
ERR092032: The value configured for the parameter FlsMaxReadFastMode should be
greater than or equal to FlsMaxReadNormalMode in the container
FlsConfigSet'1'.
File Name:
V:\Test\FLS\RH850_P1M_403\TestCaseSeed2\CustomTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet0

For the other error ids ERR092012 and ERR092036 , the parameters FLS_E_HW_FAILURE and FlsWriteVerify are missing in the custom config provided.

Please find the description file generated and the generatorOutput.log
Configuration files has to be generated without errors.Error while generating configuration files.N/AResolvedVer4.02.01.DVer4.01.00, Ver4.02.00.DBugNo

ARDAAAE-2252SPISPI Driver Incorrectly Reporting Job/Seq Pending when sequences are called in different tasks repeatedly for asynchronous transmission For single and Multiple HW UnitsWhen sequences are called using Spi_Asynctransmit function from different tasks repeatedly,some of the sequences get failed after a long successful run.

This issue is applicable for single and Multiple HW Units

For Eg:

Task1: Called in every 4 ms Time delay (2 sequences are called)
Task2: Called in every 2 ms Time delay(3 sequences are called)
Task3: Called in every 2 ms Time delay(6 sequences are called)
Task4: Called in every 2 ms Time delay(6 sequences are called)

Check status of sequences every time before the sequence is called inside tasks.
Sequences should be transmitted successfullySequences are not transmitted successfullyCodeResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2249PORTConfiguration parameter 'PortPullUpOption ' is missing in port group 2 pin 15Issue found in customer configuration and problem with PDF,

As per the hardware user manual, PU register for port group 2 is available for all the 16 pins
.But in the parameter definition file for port group 2 pin15 ,the parameter PortPullUpOption is not present.

The parameter PortPullUpOption is not present for the port group 3 pin 5 also.But PU register for port group 3 is available for all the 15 port pins.

Screenshot of the hardware usermaual and parameter list of port group 2 pin 15 is attached
PortPullUpOption parameter is missing in portgroup 2 portpin 15PortPullUpOption parameter should be present for all the port pins in port group 2.PDFResolvedVer4.02.01.DVer4.01.00, Ver4.02.00.DBugNo

ARDAAAE-2232FLSThe implementation of Write-Verify FENTRYR register in Fls_FcuSwitchMode function is wrong.In Fls_FcuSwitchMode() function, immedietly after the write operation to FENTRYR register, write/verify is executed to confirm FENTRYR write to switch FCU mode to programming/user mode was performed. But this check may get failed if write to FENTRYR is not completed before the read is done in the write/verify macro.Register write verify of FENTRYR shall be done after the mode change is performed bacause the mode may not changed immediately on some devicesRegister write verify of FENTRYR is done immedietly after write operation.CodeResolvedVer4.02.01.DVer4.01.01.D, Ver4.02.00.DBugYes

ARDAAAE-2230PORTIncorrect name of PortPinInitialMode selection for pin P5_7 in the parameter definition fileIncorrect naming of PortPinInitialMode selection for pin P5_7 in the parameter definition file may lead to wrong setting of the respective port pin register, which would lead to an unexpected pin functionality.Incorrect name of PortPinInitialMode selectionName of PortPinInitialMode selection shall be in correct formatPDFResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2229SPIDescription about hardware errors in SPI communication are not present in CUMGenerally, following types of errors can be detected for SPI communication :

Data consistency error (transmission data)
Parity error (received data)
Overrun error

1.There is no description for these errors in CUM.
2.Description of DEM error 'SPI_E_HARDWARE_ERROR' mention only about 'overrun error'.Other two hardware errors are not mentioned .

Description about all hardware errors and the information ,'how these errors are handled in MCAL', needs to be present in CUMDescription about hardware errors in SPI communication are not present in CUMDocumentResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugYes

ARDAAAE-2214GeneralViolation of Autosar requirement ecuc_sws_1014 is not documentedIt has been detected, that Autosar specification ecuc_sws_1014 is violated in our PDF files.
For F1x MCAL (except F1K), P1M and P1x-C this should not be corrected.
However, this limitation has to be added for these MCAL in the AUTOSAR_Modules_Overview document.
Violation of Autosar requirement ecuc_sws_1014 shall be mentioned in the documentation.Violation of Autosar requirement ecuc_sws_1014 is not mentioned in the documentationDocumentResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2212SPIThe global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occursThe global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt (transmission or reception or any other interrupts)occurs .This is because the global variable 'Spi_Gaajobqueue' is not protected with critical section projection when jobs are pushed to the queue. This creates Job/Seq Pending state ,blocking the transmission.All configured jobs should be pushed to 'Spi_Gaajobqueue' evenif an interrupt occursThe global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occursCodeResolvedVer4.02.01.DVer4.01.01.D, Ver4.02.00.DBugYes

ARDAAAE-2203SPISwitch 'SPI_HWUNIT_ASYNCHRONOUS' is generated as STD_OFF even if hardware unit is configured for asynchronous transmission.Macro 'SPI_HWUNIT_ASYNCHRONOUS' is generated as STD_OFF even if hardware unit CSIG1 is configured for asynchronous transmission.This behavior is disappeared when jobIds are configured in acceding order.
Macro 'SPI_HWUNIT_ASYNCHRONOUS' should be generated as STD_ON if hardware unit is configured for asynchronous transmissionMacro 'SPI_HWUNIT_ASYNCHRONOUS' is not generated as STD_ON if hardware unit is configured for asynchronous transmissionGeneratorResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2193SPIProhibited register settings are used in Spi driver while writing into configuration registerAs per the description of CSIHnDAPx bit in CSIHnCFGx register in Device UM, CSIHnCKPx bit should not be set along with CSIHnCTL1.CSIHnCKR bit.But this prohibited setting is done inside Spi driver under following conditions:


1.When SpiDataShiftEdge is configured as LEADING and SpiShiftClockIdleLevel as LOW .

2.When SpiDataShiftEdge is configured as TRAILING and SpiShiftClockIdleLevel as LOW.

This will also lead to wrong configuration of clock shift phase.
Prohibited register settings should not be usedProhibited register settings are used in Spi driver while writing into configuration registerGeneratorResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2187SPIValue written to the reserved bit of CSIG CTL1 registerIn Spi_CsigLoopBackSelfTest() API, CSIG control register is updated with value SPI_LOOPBACK_ENABLE which is equal to 0x00000048. But 6th bit of CSIGnCTL1 register is Reserved and should not be modified.All the reserved/read-only bits of all registers should be considered during register update.Reserved bit 6 of CSIG Control Register 1 is not taken care during register update.CodeResolvedVer4.02.01.DVer4.01.00BugNo

ARDAAAE-2186DIODET related information is incorrect in CUMSome API(s) are missing for the DET errors in section 11 Development And Production Errors. It shoulde be corrected in CUM. In addition to that DET error DIO_E_PARAM_POINTER is not listed in the DET error as it is used in Dio_WriteChannelGroup and Dio_ReadChannelGroup. So it should be added in DIO CUM.CUM should be updated for including all the APIs which can throw this DETSome API(s) are missing for DET error in DIO CUMDocumentResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugYes

ARDAAAE-2119SPISetting of configuration register is not done always during concurrent synchronous transmissionWhen parameter SpiSupportConcurrentSyncTransmit is set to 'enabled' and SpiPersistentHWConfiguration is configured as true, setting of configuration register is not done always for the hardware unit in first sequence being transmitted during concurrent synchronous transmission since global variable 'Spi_GblSyncTx' is updated wrongly by the sequence called by ISR.
Setting of configuration register should be done always for all sequences being transmitted in concurrent synchronous transmission.Setting of configuration register is not done always during concurrent synchronous transmissionCodeResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2117MCUTool User Manual error:ERR101044 and ERR101008There is a contradiction with the error messages:
*
ERR101008:* The configured value in 'McuExternalClockX' in container
'McuExternalClkOutSetting' should be equal to
<McuExternalClkXSourceSel/McuExternalClkXDividerSel>.
This error occurs, if the configured value in McuExternalClockX in container
McuExternalClkOutSetting is not equal to <McuExternalClkXSourceSel/McuExternalClkXDividerSel>.
Remark Where X=0 or 1

*ERR101044*: The configured value for parameter ‘McuExternalClockX’ in
container 'McuExternalClkOutSetting’ should be equal to 0.
This error occurs, if the value configured for the parameter McuExternalClockX
in container McuExternalClkOutSetting is not equal to 0.
Remark Where X=0 or 1

But the condition for ERR101044 is not clear enough in the user manual for when to set this value to 0 or 1 or when to use the <McuExternalClkXSourceSel/McuExternalClkXDividerSel> value
Condition should be documented for setting the McuExternalClockX value to 0 or 1 when the <McuExternalClkXSourceSel/McuExternalClkXDividerSel> is not selectable (i.e MCU_NO_OUTPUT)Condition is not documented for setting the McuExternalClockX value to 0 or 1 when the <McuExternalClkXSourceSel/McuExternalClkXDividerSel> is not selectable (i.e MCU_NO_OUTPUT)Generator, DocumentResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2116SPISpi_SetAsyncMode() API tries to change mode and not always returning E_NOT_OK if an asynchronous transmission is ongoingAUTOSAR Requirement SPI171 specifies that :-

{code}
If the function Spi_SetAsyncMode is called while the SPI Handler/Driver status is SPI_BUSY and an asynchronous transmition is in progress, the SPI Han-dler/Driver shall not change the AsyncModeType and keep the mode type as it is. The function shall return the value E_NOT_OK.
{code}

But with current implementation even if driver is busy with asynchronous transmission, Spi_SetAsyncMode() API will change the mode. The particular scenario with which Verification project experienced the issue is shown below :

* Description file with /Renesas/EcucDefs_Spi/Spi0/SpiGeneral0/SpiPersistentHWConfiguration= true
* Calling Spi_AsyncTransmit() and Spi_SetAsyncMode() APIs after one synchronous transmission was executed.

Root Analysis:


{code:title=Spi_Driver.c, #3314|borderStyle=solid}
Spi_GblSyncTx = SPI_TRUE;
{code}
{code:title=Spi_Driver.c, #3256|borderStyle=solid}
#if (SPI_PERSISTENT_HW_CONFIGURATION_ENABLED == STD_OFF)
if (((SPI_TRUE == Spi_GblSyncTx) ||
(SPI_FALSE == LpJobConfig->blIsChannelPropSame)))
{
Spi_GblSyncTx = SPI_FALSE;
{code}
In the above code the parameter 'Spi_GblSyncTx' will be always set to true when a synchronous transmission gets started (Spi_Driver.c line #3256) but will be changed to false only if SpiPersistentHWConfiguration = STD_OFF (Spi_Driver.c line #3314), after the transmission.


So if *SpiPersistentHWConfiguration = STD_ON*, 'Spi_GblSyncTx' remains true even after synchronous transmission gets completed.

In this condition if Spi_SetAsyncMode() API is called 'Spi_GblSyncTx' will be always true and hence proceed after the specified code shown below:


{code:title=Spi.c, Spi_SetAsyncMode()|borderStyle=solid}
if (((SPI_BUSY == Spi_GddDriverStatus) && (SPI_FALSE == Spi_GblSyncTx))
|| (Mode > SPI_INTERRUPT_MODE))
/* END Msg(2:1476)-5 */
{
LenReturnValue = E_NOT_OK;
}
{code}
Spi_SetAsyncMode() should not set the requested mode and should return E_NOT_OK if called while the SPI Handler/Driver status is SPI_BUSY with an asynchronous transmissionIf SpiPersistentHWConfiguration = true, Spi_SetAsyncMode() is not working as per SPI171 after a synchronous transmission.CodeResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2114SPIWhen the memory modes are configured as Tx Only and Dual Buffer, CSIHMCTL0 register is wrongly set in Spi_HWWriteIB functionIn Spi_HWWriteIB function, the CSIHMCTL0 register is updated with SPI_TX_ONLY_MODE_SET under the pre-compile switch #if (SPI_TX_ONLY_MODE == STD_ON). Also in #else statement, the same is updated with the value SPI_DUAL_BUFFER_MODE_SET.

There should be a conditional check against the memory mode Tx only as well as Dual buffer mode apart from these conditional switches since the possibility of configuring both the modes are present and hence only one mode will be written into CSIHMCTL0 register
A conditional check for the memory mode Tx only / dual buffer shall be done before writing into CSIHMCTL0 register.A conditional check for the memory mode Tx only / dual buffer is not present.CodeResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

ARDAAAE-2112FLSReduce FLS Driver Usage Of Functions Executed Out Of RAMThis is not a bug but an improvement to reduce RAM usage and also to restrict/limit executing of functions out of RAM to help TIER1's better meet OEM safety requirements.

From my code review/testing of the FLS sample project :
a) Functions mapped to RAM for the section .FLS_PRIVATE_CODE_RAM resides in the C modules Fls_Internal.c and Fls_Private_Fcu.c.
b) Functions mapped to RAM for the section .FLS_PUBLIC_CODE_RAM resides in Fls.c

With this current implementation most of the FLS driver functions are being executed out of RAM. This is not necessary. According to the FLS MO, only the following functions need to be executed out of RAM at initialization for supporting loading of FCU firmware :

Fls_FcuCopytoRam()
Fls_FcuSwitchBFlash()
Fls_FcuClearCache ()
Fls_FcuGetFWParam()






NANACode, DocumentResolvedVer4.02.01.DVer4.01.01.D, Ver4.02.00.DFeatureNo

ARDAAAE-2053FLSCoding Guidelines' violation in FLS module.Following violations of Coding Guidelines are found in FLS module. All of the below issues are regarding naming of individual member elements in structure type definitions in file Fls_Types.h.

1. Global variable notation 'G' is not required for naming the members in a structure type definition. This violated in Fls module.
eg: volatile uint32 GulSrcDestAddress; -In type definition of Fls_GstVarProperties
Expected: ulSrcDestAddress


2. Type identifier 'en' is not used for naming of enumerated variables.
eg: volatile Fls_CommandType GucGenCommand; -In type definition of Fls_GstVarProperties
Expected: enGenCommand

Related requirements for point 1 and 2: AAR_PN0084_NR_0066, EAAR_PN0084_NR_0035, Name_Var_001 (ISO26262_AUTOSAR_Embedded_Coding_Guidelines_v2.1.doc)

3. 'memclass' field is not declared as per 'Autosar compiler abstraction' for members of structure type definitions.
(Autosar syntax for variable declaration : P2CONST(ptrtype, memclass, ptrclass), VAR(vartype, memclass), etc)

Example for violated variable: P2CONST(volatile uint8, AUTOMATIC, FLS_INIT_DATA) pBufferAddress; -In type definition of Fls_GstVarProperties
Expected: P2CONST(volatile uint8, TYPEDEF, FLS_INIT_DATA)

As any structure variable has continuous memory allocation, the memory class should be empty for individual members. Ie, no need for specifying memory class for structure members.
Violated requirements: COMPILER046, COMPILER059
COMPILER046: The memory class AUTOMATIC shall be provided as empty definition, used for the declaration of local pointers.
COMPILER046: The memory class TYPEDEF shall be provided as empty definition. This memory class shall be used within type definitions, where no memory qualifier can be specified.
All the Coding Guidelines should be followed.Some of the Coding Guidelines are violated.CodeResolvedVer4.02.01.DVer4.01.00, Ver4.01.01.D, Ver4.02.00.DBugNo

27










8 - P1M_KnownIssues_ASIL_CW08_2017

External issue IDKeyComponentsSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sTSafety Related

0










9 - P1M_KnownIssues_QM_CW08_2017

External issue IDKeyComponentsSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sTSafety Related

ARDAAAE-2402GeneralThe device name validation is not taken care in Sample Application for the File GenerationA validation is missing when the <MsnDeviceName> configured in the description file and the device used for compilation does not match in sample application.

Eg: In App_FLS_P1M_701310_Sample.arxml, when the parameter FlsDeviceName is set as R7F701315, and if the device under compilation is 701310, error is not generated and compilation is happening succesfully.
Error shall be thrown when the device selected for generation and <MsnDeviceName> configured in the description file are mismatching.Error is not thrown when the device selected for generation and <MsnDeviceName> configured in the description file are mismatching.GeneratorAnalysis
Ver4.02.01.DBugNo

ARDAAAE-2399SPINaming convention wrong for 'usReserved1', member of structure Spi_CsihOsRegsIn Spi_LTType.h, inside Spi_CsihOsRegs, member usReserved1 is uint 32 type. Hence the member shall be renamed as ulReserved1
member usReserved1 is uint 32 type. Hence the member shall be renamed as ulReserved1
Naming convention wrong for 'usReserved1', member of structure Spi_CsihOsRegsCodeOpen
Ver4.01.01.D, Ver4.02.00.D, Ver4.02.01.DBugNo

ARDAAAE-2378ADC, CAN, GPT, MCUUUIDs are not unique in BSWMDT fileIn BSWMDT file, UUIDs for certain elements are not unique.
If we are running AMDC tool with BSWMDT file, a warning with Rule A220 will be thrown:

Example:(FLS)
Rule A220: UUID 'ECUS:9b933fde-9d34-4dd0-863b-3c6c057abcfc' is not unique for 'BswCalledEntity_1'

All UUIDs should be uniqueAll UUIDs are not uniquePDFOpen
Ver4.02.00.D, Ver4.02.01.DBugNo

ARDAAAE-2373DIODead Code exist in Dio_ReadPort, Dio_ReadChannel and Dio_ReadChannelGroup APIsCode part can never be reached because P1x doesn't have Analog, Input and Alpha port group and only have Numeric and JTAG port group. Below mentioned code part will remain as dead code.

In Dio.c, Please find the dead code line numbers at SVN Rev: 358346.
Dio_ReadPort - L.No 802 to 808
Dio_ReadChannel - L.No 1218 to 1225
Dio_ReadChannelGroup - L.No 2159 to 2165

{code:title=Example dead code in Dio_ReadPort API}

else
{
/* Read the port value from IPPR register */
/* MISRA Violation: START Msg(4:0310)-2 */
LddPortLevel =
(Dio_PortLevelType)
(*((P2VAR(uint16 volatile, AUTOMATIC, DIO_PRIVATE_DATA))
LpPortAddress));
/* END Msg(4:0310)-2 */
}


{code}
Dead code should not existDead code existCodeOpen
Ver4.02.01.DBugNo

ARDAAAE-2354ADC, CAN, FLS, GPT, ICU, PWM, SPIWrong User mode and Supervisor mode information in UsermanualAs per RH850/P1x Group user manual(6.2 Register Specifications), writing to the EIC0 to EIC383,IMR0 to IMR11 ,FNC, and FIC registers is enabled only in supervisor mode (PSW.UM = 0)and so if any of these registers are used by Driver API's for writing it should be accessed only in supervisor mode. Other API can be accessed in both User mode and Supervisory mode. This information
has to be correctly updated in "User Mode and Supervisor Mode" table .

e.g:
Fls_Erase and Fls_Write supports interrupt operation and if you are using Interrupt mode of operation, these APIs will not be supported in user mode and should be used in supervisory mode.But the information in Component UM(Section 4.5) is wrong as it states Fls_Erase and Fls_Write will be supported in both user mode and supervisory mode.

Note: Description is edited as the issue was initially reported for FLS module only
User mode and supervisor mode table in usermanual shall describe the APIs which can be run in user mode and supervisory mode."User Mode and Supervisor Mode" section of EUM is not updated correctlyDocumentAnalysis
Ver4.01.00, Ver4.02.00.D, Ver4.02.01.DBugNo

ARDAAAE-2266GeneralCode Generator wrong return code in case of errorsCode Generator returns 13, when errors occur during generation.

The generation tool shall return '1' in case of errors and '0' in case of no errors.
Code Generator shall return always error code 1 in case of errors.Code Generator always return 13 in case of errors.GeneratorImplementationVer4.02.02.DVer4.01.00, Ver4.02.01.DBugNo

6










10 - P1x_AR4.0_KnownIssues_CW43_2016


























Renesas Electronics Europe GmbH JIRA















Displaying 5 issues at 28/Oct/16 05:56 PM























External issue IDKeyComponentsSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sTEnd User Product Related












ARDAAAE-2053FLSCoding Guidelines' violation in FLS module.Following violations of Coding Guidelines are found in FLS module. All of the below issues are regarding naming of individual member elements in structure type definitions in file Fls_Types.h.

1. Global variable notation 'G' is not required for naming the members in a structure type definition. This violated in Fls module.
eg: volatile uint32 GulSrcDestAddress; -In type definition of Fls_GstVarProperties
Expected: ulSrcDestAddress


2. Type identifier 'en' is not used for naming of enumerated variables.
eg: volatile Fls_CommandType GucGenCommand; -In type definition of Fls_GstVarProperties
Expected: enGenCommand

Related requirements for point 1 and 2: AAR_PN0084_NR_0066, EAAR_PN0084_NR_0035, Name_Var_001 (ISO26262_AUTOSAR_Embedded_Coding_Guidelines_v2.1.doc)

3. 'memclass' field is not declared as per 'Autosar compiler abstraction' for members of structure type definitions.
(Autosar syntax for variable declaration : P2CONST(ptrtype, memclass, ptrclass), VAR(vartype, memclass), etc)

Example for violated variable: P2CONST(volatile uint8, AUTOMATIC, FLS_INIT_DATA) pBufferAddress; -In type definition of Fls_GstVarProperties
Expected: P2CONST(volatile uint8, TYPEDEF, FLS_INIT_DATA)

As any structure variable has continuous memory allocation, the memory class should be empty for individual members. Ie, no need for specifying memory class for structure members.
Violated requirements: COMPILER046, COMPILER059
COMPILER046: The memory class AUTOMATIC shall be provided as empty definition, used for the declaration of local pointers.
COMPILER046: The memory class TYPEDEF shall be provided as empty definition. This memory class shall be used within type definitions, where no memory qualifier can be specified.
All the Coding Guidelines should be followed.Some of the Coding Guidelines are violated.CodeOpen
Ver4.01.00BugYes












ARDAAAE-2114SPIWhen the memory modes are configured as Tx Only and Dual Buffer, CSIHMCTL0 register is wrongly set in Spi_HWWriteIB functionIn Spi_HWWriteIB function, the CSIHMCTL0 register is updated with SPI_TX_ONLY_MODE_SET under the pre-compile switch #if (SPI_TX_ONLY_MODE == STD_ON). Also in #else statement, the same is updated with the value SPI_DUAL_BUFFER_MODE_SET.

There should be a conditional check against the memory mode Tx only as well as Dual buffer mode apart from these conditional switches since the possibility of configuring both the modes are present and hence only one mode will be written into CSIHMCTL0 register
A conditional check for the memory mode Tx only / dual buffer shall be done before writing into CSIHMCTL0 register.A conditional check for the memory mode Tx only / dual buffer is not present.CodeOpen
Ver4.01.00, Ver4.01.01BugYes












ARDAAAE-2116SPISpi_SetAsyncMode() API tries to change mode and not always returning E_NOT_OK if an asynchronous transmission is ongoingAUTOSAR Requirement SPI171 specifies that :-

{code}
If the function Spi_SetAsyncMode is called while the SPI Handler/Driver status is SPI_BUSY and an asynchronous transmition is in progress, the SPI Han-dler/Driver shall not change the AsyncModeType and keep the mode type as it is. The function shall return the value E_NOT_OK.
{code}

But with current implementation even if driver is busy with asynchronous transmission, Spi_SetAsyncMode() API will change the mode. The particular scenario with which Verification project experienced the issue is shown below :

* Description file with /Renesas/EcucDefs_Spi/Spi0/SpiGeneral0/SpiPersistentHWConfiguration= true
* Calling Spi_AsyncTransmit() and Spi_SetAsyncMode() APIs after one synchronous transmission was executed.

Root Analysis:


{code:title=Spi_Driver.c, #3314|borderStyle=solid}
Spi_GblSyncTx = SPI_TRUE;
{code}
{code:title=Spi_Driver.c, #3256|borderStyle=solid}
#if (SPI_PERSISTENT_HW_CONFIGURATION_ENABLED == STD_OFF)
if (((SPI_TRUE == Spi_GblSyncTx) ||
(SPI_FALSE == LpJobConfig->blIsChannelPropSame)))
{
Spi_GblSyncTx = SPI_FALSE;
{code}
In the above code the parameter 'Spi_GblSyncTx' will be always set to true when a synchronous transmission gets started (Spi_Driver.c line #3256) but will be changed to false only if SpiPersistentHWConfiguration = STD_OFF (Spi_Driver.c line #3314), after the transmission.


So if *SpiPersistentHWConfiguration = STD_ON*, 'Spi_GblSyncTx' remains true even after synchronous transmission gets completed.

In this condition if Spi_SetAsyncMode() API is called 'Spi_GblSyncTx' will be always true and hence proceed after the specified code shown below:


{code:title=Spi.c, Spi_SetAsyncMode()|borderStyle=solid}
if (((SPI_BUSY == Spi_GddDriverStatus) && (SPI_FALSE == Spi_GblSyncTx))
|| (Mode > SPI_INTERRUPT_MODE))
/* END Msg(2:1476)-5 */
{
LenReturnValue = E_NOT_OK;
}
{code}
Spi_SetAsyncMode() should not set the requested mode and should return E_NOT_OK if called while the SPI Handler/Driver status is SPI_BUSY with an asynchronous transmissionIf SpiPersistentHWConfiguration = true, Spi_SetAsyncMode() is not working as per SPI171 after a synchronous transmission.CodeAnalysis
Ver4.01.01.DBugYes












ARDAAAE-2117MCUTool User Manual error:ERR101044 and ERR101008There is a contradiction with the error messages:
*
ERR101008:* The configured value in 'McuExternalClockX' in container
'McuExternalClkOutSetting' should be equal to
<McuExternalClkXSourceSel/McuExternalClkXDividerSel>.
This error occurs, if the configured value in McuExternalClockX in container
McuExternalClkOutSetting is not equal to <McuExternalClkXSourceSel/McuExternalClkXDividerSel>.
Remark Where X=0 or 1

*ERR101044*: The configured value for parameter ‘McuExternalClockX’ in
container 'McuExternalClkOutSetting’ should be equal to 0.
This error occurs, if the value configured for the parameter McuExternalClockX
in container McuExternalClkOutSetting is not equal to 0.
Remark Where X=0 or 1

But the condition for ERR101044 is not clear enough in the user manual for when to set this value to 0 or 1 or when to use the <McuExternalClkXSourceSel/McuExternalClkXDividerSel> value
Condition should be documented for setting the McuExternalClockX value to 0 or 1 when the <McuExternalClkXSourceSel/McuExternalClkXDividerSel> is not selectable (i.e MCU_NO_OUTPUT)Condition is not documented for setting the McuExternalClockX value to 0 or 1 when the <McuExternalClkXSourceSel/McuExternalClkXDividerSel> is not selectable (i.e MCU_NO_OUTPUT)Generator, DocumentOpen
Ver4.01.01.DBugYes












ARDAAAE-2119SPISetting of configuration register is not done always during concurrent synchronous transmissionWhen parameter SpiSupportConcurrentSyncTransmit is set to 'enabled' and SpiPersistentHWConfiguration is configured as true, setting of configuration register is not done always for the hardware unit in first sequence being transmitted during concurrent synchronous transmission since global variable 'Spi_GblSyncTx' is updated wrongly by the sequence called by ISR.
Setting of configuration register should be done always for all sequences being transmitted in concurrent synchronous transmission.Setting of configuration register is not done always during concurrent synchronous transmissionCodeOpen
Ver4.01.00BugYes












6























11 - P1xC_FixedIssues_Ver4.02.00.D

P1x-C_Ver4.02.00_FixedIssuesList (Renesas Electronics Europe GmbH JIRA)
External issue IDKeyComponent/sSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sIssue Type

ARDAAAF-1998ADCA/D timer trigger is not handled for SG3 and SG4Incorrect handling of Scan Group Control register(ADCFnSGCRx). The trigger bits in the Scan group control register ADCFnSGCRx should be inline with the hardware manual.
For ScanGroup 0, 1, 2: Only the SGx_TRG is supported and TRGMD is a single bit
For ScanGroup 3,4: TRGMD has two bits and can be selected either SGx_TRG or AD timer trigger.
The parameter "AdcHwTrigger" has a selection ADTIM3_SG3_SG4 and ADTIM4_SG3_SG4 which doesn't have any resemblance with the hardware manual.
Also the generated type "ucHWTriggerType" is not used anywhere in the code
A/D Timer trigger shall be implemented for SG3 and SG4A/D timer trigger is not implemented for SG3 and SG4Code, PDF, Test, DocumentClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1885FLSRegister write operation is performed on Read only(R) bitsFLS_REG_WRITE macro implementation is done to write to Read only bits of register

In current implementation,
Fls_FcuClearStatus API,

/* Only CMDLK bit may be set, others have to be cleared */
if (FLS_FCU_REGBIT_FASTAT_CMDLK != LpFACIRegPtr->ucFASTAT)
{
{color:#14892c} FLS_REG_WRITE(LpFACIRegPtr->ucFASTAT,FLS_FCU_REGBIT_FASTAT_CMDLK)

FLS_REG_WRITE_VERIFY_INIT(LpFACIRegPtr->ucFASTAT, \
FLS_FCU_REGBIT_FASTAT_CMDLK, FASTAT_REG_MASK_VAL, \
FLS_FCUCLEARSTATUS_API_ID){color}

}
else
{
/* No action required */
}

CMDLK bit is updated which is R only bit in FASTAT register.

*+Suggested Solution:+*
Error bit checks should be removed from Fls_FcuClearStatus().
Writing to Read only bits should be avoidedRead only bits are updated

REG_WRITE is performed to updated CMDLK (R only) bit
CodeClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1879FLSGeneration of macro FLS_DF_TOTAL_SIZE is independent of FlsNumberOfSectors and FlsSectorSizeMacro FLS_DF_TOTAL_SIZE is generated independent of FlsNumberOfSectors and FlsSectorSize.

FLS_DF_TOTAL_SIZE(Total amount of data flash memory in bytes configured for FLS) = FlsNumberOfSectors * FlsSectorSize.

But, As per current implementation, the generation of macro FLS_DF_TOTAL_SIZE is not as per above equation. Instead it is purely based on parameter 'FlsDataFlashSize'.

Parameter FlsSectorStartaddress allows user to customize the flash memory size as per user requirement instead of selecting entire flash size.(i.e, This parameter specifies the start address of this sector). Then the start address will be address given in FlsSectorStartaddress instead FlsDFBaseAddress.

i.e,
FlsDFBaseAddress = 0xFF2002C0
FlsDataFlashSize = 0x20000
FlsSectorStartaddress = 0xFD40
Then the sector range is 0xFF210000 to 0xFF21FFFF(i.e, FLS_DF_TOTAL_SIZE will be 0x10000)

but as per current implementation FLS_DF_TOTAL_SIZE will be 0x20000.

-Macro FLS_DF_POOL_SIZE is generated from parameter FlsDFTotalBlocks instead FlsNumberOfSectors-
Macro FLS_DF_TOTAL_SIZE should be generated based on FlsNumberOfSectors and FlsSectorSize.Macro FLS_DF_TOTAL_SIZE is generated based on parameter 'FlsDataFlashSize', which is not user configurable.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1794ICUIssue with validation checkWhen user try to configure IcuMeasurementMode, no matter which value is chosen, the generator always complains about the corresponding switch in the container IcuOptionalApis. Always the same error message, no matter if the switch is on or off.
Proper validation expected in all scenarioValidation not correctGeneratorClosedVer4.02.00.DVer4.01.00.001Bug

ARDAAAF-1781PWMCMU clock source selection register bits are not written properly in GTM0ATOMixCTRL registerCLK_SRC_SR bits (ulCMU_Used) values are shifted by fourteen times and written at wrong position (from bit 14 to 16) in ATOMxxCTRL register,
line 327(Pwm_HW_Init) and
line 1509(Pwm_HW_SelectChannelClk)
PwmGtmAtomClock seems to be directly exchanged to ulCMU_Used by the Generator.

But to write to CLK_SRC_SR, those API should be shifted it by twelve times.
Pwm_LLDriver.c
CLK_SRC_SR bits (ulCMU_Used) values should be shifted by twelve times and written in ATOMxxCTRL register (from bit 12 to 14),CLK_SRC_SR bits (ulCMU_Used) values are shifted by fourteen times and written at wrong position in ATOMxxCTRL register,CodeClosedVer4.02.00.DVer4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1706WDGPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1705SPIPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1704RamTstPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1703PWMPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1702PORTPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1701MCUPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1700LINPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1699ICUPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1698GPTPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1697FrPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1696FlsTstPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1695FLSPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1693DIOPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1692CorTstPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
24045ARDAAAF-1691ADCPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentClosedVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug

ARDAAAF-1688FLSReduce FLS Driver Usage Of Functions Executed Out Of RAMThis is not a bug but an improvement to reduce RAM usage and also to restrict/limit executing of functions out of RAM to help TIER1's better meet OEM safety requirements.

From my code review/testing of the FLS sample project :
a) Functions mapped to RAM for the section .FLS_PRIVATE_CODE_RAM resides in the C modules Fls_Internal.c and Fls_Private_Fcu.c.
b) Functions mapped to RAM for the section .FLS_PUBLIC_CODE_RAM resides in Fls.c

With this current implementation most of the FLS driver functions are being executed out of RAM. This is not necessary. According to the FLS MO, only the following functions need to be executed out of RAM at initialization for supporting loading of FCU firmware :

Fls_FcuCopytoRam()
Fls_FcuSwitchBFlash()
Fls_FcuClearCache ()
Fls_FcuGetFWParam()

Execution of code from RAM is concerning due to GM requirements below and also Nexteer's own internal strategy. Nexteer sw lead made it clear to us that even if GM is OK with code execution from RAM, Nexteer has an issue because this now complicates their MPU usage, strategy/setup. MPU settings would have to accommodate allowing FLS RAM function execution.

Excerpt of GM requirements provide to me by Nexteer:

The Controller shall initialize the memory protection capability (e.g., MMU or MPU) during the Power-Up Procedure memory access initialization to meet the following protection requirements for microprocessor CPU accesses:
-All RAM Memory addresses shall have execution accesses prohibited
-All non-volatile code addresses shall have write accesses prohibited (i.e., read/execute only)
-All non-volatile data addresses (whether in Code/Calibration or NVM Data memory) shall have execution and write accesses prohibited





NANACode, DocumentClosedVer4.02.00.DVer4.01.00Feature

ARDAAAF-1662ICUThe clock references parameter IcuGTMClockRef in BSW is wrongThe reference parameter IcuGTMClockRef is wrong, because the destination is not a AUTOSAR parameter. As a result, DV CFG5 is not able to resolve the reference


In file R403_ICU_P1X-C.arxml the destination ref of IcuGTMClockRef is /Renesas/EcucDefs_Mcu/Mcu/...
In file R403_ICU_P1X-C.arxml the destination ref of IcuGTMClockRef is /AUTOSAR/EcucDefs_Mcu/Mcu/...PDFClosedVer4.02.00.DVer4.01.00.001Bug

ARDAAAF-1660GPTThe reference parameter GptGTMClockRef is falseThe reference parameter GptGTMClockRef is false, because the destination is not a AUTOSAR parameter. As a result, DV CFG5 is not able to resolve the reference

Although McuGTMClockSelection.
In file R403_GPT_P1x-C.arxml the destination ref of GptGTMClockRef is /Renesas/EcucDefs_Mcu/Mcu/...


In file R403_GPT_P1x-C.arxml the destination ref of GptGTMClockRef is /AUTOSAR/EcucDefs_Mcu/Mcu/...PDFClosedVer4.02.00.DVer4.01.00.001Bug

ARDAAAF-1659ADCCG throws error when non-mandatory parameters are not configuredIn the Adc description files, bool parameters are defined with multiplicity 0..1.
During generation, error occurs when these parameters are not configured. Also the error messages are not proper

Similar issues are present in other modules as well and shall be checked against parameters and containers
Validation check shall be done correctly and error messages shall be understandableValidation check shall are not correctGeneratorClosedVer4.02.00.DVer4.01.00.001Bug

ARDAAAF-1658ADC, FLS, ICUCode Generator still does not return error code in case of failuresGenerator Return Code is always 0, though errors occured during generation.
This issue should have been corrected in current release but is not.
Code Generator shall return always error code -1 in case of errors.Code Generator does not always return -1 in case of errors.GeneratorClosedVer4.02.00.DVer4.01.00.001Bug

ARDAAAF-1657PWMLower Multiplicity of PwmChannel is 0, But Tool code throw out error when generating with none PWM channelsIssue 1: In PWM Module Lower Multiplicity of PwmChannel is 0, But Tool code throws out an error when generating with none PWM channels

Error is
{code:java}
[CG_ERROR] - [ERR_59_121_005]Minimum one PwmChannel instance is needed.
[CG_INFO] - Code Generation Failed !!!
[CG_ERROR] - [ERR_59_121_008] PwmChannelId value = $PwmId is configured for PwmChannel0 is not sequential in a PwmChannelConfigSet 0,Channel Id should start with zero.
[CG_ERROR] - [ERR_59_121_007] PwmChannelId value = $PwmId is configured for PwmChannel-1 is not unique in a PwmChannelConfigSet0
[CG_ERROR] - [ERR_59_121_008] PwmChannelId value = $PwmId is configured for PwmChannel-1 is not sequential in a PwmChannelConfigSet0,Channel Id should start with zero.
The system cannot find the file specified. ...
{code}
as follows,

Issue 2: When only one channel is configured, Tool code throws out an error like
{code:java}
[CG_ERROR] - [ERR_59_121_005]Minimum one PwmChannel instance is needed.
[CG_INFO] - Code Generation Failed !!!
The system cannot find the file specified. ...
{code}
Why it is expecting one more channel ?
Is PWM channel working in Master and slave concept ?

Issue 3:/Renesas/EcucDefs_Pwm/Pwm/PwmGeneral0/PwmGTMClockRef parameter is not autosar parameter . But destination Ref is /AUTOSAR/EcucDefs_Mcu/Mcu/McuModuleConfiguration/McuGTMClockSettingsConfig It Should be modified to Renesas
Issue 1: In PWM Module Lower Multiplicity of PwmChannel is 0, the Tool code should not be thrown out an error when generating with none PWM channels or Lower Multiplicity of PwmChannel should be 1 of /Renesas/EcucDefs_Pwm/Pwm/PwmChannelConfigSet0/PwmChannel0.

Issue 2: The Tool code should not be thrown out an error when generating with one PWM channels


Issue 3:/Renesas/EcucDefs_Pwm/Pwm/PwmGeneral0/PwmGTMClockRef parameter is not autosar parameter . So destination Ref Should be modified to /Renesas/EcucDefs_Mcu/Mcu/McuModuleConfiguration/McuGTMClockSettingsConfig

Issue 1: In PWM Module Lower Multiplicity of PwmChannel is 0, the Tool code does throw out an error when generating with none PWM channels(/Renesas/EcucDefs_Pwm/Pwm/PwmChannelConfigSet0/PwmChannel0.)

Issue 2: The Tool code does throw out an error when generating with one PWM channels
/Renesas/EcucDefs_Pwm/Pwm/PwmChannelConfigSet0/PwmChannel0).

Issue 3::/Renesas/EcucDefs_Pwm/Pwm/PwmGeneral0/PwmGTMClockRef parameter is not autosar parameter . But destination Ref is /AUTOSAR/EcucDefs_Mcu/Mcu/McuModuleConfiguration/McuGTMClockSettingsConfig
Generator, DocumentClosedVer4.02.00.DVer4.01.00.001Bug

ARDAAAF-1656SPIThe lower multiplicity of container SpiMemoryMode should be oneThe lower multiplicity of container SpiMemoryMode should be = 1 for P1x-C because SpiHWUnit can only be configured with CSIH and CSIG hardware units are not available.

As per current implementation, lower multiplicity of container SpiMemoryMode is zero and if no container is configured, generator throws error.
The lower multiplicity of container SpiMemoryMode should be oneThe lower multiplicity of container SpiMemoryMode is zero.PDFClosedVer4.02.00.DVer4.01.00.001Bug

ARDAAAF-1623SPIDMA handles generated with wrong values inside Spi_Cfg.h file for Direct Access ModeSPI_DMAXX_ISR_API is getting generated with wrong value inside generated file Spi_cfg.h.

For eg:

If in a configuration DMA channel4 is used as SpiRxDmaChannel and DMA channel5 is used as SpiTxDmaChannel

Then for Direct Access Mode, handles for DMA ISR should be generated as follows:

#define SPI_DMA4_ISR_API STD_OFF(DMA channel for trasmission)
/* DMA5 interrupt switches */
#define SPI_DMA5_ISR_API STD_ON(DMA channel for Reception)

But in this case handles are generated as follows:

#define SPI_DMA4_ISR_API STD_ON
/* DMA5 interrupt switches */
#define SPI_DMA5_ISR_API STD_ON
DMA handles should be generated with correct values inside Spi_Cfg.h file for Direct Access ModeDMA handles generated with wrong values inside Spi_Cfg.h file for Direct Access ModeGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1608SPISpiEbMaxLength value rangeAs per current implementation of SetupEB() API, if the value of argument 'Length' is 'Zero' or greater than 'SpiEbMaxLength' configured for the channel : Development error 'SPI_E_PARAM_LENGTH' will be reported.
But in the P1x-C definition file, the range for the parameter 'SpiEbMaxLength' for a channel is 0 to 65535. If zero is configured for 'SpiEbMaxLength', API Spi_SetupEB will always report the error SPI_E_PARAM_LENGTH because :
If Length = zero, DET 'SPI_E_PARAM_LENGTH' will be reported.
If Length > zero, again DET 'SPI_E_PARAM_LENGTH' will be reported as Length > SpiEbMaxLength configured .
Range for the parameter 'SpiEbMaxLength' for a channel should be 1 to 65535.Range for the parameter 'SpiEbMaxLength' for a channel is 0 to 65535.PDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1605DIODET related information is incorrect in CUMSome API(s) are missing for the DET errors in section 11 Development And Production Errors. It shoulde be corrected in CUM.CUM should be updated for including all the APIs which can throw this DETCurrently, only Dio_GetVersionInto API is capable of raising this error as per CUM.DocumentClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1601SPIProhibited register settings are used in Spi driver while writing into configuration registerAs per the description of CSIHnDAPx bit in CSIHnCFGx register in Device UM, CSIHnCKPx bit should not be set along with CSIHnCTL1.CSIHnCKR bit.But this prohibited setting is done inside Spi driver under following conditions:


1.When SpiDataShiftEdge is configured as LEADING and SpiShiftClockIdleLevel as LOW .

2.When SpiDataShiftEdge is configured as TRAILING and SpiShiftClockIdleLevel as LOW.

This will also lead to wrong configuration of clock shift phase.
Prohibited register settings should not be usedProhibited register settings are used in Spi driver while writing into configuration registerGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1598ADCAdc_StopGroupConversion will return E_OK even if DET is reportedAdc_StopGroupConversion API will return E_OK even if DET is reported for ADC_E_IDLE.

Solution : Add line LenDetErrFlag = E_OK; wherever DET is invoked.
Adc_StopGroupConversion API should not return E_OK if DET is reported for ADC_E_IDLE.
Adc_StopGroupConversion API will return E_OK even if DET is reportedCodeClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1597ADCLucLoopCount in Adc_PushToQueue API may lead to infinite loopIf the condition
if (((ADC_ZERO != LucLoopCount) && ((Adc_GpGroupConfig +
LpQueue[LucLoopCount - ADC_ONE])->ddGroupPriority >= LucPriority)))
become false,
LucLoopCount will be updated to ADC_ZERO

after this condition LucLoopCount is again decremented, which may cause infinite loop.
Logic for updating LucLoopCount should be updated.Adc_PushToQueue API may lead to infinite loopCodeClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1590SPICTL1.CSIHnSLRS is not set in SPI even if the commuication speed is faster than 5MbpsUsing CSIH, even if the commuication speed is faster than 5Mbps, CTL1.CSIHnSLRS is not set to 1.

It is explained about SLRS bit on the Table 16.14 CSIHnCTL1 register contents of Device UM:

When The communication speed is faster than 5Mbps (excluding 5Mbps),
CSIHnSLRS bit should be set to 1.
CTL1.CSIHnSLRS should be set in SPI if the commuication speed is faster than 5MbpsCTL1.CSIHnSLRS is not set in SPI even if the commuication speed is faster than 5MbpsGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1576SPISetting of configuration register is not done always during concurrent synchronous transmissionWhen parameter SpiSupportConcurrentSyncTransmit is set to 'enabled' and SpiPersistentHWConfiguration is configured as true, setting of configuration register is not done always for the hardware unit in first sequence being transmitted during concurrent synchronous transmission since global variable 'Spi_GblSyncTx' is updated wrongly by the sequence called by ISR.
Setting of configuration register should be done always for all sequences being transmitted in concurrent synchronous transmission.Setting of configuration register is not done always during concurrent synchronous transmissionCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1559FrNULL pointer check is missing in Fr_59_Renesas_ReceiveRxLPdu APIIn Fr_59_Renesas_ReceiveRxLPdu API, Fr_LPduStatusPtr is updating without any NULL pointer check. Null pointer shall check before updating pointer value.
The Fr_LPduStatusPtr pointer shall update as below.

if (E_NOT_OK == LddReturnValue)
{
if((NULL_PTR != Fr_LPduStatusPtr) && (NULL_PTR != Fr_LSduLengthPtr))
{
/* Set the status as not received */
*Fr_LPduStatusPtr = FR_NOT_RECEIVED;
.
.
. }
The value assigning is without NULL pointer check, Only LddReturnValue is checking.

/* Check if the return value is E_NOT_OK */
if (LddReturnValue == E_NOT_OK)
{
/* MISRA Violation: START Msg (4:2812)- 7 */
/* Set the status as not received */
*Fr_LPduStatusPtr = FR_NOT_RECEIVED;
}
CodeClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1542PWMExtern declaration of Call back notification function is not generating properly.Description:
The extern declaration of call back notification function is not generating correctly for different config set.
For Eg:
In PwmChannelConfigSet0
For PwmChannel0 - PwmNotification = Pwm_Notify0
For PwmChannel1 - PwmNotification = Pwm_Notify1
For PwmChannel2 - PwmNotification = Pwm_Notify2
For PwmChannel3 - PwmNotification = NULL

In PwmChannelConfigSet1
For PwmChannel4 - PwmNotification = Pwm_Notify0
For PwmChannel5 - PwmNotification = Pwm_Notify1
For PwmChannel6 - PwmNotification = Pwm_Notify2
For PwmChannel7 - PwmNotification = Pwm_Notify3

The generation in Pwm_Cbk.h is as below:
extern FUNC(void, PWM_APPL_CODE) Pwm_Notify0 (void);
extern FUNC(void, PWM_APPL_CODE) Pwm_Notify1 (void);
extern FUNC(void, PWM_APPL_CODE) Pwm_Notify2 (void);

I.e. In Pwm_Cbk.h, extern declaration of Notify3 is not generating but it is correctly generating in "Pwm_GstChannelConfig" structure in "Pwm_PBcfg.c".
Extern declaration of Call back notification function should be generated based on the configuration.Extern declaration of Call back notification function is not generated based on the configuration.GeneratorClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1539ICUIcuTimerOverflowNotification for edge countingFor edge counting inside the ICU driver, we use the GTM TIM sub-module in TIM Input Event Mode (TIEM).

In TIM Input Event Mode the TIM channel is able to count edges. It is configurable if rising, falling or both edges should be counted. This can be done with the bit fields DSL and ISL in GTM0TIMixCTRL register.
In addition, a TIM[i]_NEWVAL[x]_IRQ interrupt is raised when the configured edge was received and this interrupt was enabled.

If the register CNT produces an overflow during the measurement, the bit CNTOFL is set inside the register GTM0TIMixIRQNOTIFY and interrupt TIM_CNTOFL[x]_IRQ is raised depending oncorresponding interrupt enable condition.

The notification function configured via IcuTimerOverflowNotification parameter shall be called only when a counter overflow occurs and not at each edge detected.

Proposed solution: for edge counting we don't need to configure the  TIM[i]_NEWVAL[x]_IRQ interrupt, but the TIM_CNTOFL[x]_IRQ interrupt so that Icu_TimerIsr would be called only in case of edge counter overflow.





The notification function configured via IcuTimerOverflowNotification parameter shall be called only when a counter overflow occurs.The notification function configured via IcuTimerOverflowNotification parameter is called after each detected edge.Code, TestClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1538PWMPwmPolarity state is not reflecting in output waveform while calling Pwm_SetDutyCycle() just after Pwm_SetOutputToIdle() API.PwmPolarity state is not reflecting in output while calling Pwm_SetDutyCycle() just after Pwm_SetOutputToIdle() API.
The issue can be explained as below:

PwmChannelClass = PWM_FIXED_PERIOD or PWM_VARIABLE_PERIOD
PwmPolarity = PWM_HIGH
PwmIdleState = PWM_LOW OR PWM_HIGH

Script:

Pwm_Init(PwmChannelConfigSet0);
Pwm_SetOutputToIdle(PwmConf_PwmChannel_PwmChannel);
Pwm_SetDutyCycle(PwmConf_PwmChannel_PwmChannel,0x6000);

Output:
Expected Duty Cyle: 75% high and 25% LOW
Actual Duty Cyle : 25% high and 75% LOW
PwmPolarity state has to be taken care while calling Pwm_SetDutyCycle() just after Pwm_SetOutputToIdle() API callPwmPolarity state is not taken care while calling Pwm_SetDutyCycle() just after Pwm_SetOutputToIdle() API callCodeClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1537MCUMemMap inclusion missing in Mcu_Ram header and source fileIn files Mcu_Ram.c and Mcu_Ram.h, MemMap.h file is not included after starting and stopping memory section for boolean data.
Also the memory section for boolean data is started and stopped three times which looks redundant. They could be clubbed in to a single memory section.
MemMap.h shall be included at every start and stop of memory sectionMemMap inclusion missing at some placesCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1530SPIDMA transmission not working for all DMA channelsDMA transmission not working for all DMA channels .

For eg: With the attached configuration,

The transmission is not working when CSIH1 hardware unit configured with DMA channels DMA2 and DMA3 but transmission is working when CSIH1 hardware unit configured with DMA channels DMA0 and DMA1 .
DMA transmission should work for all DMA channels .DMA transmission not working for all DMA channels .GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1519SPISpi is blocked with status SpiSequencePending after transmiting 1 data with DMAIn case of Async transmission with DMA once it is requested for transmission one sequence with one channel with just 1data, no futher communication is possible because all other sequences with bigger length will fail (DMA isr is not triggered anymore).
Issue is located in the configuration of DMA.
NANACodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1516RamTstRamTst: About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT fileAccording to AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf, 'BswSchedulableEntity' is a BSW module entity, which is designed for control by the BSW Scheduler. It implements a so-called "main" function". As attribute 'implementedEntry' is mandatory for 'BswModuleEntity', so <IMPLEMENTED-ENTRY-REF> should be presented in <BSW-SCHEDULABLE-ENTITY>.
But in the current implementation, <IMPLEMENTED-ENTRY-REF> tag is not presented as a child of <BSW-SCHEDULABLE-ENTITY>
<IMPLEMENTED-ENTRY-REF> tag should be presented in <BSW-SCHEDULABLE-ENTITY>.<IMPLEMENTED-ENTRY-REF> tag is not presented in <BSW-SCHEDULABLE-ENTITY>.PDFClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1503FLSFLS: About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT fileAccording to AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf, 'BswSchedulableEntity' is a BSW module entity, which is designed for control by the BSW Scheduler. It implements a so-called "main" function". As attribute 'implementedEntry' is mandatory for 'BswModuleEntity', so <IMPLEMENTED-ENTRY-REF> should be presented in <BSW-SCHEDULABLE-ENTITY>.
But in the current implementation, <IMPLEMENTED-ENTRY-REF> tag is not presented as a child of <BSW-SCHEDULABLE-ENTITY>.
<IMPLEMENTED-ENTRY-REF> tag should be presented in <BSW-SCHEDULABLE-ENTITY>.<IMPLEMENTED-ENTRY-REF> tag is not presented in <BSW-SCHEDULABLE-ENTITY>.PDFClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1500SPIParameters in Spi_PBCfg.c generated as 0In some configurations constants like ddNoOfBuffers in Spi_PBcfg.h are generated as 0. This causes DET / malfunction.

If ddNoOfBuffers is manually corrected to SpiEbMaxLength (EB) or SpiIbNBuffers (IB) as specified in configuration, transmission is possible without DET or malfunction.

This might affect more constants in configuration
Proper generation according to configuration.Generator creates incorrect values.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1498SPINo handles generated for SPI resourcesThe SPI API shall be used with handles for resources like SPI channels, jobs and sequences, according to AUTOSAR standard.
But, the generator of P1x-C does not generate these defines like it is done for e.g. F1x in Spi_Cfg.h:
{code}
#define SpiConf_SpiSequence_SpiSequence0 (Spi_SequenceType)0U
#define SpiConf_SpiJob_SpiJob0 (Spi_JobType)0U
#define SpiConf_SpiChannel_SpiChannel0 (Spi_ChannelType)0U
{code}
Due to missing defines the user must specify his own defines or use a numeric number as parameter for API calls.

Moreover, the required IDs do not match to the parameters SpiChannelId, SpiJobId and SpiSequenceID. Instead the IDs correspond to the entry in XML file. Unlike F1x there is no restriction (no error or warning) that the IDs must be in ascending order without gaps.
When using typical configuration tools the user has no influence how the resources are sorted in XML, so this might be a severe issue.
The generator must create handles (defines) for resources like channels, jobs and sequences.No handles are generated.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1496SPIGenerated Interrupt switches and DMA configuration incorrect1. The defines to enable or disable interrupts SPI_CSIHx_xxx_ISR_API in Spi_Cfg.h are not generated correctly.

2. Entry 'blHWUnitDmaMode' of Spi_GstJobConfig0 in Spi_BPcfg.c is generated as 'SPI_FALSE' for hardware units which are configured for DMA transmission.
Correct generation of interrupt switchesIncorrect generation of interrupt switchesGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1488FlsTstFlsTst:About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT fileAccording to AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf, 'BswSchedulableEntity' is a BSW module entity, which is designed for control by the BSW Scheduler. It implements a so-called "main" function". As attribute 'implementedEntry' is mandatory for 'BswModuleEntity', so <IMPLEMENTED-ENTRY-REF> should be presented in <BSW-SCHEDULABLE-ENTITY>.

But in the current implementation, <IMPLEMENTED-ENTRY-REF> tag is not presented as a child of <BSW-SCHEDULABLE-ENTITY>.
<IMPLEMENTED-ENTRY-REF> tag should be presented in <BSW-SCHEDULABLE-ENTITY>.<IMPLEMENTED-ENTRY-REF> tag is not presented in <BSW-SCHEDULABLE-ENTITY>.PDFClosedVer4.02.00.DVer4.00.00, Ver4.01.00Bug

ARDAAAF-1487SPIThe generator terminates abnormally, because of exception.The generator terminates abnormally and shows message bellow.
----
[CG_ERROR] - Invocation of method 'substring' in class java.lang.String threw exception java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at CommonHelper.vm[line 498, column 52]
----
This abnormal termination is occured when job name is changed.
e.g. SpiJob1 -> JOB.
I attach a CDF that can reproduce that abnormal termination.

NANAGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1486CorTstCorTst: About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT fileAccording to AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf, 'BswSchedulableEntity' is a BSW module entity, which is designed for control by the BSW Scheduler. It implements a so-called "main" function". As attribute 'implementedEntry' is mandatory for 'BswModuleEntity', so <IMPLEMENTED-ENTRY-REF> should be presented in <BSW-SCHEDULABLE-ENTITY>.
But in the current implementation, <IMPLEMENTED-ENTRY-REF> tag is not presented as a child of <BSW-SCHEDULABLE-ENTITY>.
<IMPLEMENTED-ENTRY-REF> tag should be presented in <BSW-SCHEDULABLE-ENTITY>.<IMPLEMENTED-ENTRY-REF> tag is not presented in <BSW-SCHEDULABLE-ENTITY>.PDFClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1474SPISPI:About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT fileAccording to AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf, 'BswSchedulableEntity' is a BSW module entity, which is designed for control by the BSW Scheduler. It implements a so-called "main" function". As attribute 'implementedEntry' is mandatory for 'BswModuleEntity', so <IMPLEMENTED-ENTRY-REF> should be presented in <BSW-SCHEDULABLE-ENTITY>.

But in the current implementation, <IMPLEMENTED-ENTRY-REF> tag is not presented as a child of <BSW-SCHEDULABLE-ENTITY>.
<IMPLEMENTED-ENTRY-REF> tag should be presented in <BSW-SCHEDULABLE-ENTITY>.<IMPLEMENTED-ENTRY-REF> tag is not presented in <BSW-SCHEDULABLE-ENTITY>.PDFClosedVer4.02.00.DVer4.00.00, Ver4.01.00Bug

ARDAAAF-1471MCUGenerated mode setting handle doesn't follow AUTOSAR naming conventionThe generated mode setting handle in Mcu_Cfg.h file doesn't follow AUTOSAR naming convention as defined by requirement ecuc_sws_2108.
The handle is generated as below:
{code:java}
/*ModeSetting Handles*/
#define MCU_MODE_SETTING_0 (Mcu_ModeType)0
{code}
But as per the requirement this should be generated as below:
{code:java}
/* Mode Setting Handles */
#define McuConf_McuModeSettingConf_McuModeSettingConf0 (Mcu_ModeType)0x01
{code}

Mode setting handle should be generated as per AUTOSAR naming convention.Mode setting handle violates AUTOSAR naming convention. This causes compilation errors during integration.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1470RamTstDem event parameter name not generated correctly1)When parameter 'RAMTST_E_RAM_FAILURE' is configured as '/AUTOSAR/EcucDefs/Dem0/DemConfigSet0/RAMTST_E_RAM_FAILURE'

generated value is:

#define RAMTST_E_RAM_FAILURE \
DemConf_DemEventParameter_

2)1)When parameter RAMTST_E_READBACK_FAILURE' is configured as '/AUTOSAR/EcucDefs/Dem0/DemConfigSet0/RAMTST_E_READBACK_FAILURE'

generated value is:

#define RAMTST_E_READBACK_FAILURE \
DemConf_DemEventParameter_
Dem event parameter should be generated correctlyDem event parameter name not generated correctlyGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1458ICUICU: Mismatch in Parameter Name in PDF from Module MRSThis ticket was created to track the changes in the ICU PDF file with respect to the parameter name "IcuGTMInputSelection" change which is mentioned as "IcuChannelInputSelection" in the Module MRS EAAR-RS-0067-1.14.The parameter name used for the ICU channel selection should be "IcuChannelInputSelection"The parameter name used for the ICU channel selection is "IcuGTMInputSelection"Generator, PDF, DocumentClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1410GPTCompilation error for particular configurationGpt_HW_En/DisableWakeup are called from Gpt_En/DisableNotification.
Compilation issue occur during following condition:
GptWakeupFunctionalityApi - False
GptReportWakeupSource - False
GptEnableWakeup - False for all channels
GptEnableDisableNotificationApi -True
No compilation error expectedCompilation error for particular configurationCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1403FLSMismatch between Ecode and EA DesignThe below part of Ecode flow design not implemented in FLS EA Design but this part of code is in *"Fls_MainBlankCheck"* API.
Unit test implementation has following as per the FLS EA Design, So could not achieved 100% Overall coverage.

else if (FCU_ERR_TIMEOUT == LenStatus)
{
#if ((FLS_DEV_ERROR_DETECT == STD_ON) && (FLS_TIMEOUT_MONITORING == STD_ON))
/* Report error to DET */
(void)Det_ReportError(FLS_MODULE_ID, FLS_INSTANCE_ID,
FLS_MAINFUNCTION_SID, FLS_E_TIMEOUT);
#endif

Fls_GenJobResult = MEMIF_JOB_FAILED;
Fls_GenState = MEMIF_UNINIT;
}
That part of FLS Ecode, flow design required to be implemented in FLS EA Design.That part of FLS Ecode flow design not implemented in FLS EA Design.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1402FLSFls fail the initialization when DF size is 64kThere is an issue in Fls_FcuPrepareEnvironment:

{code:java}
if ((uint16)FLS_DF_POOL_SIZE <=
((uint16)((uint16)Fls_FcuGstVar.Fls_FcuDfSize >> FLS_FCU_BLOCK_SIZE_2N)))
{
/* Configure the FCU frequency */
LenStatus = Fls_FcuSetFrequency();
}
else
{
LenStatus = FLS_FCU_ERR_CONFIGURATION;
}
{code}

In case : *Fls_FcuGstVar.Fls_FcuDfSize is 0x10000*, the cast : *(uint16)Fls_FcuGstVar.Fls_FcuDfSize* is wrong since is leading to *0x10000 being truncated to 0* and therefore the initialization of FLS driver is failing.

2. In current design, the parameter "*Luscount*" of function *Fls_FcuPerformBlankCheck* is of type "*uint16*". The parameter "Luscount" holds the requested length. For 64KB device, max length is 0x10000. In this case *0x10000 being truncated to 0*.
NANACodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1401FLSAUTOSAR deviation regarding FlsSectorList implementationAUTOSAR requirement FLS201_Conf is violated since the new flash driver does not support multiple sector instances.The upper multiplicity of FlsSectorList shall not be 1. It shall support multiple sector instances.FlsSectorList is limited to one sector with fixed sector size.PDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1395FLSAUTOSAR deviation regarding setting of flash memory erase/write protection during initialization of FLS driverAUTOSAR Requirement FLS048 - "If supported by hardware, the function Fls_Init shall set the flash memory erase/write protection as provided in the configuration set" is not implemented.
Requirement ID FLS279_Conf is also violated here. It specifies the usage of parameter 'FlsProtection' for providing Erase/write protection settings.
Fls_Init shall set flash memory erase/write protection during initialization. And before the flash operation(Erase/Write) is performed, protection shall be disabled and after the completion of job, protection shall be enabled again.Memory Erase/Write protection is disabled before any flash operation(Erase/Write) is performed and is enabled after the required operation is completed. Protection is not enabled during initialization.CodeClosedVer4.02.00.DVer4.01.00Bug
29561ARDAAAF-1394FLSA suspended job is not cancelled properly when Fls_Cancel API is invoked.Problem Description:
1. When Fls_Suspend() is invoked, the Job details are backed up in 'Fls_GVar.Fls_GenBackUpCmd'. The details are cleared then from 'Fls_GVar.Fls_GenCommand'

2. When Fls_Cancel API is invoked to cancel an on-going Job, only the 'Fls_GVar.Fls_GenCommand'is cleared. If Fls_Cancel() is invoked for a suspended Job, 'Fls_GVar.Fls_GenCommand' is not cleared from 'Fls_GVar.Fls_GenBackUpCmd'.

Hence if Fls_Resume() is invoked after Fls_Cancel(), the Job is still available in 'Fls_GVar.Fls_GenBackUpCmd' and hence it resumes the Job.
So, the suspended Job is never cancelled by the Fls_Cancel API.
Fls_Cancel API shall cancel a Suspended Job. And When Fls_Resume is called (after cancelling a suspended Job), R_FDL_ERR_REJECTED shall be returned.When Fls_Resume is called after the cancellation of a suspended Job, R_FDL_OK is returned.CodeClosedVer4.02.00.DVer4.01.00Bug
28523ARDAAAF-1391FLSImprovement in PDF of P1x-CThe following points should be taken care in the Parameter Definition File of P1x-C.

a. The upper bound/maximum value of FlsFclRamAddress shall be corrected w.r.t P1x-C Hardware Manual.

b. The parameters used in each of the following containers should be re-ordered to give a better overview of parameters.
1. FlsDataFlash
2. FlsCodeFlash
3. FlsPublishedInformation

c. Parameter "FlsDFTotalSize" in 'FlsDataFlash' container should be renamed as "FlsDataFlashSize".

d. The statement in the description of following parameters shall be updated as mentioned.
1. FlsMaxWriteNormalMode : add into description - This parameter is not used for implementation.
2. FlsMaxEraseNormalMode : add into description - This parameter is not used for implementation.
3. FlsTotalSize : improve description - This parameter specifies the total amount of flash memory in bytes that is accessible by FLS driver.
4. FlsNumberOfSectors : add into description - This parameter setting shall be in line with FlsSectorStartaddress.
5. FlsFclRamAddress : add into description - This parameter is not used for implementation.
6. FlsDFTotalSize : improve description - This parameter indicates the physical total size of Data Flash memory.
See descriptionSee descriptionPDFClosedVer4.02.00.DVer4.01.00Bug
27581ARDAAAF-1388FLSFls_GVar structure is not initialised properly according to C89/C90 (ISO/IEC 9899:1990)Problem description:
The initialization of Fls_GVar in Fls_Ram.c is not according to C90 standard. A structure that contains pointers, variables and further structures is simply initialized with "0".
This is possible in C99 (ISO/IEC 9899:1999, chapter 6.7.8.21), but MCAL shall be implemented according to C89/C90 (ISO/IEC 9899:1990).

In Coding Guidelines EAAR-GL-0084.pdf, EAAR_PN0084_NR_0065 an example is given:
/* Usage and initialization in a C file: */
MyModule_Vector_tst Vector1_st = { 0, 0, 0 };
Each element in the structure shall be initialised properly.Structure is initialised as VAR(Fls_GVarProperties, FLS_INIT_DATA) Fls_GVar = {FLS_ZERO};CodeClosedVer4.02.00.DVer4.01.00Bug
26925ARDAAAF-1387FLSLength calculation for misaligned access failsDescription:
Length calculation in Fls_Internal leads to invalid values.
Correct length calculationResulting length is around 4 billion which causes other function to be in endless loop.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1300FLSThe parameter ranges of FlsMaxWriteNormalMode and FlsMaxEraseNormalMode are wrongFlsMaxWriteNormalMode range shall be fixed at 4 Bytes since only 4B write is possible in a single cycle of MainFunction.

FlsMaxEraseNormalMode range shall be fixed at 64 Bytes since only 64B write is possible in a single cycle of MainFunction.
FlsMaxWriteNormalMode and FlsMaxEraseNormalMode shall have correct range values and default values as per the implementation.FlsMaxWriteNormalMode and FlsMaxEraseNormalMode do not have correct range values.PDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1295MCU<UPPER-MULTIPLICITY>*</UPPER-MULTIPLICITY> needs to be updated with <UPPER-MULTIPLICITY-INFINITE>true</UPPER-MULTIPLICITY-INFINITE>As per AUTOSAR_SWS_MCUDriver.pdf McuResetReasonConf container multiplicity should be 1..* .

But As per ticket https://sbta.renesas.eu/mantis/view.php?id=26222 conclusion the asterisk (*) is not Autosar compliant,so higher value is applied.



{code:java}
<SHORT-NAME>McuResetReasonConf</SHORT-NAME>
<DESC>
<L-2 L="EN">This container contains the configuration for the different type of reset reason that can be retrieved from Mcu_GetResetReason API.</L-2>
</DESC>
<LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
<UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
<MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
{code}

Now According with AUTOSAR_MOD_ECUConfigurationParameters.arxml this should be used like :

{code:java}
<SHORT-NAME>McuResetReasonConf</SHORT-NAME>
<DESC>
<L-2 L="EN">This container contains the configuration for the different type of reset reason that can be retrieved from Mcu_GetResetReason Api.</L-2>
</DESC>
<LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
<UPPER-MULTIPLICITY-INFINITE>true</UPPER-MULTIPLICITY-INFINITE>
<MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
{code}


<SHORT-NAME>McuResetReasonConf</SHORT-NAME>
<DESC>
<L-2 L="EN">This container contains the configuration for the different type of reset reason that can be retrieved from Mcu_GetResetReason Api.</L-2>
</DESC>
<LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
<UPPER-MULTIPLICITY-INFINITE>true</UPPER-MULTIPLICITY-INFINITE>
<MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
<SHORT-NAME>McuResetReasonConf</SHORT-NAME>
<DESC>
<L-2 L="EN">This container contains the configuration for the different type of reset reason that can be retrieved from Mcu_GetResetReason API.</L-2>
</DESC>
<LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
<UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
<MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
PDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1292PORTPort Code Generator throwing unexpected errorFor particular alternative function to work properly 'PortIpControl' parameter need to be configured as mentioned in the hardware manual.

When some of these alternative function are selected and 'PortIpControl' is configured, Code Generator throws unexpected error instead of successful compilation
Successful code generation when alternative function and 'PortIpControl' parameter are configured correctlyERR124018 Error occurs that is in contradiction to description.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1290PWMWrong generation of pre-compile values in Cfg fileValue of parameters present in the container 'PwmConfigurationOfOptApiServices' is generated as STD_ON although we configure it as false.

Usually parameter value should generated as STD_ON if we configure it as True and STD_OFF when we configure it as False. However, now the tool is generating STD_ON in all the cases.
Parameter value should generated as STD_ON if we configure it as True and STD_OFF when we configure it as False.Value of parameters present in the container 'PwmConfigurationOfOptApiServices' is generated as STD_ON in all the cases.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1262LINLIN SWS requirement [LIN109] is implemented incorrectlyLIN SWS requirement [LIN109] is implemented incorrectly.

As per the requirement, DET LIN_E_STATE_TRANSITION should be reported if no LIN channel is in the LIN_CH_SLEEP state. However, currently DET LIN_E_STATE_TRANSITION is reporting if LIN channel is in the LIN_CH_SLEEP state.
LIN SWS requirement [LIN109] should be implemented correctly.LIN SWS requirement [LIN109] is implemented incorrectly.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1257FLSDET checks are not implemented properly for FLS driver.DET checks are not implemented properly for Fls_Erase, Fls_Write, Fls_Read, Fls_ReadImmediate, Fls_Compare, and Fls_BlankCheck.
Here Fls_Erase is taken as example to describe the finding. Please check the same in other impacted APIs.

*Proposed Modification 1:*
{code:java}
// valid virtual bound [0...FLS_DF_TOTAL_SIZE-1]
if (TargetAddress > ((uint32)FLS_DF_TOTAL_SIZE - (uint32)FLS_ONE))
{
...
}
{code}

*Proposed Modification 2:*
{code:java}
/* Virtual address is mapped to physical address */
TargetAddress = TargetAddress + FLS_DF_BASE_ADDRESS; // FLS_DF_BASE_ADDRESS = 0xFF20_0000h

// upper bound of FLS accessible data flash, just for reference, pls recode it
MIN = FLS_DF_SECTOR_START_ADDRESS; // ( from parameter FlsSectorStartaddress)

// lower bound of FLS accessible data flash, just for reference, pls recode it
MAX = FLS_DF_SECTOR_START_ADDRESS + FLS_DF_TOTAL_SIZE - 1;
// FLS_DF_TOTAL_SIZE(from parameter FlsSectorSize*FlsNumberOfSectors)
{code}
and make the start address boundary check [FLS020]
{code:java}
if ((MIN > TargetAddress) || (MAX < TargetAddress))
{
#if (FLS_DEV_ERROR_DETECT == STD_ON)
/* Report error to DET */
(void)Det_ReportError(FLS_MODULE_ID, FLS_INSTANCE_ID,
FLS_ERASE_SID, FLS_E_PARAM_ADDRESS);
#endif /* #if (FLS_DEV_ERROR_DETECT == STD_ON) */
LenReturnValue = E_NOT_OK;
}
{code}

*Proposed Modification 3:*
For Fls_Erase function, the end address boundary alignment check [FLS021] is not implemented properly.
Propose to add the following DET check in Fls_Erase function for FLS_E_PARAM_LENGTH.
[FLS021] check Length if it is greater than 0, and end address boundary alignment check, and end address bound check.
{code:java}
if (((uint32)FLS_ZERO == Length) || (Fls_GstVar.Fls_JobEndAddress - \
(uint32)FLS_DF_SECTOR_START_ADDRESS) + (uint32)FLS_ONE > \
(uint32)FLS_DF_TOTAL_SIZE) || ((uint32)FLS_ZERO != (Fls_GstVar.Fls_JobEndAddress & \
((uint32)FLS_DF_BLOCK_SIZE - (uint32)FLS_ONE))))
{code}
DET checks shall be implemented with boundary check condition for parameters FlsSectorStartaddress and FlsNumberOfSectors against Fls_JobStartAddress and Fls_EndStartAddress values in function Fls_Erase, Fls_Write, Fls_Read, Fls_ReadImmediate, Fls_Compare, and Fls_BlankCheck.DET checks is not implemented properly with boundary check condition for parameters FlsSectorStartaddress and FlsNumberOfSectors against Fls_JobStartAddress and Fls_EndStartAddress values in function Fls_Erase, Fls_Write, Fls_Read, Fls_ReadImmediate, Fls_Compare, and Fls_BlankCheck.Code, TestClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-1251FLSCompiler warning regarding wrong API signature for Fls_ReadThe prototype of Fls_Read API is not as specified by FLS256 requirement and this is leading to compiler warnings when Fls is integrated with Fee.TargetAddressPtr is of type uint8 *TargetAddressPtr is of type const uint8 *CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1249FLSFLS UM shall be updated regarding sections FLS_FAST_CODE_ROM and FLS_CFG_DATA_UNSPECIFIED1."FLS_FAST_CODE_ROM" is written on "Chapter 12 Memory Organization" of UM, but does "FLS_FAST_CODE_ROM" is not existing since FLS Driver for this device does not support interrupts.

2."FLS_CFG_DATA_UNSPECIFIED" is written on "Chapter 12 Memory Organization" of UM, but shall be "FLS_CFG_DBTOC_UNSPECIFIED".
NANADocumentClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1247PORTConnecting both on-chip pull-down and pull-up resistor to a input pin.In the current design, both the parameters 'PortPullDownOption' and ' PortPullUpOption' of a particular pin can be configured as true at same time which will connect the input pin to both the on-chip pull-up and pull-down resistors. This leads to tri-state condition.Both parameters PortPullDownOption and PortPullUpOption of a particular pin should not be configured as true at same time.Both parameters PortPullDownOption and PortPullUpOption of a particular pin can be configured as true at same time.Code, DocumentClosedVer4.02.00.DVer4.02.00.DBug

ARDAAAF-1237SPIHardware manual violation for CSIHnTO when setting direct access mode.When memory mode is set as direct access mode (SpiMemoryModeSelection = DIRECT_ACCESS_MODE), CSIHnTO should be set to 0. But there are no place that CSIHnTO is set to 0.When memory mode is set as direct access mode (SpiMemoryModeSelection = DIRECT_ACCESS_MODE), CSIHnTO is set to 0.When memory mode is set as direct access mode (SpiMemoryModeSelection = DIRECT_ACCESS_MODE), CSIHnTO is not initialized.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1191PORTSome of the alternate function selection is missing for the port pinsAs per the "Table 2.4 Pin Function assignments section" of r01uh0517ej0100_rh850p1x-c_Open.pdf, the following discrepancies are found observed in PDF for alternate mode selection:

1) P8_0 - No INTP function selection in PDF
2) P8_2 - No FLXNTUOUT function selection PDF
3) P8_6 ,P8_7 - MCAN0TXFD_ALT4_OUT is not applicable
discrepancies
Alternate function selection for the port pin in PDF should be in line with the user manual.Alternate function selection for the port pin in PDF is not in line with the user manual.PDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1135PWMPWM: Throughput calculation of PWM ISRs (without Notification content)Current test application does not consider the Throughput calculation of PWM ISRs (without Notification content).Throughput calculation of PWM ISRs (without Notification content)NATestClosedVer4.02.00.DVer4.00.00, Ver4.01.00Bug

ARDAAAF-1118LINRLIN3 communication clock calculation is incorrectIn tool code, RLIN3 communication clock calculation should be based on MCU parameter McuPLLClock0 instead it is calculated from the parameter McuPLLClock1 which is not part of current MCU PDF.

PLL clock can be selected between the range 320MHZ to 480MHZ. However, RLIN3 communication clock is always 40MHZ. So tool code should always give 40MHZ RLIN3 communication clock although PLL clock changes.
RLIN3 communication clock calculation should be based on MCU parameter McuPLLClock0RLIN3 communication clock calculation is not based on MCU parameter McuPLLClock0 instead it is calculated from the parameter McuPLLClock1 which is not part of current MCU PDFGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1114LINUnwanted DEM error is reportedDEM timeout failure error should be reported if an unexpected status present in "LIN mode status register LMST" and timeout value is zero.

But present code is reporting DEM timeout failure error although an expected status present in "LIN mode status register LMST" due to incorrect timeout loop condition which is present after setting the "LIN control register LCUC".

The same issue is present in the functions Lin_Init, Lin_CheckWakeup, Lin_SelfTest, Lin_WakeUpFromBus. So please check and correct all the timeout while loops.
DEM timeout failure error should be reported only if an unexpected status present in "LIN mode status register LMST" and timeout value is zero.DEM timeout failure error is reported although an expected status present in "LIN mode status register LMST"CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1113SPIUnable to use active state 'HIGH' for chip select signals other than CSL0 in CSIH moduleActive state of chip select signals other than CSL0 are always set to 'LOW' irrespective of the configuration. As a result chip select signals CSL1 to CSL7 could not be used with active state 'HIGH'.It shall be possible to use both active state 'HIGH' and 'LOW' for all available chip select signalsChip select signals CSL1-CSL7 could not be used with active state 'HIGH'GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1108SPITransmission of more than 128 byte of data through DMA FIFO mode doesn't workWhen data is transmitted through DMA FIFO mode in SPI, only the 1st 128 bytes of the data is getting transmitted.Also chip select goes inactive after first 128 bytes of data.Transmission of more than 128 bytes of data through SPI DMA FIFO mode should be possible for all hardware units.Transmission of more than 128 byte of data through DMA FIFO mode doesn't workCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1107DIOAutosar requirement DIO188 is not implemented for the APIs Dio_ReadChannelGroup() and Dio_WriteChannelGroup().According to requirement DIO188, If an API service called with a NULL pointer, it shall return immediately without any further action, beside reporting the development error 'DIO_E_PARAM_POINTER'.
In both the APIs, the pointer prameter 'ChannelGroupIdPtr' is checked against NULL pointer and reports the DET error 'DIO_E_PARAM_INVALID_GROUP' instead of 'DIO_E_PARAM_POINTER'.
It seems like the requirement DIO188, is not considered while implementing the requirement DIO114.
DIO144 says: "If development error detectionis enabled, the functions Dio_ReadChannelGroupand Dio_WriteChannelGroup shall check the "ChannelGroupIdPtr" parameter to be valid within the current configuration. If the "ChannelGroupIdPtr" parameter isinvalid, the functions shall report the error code DIO_E_PARAM_INVALID_GROUP to the DET"
Autosar requirement DIO188 is implemented.Autosar requirement DIO188 is not implemented.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1104DIODET Error "DIO_E_UNINIT" is not implemented for the API Dio_MaskedWritePort()There is ambiguity in implementation of DET errors for vendor specific API Dio_MaskedWritePort(). DET errors required for this API are not specified in MRS.
DET error "DIO_E_UNINIT" is not implemented for API Dio_MaskedWritePort() to report when invoked without module initialization.
But, another Det check for invalid port(DIO_E_PARAM_INVALID_PORT_ID) is implemented in Dio_MaskedWritePort().

Also, DET error information is not provided for Dio_MaskedWritePort() API in section '11.1. Dio Driver Component Development Errors' of Component User’s Manual.
DET error "DIO_E_UNINIT" should be implemented in Dio_MaskedWritePort() API to report when invoked without module initialization.DET "DIO_E_UNINIT" is not implemented for the API Dio_MaskedWritePort().CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1103DIODET implementation leads to invalid memory access.Please find the below DET implemetation.
======================================================
if (DIO_UNINITIALIZED == Dio_GblDriverStatus)
{
/* Report Error to DET */
(void)Det_ReportError(DIO_MODULE_ID, DIO_INSTANCE_ID,
DIO_READ_CHANNEL_SID, DIO_E_UNINIT);
LenDetErrFlag = E_OK;
}
else
{
/* No action required */
}

#if (DIO_CHANNEL_CONFIGURED == STD_ON)
/* Check whether the Channel Id is out of range */
if (ChannelId >= Dio_SpConfigPtr->usNoofChannels)
#endif
{
/* Report Error to DET */
(void) Det_ReportError(DIO_MODULE_ID, DIO_INSTANCE_ID,
DIO_READ_CHANNEL_SID, DIO_E_PARAM_INVALID_CHANNEL_ID);
LenDetErrFlag = E_OK;
}
============================================================

If Dio_Init() is not called, Dio_SpConfigPtr will not be initialised and it will have the value "NULL_PTR" as per Driver implementation.
The second DET check "if (ChannelId >= Dio_SpConfigPtr->usNoofChannels)" causes dereferencing of invalid pointer.
Here the DET check "if (ChannelId >= Dio_SpConfigPtr->usNoofChannels)" should not be done in parallel with the check "(DIO_UNINITIALIZED == Dio_GblDriverStatus)".
This issue is found with many APIs. For eg: Dio_ReadChannel(), Dio_WriteChannel(), Dio_FlipChannel(), Dio_ReadPort(), Dio_WritePort() etc.
Driver should not dereference invalid pointers.Driver implementation is causing dereferencing of invalid pointers.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1098DIODio_WriteChannel() API is changing the values of registesr PPRn, Pn and PSRn registers for input channels.As per the Autosar requirement DIO079, "If the specified channel is configured as an input channel, the Dio_WriteChannelfunction shall have no influence on the result of the next ReadService"
But it is observed that Dio_WriteChannel() is modifying the the bits of PPRn, Pn and PSRn register which are configured as input channel.
This results incorrect output when Dio_ReadChannel() API is called.

This issue can be solved by adding a DET check for 'input channel' in Dio_WriteChannel() API.


Steps to reproduce:

1. Set the direction all channels of a port as input.
2. Read the channels by calling the API Dio_ReadChannel()
3. Set a specific pattern(eg: 0xAA) by calling Dio_WriteChannel() API.
4. Read the channels again by calling the API Dio_ReadChannel()
5. The output for step2 and step4 should be same for all the input channels.
If the specified channel is configured as an input channel, the
Dio_WriteChannel function shall have no influence on the result of the next ReadService.
Dio_WriteChannel() function modifies the results of the next ReadService.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1096PORTGenerated array 'Port_GstSetModeGroupsList' in Port_PBcfg.c is producing compilation error.Tool generated array 'Port_GstSetModeGroupsList' (contains details of port pins, whose mode can be changed during run time) is causing compilation error.
The error is due to missing of a 'comma' to separate the elements of the array.
Please find the attached description file to reproduce the issue.
The screen-shot for compilation error is also attached.
Generated files should be compiled successfully.Generated files produces errors on compilation.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1081SPIOut of bound memory access due to incorrect generation of IB buffer IndexGeneration of parameter 'ddBufferIndex' in 'Spi_ChannelPBConfigType' structure is not correct. The index is going beyond the memory space allocated for array 'Spi_GaaChannelIBWrite'. As a result of this, out of bound memory access occurs in function 'Spi_InternalWriteIB' while writing to IB.Out of bound memory accesses shall never occur.Out of bound memory access occur due to error in generation tool.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1057DIODio generator tool produces errors if same container short name is configured between multiple configuration sets.Generator tool code is producing error messages if the container short name used for one config set is used for another config set.

For eg:
[CG_ERROR] - [ERR_59_120_006] The container short name of 'DioPort' is configured same between /Renesas/EcucDefs_Dio/Dio/DioConfig0/DioPort0 and /Renesas/EcucDefs_Dio/Dio/DioConfig1/DioPort0
[CG_ERROR] - [ERR_59_120_006] The container short name of 'DioPort' is configured same between /Renesas/EcucDefs_Dio/Dio/DioConfig0/DioPort1 and /Renesas/EcucDefs_Dio/Dio/DioConfig1/DioPort1
[CG_ERROR] - [ERR_59_120_006] The container short name of 'DioPort' is configured same between /Renesas/EcucDefs_Dio/Dio/DioConfig0/DioPort2 and /Renesas/EcucDefs_Dio/Dio/DioConfig1/DioPort2
The code generation should be successful even if the same container short name is configured between multiple configuration sets.Code generator produces error messages.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1056PORTCompilation error for multiple configuration - comma missing for one of the Port_PinModeChangeableDetails structure generated in Port_PBcfg.cFor multiple configuration set (PortConfigSet) ,the compilation error occurs from generated file.This happens because of missing comma operator in one of the port pin structure-Port_PinModeChangeableDetails generated for the array Port_GstSetModePinDetailsList[] in Port_PBcfg.c .No error or warning during compilationError in compilationGeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1055FLSMinimum Value of parameter 'FlsErasedValue' is not according to AUTOSARFlsErasedValue is fixed at 0xFFFFFFFF. But as per AUTOSAR_SWS_FlashDriver.pdf, FlsErasedValue is specified at FLS299_Conf, range 0 .. 4294967295.Range of FlsErasedValue shall be 0 to 0xFFFFFFFFValue of FlsErasedValue is fixed at 0xFFFFFFFFPDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1054SPISPI driver files fail to compile after successful code generation for certain configurationsSpi driver throws compilation errors in driver files after code generation is completed successfully in below cases.

1. Spi_PBcfg.c doesn't compile when more than four external devices are configured and if any HW unit is configured in dual buffer or Tx only mode.

2. Spi_PBcfg.c doesn't compile when SpiLevelDelivered is configured as 0.

3. Spi.c doesn't compile when configured as below -
SpiLevelDelivered = 0
SpiMemoryModeSelection = TX_ONLY_MODE
SpiHighPriorityHwHandlingEnable = true
The driver source files should compile without errors or warnings if code generation is successful.Spi driver source files fail to compile after successful execution of generation tool.Code, GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1053SPISchm enter and exit functions not used as defined by AUTOSARAUTOSAR expects SPI MCAL to use Schm enter and exit functions as below -
void SchM_Enter_Spi_<Exclusive area name>()
void SchM_Exit_Spi_<Exclusive area name>()

But current MCAL implementation requires user to define these function calls as macros like below -
#define SPI_ENTER_CRITICAL_SECTION(ExclusiveArea) <_Actual API signature as defined by AUTOSAR_>
#define SPI_EXIT_CRITICAL_SECTION(ExclusiveArea) <_Actual API signature as defined by AUTOSAR_>

This is AUTOSAR violation. The above macro definition should be provided within the MCAL as done in all other modules.
Usage of critical section functions shall be as per AUTOSARUsage of critical section functions deviates from AUTOSAR definitionCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1004CorTstCortst: Inconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-1003WDGInconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-1001PWMPWM:Inconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-1000ICUInconsistent memory map declaration in ICUThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-999ETHInconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-998FrInconsistent memory map declaration for FR moduleThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-997GPTInconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-996SPIInconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-995MCUInconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-993LINLIN:Inconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-992ADCInconsistent memory map declaration for ADC moduleThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-991RamTstInconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-990FlsTstInconsistent memory map declarationThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-989PORTInconsistent memory map declaration for PORT ModuleThis ticket is created to check the memory mapping inconsistency for PORT module. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-988FLSInconsistent memory map declaration in FLS ModuleThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-987DIOInconsistent memory map declaration for DIO moduleThis ticket is created to check the memory mapping inconsistency across all modules. The variable/function declaration and definition should be in the same memory section. More examples are given in the analysis report attached in the parent ticketMemory mapping in both declaration and definition shall be unique.Memory mapping of both declaration and definition are in different memory locationCodeClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-921CorTstRequest to upgrade G3M SWCST library in CORTST driverAs per ARDAAAQ-97, a new release of G3M SWCST library is available: V1.20 RC6.

Kindly request PL to consider this input for MCAL planning for CORTST driver.
N/AN/ASWCST LibraryClosedVer4.02.00.DVer4.01.00Bug
28546ARDAAAF-920FLSDEM error should be reported for transient failuresFLS Initialization (Fls_Init) can fail during driving cycle of ECU, due to eg. operation voltage change, clock frequency change, etc. (transient failures).
Such kind of fault must be notified and afterwards the upper layer can, for example, retry with init procedure until succeeds, or the system can be switched to a safety state if required.
DEM error should be reported here.

*Suggested solution:*
Please verify in Ecode that the following has already been implemented in Fls_Init().

DET error FLS_E_UNINIT will be reported when FCU Initialization fails.
{code:java}
...
else // when FCU initialization fails
{
#if (FLS_DEV_ERROR_DETECT == STD_ON)
/* Report error to DET if the component is not initialized */
(void)Det_ReportError(FLS_MODULE_ID, FLS_INSTANCE_ID,
FLS_INIT_SID, FLS_E_UNINIT);
#endif /* #if (FLS_DEV_ERROR_DETECT == STD_ON) */
}
{code}

To make sure upper layer will be notified in case of FLS initialization failure, {color:#d04437}propose to add an additional precondition item in Chap. 4.2 to inform customer:{color}
*FLS initialization failure may happen in the system runtime due to transient hardware faults. Customer shall enable DET in order to get FLS_E_UNINIT in case of initialization failure. If Fls_GetStatus API is used, upper layer can use this API to get MEMIF_UNINIT in case of initialization failure.*
Notification should be reported in case FLS Initialization (Fls_Init) failsNotification is not reported in case FLS Initialization (Fls_Init) failsCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-916SPIMain Functions are executed even if the driver is not initializedAccording to the requirements from Autosar:

_[If a Main function of a un-initialized module is called from the BSW Scheduler, then it shall return immediately without performing any functionality and without raising any errors.]_

But this requirement is violated in the main functions of the drivers CAN, FLS, SPI CorTst, FlsTst, RamTst. If DET is OFF, then it is not checking whether driver is initialized or not.
Module main functions shall return immediately if the driver is not initialized.If DET is OFF, main functions are not checking whether driver is initialized or not.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-915RamTstMain Functions are executed even if the driver is not initializedAccording to the requirements from Autosar:

_[If a Main function of a un-initialized module is called from the BSW Scheduler, then it shall return immediately without performing any functionality and without raising any errors.]_

But this requirement is violated in the main functions of the drivers CAN, FLS, SPI CorTst, FlsTst, RamTst. If DET is OFF, then it is not checking whether driver is initialized or not.
Module main functions shall return immediately if the driver is not initialized.If DET is OFF, main functions are not checking whether driver is initialized or not.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-914FlsTstMain Functions are executed even if the driver is not initializedAccording to the requirements from Autosar:

_[If a Main function of a un-initialized module is called from the BSW Scheduler, then it shall return immediately without performing any functionality and without raising any errors.]_

But this requirement is violated in the main functions of the drivers CAN, FLS, SPI CorTst, FlsTst, RamTst. If DET is OFF, then it is not checking whether driver is initialized or not.
Module main functions shall return immediately if the driver is not initialized.If DET is OFF, main functions are not checking whether driver is initialized or not.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-913FLSMain Functions are executed even if the driver is not initializedAccording to the requirements from Autosar:

_[If a Main function of a un-initialized module is called from the BSW Scheduler, then it shall return immediately without performing any functionality and without raising any errors.]_

But this requirement is violated in the main functions of the drivers CAN, FLS, SPI CorTst, FlsTst, RamTst. If DET is OFF, then it is not checking whether driver is initialized or not.
Module main functions shall return immediately if the driver is not initialized.If DET is OFF, main functions are not checking whether driver is initialized or not.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-911ETHIssues with ETH user manualsFollowing issues are present in ETH user manuals AUTOSAR_ETH_Component_UserManual.pdf and AUTOSAR_ETH_Tool_UserManual.pdf

1. Revision format is not correct in page 54 of EUM and 34 of TUM. Correct format is 'Rev.X.XX'.
2. Numbering is not proper for pages 51, 52 and 53. Current order is 51, 50 , 50.
1. Revision format should be 'Rev.X.XX
2. Page Numbers should be in order.
1. Revision format is 'Rev.X.X.X
2. Page Numbers are in not in order.
DocumentClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-873CorTstMain Functions are executed even if the driver is not initializedAccording to the requirements from Autosar:

_[If a Main function of a un-initialized module is called from the BSW Scheduler, then it shall return immediately without performing any functionality and without raising any errors.]_

But this requirement is violated in the main functions of the drivers CAN, FLS, SPI CorTst, FlsTst, RamTst. If DET is OFF, then it is not checking whether driver is initialized or not.
Module main functions shall return immediately if the driver is not initialized.If DET is OFF, main functions are not checking whether driver is initialized or not.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-629RamTstRamTstStartAddress and RamTstEndAddress range and validation are not taken care in implementation1) As the hardware user manual(r01uh0517ej0100_rh850p1x-c_Open.pdf)
P1H-C(4MB) applicable range of RAM are :
1) Local RAM PE2 range 0xFE9F0000 - 0xFE9FFFF
2) Local RAM PE1 range 0xFEBF0000 - 0xFEBFFFF
3) Local RAM Self range 0xFEDF0000 - 0xFEDFFFF
4) Global RAM Self range 0xFEE88000 - 0xFEF77FFF

Similarly P1H-CE and P1M-C applicable ranges are different. This should be taken care in PDF or tool code.

2)Also , for each of the devices the Local RAM PE2 , Local RAM PE1,Local RAM Self ,Global RAM Self, ERAM BankA and ERAM BankB -(Not applicable for P1M-C) areas are not Consecutive.
So validation among these section is needed.


As per the descriptionNot as per the descriptionGenerator, PDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-626RamTstMacro generation from parameter RamTstMaxNumberOfTestedCells is wrongAfter many test of different configurations in ECU_Spectrum, it is identified where the value of "RAMTST_MAX_TESTED_CELLS" comes from:

It comes from the configuration of RamTstAlgParamX->RamTstMaxNumberOfTestedCells, and it will only be changed if the RamTstMaxNumberOfTestedCells value changed in the last RamTstAlgParamx, no matter this RamTstAlgParamX is DESTRUCTIVE or NON_DESTRUCTIVE (X = 0,1,2...).

This means if user configures two or more RamTstAlgParam, like RamTstAlgParam0, RamTstAlgParam1, RamTstAlgParam2, so RamTstAlgParam2 is the last one being configured, then:
RAMTST_MAX_TESTED_CELLS = RamTstAlgParam2->RamTstMaxNumberOfTestedCells.
As per deisgn/implementation RAMTST_MAX_TESTED_CELLS is used to specify the buffer size that is used to save and restore data for NON_DESTRUCTIVE test block. Hence, the value of RAMTST_MAX_TESTED_CELLS should be the MAX{RamTstAlgParamX->RamTstMaxNumberOfTestedCells} when RamTstAlgParamX is NON_DESTRUCTIVE.RAMTST_MAX_TESTED_CELLS is generated from the last RamTstAlgParamX->RamTstMaxNumberOfTestedCells, without checking DESTRUCTIVE / NON_DESTRUCTIVE attribute of the test block.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-623PORTWrong value in the enumeration for PortInputSelection on JTAG PinsEnumeration values of PortInputSelection shall be as per the device manual.Enumeration values of PortInputSelection on JTAG Pins shall as per device manualWrong value in the enumeration for PortInputSelection on JTAG PinsPDFClosedVer4.02.00.DVer4.00.00Bug
28480ARDAAAF-615ADCCAN-ENTER-EXCLUSIVE-AREA-REF tag is missing in the BSWMDTcanEnterExclusiveArea is required inside the entity in BSWMDT, if the referenced exclusive area is used in the entity's code.
The entity can be BswCalledEntity, BswSchedulableEntity or BswInterruptEntity.

*Expected behaviour:*

<BSW-INTERNAL-BEHAVIOR UUID="ECUS:951843a9-6848-4a8d-869a-7b29a87158fa">
<SHORT-NAME>BswInternalBehavior_0</SHORT-NAME>
<EXCLUSIVE-AREA UUID="ECUS:1b965de4-5e4a-49d8-a4cb-e7782386f347">
<SHORT-NAME>VARIABLE_PROTECTION</SHORT-NAME>
</EXCLUSIVE-AREA>
</EXCLUSIVE-AREAS>
<ENTITYS>
<BSW-INTERRUPT-ENTITY UUID="ECUS:8d9d01cd-59a4-4f9d-a0c5-a46966e1b2ad">
<SHORT-NAME>BswInterruptEntity_1</SHORT-NAME>
<CAN-ENTER-EXCLUSIVE-AREA-REFS>
<b><CAN-ENTER-EXCLUSIVE-AREA-REF DEST="EXCLUSIVE-AREA">/Renesas/EcucDefs_Mcu/Mcu/BswInternalBehavior_0/VARIABLE_PROTECTION</CAN-ENTER-EXCLUSIVE-AREA-REF></b>
</CAN-ENTER-EXCLUSIVE-AREA-REFS>
<IMPLEMENTED-ENTRY-REF DEST="BSW-MODULE-ENTRY">/ArPackage_0/MCU_FEINT_ISR</IMPLEMENTED-ENTRY-REF>
<INTERRUPT-CATEGORY>CAT-1</INTERRUPT-CATEGORY>
<INTERRUPT-SOURCE>INTLVI</INTERRUPT-SOURCE>
</BSW-INTERRUPT-ENTITY>
See descriptionActual behaviour:

<BSW-INTERNAL-BEHAVIOR UUID="ECUS:951843a9-6848-4a8d-869a-7b29a87158fa">
<SHORT-NAME>BswInternalBehavior_0</SHORT-NAME>
<EXCLUSIVE-AREA UUID="ECUS:1b965de4-5e4a-49d8-a4cb-e7782386f347">
<SHORT-NAME>VARIABLE_PROTECTION</SHORT-NAME>
</EXCLUSIVE-AREA>
</EXCLUSIVE-AREAS>
<ENTITYS>
<BSW-INTERRUPT-ENTITY UUID="ECUS:8d9d01cd-59a4-4f9d-a0c5-a46966e1b2ad">
<SHORT-NAME>BswInterruptEntity_1</SHORT-NAME>
<IMPLEMENTED-ENTRY-REF DEST="BSW-MODULE-ENTRY">/ArPackage_0/MCU_FEINT_ISR</IMPLEMENTED-ENTRY-REF>
<INTERRUPT-CATEGORY>CAT-1</INTERRUPT-CATEGORY>
<INTERRUPT-SOURCE>INTLVI</INTERRUPT-SOURCE>
</BSW-INTERRUPT-ENTITY>
PDFClosedVer4.02.00.DE4.40, Ver4.00.00Bug
29253ARDAAAF-614ADCLD file entry missing for proper variable initializationEntry in linker directive files is missing for initialization of driver variables. Bug is valid for FLS module. And bug might become valid if an existing ld file is extended by further modules.
Correct variable initialization.
Entry shall exist in all ld files for the case a user builds up his configuration on an arbitrary ld file out of MCAL package.
During startup the initial values are not copied from ROM to RAM which causes malfunction.CodeClosedVer4.02.00.DE4.40, Ver4.00.00Bug

ARDAAAF-612SPIMixed DMA / non-DMA operation not possible1.Data transmission is not successful using DMA when the configuration is having external devices configured to use DMA, and another ones, which are not using DMA.
2.Unwanted message INF083008 occurs when DMA is configured.
It should be possible at the same time to have external devices configured to use DMA, and another ones, which are not using it.1.Data transmission is not successful using DMA when the configuration is having external devices configured to use DMA, and another ones, which are not using DMA.
2.Unwanted message INF083008 occurs when DMA is configured.
DocumentClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-606ADCAppended '0' in the Module short name shall be removed from Config.xml fileAdapt all config.xml by deleting the '0' as a default from the module short name to avoid inconsistencies when generating a configuration created by an AUTOSAR compliant configuration tools.
Module short name need not have a '0' appended.'0' must be appended with module short name for successful generation.GeneratorClosedVer4.02.00.DE4.40, Ver4.00.00Bug
30094ARDAAAF-605SPILoss of data configuration when using NULL_PTR as source pointer.Problem Description:
When FIFO mode is configured and if the number of buffers is greater than 128 and NULL pointer is used as source address for SPI_Setup_EB i.e,transmitting Default data, Then after 128 bytes the data received is 0.



The default data should be received for the configured number of buffers.Data is received as 0 after 128 bytes.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-592ETHEth_59.c should include Schm_Eth.h fileAs per Autosar requirement (Figure 5.1 Ethernet Driver file structure) Eth_59.c should include Schm_Eth.h file. But in Ecode Schm_Eth.his not included in Eth_59.cAs per Autosar requirement (Figure 5.1 Ethernet Driver file structure) Eth_59.c should include Schm_Eth.h file.Schm_Eth.his not included in Eth_59.cCode, DocumentClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-590ETHDummy Read and SYNCP execution required for level triggered interruptsFor interrupts having detection at level, an interrupt source is cleared by accessing to the register that retains an interrupt source. Dummy-reading of the register and execution of the SYNCP instruction are required to reflect the result of the register update to the subsequent
instruction.
Dummy read and SYNCP execution required for level triggered interruptsDummy read and SYNCP execution is not implemented for all level triggered interruptsCodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-586CorTstCORTST_NUM_TEST_AVAILABLE macro shall always be generated as Total availble test modules.CORTST_NUM_TEST_AVAILABLE shall print the maximum availabilty of ST modules among different ConfigSet .

CORTST_NUM_TEST_AVAILABLE is printed with the value of the latest test config only. For example,

CASE 1
If Test config 0 -> all modules set to TRUE.
then value printed fro CORTST_NUM_TEST_AVAILABLE is '89'.

CASE 2
If Test config 0 -> all modules set to TRUE.
If Test config 1 -> Only Module1 and Module2 are set to true, then value printed fro CORTST_NUM_TEST_AVAILABLE is '2'.
CORTST_NUM_TEST_AVAILABLE shall print the maximum availabilty of ST modules among different ConfigSet.CORTST_NUM_TEST_AVAILABLE is printed with the value of the latest test config only.GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-583FlsTstUnused type definitions and variable declarations in EcodeSome of the variables and user defined types are not using in Ecode.

a. Struct FlsTst_TestCompleteNotifyFuncType in FlsTst_LTTypes.h
b. FlsTst_GstTestCompleteNotifyFunc in FlsTst_LTTypes.h
c. FlsTst_GstFlsTstBlockBgndConfig and FlsTst_GstFlsTstBlockFgndConfig in FlsTst_PBTypes.h
Ecode doesn't have unused variablesNACodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-582FrThe integrator of the FlexRay modules shall provide the file Fr_GeneralTypes.h.As per Autosar Requirement FR455: The integrator of the FlexRay modules shall provide the file Fr_GeneralTypes.h.

But We are also providing Fr_GeneralTypes.h, along with the Ecode.
The integrator of the FlexRay modules shall provide the file Fr_GeneralTypes.h.

Fr_GeneralTypes.h shall contain all types and constants that are shared among the AUTOSAR FlexRay modules Fr, FrIf and FrTrcv
Fr_GeneralTypes.h is also providing with Ecode.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-569SPIAll registers used in SPI driver are not set by Spi_Init function and Spi_DeInit functionAll registers used in SPI driver are not set by Spi_Init function and Spi_DeInit functionAll registers used in SPI driver should be set by Spi_Init function and Spi_DeInit function.All registers used in SPI driver are not set by Spi_Init function and Spi_DeInit functionCodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-559FLSRegister Write Verify enhancement for FLSThis ticket is a feature request for the following.
Write verify by MCAL driver:
1. Verification of the control register's write operation straight-away after write operation.
2. After writing to control registers, the content of the registers are read back and verified against the written value to make sure that value has been written correctly.
The requirements related to this feature are present in the General MRS (version 1.7) : EAAR_PN0034_FSR_0001, EAAR_PN0034_FSR_0002, EAAR_PN0034_FSR_0003, EAAR_PN0034_FSR_0004
New requirement for Register Write VerifyNo requirement in MRS for register read backCode, PDFClosedVer4.02.00.DVer4.01.00Feature

ARDAAAF-557FLSNon effective IF condition checkIn Fls.c, in line numbers 672(expr 1 ((A||B) ||C)): B is NOT EFFECTIVE, in line numbers 466(expr 1 ((A||B) ||C)): B is NOT EFFECTIVE,
In line numbers 1997(expr 1 (A||B)), A is NOT EFFECTIVE. The mentioned NOT EFFECTIVE check is "(TargetAddress < FLS_DF_SECTOR_START_ADDRESS)" which cannot be covered in Unit Testing due to the preceding if condition "if (TargetAddress > FLS_DF_TOTAL_SIZE)".
The NOT EFFECTIVE condition shall be removed.The NOT EFFECTIVE condition is present and 100% code coverage fails while Unit Testing.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-548FLSFls_Suspend API should check against current command.Fls_Suspend should check against current command.
Only Erase and Write operations can be suspended in this FLS driver.
Fls_Suspend should check against current command.Fls_Suspend does not check against current command. Suspension of only erase and write operations are possible.CodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-546FLSRandom behaviour of Fls_Suspend and Fls_Resume API's in interrupt modeErase and write job are not properly suspended or resumed during interrupt mode. This is caused due to timing issues because of delay during mode switching from PE mode to user mode.Fls_Suspend and Fls_Resume API's should work properly in interrupt mode.Please refer the description.Code, DocumentClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-542FLSIncorrect path in the generator error mesage for ERR092040For validation of generator error message ERR092040.

"ERR092040: The value configured for the parameter FlsTimeOutCountValue in the container FlsConfigSet should be same across the multiple configuration set."

We are providing the value of the parameter FlsTimeOutCountValue as 10000 for config set 0 and 20000 for config set 1 and 2 so that the error message is obtained for config set 1 and 2.
ERR092040: The value configured for the parameter FlsTimeOutCountValue in the
container 'FlsConfigSet' should be same across the multiple
configuration set
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet1
ERR092040: The value configured for the parameter FlsTimeOutCountValue in the
container 'FlsConfigSet' should be same across the multiple
configuration set
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet2
ERR092040: The value configured for the parameter FlsTimeOutCountValue in the
container 'FlsConfigSet' should be same across the multiple
configuration set
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet0
ERR092040: The value configured for the parameter FlsTimeOutCountValue in the
container 'FlsConfigSet' should be same across the multiple
configuration set
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet0

Due to this the generator test gets failed as the error message is not obtained with the expected path.
GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-540FLSIncorrect path in the generator error mesage for ERR092039For validation of generator error message ERR092039.

"ERR092039: The value configured for the parameter FlsCallCycle in the container FlsConfigSet should be same across the multiple configuration set."

We are providing the value of the parameter FlsCallCycle as 0.0001 for config set 0 and 0.000001 for config set 1 and 2 so that the error message is obtained for config set 1 and 2.
Expected error message:
ERR092039: The value configured for the parameter FlsCallCycle in the container
'FlsConfigSet' should be same across the multiple configuration set.
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet1
ERR092039: The value configured for the parameter FlsCallCycle in the container
'FlsConfigSet' should be same across the multiple configuration set.
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet2
ERR092039: The value configured for the parameter FlsCallCycle in the container
'FlsConfigSet' should be same across the multiple configuration set.
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet0
ERR092039: The value configured for the parameter FlsCallCycle in the container
'FlsConfigSet' should be same across the multiple configuration set.
File Name:
TestCaseSeed1\GeneratorTest\cfg001\description.arxml
Path: /Renesas/EcucDefs_Fls/Fls0/FlsConfigSet0

Due to this the generator test gets failed as the error message is not obtained with the expected path.
GeneratorClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-519MCUECM (Error Control Module) Register configuration initialization should be done in Mcu_Init() API.The ECM configuration setting initialization should be done in Mcu_Init() API.The ECM configuration setting initialization should be done in Mcu_Init() API.
The ECM configuration setting initialization is done in Mcu_InitRamSection()CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-505MCUClock Monitoring Accuracy Parameter does not accept float values.The MCU driver configuration only accepts integers for the clock monitoring accuracy (e.g. /Renesas/EcucDefs_Mcu/Mcu/McuGeneralConfiguration/McuClm0MonitoringClockAccuracy).
There is nothing in the hardware manual that indicates that this needs to only be integer values for the calculations of the limits/boundaries. This presents a problem because some MainOsc clock tolerance is significantly less than 1 (0.0173 percent). If we have to increase this to the next closest integer(1), this produces upper and lower bounds that are wider than desired or needed.
The MCU driver configuration should accept float values for the clock monitoring accuracy and manipulate the hardware registers according to Floating valuesThe MCU driver configuration only accepts integers for the clock monitoring accuracyPDFClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-500FrArgument "Fr_output_table_content_ptr" of API Fr_59_Renesas_Output_Transfer_Disable should be removedAPI argument Fr_output_table_content_ptr is not used in function Fr_59_Renesas_Output_Transfer_Disable and it should be removed.API Fr_59_Renesas_Output_Transfer_Disable does not have parameter Fr_output_table_content_ptrAPI Fr_59_Renesas_Output_Transfer_Disable does have parameter Fr_output_table_content_ptrCodeClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-489SPIWrong data transmission in direct access mode during asynchronous transmission by polling mechanismDuring asynchronous transmission by polling mechanism in direct access mode,in Spi_HWMainFunction_Handling Function,an unintended data-transmission/reception occurs
if RFCSIHnIC flag is set (transmission occurs) after checking the interrupt request flag (RFCSIHnIC) of transmission.
Wrong data transmission in direct access mode during asynchronous transmission by polling mechanismWrong data transmission will occur in direct access mode during asynchronous transmission by polling mechanism if if RFCSIHnIC flag is set (transmission occurs) after checking the interrupt request flag (RFCSIHnIC) of transmission.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-487SPIIllegal register access in Spi_HWWriteIB functionAs per Hardware User manual following registers cannot be accessed under following conditions:

CSIHnTX0W register:

While CSIHnCTL0.CSIHnPWR = 0 and FIFO mode is on, reading and
writing these bits are prohibited.

CSIHnMRWP0 register:

Writing these bits is prohibited in direct access or FIFO mode.

As per current implementation,for dual buffer mode or transmit-only buffer mode,
in Spi_HWWriteIB function,

'CSIHnTX0W' register and 'CSIHnMRWP0' register are written under following
prohibited condition:


CSIHnCTL0.CSIHnPWR = 0 and

CSIHnMCTL0.CSIHnMMS[1:0] = 1F(FIFO mode is on)

Registers should be accessed under the allowed conditions as per hardware user manual.Registers are accessed under prohibited conditions as per hardware user manual.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-478SPIChip select bit is not set in case of DMA mode.CSIHnCS[7:0] bits of CSIHnTx0W register Activates one or several chip select signals. This bit have to be set based on the configured values.
But in the driver code this bits are not set for FIFO mode and Direct Access Mode in case of LddNoOfBuffers is equal to one when DMA mode is configured.
Configured Chip Select should be set in CSIHnTx0W register.CS bit is not set in case of DMA mode configured.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-469WDGPrecision of WDG usSlowTimeValue and usFastTimeValue is very low.The generated value of usSlowTimeValue and usFastTimeValue is very low so that Wdg_59_DriverA_GusTiggerCounter value will not be calculated correctly and the timeout
generated by WDG is not correct.
eg:
The usSlowTimeValue value generated for various WdgClkSettingsSlow at 8Mhz are listed below

WdgClkSettingsSlow usSlowTimeValue
WDGCLK_DIVBY_2POWOF_9 1
WDGCLK_DIVBY_2POWOF_10 1
WDGCLK_DIVBY_2POWOF_11 1
WDGCLK_DIVBY_2POWOF_12 1
WDGCLK_DIVBY_2POWOF_13 1
WDGCLK_DIVBY_2POWOF_14 1
WDGCLK_DIVBY_2POWOF_15 3
WDGCLK_DIVBY_2POWOF_16 6
usSlowTimeValue/usFastTimeValue should be generated with different values for different WdgClkSettingsSlow value.usSlowTimeValue/usFastTimeValue are generated with same value for certain WdgClkSettingsSlow value.Code, GeneratorClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-465PORTThe Parameters used in PDF is inconsistent with Hardware user manual.The Parameters used in PDF is inconsistent with Hardware user manual.
For Example:
There is a correction in port PDF R403_PORT_P1X-C_70A_71_72.arxml.
As per Hardware user manual, (Section: 2.2.3 Pin Function assignments)

1.In PDF PortGroup2, PortPin14, PortPinInitialMode CSIH0SCO_ALT3_OUT configuration is not possible.
2.GTMAT0O6 for Alternate mode 2 output is missing in container PortGroup3 Portpin4 PortPinInitialMode.
3.GTMAT0O7 for Alternate mode 2 output is missing in container PortGroup3 Portpin5
4.ETH0TXEN is in Alternate mode 2 output - in container PortGroup3 Portpin14
5.GTMAT0O7 for Alternate mode 2 output is missing in container PortGroup3 Portpin5
6.FLXNTU for Alternate mode 2 output is missing in container PortGroup4 Portpin12
7.CSIH0CSS1 is Alternate mode 2 output not input in 3 PortGroup5 Portpin1
8.CSIH3SCO is in Alternate mode 2 output not in 3 PortGroup6 Portpin10
9.CSIH3CSS0 is in Alternate mode 2 output not in 3 PortGroup6 Portpin11
10.FLX1TXDB is in Alternate mode 2 output not in 3 PortGroup7 Portpin3
The Parameters used in PDF is should be consistent with Hardware user manual
1.As per the hardware user manual, In PDF PortGroup2, PortPin14, PortPinInitialMode CSIH0SCO_ALT3_OUT configuration is not possible, so it need to be remove from container PortGroup2_PortPin14_PortPinInitialMode.
2.GTMAT0O6 for Alternate mode 2 output is missing in container PortGroup3 Portpin4 PortPinInitialMode. So this mode need to be add in PDF.
etc..
The Parameters used in PDF is inconsistent with Hardware user manual.PDFClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-452PORTWrong naming used for PortPinInitialModeFollowing points of the parameter PortPinInitialMode shall be checked in the PDF and shall be corrected if needed.
1. Wrong naming in PDF for certain port pin initial modes
a. Initial mode name mismatch with the device manual
b. Incorrect naming convention [supported registers names are not given correctly in the initial mode names]
2. Duplicate entries of initial modes [an initial mode is added more than once for a port pin]
3. Missing initial modes [the initial mode is not added in the PDF, But it is present in the Hardware Manual]
4. Invalid initial modes [a. the initial mode added in PDF, But it is not present in the Hardware Manual, b. initial mode name is given as 'NOT_SUPPORTED' instead of 'ALT_NOT_SUPPORTED']

Note: The naming of Port Pin Initial Modes for all pins shall be checked.

Naming of alternative modes shall be correctly followedNaming of certain alternative modesPDFClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-450SPIConfirming CSIG/HnSTR0 registers is done before completion of ReceptionThe parity bit is checked after reception is complete.In case of parity error:
 Interrupt INTCSIHTIRE is generated.
 Bit CSIHnSTR0.CSIHnPE is set.
But CSIG/HnSTR0 register is checked for errors before reception.

Also in case of any of hardware errors Communication should not be continued.In function Spi_HWTransmitSyncJob even after E_NOT_OK the execution continues.
CSIG/HnSTR0 have to be checked after Reception.Check for Parity error is done before reception and execution continues after reporting error.CodeClosedVer4.02.00.DVer4.00.00Bug
26249ARDAAAF-446DIOThe channel group not validated correctly in Dio_ReadChannelGroup/Dio_WriteChannelGroup APIsProblem Description:
Functional argument pointer 'ChannelGroupIdPtr' is checked only against NULL_PTR in Dio_ReadChannelGroup/Dio_WriteChannelGroup APIs and it is not validated properly to report DIO_E_PARAM_INVALID_GROUP.

Currently, if wrong or out-of-bound address is passed (Ex: If Dio_GstChannelGroupData[] size is 4 i.e. 0-3 and if &Dio_GstChannelGroupData[4] is passed by mistake), the NULL_PTR condition check is unable to catch this and the API proceeds for further processing instead of reporting DET DIO_E_PARAM_INVALID_GROUP.

While doing further processing the behaviour might be un-predictable.
The channel group needs to be validated to report DET and it shall not do any further processing detecting DET.The channel group is not validated to report DET and it shall do further processing even during development error condition.Code, Generator, Test, DocumentClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-443SPIPointer arithmetic applied to Null PointerPointer ' pStatusArray ' in Spi_PBcfg.c is generated as null pointer when same jobs are not shared in different sequences.

But in code pointer arithmetic is applied to ' pStatusArray ' without checking if pStatusArray is a NULL_PTR.


Check for null pointer should be added before pointer arithmetic is applied to ' pStatusArray '.Pointer arithmetic should not be applied to Null PointerCodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-442FLSUser Manual updateThe Following findings has to be resolved:
1. Autosar SWS document shall be given in the function definitions as reference.
A cross-reference to the document in Chap. 2 is to be provided here.

2. The wording "The processing of blank check operation will be applicable for Data flash."
should be revised as
"The processing of blank check operation is applicable for Data flash only. "

3. "The component will support only the user mode of flash memory. Internal mode is not in the scope of this implementation." shall be removed.
This statement is related to Code Flash programming, hence not applicable for FLS here (DF only) and shall be removed to avoid confusing.

4. "During activated flash environment ..." should be revised as follows.
During activation of flash environment (in Fls_Init), the access to Code Flash is not possible.
Hence, the user should ensure that all the application and supporting components code that needs to be executed during flash operation need to locate in RAM.

5. "... During activated flash environment, the interrupt vector address ..."
should be revised as follows.
During activation of flash environment (in Fls_Init), the interrupt vector address ...(The rest contents can remain unchanged.)

6. "The FLS Driver Component will only invoke the call back notification functions ..."
should be revised as follows.
The FLS Driver Component can invoke user configurable call-back notification functions ... (The rest contents can remain unchanged.)

7. "User application shall not program Code Flash during system runtime. From safety point of view FLS module in AUTOSAR BSW shall not include Code Flash programming functionality and shall support FLS Data Flash access only.
Note: Flash boot loader is so far out of scope of AUTOSAR.
User is responsible to verify and use FLS driver with proper configurations according to use-cases. "
should be revised as follows.
"User application shall not program Code Flash in the application mode. Code Flash shall only be programmed in safe environment in the boot mode. User application shall not write safety related data into Code Flash or Data Flash during driving cycle for safety critical applications."

8. A new item must be added in Chap. 4.2 right before "Due to the above shown limitations ..."
Due to RV40 Flash technology, hardware will implicitly reject the write operation if the target Flash cells are not blank (a kind of "overwriting guard"). Writing to non-blank Flash cells will result in write error.

9. The following information should be added to the item starting with "The Fls_MainFunction should be invoked regularly ..."
Calling Fls_MainFunction in the interrupt mode of FLS will not perform the substantial Flash operations; it will be executed as dummy function, except that the timeout supervision will be performed within the Fls_MainFunction call if timeout monitoring is enabled.

10. The following item shall be removed.
"Standby is allowed but both instances have to consider that wakeup is required before continuing. "
Standby is not supported in FLS driver.

11. The redundant item as follows shall be removed.
"If a cancel request is accepted, during an on-going write or erase operation and a previous operation is already suspended, then both operations will be cancelled. "
This item duplicates itself in Chap. 4.2.

12. The item "Cancel and suspend/resume operations are not allowed in case of two instances as the effect is not evaluated."
shall be revised as follows.
"Cancel and suspend/resume operations are not allowed in case of two instances of FLS Driver Component as the effect is not evaluated."

13. The last item in Chap. 4.2 "... busy or Reinitialize the FLS module with proper CPU frequency value."
shall be revised as follows.
"... busy or Cancel the ongoing operation and reinitialize the FLS module with proper CPU frequency value."

14. The wording shall be consistent. Ongoing instead of on-going should be used in the document.
User manual has to be updated and modified as per description.User manual is lacking information as mentioned in description.DocumentClosedVer4.02.00.DVer4.01.00Bug

ARDAAAF-441SPIWhen multiple chip selects are configured ,all CSIHn configuration registers which corresponds to configured chip selects are not set.In Spi_ProcessChannel function,when multiple chip selects are configured ,all CSIHn configuration registers which corresponds to configured chip selects
are not set.Only the CSIHnCFGx register of the chip select configured first is set.


When multiple chip selects are configured ,all CSIHn configuration registers which corresponds to configured chip selects should be set.When multiple chip selects are configured ,all CSIHn configuration registers which corresponds to configured chip selects are not set.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-440SPIGlobal variable 'Spi_GusDataAccess' used in both synchronous and asynchronous communication creates conflict.Global variable Spi_GusDataAccess is used as a temporary received-data storage-location
when the data has extended data length.

Spi_GusDataAccess is used in the following functions:

Spi_HWTransmitSyncJob(synchronous communication) and

Spi_ReceiveISR(asynchronous communication)

Different variables should be used in synchronous and asynchronous
communications respectively to avoid conflict.
Different variables should be used in synchronous and asynchronous
communications respectively to avoid conflict.
Global variable 'Spi_GusDataAccess' used in both synchronous and asynchronous communication creates conflict.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-436SPISpi_GaaJobResult is not always set as SPI_JOB_QUEUED for all jobs in Spi_PushToQueue function.In Spi_Driver.c, in Spi_PushToQueue function, Spi_GaaJobResult is not set as SPI_JOB_QUEUED for jobs which are pushed in to job queue .

Steps to reproduce:

Sequence1 : Job1 (SpiJobPriority =0) and Job2 (SpiJobPriority =1)
Sequence2 : Job3 (SpiJobPriority =1) and Job4 (SpiJobPriority =3)
Sequence3 : Job0 (SpiJobPriority =2) and Job5 (SpiJobPriority =3)

Call Spi_AsyncTransmit function in following order:

Spi_AsyncTransmit(Spi_SpiSequence3)
Spi_AsyncTransmit(Spi_SpiSequence2)
Spi_AsyncTransmit(Spi_SpiSequence1)

Spi_GaaJobResult is not set as SPI_JOB_QUEUED for jobs of Sequence2 and Sequence1.

Spi_GaaJobResult should be set as SPI_JOB_QUEUED for all jobs in Spi_PushToQueue function.Spi_GaaJobResult is not always set as SPI_JOB_QUEUED for all jobs in Spi_PushToQueue function.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-433SPIAll the interrupts must be disabled in case of polling modeIn Spi_HWDisableInterrupts function is is for disabling all interrupts in case of polling mode.
But the error and cancel interrupts are not disabled.
All the interrupts must be disabled in Spi_HWDisableInterrupts function.
RH850_SV_MODE_ICR_AND shall be added for pErrorIntCntlAddress and pTxCancelIntCntlAddress.
The error and cancel interrupts are not disabled.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-431SPIReserved bits of IO register should be set to the value after reset.When writing in to the reserved bits, it is necessary to write the value after reset .
Eg:
Bit 30 in CSIGnTX0W register should not be set to be set to 1, it is valid only for CSIHnTX0W register( EOJ bit).

Also there exists a note in UM, that Operation is not guaranteed if CSIHnTX0W.CSIHnEOJ and CSIHnTX0W.CSIHnEDL are simultaneously set to "1" while CSIHnCTL1.CSIHnJE = 1 and CSIHnCTL1.CSIHnEDLE = 1. But in driver code these bits are being set simultaneously.
Eg:(Ref: Spi_ProcessChannel)
Reserved bits of the registers must be set with the value after reset only.Reserved bits of the registers are set with the value other than reset value.CodeClosedVer4.02.00.DVer4.00.00Bug

ARDAAAF-368LINInterrupts shall be disabled before operating IMR register* When modifying the IMR registers interrupts must be disabled.IMR registers modification shall be protected as critical sectionIMR registers modification is not protected with critical sectionCode, DocumentClosedVer4.02.00.DE4.40, Ver4.00.00Bug
29532ARDAAAF-317MCUIn definition file Mandatory parameter's Lower and Upper multiplicity values are not taken care properlyProblem Description:
In definition .arxml file Mandatory parameter's Lower and Upper multiplicity value should be one.
parameters are McuLoopCount and McuPbusWaitCount.

example:
In Mcu_PBTypes.h MCU_PBUSWAITCOUNT is define with MCU_PBUSWAITCOUNT_VALUE and is used in Mcu.c file
If McuPbusWaitCount value is not set, In Mcu_Cfg.h for MCU_PBUSWAITCOUNT_VALUE will not be generated any value:
In PBcfg.h file
/* Pbus Count Value for the MCU_PBUSWAITCOUNT */
#define MCU_PBUSWAITCOUNT_VALUE

Compile will failed with following error:
{error}
Mcu_TS_T17D18M4I1R0\src\Mcu.c", line 5139: error #29:
expected an expression LusPbuscount = MCU_PBUSWAITCOUNT;

Expected Behavior:
<!-- PARAMETER DEFINITION: McuPbusWaitCount -->
<ECUC-INTEGER-PARAM-DEF UUID="ECUS:dbeafba1-bfaf-4ca0-8572-235f3c9b9b35">
<SHORT-NAME>McuPbusWaitCount</SHORT-NAME>
<DESC>
<L-2 L="EN">The parameter represents the PBus access wait time.The loop can be minimum 1 to maximum 65535</L-2>
</DESC>
<LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
<UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>

Actual Behavior:
<!-- PARAMETER DEFINITION: McuPbusWaitCount -->
<ECUC-INTEGER-PARAM-DEF UUID="ECUS:dbeafba1-bfaf-4ca0-8572-235f3c9b9b35">
<SHORT-NAME>McuPbusWaitCount</SHORT-NAME>
<DESC>
<L-2 L="EN">The parameter represents the PBus access wait time.The loop can be minimum 1 to maximum 65535</L-2>
</DESC>
<LOWER-MULTIPLICITY>0</LOWER-MULTIPLICITY>
<UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>


Generator, PDFClosedVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug
25595ARDAAAF-277ETHCAM Function not working as per UMi.  Problem description
As per r01uh0490ej0050_rh850p1x-c.pdf section 21.4.33 CAM Function multicast messages accepted and rejected as per MCTm value.
ii.  Expected behavior
The code is behaving like to that is explained in UM
iii. Actual behavior
The code is behaving opposite to that is explained in UM
The code is behaving like to that is explained in UMThe code is behaving opposite to that is explained in UMCodeClosedVer4.02.00.DVer4.01.00Bug
25403ARDAAAF-271LINSample application not run without a delay before frame transmissioni.  Problem description
Sample application fail if run without a delay before frame transmission
ii.  Expected behavior
Sample application should pass if run without a delay before frame transmission as it is in the existing sample application
iii. Actual behavior
LIN_TX_HEADER_ERROR reported instead of LIN_TX_OK if run without a delay before frame transmission
n/an/aCodeClosedVer4.02.00.DE4.40, Ver4.00.00Bug

12 - P1xC_FixedIssues_Ver4.02.01.D

Renesas Electronics Europe GmbH JIRA

External issue IDKeyComponent/sSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sIssue Type

ARDAAAF-1210PORTRelease Notes for PORT moduleTicket for tracking following activities:

1. Release note update
2. Safety Deviation report Preparation
3. Peer review
4. Peer review comment closure
5. Verification of the closure of Peer review comments
6. QA review
7. QA review comment closure
NANADocumentClosedVer4.02.01.DVer4.02.00.DImprovement

ARDAAAF-2414DIOUnused Macro definitions needs to be removed from TcodeDIO_MAXNOOFPORT, DIO_MAXNOOFCHANNEL, DIO_INVALID_CHANNEL_GROUP macros are not used in Ecode.
So, Tcode needs to be updated to remove this unwanted macro definitions.
NANACode, Test, DocumentClosedVer4.02.01.DVer4.02.00.D, Ver4.02.01Improvement

13 - P1xC_OpenMarket_KnownIssues_CW09_2017

P1x-C_OpenMarket_KnownIssuesList (Renesas Electronics Europe GmbH JIRA)
External issue IDKeyComponent/sSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sIssue Type

ARDAAAF-496GeneralDuplicate and missing entries in BSWMDT fileDuplicate and missing entries in BSWMDT fileNANAN/AAcceptanceVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-2067SPINaming convention wrong for 'usReserved1', member of structure Spi_CsihOsRegsIn Spi_LTType.h, inside Spi_CsihOsRegs, member usReserved1 is uint 32 type. Hence the member shall be renamed as ulReserved1
member usReserved1 is uint 32 type. Hence the member shall be renamed as ulReserved1
Naming convention wrong for 'usReserved1', member of structure Spi_CsihOsRegsCodeOpen
Ver4.01.00.001Bug

ARDAAAF-1877GeneralWrong User mode and Supervisor mode information in UsermanualAs per RH850/P1x-C Group user manual(6.4 Interrupt Controller Control Registers),Writing to the EICn and IMRm registers is enabled only in supervisor mode (PSW.UM = 0)and so if any of these registers are used by Driver API's for writing it should be accessed only in supervisor mode .Other API can be accessed in both User mode and Supervisory mode. This information is not correctly updated in "User Mode and Supervisor Mode" section of EUM .

Modules affected : FLS,SPI,ADC (Check the names of the API's Adc_EnableHwTrigger() and Adc_DisableHwTrigger),MCU,LIN and FR(No such table exist),ICU,PWM

Note: Description is edited as the issue was initially reported for FLS module only.
User mode and supervisor mode table in usermanual shall describe the APIs which can be run in user mode and supervisory mode."User Mode and Supervisor Mode" section of EUM is not updated correctlyDocumentDesignVer4.02.01.DVer4.01.00.001Bug

ARDAAAF-1641SPIDescription about hardware errors in SPI communication are not present in CUMGenerally, following types of errors can be detected for SPI communication :

Data consistency error (transmission data)
Parity error (received data)
Overrun error

1.There is no description for these errors in CUM.
2.Description of DEM error 'SPI_E_HARDWARE_ERROR' mention only about 'overrun error'.Other two hardware errors are not mentioned .

Description about all hardware errors and the information ,'how these errors are handled in MCAL', needs to be present in CUMDescription about hardware errors in SPI communication are not present in CUMDocumentDesignVer4.02.01.DVer4.01.00Bug

ARDAAAF-1833MCUCallback notifications should be generated on Mcu_Cbk.h filesAll callback notifications from maskable and non-maskable interrupts should be generated on Mcu_Cbk.h. Currently it is generated on Mcu_Cfg.h. Changes has to be made on tool code to move the call back functions from Mcu_Cfg.h to Mcu_Cbk.h file.See descriptionSee descriptionGeneratorDesignVer4.02.01.DVer4.01.00Bug

ARDAAAF-1994SPIUUIDs are not unique in BSWMDT fileIn BSWMDT file, UUIDs for certain elements are not unique.
If we are running AMDC tool with BSWMDT file, a warning with Rule A220 will be thrown:

Example:(FLS)
Rule A220: UUID 'ECUS:9b933fde-9d34-4dd0-863b-3c6c057abcfc' is not unique for 'BswCalledEntity_1'

All UUIDs should be uniqueAll UUIDs are not uniquePDFDesignVer4.02.01.DVer4.01.00.001Bug

ARDAAAF-1404FLSNon effective condition in the IF check in Fls.cIn Fls.c, the
conditions C1: ((TargetAddress - (uint32)FLS_DF_SECTOR_START_ADDRESS) > ((uint32)FLS_DF_TOTAL_SIZE - (uint32)FLS_ONE)) and the condition C2: (((TargetAddress - (uint32)FLS_DF_SECTOR_START_ADDRESS) + Length) >(uint32)FLS_DF_TOTAL_SIZE) in Fls_Write API are not covered in UT. Also Functional test cases shall be improved for DET checks.
NANACode, DocumentDesignVer4.02.01.DVer4.01.00Bug

ARDAAAF-1874PWMThe result of multiplication can cause overflow, when (same variable type) two 32bit variables multiplied[PWM] In Pwm_HW_CalculateDuty() Api Two 32bit variables are multiplied,So this expression is done 32bit calculation.

For example :
At line 1181 of Pwm_LLDriver.c calculates bellow:
LddAbsoluteDuty = ((LddAbsolutePeriod * LddRelativeDuty) >> PWM_DUTY_CALC_DIV);

Here LddAbsolutePeriod and LddRelativeDuty are 32bits.
The maximum number of LddAbsolutePeriod may be 4294967295 when TAUJ is used for PWM.
The maximum number of LddRelativeDuty may be 0x8000;

So this operation is done 32bit calculation and the result of this multiplication can be overflowed.
((LddAbsolutePeriod * LddRelativeDuty) >> PWM_DUTY_CALC_DIV);
Here LddAbsolutePeriod and LddRelativeDuty are 32bits and the result of this multiplication can be overflowed.

To avoid to overflow, at least, one of the lefter or righter expression of ‘*’ operator should be 64bit.
((LddAbsolutePeriod * LddRelativeDuty) >> PWM_DUTY_CALC_DIV);
Here LddAbsolutePeriod and LddRelativeDuty are 32bits and the result of this multiplication can be overflowed.
CodeDesignVer4.02.01.DVer4.01.00, Ver4.01.00.001Bug

ARDAAAF-2000SPIVariable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queuedGlobal variable 'Spi_GblQueueStatus' is used to store the status of job queue Spi_GaaJobQueue .

Before the queue is filled, status needs to be changed to SPI_QUEUE_FILLED.
If queue is empty status should be SPI_QUEUE_EMPTY.

But as per current implementation status of queue is not updated as SPI_QUEUE_FILLED after following line inside Spi_scheduler.c , inside function Spi_PushRemainingJobsToQueue:


{code:java}
if (SPI_QUEUE_EMPTY == Spi_GblQueueStatus[LucQueueIndex])
{
----------------------------
}

{code}

Global variable 'Spi_GblQueueStatus' should be updated correctlyVariable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queuedCodeDesignVer4.02.01.DVer4.01.00.001Bug
28702ARDAAAF-1393FLSAUTOSAR deviation regarding time-out monitoring is missing from user documentationProblem description:
Time-out monitoring is not implemented for Erase/Write operations. This is because Erase/Write commands are performed in interrupt mode also but all other commands are performed in polling mode only. But this is a violation of following AUTOSAR requirements.

<i>FLS272: If development error detection for the module Fls is enabled: the function Fls_MainFunction shall provide a timeout monitoring for the currently running job, that is it shall supervise the deadline of the read / compare / erase or write job.

FLS359: If development error detection for the module Fls is enabled: the function Fls_MainFunction shall check, whether the configured maximum erase time (see FLS298_Conf FlsEraseTime) has been exceeded. If this is the case, the function Fls_MainFunction shall raise the development error FLS_E_TIMEOUT.

FLS360: If development error detection for the module Fls is enabled: the function Fls_MainFunction shall check, whether the expected maximum write time (see note below) has been exceeded. If this is the case, the function Fls_MainFunction shall raise the development error FLS_E_TIMEOUT.</i>

But these violations are not documented properly in Usermanuals.
All autosar deviations shall be properly documented in UM to inform user.Deviation of FLS272,FLS359 and FLS360 are not mentioned in UM.DocumentDesignVer4.02.01.DVer4.01.00Bug

ARDAAAF-1826SPICSIHn Status Register is not cleared after data consistency error,which blocks SPI transmission using Spi_synchtransmit functionWhen Spi_Synchtransmit is called transmission is blocked under following conditions:

1.When data consistency error occurs CSIHnSRT0.DCE bit is set. and corresponding sequence is failed.
2.Then if same sequence or another sequence using same hardware unit is called , then
those sequences also report data consistency error even if the error is not triggered, because CSIHn Status Register is not cleared after data consistency error.
CSIHn Status Register should be cleared after data consistency errorCSIHn Status Register is not cleared after data consistency error,which blocks SPI transmission using Spi_synchtransmit functionCode, TestDesignVer4.02.01.DVer4.01.00.001Bug

ARDAAAF-1637GeneralViolation of Autosar requirement ecuc_sws_1014 is not documentedIt has been detected, that Autosar specification ecuc_sws_1014 is violated in our PDF files.
For F1x MCAL (except F1K), P1M and P1x-C this should not be corrected.
However, this limitation has to be added for these MCAL in the AUTOSAR_Modules_Overview document.
Violation of Autosar requirement ecuc_sws_1014 shall be mentioned in the documentation.Violation of Autosar requirement ecuc_sws_1014 is not mentioned in the documentationDocumentDesignVer4.02.01.DVer4.01.00Bug

ARDAAAF-2023LINUUIDs are not unique in BSWMDT fileIn BSWMDT file, UUIDs for certain elements are not unique.
If we are running AMDC tool with BSWMDT file, a warning with Rule A220 will be thrown:

Example:(FLS)
Rule A220: UUID 'ECUS:9b933fde-9d34-4dd0-863b-3c6c057abcfc' is not unique for 'BswCalledEntity_1'
To do AMDC check for BSWMDT files for all MCAL modules and make sure that all UUIDs are unique (Rule A220).All UUIDs should be uniquePDFDesignVer4.02.01.DVer4.01.00.001Bug

ARDAAAF-2063MCUPolyspace Red Warnings present in E-Code.There are red Polyspace warnings present in the E-Code.

According to the document 'Polyspace Autosar User Guidelines':
All red findings will be removed immediately upon detection.

Polyspace was run on the Work Products with Revision: 367389
Polyspace reports are at the following repository:
https://172.29.44.209/automotive/autosar/svnASG_D008633/dev/bsw/Autosar_R40/branch/dev_mcal_P1x-C_R403-OpenMarket/internal/X1X/P1x-C/modules/mcu/test_static/polyspace/4.0.3
Polyspace report should not have red warnings.Polyspace report have red warnings.CodeOpen
Ver4.02.00.DBug
24045ARDAAAF-1310GeneralPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentAcceptanceVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug
29620ARDAAAF-326GeneralWrong heading for stub files in Component User ManualProblem description:

The heading description provided for stub files in CUM chapter 8 is wrong. The heading description for the stub files should be "The Stub C header files" and the other stub files should also need to be mentioned e.g. Det.h, Rte.h, SchM.h etc. But the stub files are mentioned as "The port specific C header files" which need to be corrected.

Expected behavior:
The heading should be "The Stub C header files:" and missing stub files should be added.

Actual behavior:
The heading is "The port specific C header files" and all the stub files are not mentioned.


DocumentAcceptanceVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug
18373ARDAAAF-460GeneralPortNumberOfPortPins with fix value 0PortNumberOfPortPins is defined as Min=0 Max=0 and the description says that this parameter is not used.
Our configuration tool validates the parameter according to Autosar standard and, because there is at least one PortPin configured(due to lower multiplicity 1), produces an error message.
Therefore, PortNumberOfPortPins should have a reasonable range, although it is not used
PortNumberOfPortPins should have a reasonable range, although it is not used.The Generation tool validates the parameter according to Autosar standard and, because there is at least one PortPin configured(due to lower multiplicity 1), it produces an error message.PDFAcceptanceVer4.02.00.DVer4.00.00, Ver4.01.00Bug

ARDAAAF-2065LINLIN channel status being changed on wakeup request even before Lin_CheckWakeup is calledLIN channel status being changed on wakeup request even before Lin_CheckWakeup is called.

In the event of a wake up request , the channel status is changed from LIN_CH_SLEEP to LIN_OPERATIONAL in Lin_WakeUpFromBus() function ,before the validation of the wake up event in Lin_CheckWakeup () API.

As a result , If DET is ON , the DET check in Lin_CheckWakeup (Ref: LIN109)

if (LIN_CH_SLEEP != Lin_GpChannelRamData[Channel].ucChannelStatus)
{

}
will always be true , reporting DET every time the function is invoked.

Also , the sleep request flag ucSlpRqst_RespRdy is set in Lin_WakeUpFromBus irrespective of wakeup support for the channel.
LIN channel status should not be changed on wakeup request in Lin_WakeUpFromBus() function even before Lin_CheckWakeup is called.LIN channel status being changed on wakeup request in Lin_WakeUpFromBus() function even before Lin_CheckWakeup is called.CodeDesignVer4.02.01.DVer4.02.00.DBug

ARDAAAF-1638SPIusHWListIndex value are wrong when two Different HW CSIHx usedEven if SpiSupportConcurrentSyncTransmit is set as true, different SpiDeviceAssignment is set for different Job and each job is assigned for different Sequence,Spi_SyncTransmit which is called lator reports SPI_E_SEQ_IN_PROCESS.
Probably it is bug of the generator's output for usHWListIndex.
All usHWListIndex are same and numeric value.(Probably maximum number assigned for CSIHx that is used on the configuration setting is outputed. CSIH0: 1, CSIH1: 2, CSIH2: 3, CSIH: 4)
Seeing source code, it should be bitwise flags those are assigned for CSIHx.
e.g. CSIH0: 1, CSHI1: 1<<1, CSIH2: 1<<2, CSIH3: 1<<3.
Spi.c (Spi_SyncTransmit)
3129: /* Check the value of Global variable for Hardware status */
3130: if (SPI_ZERO == (Spi_GusHwStatus & (LpSeqConfig->usHWListIndex)))
^ & operation may expect flag.
3131:
{ 3132: #if (SPI_CRITICAL_SECTION_PROTECTION == STD_ON) 3133: /* MISRA Violation: START Msg(2:3138)-13 */ 3134: /* Disable relevant interrupts */ 3135: SPI_ENTER_CRITICAL_SECTION(SPI_RAM_DATA_PROTECTION); 3136: /* END Msg(2:3138)-13 */ 3137: #endif 3138: 3139: /* Updating the status of the hardware */ 3140: Spi_GusHwStatus = (Spi_GusHwStatus | (LpSeqConfig->usHWListIndex)); ^ | operation may expect flag. 3141: 3142: #if (SPI_CRITICAL_SECTION_PROTECTION == STD_ON) 3143: /* MISRA Violation: START Msg(2:3138)-13 */ 3144: /* Enable relevant interrupts */ 3145: SPI_EXIT_CRITICAL_SECTION(SPI_RAM_DATA_PROTECTION); 3146: /* END Msg(2:3138)-13 */ 3147: #endif 3148: }
usHWListIndex value are wrong when two Different HW CSIHx usedusHWListIndex value should be genertaed correctly, when two Different HW CSIHx usedCode, GeneratorAnalysis
Ver4.01.00, Ver4.01.00.001Bug

ARDAAAF-2009ADCGroup notification occurs on the Limit check enabled channels even for out of range inputGroup Notification occurs with Limit check enabled channel with out of bound values.
This violates the Autosar requirements ADC449, ADC448
No group complete notification with out of bound input values.
ADC449, ADC448
Group notification occures for out of bound input for the limit check enabled channelsCodeOpen
Ver4.02.00.DBug

ARDAAAF-1607ETHRange of EthRxBufTotal/EthTxBufTotal differs between PDF and Code GeneratorAs per AUTOSAR, the parameters EthRxBufTotal and EthTxBufTotal can have the range 0 to 255. The same range is allowed in PDF. But code generator will throw error if the above parameters are configured above 16.

[ERR_59_88_006] : Range ERROR: Total number of Transmit buffer configured is :17 Range
for the Total number of Transmit buffers should be with in 0 to 16
[ERR_59_88_007] : Range ERROR: Total number of Receive buffer configured is :17 Range
for the Total number of Receive buffers should be with in 0 to 16
Range of parameters in PDF shall be allowable range and CG shall not report any error for this range.CG is throwing error if EthRxBufTotal of EthTxBufTotal is configured above 16.GeneratorAcceptanceVer4.02.00.DVer4.01.00Bug

ARDAAAF-1584ETHMAC Address cannot be configured other than that of RenesasIn the current ETH driver, the parameter 'EthMacAddress' can used to configure the MAC address. If EthMacAddress in /AUTOSAR/EcucDefs_Eth/Eth0/EthConfigSet0/EthCtrlConfig0 is set to a different value other than 74:90:50:xx:xx:xx , then generator throws:

{code:java}
[CG_ERROR] - [ERR_59_88_005] Non Renesas MAC Address configured 75.90.50.00.00.00 . MAC Address shou
ld start with 74:90:50:...
[CG_ERROR] - Code Generation Failed
[CG_ERROR] - Execution Stopped
{code}

The first 3 bytes of MAC address(EthCtrlPhyAddress) are called Organizationally Unique Identifier (OUI) externally assigned, the next 3 bytes are called Network Interface Controller Specific (NIC) locally administered. Each manufacturer has its own OUI and this is intended to identify the manufacturer not chip vendor.
Customer shall be able to use their OUI in the MAC addressETH CG throws error if the MAC address contains OUI other than that of RenesasGeneratorAcceptanceVer4.02.00.DVer4.01.00Bug

ARDAAAF-1996MCUValidation for the prohibited bit setting of PLL0FREQ bits for P1H-C device has not been taken care.The PLL0FREQ(Bit positions 31 and 30 respectively) bits supports values '00', '01', '10'.
*P1M-C, P1H-CE*
00: PLL0 = 480MHz and CLK_CPU = 120MHz
01: PLL0 = 320MHz and CLK_CPU = 160MHz
10: PLL0 = 480MHz and CLK_CPU = 240MHz
11: prohibited setting

However as per the description given for 'OPBT1 — Option Byte 1' in the Hardware user Manual, the P1H-C device does not support setting of '00' into these bits.

*P1H-C*
00: prohibited setting
01: PLL0 = 320MHz and CLK_CPU = 160MHz
10: PLL0 = 480MHz and CLK_CPU = 240MHz
11: prohibited setting

Validation of this has to be taken care by the tool code.

Parameter 'McuOPBT1Sel' inside container 'McuPLLClkSetting' can be used to validate the same.
Validation of prohibited setting of PLL0FREQ bits in the OPBT1 for P1H-C device has to be taken care of.Validation of prohibited setting of PLL0FREQ bits in the OPBT1 for P1H-C device has not been taken care of.GeneratorOpen
Ver4.02.00.DBug

ARDAAAF-1966SPIIncorrect clock reference is used to calculate the SPI baud rateAs per the requirement AR_PN0063_FR_0009, the parameter "SpiClockFrequencyRef" is referred to the MCU PLL clock to calculate the SPI baud rate.

But the baud rate shall be calculated based on the CLKP_C clock, not with the PLL.
CLKP_C is the actual clock used for SPI which is derived from PLL with the settings provided by the Mcu parameter McuPLLClk1DividerSel.

In the current implementation, PLL value is directly taken to calculate baud rate for setting the SLR bit.

Also, The available clock selection for the parameter "SpiInputClockSelect" is mentioned as PCLK to PCLK_DIVBY_64 in PDF.
But as per hardware manual, the clock reference is CLKP_C.

Please change the naming in parameter definition file and Tool code
1. CLKP_C shall be taken for calculating SPI baudrate(either via McuPLLClk1DividerSel or with a seperate mcu reference which provides the CLKP_C)

2. Clock source naming shall be corrected in Definition file and in toll code for the parameter SpiInputClockSelect(CLKP_C .. CLKP_C_DIVBY_64)
1. PLL is taken instead of CLKP_C for calculating baudrate(for setting SLR bit and the CG_INFO 002)

2. Incorrect clock source name for the parameter SpiInputClockSelect
Generator, PDFOpen
Ver4.02.00.DBug

ARDAAAF-1939PORTMissing Null pointer checkNull pointer check missing during pointer dereference

Pointer 'LpChangeablePinDet' returned from call to function 'Port_SearchDirChangeablePin' may be NULL and will be dereferenced
Eg: Port_SetPinDefaultDirection()

Pointer 'LpModeChangeablePin' returned from call to function 'Port_SearchModeChangeablePin' may be NULL and will be dereferenced
Eg: Port_SetPinDefaultMode()

A null pointer check is necessary before dereferencing 'LpChangeablePinDet'/'LpModeChangeablePin' even if a DET check is available when DET is ON
Null pointer check shall be available while dereferencing pointerMissing Null pointer check while dereferencing pointerCodeOpen
Ver4.01.00.001Bug
24045ARDAAAF-1694ETHPlease describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions of running Mcal.Please describe the processor name CPU1(PE1) to UM, Release Note, Readme to clarify the conditions and environment of running Mcal.

For Instance, <device number> will be changed to <device number>(CPU1(PE1)) in readme.txt, Release Note.txt, Component UM and so on.
According to the user manual, the Main CPU is called "CPU1(PE1)".
NANADocumentAcceptanceVer4.02.00.DE4.40, Ver4.01.00, Ver4.01.00.001Bug

ARDAAAF-1627ETHWrong Elapsed time in Eth_GetTimeOutValue functionThe time-out handling in Eth_GetTimeOutValue function is wrong if the initial value equals to the current value.

The check for elapsed time shall be as follows:
if(LusTimeOutCount_Curr > LusTimeOutCount_Init)

shall be changed to
if(LusTimeOutCount_Curr >= LusTimeOutCount_Init)
Elapsed time check shall be as
if(LusTimeOutCount_Curr >= LusTimeOutCount_Init)
Elapsed time check is
if(LusTimeOutCount_Curr > LusTimeOutCount_Init)
CodeAcceptanceVer4.02.00.DVer4.01.00Bug

ARDAAAF-574DIOAPI functions for loop-back testTo check the correctness of an output, another pin shall be used in loop back.
This is a safety mechanism. So this issue is not relevant for a QM release.
API functions for loop-back test are supported.API functions for loop-back test are not supported.Code, Generator, PDF, Test, Sample, Document, RequirementsAnalysisVer4.02.01.DVer4.01.00Feature

ARDAAAF-1245PORTThe PORT Driver module shall provide atomic access to all ports and port pins.Enter and exit of critical section protection are not followed correctly.All the PORT registers should be accessed within critical section protection by the usage of exclusive areaAll the PORT registers are not accessed within critical section protection by the usage of exclusive area.CodeAnalysis
Ver4.02.00.DFeature

ARDAAAF-464ICUSupport for multiple configuration setsThe multiple configuration sets feature has many restrictions in the current ICU implementations which makes this feature almost unusable.
1. First major constraint:
The customer complains that ICU cannot support different IcuChannelInputSelection (IcuGtmInputSelection is the corresponding P1x-C parameter) values between different configuration sets.
2. Second major constraint
ICU does not support different number of channels (different values for IcuMaxChannel) between different configuration sets.

As the ICU implementation is done from the scratch for P1x-C project and it is in a early development phase, we should focus to remove the limitations that we have on existing implementations.
ICU shall support different vaues for IcuChannelInputSelection and IcuMaxChannel parameters between different configuration sets.
ICU does not support different vaues for IcuChannelInputSelection and IcuMaxChannel parameters between different configuration sets.Generator, PDFDesignVer4.02.01.DE4.40, Ver4.00.00, Ver4.01.00Feature

ARDAAAF-1801FLSSYNCP instruction is missing before instruction-fetch after memory/register updateWhen the updated results of the control register or memory are to be used in the instruction fetch of the subsequent instruction, SYNCP instruction should be added before SYNCI for correct SW execution. So the the instruction sequence required shall be as follows:

1. Execute the store instruction to update a control register or memory (ST.W,etc.)
2. Perform a dummy read of the above control register or memory (LD.W etc.).
3. Execute SYNCP.
4. Execute SYNCI.
5. Execute the subsequent instruction (branch instruction, etc.).
When the updated results of the control register or memory are to be used in the instruction fetch of the subsequent instruction, SYNCP instruction should be added before SYNCI for correct SW execution.When the updated results of the control register or memory are to be used in the instruction fetch of the subsequent instruction, SYNCP instruction is not executed before SYNCI.CodeOpen
Ver4.01.00.001Bug

ARDAAAF-1872GPTISR not enabled when wakeup is enabled for corresponding channelPrecompile switch to enable Channel ISR is not always turned ON when wakeup is enabled for corresponding channel

As a result notification to Ecum will be missed from Gpt_CbkNotification()

Call sequence: Gpt_Init() -> Gpt_EnableWakeup() -> Gpt_StartTimer();
ISR shall be enabled for the wake up enabled channel
Documentation in UM shall be available for cases where ISR shall be enabled
ISR not enabled for the wake up enabled channelGenerator, DocumentOpen
Ver4.01.00.001Bug

ARDAAAF-2001FLSThe implementation of Write-Verify FENTRYR register in Fls_FcuSwitchMode function is wrong.In Fls_FcuSwitchMode() function, immedietly after the write operation to FENTRYR register, write/verify is executed to confirm FENTRYR write to switch FCU mode to programming/user mode was performed. But this check may get failed if write to FENTRYR is not completed before the read is done in the write/verify macro.Register write verify of FENTRYR shall be done after the mode change is performed bacause the mode may not changed immediately on some devicesRegister write verify of FENTRYR is done immedietly after write operation.CodeDesignVer4.02.01.DVer4.02.00.DBug

ARDAAAF-1618ETHWrong buffer handling in the function Eth_ProvideTxBuffer/Eth_TransmitThe function Eth_Transmit destroys the first 14 bytes of the frame data coming from the upper layers, it writes the destination and source address + frame type on top of the already received data from EthIf.

As per AUTOSAR R4.2 SWS_EthIf_00147, It looks that Tx and Rx Buffer refers to the payload of the Eth Frame and hence the skipping of first 14 bytes shall be avoided.
Buffer includes the payload only.Buffer is assumed as the complete Ethernet Frame(Header + Payload)CodeDesignVer4.02.01.DVer4.01.00Bug

ARDAAAF-1779ETHMissing Ethernet Frames during transmission in Interrupt ModeIn the current Ethernet driver, some of the transmit frames are found to be missed in the following sequences when testing in Interrupt mode.

1. When Tx Confirmation enabled and interrupts are disabled and tried to send 40 packets, each are 64 byte in size, all 40 messages are not getting transmitted.

2. If Tx confirmation is disabled, only the first packet is sent and rest of the packets were not sent. No errors were observed as well.
No transmit frames shall be missed.Some of the transmit frames are getting missed.CodeDesignVer4.02.01.DVer4.01.00, Ver4.01.00.001Bug

ARDAAAF-1565ETHMissing Ethernet Frames during transmission in POLLING modeIn the current Ethernet driver, some of the transmit frames are found to be missed in the following sequences.

1. When Tx Confirmation enabled and interrupts are disabled and tried to send 40 packets, each are 64 byte in size, all 40 messages are not getting transmitted.

2. If Tx confirmation is disabled, only the first packet is sent and rest of the packets were not sent. No errors were observed as well.
No transmit frames shall be missed.Some of the transmit frames are getting missed.CodeDesignVer4.02.01.DVer4.01.00, Ver4.01.00.001Bug

ARDAAAF-1112SPICode generator validations were missed when driver was ported from P1xMany validations were added in P1x driver during the last releases. These validations were missed while the driver was ported to P1x-C. As a result, P1x-C code generator may fail to detect invalid configurations which may lead to unexpected behaviour of driver.All code generator validations should have been ported when the driver was ported from P1x.Many code generator validations present in P1x are not there in P1x-C. The tool test plan also need to be updated to include tests for these validations.GeneratorDesignVer4.02.01.DVer4.01.00Bug

ARDAAAF-1798ETHEth_59_ProvideTxBuffer returns BUFREQ_E_BUSY during frequent transmit requestIf we reduce the delay between transmit requests, then the function Eth_59_ProvideTxBuffer will return BUFREQ_E_BUSY and hence further transmission will be stopped. It seems the global flag Eth_59_GblBufferLock is not properly updated.

Please find attached test script to reproduce the issue.
Transmission shall not stop at higher transmit ratesTransmission is stopping at higher transmit rates without a notificationCodeAnalysis
Ver4.01.00, Ver4.01.00.001Bug
26341ARDAAAF-1309GeneralAbout the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT fileAccording to AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf, 'BswSchedulableEntity' is a BSW module entity, which is designed for control by the BSW Scheduler. It implements a so-called "main" function". As attribute 'implementedEntry' is mandatory for 'BswModuleEntity', so <IMPLEMENTED-ENTRY-REF> should be presented in <BSW-SCHEDULABLE-ENTITY>.

But in the current implementation, <IMPLEMENTED-ENTRY-REF> tag is not presented as a child of <BSW-SCHEDULABLE-ENTITY>.
<IMPLEMENTED-ENTRY-REF> tag should be presented in <BSW-SCHEDULABLE-ENTITY>.<IMPLEMENTED-ENTRY-REF> tag is not presented in <BSW-SCHEDULABLE-ENTITY>.PDFAcceptanceVer4.02.00.DVer4.01.00Bug

ARDAAAF-2045SPISPI Driver does not Recover Normal Communication After Error Injection/DetectionThe sequence tx has sent every 2ms on CSIH2. The sequence consists of 1 job / 1 ch so 2ms is more than enough time for the SPI tx to complete.
Step1) Generate or inject the parity error.The SPI driver detects the parity error, and the error ISR handler SPI_CSIH2_TIRE_ISR is executed one time only.
Step2) The SPI sequence status is correctly set to SPI_SEQ_FAILED. After this, subsequent calls to Spi_AsyncTransmit() results in SPI_SEQ_PENDING and seq tx never completes successfully even though the error condition has been removed
The SPI driver should report seq failure when the error condition is present but once the error condition is removed, seq transfer should resume normallyThe SPI driver should report seq failure when the error condition is present but once the error condition is removed,subsequent calls to Spi_AsyncTransmit() results in SPI_SEQ_PENDING and seq tx never completes successfully even though the error condition has been removedCodeOpen
Ver4.01.00, Ver4.02.00.DBug

ARDAAAF-2044SPIThe global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occursThe global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt (transmission or reception or any other interrupts)occurs .This is because the global variable 'Spi_Gaajobqueue' is not protected with critical section projection when jobs are pushed to the queue. This creates Job/Seq Pending state ,blocking the transmission.All configured jobs should be pushed to 'Spi_Gaajobqueue' evenif an interrupt occursThe global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occursCodeOpen
Ver4.02.00.DBug

ARDAAAF-2043SPISPI Driver Incorrectly Reporting Job/Seq Pending when sequences are called in different tasks repeatedly for asynchronous transmission For single and Multiple HW UnitsWhen sequences are called using Spi_Asynctransmit function from different tasks repeatedly,some of the sequences get failed after a long successful run.

This issue is applicable for single and Multiple HW Units

For Eg:

Task1: Called in every 4 ms Time delay (2 sequences are called)
Task2: Called in every 2 ms Time delay(3 sequences are called)
Task3: Called in every 2 ms Time delay(6 sequences are called)
Task4: Called in every 2 ms Time delay(6 sequences are called)

Check status of sequences every time before the sequence is called inside tasks.
Sequences should be transmitted successfullySequences are not transmitted successfullyCodeOpen
Ver4.01.00, Ver4.02.00.DBug

ARDAAAF-1750WDG<Msn>DemEventParameterRefs container multiplicityAs per Autosar SWS of WDG module, the WdgDemEventParameterRefs container and its parameters WDG_E_DISABLE_REJECTED and WDG_E_MODE_FAILED are non mandatory.

if WdgDemEventParameterRefs container is not configured, compilation throws an error.
No compilation error expected when a non-mandatory container is not configuredCompilation expected when a non-mandatory container is not configuredCode, Generator, PDFAnalysis
Ver4.01.00.001Bug

ARDAAAF-1997FLSNo sufficient tool validation available for FLSTool validation is not done for following scenarios.
# If parameter FlsFdlCpuFrequency is not configured.
# If FlsEccSedNotification and FlsEccDedNotification not followed C-syntax
# To check values configured for parameters FlsEccDedNotification and FlsEccSedNotification are unique
# To check values configured for parameters in FlsDemEventParameterRefs is same across multiple configuration set
# To check value of parameter FlsMaxReadFastMode is greater than FlsMaxReadNormalMode
# To check FlsTotalSize is equal to FlsNumberOfSectors * FlsSectorSize
# To check value configured for the parameter FlsCallCycle is greater than '0' if the parameter FlsTimeoutMonitoring is set as TRUE
# To check whether FLS_E_ECC_FAILED in the container FlsDemEventParameterRefs is configured when parameter FlsFaciEccCheck is configured as true.
# To check whether the parameter FlsTimeOutCountValue in the container FlsConfigSet have a value when FlsTimeoutMonitoring is configured as true.
Tool validation should be present for all possible error scenarios.Tool validations are not sufficient.GeneratorOpen
Ver4.02.00.DBug

ARDAAAF-2004WDGDEM - WDG_E_REG_WRITE_VERIFY cannot be tested for WDTAnWDTE and WDTAEVACWith the current implementation of the WDG MCAL, the WRITE_VERIFY DEM is supposed to be reported for the WDTAnWDTE and WDTAEVAC registers check_write_verify fails.

But this problem with this implementation is that as soon as an error is injected (i.e as soon as the WDG detects an error) to these registers, a WDG reset occurs which means that the comparism phase of the code (i.e where the value of the register and the expected value is compared) and the DEM reported phase will never be reached.

This means that if there is a failure for these registers, the current implementation of the MCAL will not allow for the DEM to be reported to the upper layer.

Please note that the behaviour of the WDG from a hardware point of view is as documented in the respective F1x device manuals.
There should be a means of checking for the write verify DEMs for the WDTAnWDTE and WDTAEVAC registers or finding another method of error notification when there is an illegal write to these registers, with consideration given to hardware limitationsThe error detection method implemented for illegal values being updated in the WDTAnWDTE and WDTAEVAC registers does not work.CodeOpen
Ver4.02.01.DBug

ARDAAAF-1796GeneralIssues in MCAL code generator TOOL and Required Enhancement.This ticket was created to track the existing bug in the MCAL code Gen tool, which is used as code generation tool in P1x-C projects.

1. The main issue however is that code generator does not returns -1 value when the option *stoponfirsterror* is set as *"false"* in the config.xml file of a particular module even if there are generation error detected, this however works fine if we use *stoponfirsterror* option as *"false"*.

For eg: In ICU module the tag in the config xml looks like this currently:
|<?xml version="1.0" encoding="UTF-8"?>
<codegenerator {color:#d04437}stoponfirsterro{color}r="{color:#8eb021}false{color}" deleteoutputfileonerror="true">|

The reason why this is preferred to be kept as false is: If suppose we have 5 errors in the configuration .arxml file and we keep the option stoponfirsterror as true then what happens is that the generator will report only the first error it encounters and will stop validating any further. So when we rectify the error then if there is any other error it will be reported after that. But if we keep this option as false then all the errors and warnings are listed in a single go, such that the user can rectify all the errors in the configuration in one go and need not re-run the Tool again and again.

This seems to be a limitation in MCAL Code gen which restricts us to keep the option stoponfirsterror as true to get the return value as '-1' .

2. This is just a type of enhancement, as we can see is that for each template file the validate.vm is always included in the config.xml file

| <template>
<templatefile>/../Template/Icu_Cfg_h.vm</templatefile>
<outputfile>Icu_Cfg.h</outputfile>
<includefile>/../../../../common_family/generator/CommonHelper.vm</includefile>
{color:#d04437} <includefile>/../Validate/Icu_Validate.vm</includefile>{color}
</template> |
but this makes some messages to be redundant as the validate file is rerun for all files.
It would be much better if a particular message is generated only once. So that the generation window looks more good and easily readable. Also there can be some method to list the number of unique errors, warnings and information if any. A similar approach as the F1x tool code uses to display.

1. Code generator should return -1 value when the option stoponfirsterror is set as "false". Basically it should be irrespective of any options and always throw a -1 value when generation error occurs.

2. There should not be any message that is redundant or repeated more than once instead all errors, warning and information messages should occur only once for any parameter or container.
1. Code generator does not returns -1 value when the option stoponfirsterror is set as "false" .

2. Some Messages are redundant or repeated more than once.
GeneratorAnalysis
Ver4.00.00, Ver4.02.00.DBug

ARDAAAF-417FrWhen data transfer is used, first FIFO frames are lost.FIFO structure pointers are not configured inside FIFO pointer table during initialization. They are set only when API Fr_ReceiveQueue_Table() is invoked. In this case, the first FROTC.FTM FIFO frames will be lost, until FIFO table is configured with proper addresses.

Same issue is valid also for the normal output pointer table, not only FIFO pointer table. The output pointer table also needs to be configured with data structure addresses during initialization.
FIFO structure pointers are configured inside FIFO pointer table during initialization.FIFO structure pointers are configured inside FIFO pointer table only when API Fr_ReceiveQueue_Table() is invoked.CodeAcceptanceVer4.02.00.DE4.40, Ver4.00.00, Ver4.01.00Bug

ARDAAAF-378FrThe data is not copied if frame is configured with Length less than or equal to 2In FR driver the data length to be calculated is not updated properly. In the current implementation when the frame is cofigured as 2 the data length value will be 1 and hence all the received data bytes are not copied.The data should be copied correctly.The data is not copied correctlyCodeAcceptanceVer4.02.00.DVer4.00.00, Ver4.01.00Bug

ARDAAAF-1246PORTThe Production error should not be switched OFF in the driver.As per AUTOSAR requirement PORT139, The detection of production code errors cannot be switched off. But As per the MRS(EAAR-RS-0062) requirement(EAAR_PN0062_FR_0077), PortDemErrorDetect is should be added in the ' PortGeneral' to switches on/ off the Dem Error Detection and Notification.

If this issue is considered as Safety impact, The requirement EAAR_PN0062_FR_0077 need to be removed from MRS(EAAR-RS-0062)

If this DEM is switched off, error (if occurs) will not be notified to the user, which will leads to impact on safety.

This ticket is a result from [safety analysis|https://172.29.44.209/automotive/autosar/svnASG_D008633/dev/bsw/Autosar_R40/branch/dev_mcal_P1x-C_R403-OpenMarket/internal/X1X/P1x-C/modules/port/docs/safety_analysis/V4.02.00.D_P1x-C_R4.03_MCAL_Software_Safety_Analysis_PORT.xlsx], FMEA FMEA_PORT_005.
MRS Update is required.
The requirement EAAR_PN0062_FR_0077 need to be removed from MRS(EAAR-RS-0062).
The requirement EAAR_PN0062_FR_0077 of MRS(EAAR-RS-0062) is stated to add the PortDemErrorDetect switch in ' PortGeneral' of PDF to switches on/ off the Dem Error Detection and Notification.DocumentAnalysis
Ver4.02.00.DFeature

ARDAAAF-1820FLSFLS timeout error is triggered incorrectly in case of out-of-sync call to Fls_MainFunctionIt is assumed that user application should schedule Fls_MainFunction with the exact period time being specified in FlsCallCycle parameter.
However, it cannot always be guaranteed the time span between call to Fls_Write() and (the first) call to Fls_MainFunction() is exactly matching the period time (FlsCallCycle), because they are called from different task threads.

Based on the current timeout implementation, in case the time span from Flash job request (e.g. call to Fls_Write) to the first time call to Fls_MainFunction() is shorter than the time period specified in FlsCallCycle parameter, timeout error is triggered incorrectly.
In case out-of-sync (first time) call to Fls_MainFunction(), timeout error should not be triggered.In case the time span from Flash job request to the first time call to Fls_MainFunction() is shorter than the time period specified in FlsCallCycle parameter, timeout error is triggered incorrectly.CodeDesignVer4.02.01.DVer4.01.00.001Bug

ARDAAAF-1684SPIddDirectAccessQueueSize generated with wrong valueddDirectAccessQueueSize indicates the lowest queue index for FIFO mode calculated after allocating space for direct access mode.

But ddDirectAccessQueueSize is generated as zero for a configuration in which both direct access mode and FIFO mode are configured.

This leads to a scenario where jobs for direct access mode get overlapped by jobs for FIFO mode inside the queue.

ddDirectAccessQueueSize should be generated with correct valueddDirectAccessQueueSize generated with wrong valueGeneratorAnalysis
Ver4.01.00, Ver4.01.00.001Bug

ARDAAAF-1831SPICG throws error when non-mandatory parameters are not configuredIn the Adc description files, bool parameters are defined with multiplicity 0..1.
During generation, error occurs when these parameters are not configured. Also the error messages are not proper

Similar issues are present in other modules as well and shall be checked against parameters and containers
Validation check shall be done correctly and error messages shall be understandableValidation check shall are not correctGeneratorOpen
Ver4.01.00.001Bug

14 - P1xC_OpenMarket_KnownIssues_CW26_2017

Renesas Electronics Europe GmbH JIRA

External issue IDKeyComponent/sSummaryDescriptionExpected BehaviourActual BehaviourImpacted ProductsStatusFix Version/sAffects Version/sIssue Type

ARDAAAF-2124PORTIncorrect pointer to array generated when multiple config set is usedDuring code generation pPinDirChangeable, pPinModeChangeableGroups, pPinModeChangeableDetails and pPinDioAltModeDetails are pointing to the wrong array index for the second configset when multiple config set is used

As a result out of bound access will occur.
Correct pointer shall be generatedIncorrect pointer generator causing out of bound accessGeneratorAnalysis
Ver4.01.00, Ver4.01.00.001Bug

ARDAAAF-2494PORTPORT : Header and Page Number alignment are inconsistent each other in EUM and TUM.Alignment of PORT Component user manual and Tool User manual header and page number are not consistent .
Header alignment and page number alignment should be consistent across usermanual.Header alignment and page number alignment not consistent across usermanual.DocumentOpen
Ver4.02.01Bug

15 - R20UT3752EJ0100-AUTOSAR

AUTOSAR Modules Overview User's Manual

17 - R20UT3752EJ0100-AUTOSARs



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
User’s Manual 
 
 
 
 
Version 1.0.9 
 
 
 
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). 
 
 
 
 
 
 
 
Renesas Electronics 
www.renesas.com 
Rev.1.00 Jul 2016 
 
 
 
 

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


 
4 

 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ADC 
Analog to Digital Converter 
API 
Application Programming Interface 
ANSI 
American National Standards Institute 
AUTOSAR 
AUTomotive Open System ARchitecture 
CAN 
Controller Area Network 
DEM 
Diagnostic Event Manager 
DET/Det 
Development Error Tracer 
DIO 
Digital Input Output 
FEE 
Flash EEPROM Emulation 
FLS 
FLaSh Driver 
FSL 
Flash Self programming Library 
FR 
Flex-Ray 
GPT 
General Purpose Timer 
ICU 
Input Capture Unit 
LIN 
Local Interconnect Network 
MCAL 
MicroController Abstraction Layer 
MCU 
MicroController Unit 
PWM 
Pulse Width Modulation 
SPI 
Serial Peripheral Interface 
TAU 
Timer Array Unit 
WDG 
WatchDog driver 
 
 
 
Definitions 
 
 
 
Term 
Represented by 
Sl. No. 
Serial Number 
<Autosar Version> 
3.2.2 when tested for R3.2.2 
4.0.3 when tested for R4.0.3 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
         5 

 
 
 
 
 
6 

 
Table of Contents  
 
Chapter 1 
INTRODUCTION ............................................................................................. 11 
1.1. 
Document Overview ........................................................................................................ 12 
Chapter 2 
REFERENCE DOCUMENTS .......................................................................... 13 
Chapter 3 
AUTOSAR MODULES .................................................................................... 15 
3.1 
MCAL Module .................................................................................................................. 15 
3.1.1. 
ADC Driver Component .................................................................................... 15 
3.1.1.1.  Module Overview .............................................................................15 
3.1.1.2.  Module Dependency........................................................................16 
3.1.1.3.  Configuration Parameter Dependency ............................................16 
3.1.1.4.  Source Code Dependency ..............................................................16 
3.1.1.5.  Stubs ...............................................................................................16 

3.1.2. 
PWM Driver Component ................................................................................... 17 
3.1.2.1.  Module Overview .............................................................................17 
3.1.2.2.  Module Dependency........................................................................18 
3.1.2.3.  Configuration Parameter Dependency ............................................18 
3.1.2.4.  Source Code Dependency ..............................................................18 
3.1.2.5.  Stubs ...............................................................................................18 

3.1.3. 
PORT Driver Component .................................................................................. 19 
3.1.3.1.  Module Overview .............................................................................19 
3.1.3.2.  Module Dependency .......................................................................19 
3.1.3.3.  Configuration Parameter Dependency ...........................................19 
3.1.3.4.  Source Code Dependency ..............................................................19 
3.1.3.5.  Stubs ...............................................................................................20 
3.1.4. 
FEE Software Component ................................................................................ 20 
3.1.4.1.  Module Overview .............................................................................20 
3.1.4.2.  Module Dependency .......................................................................20 
3.1.4.3.  Configuration Parameter Dependency ...........................................21 
3.1.4.4.  Source Code Dependency ..............................................................21 
3.1.4.5.  Stubs ...............................................................................................21 

3.1.5. 
DIO Driver Component ..................................................................................... 22 
3.1.5.1.  Module Overview .............................................................................22 
3.1.5.2.  Module Dependency........................................................................22 
3.1.5.3.  Configuration Parameter Dependency ............................................22 
3.1.5.4.  Source Code Dependency ..............................................................22 
3.1.5.5.  Stubs ...............................................................................................22 

3.1.6. 
FLS Software Component ................................................................................ 23 
3.1.6.1.  Module Overview .............................................................................23 
3.1.6.2.  Module Dependency .......................................................................23 
3.1.6.3.  Configuration Parameter Dependency ...........................................23 
3.1.6.4.  Source Code Dependency ..............................................................23 
3.1.6.5.  Stubs ...............................................................................................24 
3.1.7. 
SPI Driver Component ...................................................................................... 24 
3.1.7.1.  Module Overview .............................................................................24 
3.1.7.2.  Module Dependency .......................................................................25 
3.1.7.3.  Configuration Parameter Dependency ...........................................25 
3.1.7.4.  Source Code Dependency ..............................................................25 

           

3.1.7.5.  Stubs ...............................................................................................26 
3.1.8. 
ICU Driver Component...................................................................................... 26 
3.1.8.1.  Module Overview .............................................................................26 
3.1.8.2.  Module Dependency .......................................................................27 
3.1.8.3.  Configuration Parameter Dependency ...........................................28 
3.1.8.4.  Source Code Dependency ..............................................................28 
3.1.8.5.  Stubs ...............................................................................................28 

3.1.9. 
MCU Driver Component.................................................................................... 29 
3.1.9.1.  Module Overview .............................................................................29 
3.1.9.2.  Module Dependency .......................................................................29 
3.1.9.3.  Configuration Parameter Dependency ...........................................30 
3.1.9.4.  Source Code Dependency ..............................................................30 
3.1.9.5.  Stubs ...............................................................................................30 

3.1.10. 
GPT Driver Component .................................................................................... 30 
3.1.10.1.  Module Overview .............................................................................30 
3.1.10.2.  Module Dependency........................................................................31 
3.1.10.3.  Configuration Parameter Dependency ............................................32 
3.1.10.4.  Source Code Dependency ..............................................................32 
3.1.10.5.  Stubs ...............................................................................................32 

3.1.11. 
WDG Driver Component ................................................................................... 33 
3.1.11.1.  Module Overview .............................................................................33 
3.1.11.2.  Module Dependency........................................................................33 
3.1.11.3.  Configuration Parameter Dependency ............................................33 
3.1.11.4.  Source Code Dependency ..............................................................34 
3.1.11.5.  Stubs ...............................................................................................34 

3.1.12. 
CAN Driver Component .................................................................................... 34 
3.1.12.1.  Module Overview .............................................................................34 
3.1.12.2.  Module Dependency........................................................................35 
3.1.12.3.  Configuration Parameter Dependency ............................................35 
3.1.12.4.  Source Code Dependency ..............................................................35 
3.1.12.5.  Stubs ...............................................................................................36 
3.1.13. 
LIN Driver Component ...................................................................................... 36 
3.1.13.1.  Module Overview .............................................................................36 
3.1.13.2.  Module Dependency........................................................................37 
3.1.13.3.  Configuration Parameter Dependency ............................................37 
3.1.13.4.  Source Code Dependency ..............................................................37 
3.1.13.5.  Stubs ...............................................................................................38 
3.1.14. 
FR Driver Component ....................................................................................... 38 
3.1.14.1.  Module Overview .............................................................................38 
3.1.14.2.  Module Dependency........................................................................39 
3.1.14.3.  Configuration Parameter Dependency ............................................39 
3.1.14.4.  Source Code Dependency ..............................................................39 
3.1.14.5.  Stubs ...............................................................................................39 

3.1.15. 
FLSTST Driver Component .............................................................................. 40 
3.1.15.1.  Module Overview .............................................................................40 
3.1.15.2.  Module Dependency........................................................................40 
3.1.15.3.  Configuration Parameter Dependency ............................................40 
3.1.15.4.  Source Code Dependency ..............................................................41 
3.1.15.5.  Stubs ...............................................................................................41 

3.2 
RH850 Macros Definition: .............................................................................................. 41 
8 

 
3.3 
ICxxx Registers Setting for TBxxx-Bit .......................................................................... 43 
 
 
 
 
 

List of Figures 
 
Figure 1-1 
: System Overview of the AUTOSAR Architecture Layer ................................................. 11 
  
List of Tables 
 
Table 3-1 
: ADC Driver Component Common Stubs ........................................................................ 17 
Table 3-2 
: PWM Driver Component Common Stubs ....................................................................... 19 
Table 3-3 
:  PORT Driver Component Common Stubs ...................................................................... 20 
Table 3-5 
: DIO Driver Component Common Stubs .......................................................................... 22 
Table 3-6 
:  FLS Software Component Common Stubs .................................................................... 24 
Table 3-7 
: SPI Driver Component Common Stubs .......................................................................... 26 
Table 3-8 
:  SPI Driver Component Port Specific Stubs .................................................................... 26 
Table 3-9 
: ICU Driver Component Common Stubs .......................................................................... 29 
Table 3-10 
:  MCU Driver Component Common Stubs ....................................................................... 30 
Table 3-11 
:  GPT Driver Component Common Stubs ........................................................................ 32 
Table 3-12 
:  WDG Driver Component Common Stubs ....................................................................... 34 
Table 3-13 
:  CAN Driver Component Common Stubs ........................................................................ 36 
Table 3-14 
: CAN Driver Component Port Specific Stubs ................................................................... 36 
Table 3-15 
:  LIN Driver Component Common Stubs .......................................................................... 38 
Table 3-16 
:  LIN Driver Component Port Specific Stubs .................................................................... 38 
Table 3-17 
:  FR Driver Component Common Stubs ........................................................................... 40 
Table 3-18 
:  FLSTST Driver Component Common Stubs .................................................................. 41 
Table   3-19 
:  Macros to perform write operation on write enabled Register. ....................................................... 42 
 
 
 
 
 
 
 
 
 
 
 
 
                                                                                                                                                                               9 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10 







































































































































































































































































































































































































































































































































































INTRODUCTION 
Chapter 1 
Chapter 1 
INTRODUCTION 
 
 
 
 
This document shall be used as reference by the users for module overview, 
module dependencies, source code dependencies and configuration 
parameter dependencies. 
 
 
 
 
 
Ap  
plication 
Actuator 
Sensor 
Application 
 
oftware 
Software 
Software 
Software 
AUTOSAR 
AUTOSAR 
Component 
Component 
Component 
Component 
 
Software 
 
 
 
 
Software 
  
AUTOSAR 
AUTOSAR 
AUTOSAR 
AUTOSAR 
Component 
Interface 
Interface 
Interface 
 
Interface 
 
 
 
 
 
 
Interface 
 
AUTOSAR Runtime Environment (RTE) 
Standard 
 
 
Software 
 
AUTOSAR 
 
Standardized 
Standardized 
Standardized 
AUTOSAR 
Interface 
AUTOSAR 
Interface 
Interface 
Interface 
 
API 2 
VFB & RTE 

 
Interface 
 
 
 
 
 
relevant 
 
 
 
Services 
Communication 
ECU 
 
 
 
 
 
Abstraction 
 
API 1 
 
 
 
 
RTE 
Standardized 
Standardized 
Standardized 
 
 
 
relevant 
Interface 
Interface 
Interface 
 
 
 
 
 
 
 
Operating 
S
Complex 
API 0 
t
 
System 
I
a
Device 
 
nt
ndard
e
Drivers 
 
rf
 
a
Standardized 
 
 
API 3 Private 
c
i
e
z
Interface 
Interfaces inside 
 
e
 Basic Software 
 
d
 
Basic Software 
 
Microcontrolle
 
possible 
 

 
 
Abstraction 
ECU-Hardware 
      
 
 
Figure 1-1  : System Overview of the AUTOSAR Architecture Layer 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

11 

Chapter 1 
INTRODUCTION 
 
1.1. 
Document Overview 
 
 
The document has been segmented for easy reference. The table below 
provides user with an overview of the contents of each section: 
 
 
 
Section 
Contents 
Section1 
Explains the purpose of this document. 
(Introduction) 
Section2 
Lists the documents referred for developing this 
(Reference Documents)  document. 
Section3 
Provides the list of modules developed in the MCAL 
(MCAL Modules) 
layer. Brief information about the Module overview, 
Modules dependency, Configuration parameter 
dependency, source code dependency and stubs. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

12 

 REFERENCE DOCUMENTS 
Chapter 2 
Chapter 2 
REFERENCE DOCUMENTS 
 
 
Sl. No. 
Title For Autosar Version R3.2.2 
Version 
1. 
Specification of ADC Driver (AUTOSAR_SWS_ADC_Driver.pdf) 
3.0.3 
2. 
Specification of CAN Driver (AUTOSAR_SWS_CAN_Driver.pdf) 
2.5.0 
3. 
Specification of PWM Driver (AUTOSAR_SWS_PWM_Driver.pdf) 
2.3.0 
4. 
Specification of PORT Driver (AUTOSAR_SWS_Port_Driver.pdf) 
3.2.0 
5. 
Specification of Flash EEPROM Emulation 
1.4.0 
(AUTOSAR_SWS_Flash_EEPROMEmulation.pdf) 
6. 
Specification of DIO Driver (AUTOSAR_SWS_DIO_Driver.pdf) 
2.4.0 
7. 
Specification of Module Flash Driver (AUTOSAR_SWS_Flash_Driver.pdf) 
2.4.0 
8. 
Specification of SPI Handler/Driver 
2.4.0 
(AUTOSAR_SWS_SPI_Handler_Driver.pdf) 
9. 
Specification of ICU Driver (AUTOSAR_SWS_ICU_Driver.pdf) 
3.2.0 
10. 
Specification of MCU Driver (AUTOSAR_SWS_MCU_Driver.pdf) 
2.5.0 
11. 
Specification of GPT Driver (AUTOSAR_SWS_GPT_Driver.pdf) 
2.2.2 
12. 
Specification of Watchdog Driver (AUTOSAR_SWS_Watchdog_Driver.pdf) 
2.3.0 
13. 
Specification of LIN Driver (AUTOSAR_SWS_LIN_Driver.pdf) 
1.5.0 
 
 
Sl. No. 
Title For Autosar Version R4.0.3 
Version 
1. 
Specification of ADC Driver (AUTOSAR_SWS_ADCDriver.pdf) 
4.2.0 
2. 
Specification of CAN Driver (AUTOSAR_SWS_CANDriver.pdf) 
4.0.0 
3. 
Specification of PWM Driver (AUTOSAR_SWS_PWMDriver.pdf) 
2.5.0 
4. 
Specification of PORT Driver (AUTOSAR_SWS_PortDriver.pdf) 
3.2.0 
5. 
Specification of Flash EEPROM Emulation 
2.0.0 
(AUTOSAR_SWS_Flash_EEPROMEmulation.pdf) 
6. 
Specification of DIO Driver (AUTOSAR_SWS_DIODriver.pdf) 
2.5.0 
7. 
Specification of Module Flash Driver (AUTOSAR_SWS_FlashDriver.pdf) 
3.2.0 
8. 
Specification of SPI Handler/Driver 
3.2.0 
(AUTOSAR_SWS_SPI_HandlerDriver.pdf) 
9. 
Specification of ICU Driver (AUTOSAR_SWS_ICUDriver.pdf) 
4.2.0 
10. 
Specification of MCU Driver (AUTOSAR_SWS_MCUDriver.pdf) 
3.2.0 
11. 
Specification of GPT Driver (AUTOSAR_SWS_GPTDriver.pdf) 
3.2.0 
12. 
Specification of Watchdog Driver (AUTOSAR_SWS_WatchdogDriver.pdf) 
2.5.0 
13. 
Specification of LIN Driver (AUTOSAR_SWS_LINDriver.pdf) 
1.5.0 
 
 
 
 
 
 
 
 
 
 
 
 
 
13 

Chapter 2 
REFERENCE DOCUMENTS 
 
 
 
14 

 AUTOSAR MODULES 
 Chapter 3 
Chapter 3 
AUTOSAR MODULES 
 
 
3.1 
MCAL Module 
 
 
The MicroController Abstraction layer is the lowest software layer of the Basic 
Software. It contains internal drivers, which are software modules with direct 
access to the μC internal peripherals and memory mapped μC external 
devices. Make higher software layers independent of μC. 
 
The modules developed for MCAL layer are as follows: 
ADC 
PWM 
PORT 
FEE 
DIO 
FLS 
SPI 
ICU 
MCU 
GPT 
WDG 
CAN 
LIN  
FR 
FLSTST 
 
3.1.1.  ADC Driver Component 
 
3.1.1.1.  Module Overview 
 
The ADC driver shall initialize and control the internal Analog Digital Converter 
unit of the microcontroller. The driver is equipped with a set of basic 
functionalities with single value result access mode and streaming access 
mode. 
 
A One Shot conversion shall be started by a software trigger or a hardware 
event whereas a Continuous conversion shall be started by a software trigger 
only. The ADC conversion results shall be returned by an ADC read service. 
This service shall return the last converted result from an external result buffer. 
 
The ADC Driver software component shall provide the following main features: 
 
• 
Single value results access mode supports One-Shot conversion and 
Continuous conversion 
 
• 
Streaming access mode supports linear buffer conversion and circular 
buffer conversion 
 
• 
Various API services for functionalities like initialization, de-
initialization, starting and stopping of ADC channels 
 
• 
Notifications services for ADC channels 
 
15 

 Chapter 3 
AUTOSAR MODULES  
• 
Hardware Trigger services for ADC channels 
• 
Channel group priority mechanism 
 
3.1.1.2.  Module Dependency 
 
The dependency of ADC Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
PORT driver 
 
Port pins used by the ADC Driver shall be configured using the PORT module. 
Both analog input pins and external trigger pins have to be considered. 
 
IO Hardware Abstraction Layer 
 
The ADC driver depends on the IO Hardware Abstraction Layer, which invokes 
the APIs and receives the callback notifications. If IO Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The ADC driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.1.3.  Configuration Parameter Dependency 
 
The ADC Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘AdcClockRef’ in the ‘AdcHwUnit’ container refers to the path “/ 
Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
3.1.1.4.  Source Code Dependency 
 
The following are the common dependent used files by the ADC Driver 
module: 
 
Det.h,  
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Adc.h 
Rte.h and 
 
Os.h 
rh850_Types.h 
 
3.1.1.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
16 

  AUTOSAR MODULES 
 Chapter 3 
 
The tables below will provide the common and port specific stubs to be used 
for ADC Driver component 
 
 
Table 3-1  : ADC Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.2.  PWM Driver Component 
 
3.1.2.1.  Module Overview 
 
The PWM Driver Component provides services for PWM Driver Component 
initialization, De-initialization, Setting the Period and Duty Cycle for a PWM 
channel, Reading the internal state of PWM Output signal and Setting the 
PWM Output to idle state and Disabling or Enabling the PWM signal edge 
notification. The PWM Driver Component is part of the Microcontroller 
Abstraction Layer (MCAL), the lowest layer of Basic Software in the AUTOSAR 
environment. 
 
The PWM Driver Component is divided into PWM High Level Driver and PWM 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
software on different platforms. 
 
The PWM High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
PWM Low Level Driver. 
 
Timers TAUA, TAUB, TAUC and TAUJ are used in PWM Driver Component to 
generate variable PWM output. These timers can operate in Master mode as 
well as Slave mode depending on the configuration. 
 
The channel level notifications are provided for the rising edge, falling edge 
and both edges. Any of these notifications will be active only when these are 
configured for the corresponding channel and enabled by using PWM Driver 
Component APIs. 
 
The PWM Driver component should provide following services based on the 
functions performed by the PWM Driver: 
 
• 
Initialization 
 
• 
De-Initialization 
 
• 
Set the channel output to Idle 
 
• 
Get the channel output state 
 
• 
Set Duty Cycle 
 
• 
Set Duty Cycle and Period 
 
• 
Notification services (at the beginning, at the end and on both edged of 
a period) 
 
• 
Get Version information 
 
17 

 Chapter 3 
AUTOSAR MODULES  
 
3.1.2.2.  Module Dependency 
 
The dependency of PWM Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
MCU Driver 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing and controlling the chip’s internal clock sources and clock 
pre-scalars. 
 
PORT driver 
 
Port pins used by the PWM Driver shall be configured using the PORT module. 
 
 
 
IO Hardware Abstraction Layer
 
 
The PWM driver depends on the IO Hardware Abstraction Layer, which 
invokes the APIs and receives the callback notifications. If IO Hardware 
Abstraction Layer Module is not available, then the required functionality shall 
be stubbed. 
 
OS 
 
The PWM driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
 
3.1.2.3.  Configuration Parameter Dependency 
 
None 
 
3.1.2.4.  Source Code Dependency 
 
The following are the common dependent used files by the PWM Driver 
module: 
 
Det.h,  
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Pwm.h 
Rte.h and 
Os.h 
rh850_Types.h 
 
 
3.1.2.5.  Stubs 
 
Stubs are categorized as common stub. 
18 

  AUTOSAR MODULES 
 Chapter 3 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
 
The table below will provide the common stubs to be used for PWM Driver 
component 
 
Table 3-2  : PWM Driver Component Common Stubs 
 
Common Stubs 
Pat
h 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.3.  PORT Driver Component 
 
3.1.3.1.  Module Overview 
 
The PORT Driver Component access the hardware features directly. The 
upper layers call the functionalities provided by these components. 
 
The PORT Driver Component provides services for: 
 
• 
Initialization of every port pins to configured functionality. 
 
• 
Changing the port pin direction during run time. 
 
• 
Refreshing the port pin directions. 
 
• 
Setting the port pin mode during runtime. 
 
• 
Reading module version 
 
3.1.3.2.  Module Dependency 
 
The dependency of PORT Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever PORT module 
encounters a production relevant error. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.3.3.  Configuration Parameter Dependency 
 
None. 
 
3.1.3.4.  Source Code Dependency 
 
The following are the common dependent used files by the PORT Driver 
module: 
19 

 Chapter 3 
AUTOSAR MODULES  
 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Port.h 
Rte.h and 
Dem.h 
 
3.1.3.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for PORT Driver 
component 
Table 3-3 
:  PORT Driver Component Common Stubs 
 
Common Stubs 
Pat
h 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
3.1.4.  FEE Software Component 
 
 
3.1.4.1.  Module Overview 
 
The FEE software component of the Memory Hardware Abstraction interface 
provides the emulation access to flash driver. The FEE software component 
layer provides the wrapper for the FEE EEPROM Emulation library, which 
comprises of EEPROM emulation layer, Data Flash Access layer and Flash 
control hardware. The FEE software component provides services for reading 
from and writing to flash memory, erasing and invalidating the flash memory. 
 
The FEE Software Component provides services for: 
 
• 
Initialization 
 
• 
Reading and Writing to the memory 
 
• 
Invalidating the memory 
 
• 
Cancellation of request 
 
• 
Reading status and result information 
 
• 
Module version information 
 
3.1.4.2.  Module Dependency 
 
The dependency of FEE software component on other modules and the 
required implementation is briefed as follows: 
 
DET 
20 

  AUTOSAR MODULES 
 Chapter 3 
 
In development mode the Development Error Tracer (DET) will be called 
whenever FEE module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FEE module 
encounters a production relevant error. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.4.3.  Configuration Parameter Dependency 
 
None 
 
3.1.4.4.  Source Code Dependency 
 
The following are the common dependent used files by the FEE Software 
Component module: 
Det.h, 
Dem.h, 
MemIf.h, 
NvM.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Fee.h and 
Rte.h 
rh850_Types.h 
 
 
 
3.1.4.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for FEE Software 
component. 
 
 Table 3-4 
: FEE Driver Component Common Stubs 
 
Common Stubs 
Pa
th 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
NvM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\NvM 
MemIf 
X1X\common_platform\generic\stubs\<Autosar 
Version>\MemIf 
21 

 Chapter 3 
AUTOSAR MODULES  
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
 
3.1.5.  DIO Driver Component 
 
3.1.5.1.  Module Overview 
 
The DIO Driver Component access the hardware features directly. The upper 
layers call the functionalities provided by these components. 
 
The DIO Driver Component provides services for: 
 
• 
Reading from / writing to DIO Channel 
 
• 
Reading from / writing to DIO Ports 
 
• 
Reading from / writing to DIO Channel Groups 
 
• 
Reading module version. 
 
3.1.5.2.  Module Dependency 
 
The dependency of DIO Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
PORT driver 
 
Port pins used by the DIO Driver shall be configured using the PORT module. 
 
3.1.5.3.  Configuration Parameter Dependency 
 
None 
 
3.1.5.4.  Source Code Dependency 
 
The following are the common dependent used files by the DIO Driver module: 
Det.h, 
MemMap.h, 
Platform_Types.h and 
Std_Types.h 
 
3.1.5.5.  Stubs 
 
The DIO driver uses Stubs which is categorized as common stubs and 
available in the path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below provides the common stubs to be used for DIO Driver 
component: 
 
Table 3-5 
: DIO Driver Component Common Stubs 
 
Common Stubs 
P
a
Det 
X1X\common_platform\generic\stubs\<Autosar 
t
Version>\Det 
h 
 
 
 
22 

  AUTOSAR MODULES 
 Chapter 3 
 
 
 
 
3.1.6.  FLS Software Component 
 
3.1.6.1.  Module Overview 
 
The FLS software component provides services for reading, writing, comparing 
and erasing flash memory. The FLS Component layer provides the wrapper for 
the Renesas Self Programming Library, which comprises of API for erase/write 
data to on-chip flash memory of the device. This means the FLS component 
makes use of the FSL, which is an underlying software library contains FSL 
functions to perform the activities like accessing and programming the on-chip 
flash hardware. FSL offers all functions and commands necessary to 
reprogram the application in a user friendly C language interface. The FSL 
basically consists of wrapper functions to the FLS routines. 
 
The FLS Component conforms to the AUTOSAR standard and is implemented 
mapping to the AUTOSAR FLS Software Specification. 
 
The FLS Driver Software Component provides services for: 
 
• 
Initialization 
 
• 
Erasing the flash memory 
 
• 
Reading from the flash memory 
 
• 
Writing to the flash memory 
 
• 
Validating contents of flash memory 
 
• 
Cancellation of Request 
 
• 
Job result and status information 
 
• 
Background job processing 
 
• 
Module version information 
 
• 
Job Processing 
 
3.1.6.2.  Module Dependency 
 
The dependency of FLS software component on other modules and the 
required implementation is briefed as follows: 
 
DET 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.6.3.  Configuration Parameter Dependency 
 
None 
 
3.1.6.4.  Source Code Dependency 
 
The following are the common dependent used files by the FLS Software 
23 

 Chapter 3 
AUTOSAR MODULES  
Component module: 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Fls.h, 
Rte.h 
rh850_Types.h 
 
 
3.1.6.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FLS Software 
component. 
 
Table 3-6 
:  FLS Software Component Common Stubs 
 
Common Stubs 
Pa
th 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
 
 
3.1.7.  SPI Driver Component 
 
3.1.7.1.  Module Overview 
 
The SPI driver is split as High Level Driver and Low Level Driver. The High 
Level Driver exports the AUTOSAR API towards upper modules and it will be 
designed to allow the compilation for different platforms without or only slight 
modifications, i.e. that no reference to specific microcontroller features or 
registers will appear in the High Level Driver. All these references are moved 
inside a µC specific Low Level Driver. The Low Level Driver interface extends 
the High Level Driver types and methods in order to adapt it to the specific 
target microcontroller. 
 
The SPI Driver Component provides services for: 
 
• 
Initialization and De-initialization 
 
• 
Buffer Management 
 
• 
Communication 
 
• 
Status information 
 
• 
Module version information 
 
24 

  AUTOSAR MODULES 
 Chapter 3 
• 
Memory mapping 
 
• 
Compiler abstraction 
 
3.1.7.2.  Module Dependency 
 
The dependency of SPI Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
PORT 
 
The CSIG HW Units uses port lines as external chip selects. In this case, the 
chip select is realized using microcontroller pins and hence the SPI module 
has a relationship with PORT module for initializing appropriate mode and 
direction of the port lines. 
 
The basic SPI functionality for both CSIG and CSIH has to be configured as an 
alternate functionality by the PORT module. 
 
MCU Driver 
 
The configuration of SPI module for jobs contains the references to the MCU 
module for the input clock frequency for the SPI HW Unit. Hence, SPI baud 
rate depends on the frequency set in the MCU module. 
 
IO Hardware Abstraction Layer 
 
The IO Hardware Abstraction Layer invokes APIs of the SPI module and 
receives the callback notifications. 
 
Memory Hardware Abstraction Layer 
 
The Memory Hardware Abstraction Layer invokes APIs of the SPI module in 
case driver for any external memory devices (for example, external EEPROM) 
are implemented through the SPI module. 
 
Onboard Device Abstraction Layer 
The Onboard Device Abstraction Layer invokes APIs of the SPI module in 
case driver for any external devices (for example, external watchdog) are 
implemented through the SPI module. 
 
 
 
RTE 
 
The functions related to critical section protection area of the SPI module are 
invoked by the Run time Environment (RTE) module. 
 
DEM 
 
The SPI module uses the DEM module for getting the reference for all 
production errors. 
 
3.1.7.3.  Configuration Parameter Dependency 
 
The SPI Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘SpiClockFrequencyRef’ in the ‘SpiExternalDevice’ container refers 
to the path 
“/Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
3.1.7.4.  Source Code Dependency 
 
The following are the common dependent used files by the SPI Driver module: 
Det.h, 
25 

 Chapter 3 
AUTOSAR MODULES  
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Spi.h 
Rte.h and 
 
Os.h 
rh850_Types.h 
 
 
3.1.7.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for SPI Driver component 
 
Table 3-7 
: SPI Driver Component Common Stubs 
 
Common Stubs 
                                     Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
Table 3-8 
:  SPI Driver Component Port Specific Stubs 
 
Common Stubs 
                                    Path 
Mcu 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
 
 
3.1.8.  ICU Driver Component 
 
3.1.8.1.  Module Overview 
 
The ICU Driver Component provides following services: 
 
• 
Signal Edge detection and notification 
 
• 
Services for Driver initialization and de-initialization 
 
• 
Signal time measurement like period and duty cycle 
 
• 
Signal Edge time stamping and edge counting 
 
• 
Support post-build configurations 
 
The ICU Driver Component is part of the Microcontroller Abstraction Layer 
(MCAL), the lowest layer of Basic Software in the AUTOSAR environment. 
26 

  AUTOSAR MODULES 
 Chapter 3 
Different applications require different number of ICU channels in different 
modes. Therefore the timer, timer operation modes and external interrupts 
have to be selected depending on ICU measurement mode. For the X1X 
microcontroller generation following concepts will be considered: 
 
• 
Using TAU A and TAU B for Edge Counting Measurement mode 
 
• 
Using TAU A, TAU B and TAU J for Time Stamping Measurement mode 
 
• 
Using TAU A, TAU B and TAU J for Signal Measurement mode 
 
• 
Using External Interrupts for Edge Detection mode 
 
The ICU channel can be configured to either a timer channel or an external 
interrupt based on the required measurement mode. The configuration for 
Edge Detection measurement mode will be made only for an external interrupt 
channel and not for any of the Timer channels. The remaining three 
measurement modes viz. Edge Counting, Time Stamping and Signal 
Measurement should be configured only for the timer channels. The 
configuration of Timer in different operating modes will be taken care by the 
software itself. 
 
The ICU Driver component can be divided into following sections based on the 
functions performed by the ICU Driver: 
 
• 
Initialization 
 
• 
De-Initialization 
 
• 
Wakeup 
 
• 
Notification 
 
• 
Signal Measurement 
 
• 
Signal Activation and State Information 
 
• 
Version Information 
 
Various timers can be started at the same time by setting the related enable 
bits. The input signal can be split from one port pin to two consecutive TAU 
inputs, which allows the signal for period or duty cycle measurement to be fed 
into only one port pin. 
 
3.1.8.2.  Module Dependency 
 
The dependency of ICU Driver on other modules and the required 
implementation is briefed as follows: 
 
MCU Driver 
 
The ICU Driver depends on MCU for the setting of system clock and PLL and 
the length of the timer ticks depends on the clock settings made in MCU 
module. If MCU module is not available, the functionality of system clock and 
PLL settings shall be stubbed. 
 
OS 
 
The ICU driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
PORT Module 
 
The configuration of port pins used for the ICU as inputs is done by the PORT 
driver. Hence the PORT driver has to be initialized prior to the use of ICU 
functions. If the PORT Driver is not available, then the configuration of port 
pins used for the ICU shall be stubbed. 
 
27 

 Chapter 3 
AUTOSAR MODULES  
In order to use the external interrupt functionality, port filter of respective 
external interrupt needs to be enabled in PORT component. ICU can override 
edge detection settings and PORT can do as well. The registers FCLAxCTLx 
are used by ICU and PORT at the same time and the order of calling APIs is 
important. 
 
EcuM Module 
 
The ICU driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, and then the required functionality shall be stubbed. 
 
 
DET Module
 
 
If the Development Error Tracer is not available, stubs need to be used to the 
interfaces for those modules. 
 
IO Hardware Abstraction Layer Module 
 
The ICU driver depends on the I/O Hardware Abstraction Layer which invokes 
the APIs and receives the call-back notifications. If I/O Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE Module 
 
The ICU driver shall perform data protection using SchM APIs. If the SchM is 
not available, then the required functionality shall be stubbed. 
 
3.1.8.3.  Configuration Parameter Dependency 
 
The ICU Driver Depends on EcuM. Hence the parameter 
‘IcuChannelWakeupInfo’ in the ‘IcuWakeup’ container of each channel refers 
to the path “/AUTOSAR/Ecudefs_EcuM/EcuMConfiguration_1/ 
EcuMWakeupSource_1”. 
 
3.1.8.4.  Source Code Dependency 
 
The following are the common dependent used files by the ICU Driver module: 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Icu.h, 
Rte.h, 
EcuM.h 
EcuM_Cfg.h 
EcuM_Cbk.h and 
Os.h 
rh850_Types.h 
 
3.1.8.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common to be used for ICU Driver component. 
28 

  AUTOSAR MODULES 
 Chapter 3 
 
 
 
 
Table 3-9 
: ICU Driver Component Common Stubs 
 
Common Stubs 
P
a
Det 
X1X\common_platform\generic\stubs\<Autosar 
t
Version>\Det 
h 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.9.  MCU Driver Component 
 
3.1.9.1.  Module Overview 
 
The MCU Driver accesses the hardware features directly. The upper layers call 
the functionalities provided by the Driver. MCU component has functionalities 
related PLL Initialization, Clock Initialization & Distribution, RAM sections, Pre-
Scaler Initializations, MCU Reduced Power Modes Activation and MCU Reset 
Activation & Reason. 
 
The MCU Driver component is divided into the following sub modules based 
on the functionality required: 
 
• 
Initialization 
 
• 
Clock Initialization 
 
• 
PLL Clock Distribution 
 
• 
MCU Reduced Power Modes Activation 
 
• 
RAM sections Initialization 
 
• 
MCU Reset Activation & Reason 
 
• 
Module Version Info 
 
3.1.9.2.  Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
EcuM 
 
The reference for the type of reset will be provided by the Mcu driver to the 
ECU State manager module. 
 
OS 
 
The MCU driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
29 

 Chapter 3 
AUTOSAR MODULES  
3.1.9.3.  Configuration Parameter Dependency 
 
None 
 
3.1.9.4.  Source Code Dependency 
 
The following are the common dependent used files by the MCU Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h, 
SchM_Mcu.h  
Os.h 
rh850_Types.h 
 
3.1.9.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for MCU Driver 
component. 
 
Table 3-10 
:  MCU Driver Component Common Stubs 
 
Common Stubs 
Pat
h 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.10. GPT Driver Component 
 
3.1.10.1. Module Overview 
 
The GPT Driver Component provides services for GPT Driver Component 
Initialization, De-initialization, Setting starting and stopping a timer, getting 
elapsed and remaining time, setting GPT mode (one shot, continuous) and 
Disabling or Enabling the GPT notification. The GPT Driver Component is part 
of the Microcontroller Abstraction Layer (MCAL), the lowest layer of Basic 
Software in the AUTOSAR environment. 
 
The GPT Driver Component is divided into GPT High Level Driver and GPT 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
30 

  AUTOSAR MODULES 
 Chapter 3 
software on different platforms. 
 
The GPT High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
GPT Low Level Driver. 
 
The GPT channel can be configured to either as continuous mode or one-shot 
mode. In continuous mode, the timers keep operating even after the target 
value is reached and it has multiple notifications (if enabled). 
 
Timers OSTM, TAUA TAUB, TAUC and TAUJ are used in GPT Driver 
Component to generate timeout periods. 
 
The GPT Driver component should provide following services based on the 
functions performed by the GPT Driver: 
 
• 
Initialization: Provides the service to initialize the timer control registers and 
interrupt registers De-Initialization: Provides the service to reinitialize the timer 
registers and to stop the channels that are running 
 
• 
Reading of timer values: Provides services for reading the elapsed time after the 
timer  is  started  or  Service  for  reading  the  remaining  time  before  the  next 
timeout 
 
• 
Start/Stop timer: Provides the service to start/stop the requested timer 
channel 
 
• 
Set mode for GPT(continuous, one shot): Provides services for the user to 
select the mode 
 
• 
Notification services: Provides services for the user to enable or disable the 
notification for every timeout 
 
• 
Wakeup Services: Provides services for the user to enable or disable the 
wakeup notification. 
 
• 
Get version information: Provides the service for the user to read module 
version 
 
3.1.10.2. Module Dependency 
 
The dependency of GPT Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer will be called whenever 
this module encounters a development error. 
 
IO Hardware Abstraction Layer 
 
The GPT driver depends on the IO Hardware Abstraction Layer, which invokes 
the APIs and receives the callback notifications. If IO Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed 
 
 
 
 
 
MCU Driver 
 
The GPT Driver component depends on MCU module for the setting of system 
clock, prescaler(s) and PLL. Thus any change in the system clock (For 
example, PLL On -> PLL Off) also affects the clock settings of GPT hardware. 
If MCU module is not available, the functionality of system clock prescaler(s) 
and PLL settings shall be stubbed. 
 
EcuM 
 
The GPT driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, then the required functionality shall be stubbed. 
31 

 Chapter 3 
AUTOSAR MODULES  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The GPT driver uses interrupts and therefore there is a dependency on the 
 OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.10.3. Configuration Parameter Dependency 
 
The GPT Driver Depends on EcuM. Hence the parameter 
‘GptWakeupSourceRef’ in the ‘GptWakeupConfiguration’ container of each 
 channel refers to the path “/AUTOSAR/EcuDefs_EcuM/ 
EcuMConfiguration_1/ EcuMWakeupSource_1”. 
 
The GPT Driver Depends on the MCU Driver for clock value. Hence the 
 parameter GptTauUnitClkRefPoint in the container GptTaUnit refers to the 
 path “/Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
3.1.10.4. Source Code Dependency 
 
The following are the common dependent used files by the GPT Driver 
module: 
 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Gpt.h, 
Rte.h, 
Os.h 
EcuM_Cfg.h, 
EcuM.h and 
EcuM_Cbk.h 
rh850_Types.h 
 
 
3.1.10.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for GPT Driver 
component. 
 
Table 3-11  :  GPT Driver Component Common Stubs 
 
Common Stubs 
                                   Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
32 

  AUTOSAR MODULES 
 Chapter 3 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.11. WDG Driver Component 
 
3.1.11.1. Module Overview 
 
To minimize the effort and to optimize the reuse of developed software, the 
Watchdog interface will invoke the corresponding drivers in case when multiple 
drivers exist. 
In case of more than one Watchdog device and Watchdog Driver (both internal 
software Watchdog and external hardware Watchdog) is used on an ECU, 
Watchdog Interface module allows the upper layer to select the correct 
Watchdog Driver and Watchdog device while retaining the API and 
functionality of the underlying driver. 
 
The Watchdog Driver architectural design is shown in the above Figure. The 
Watchdog Driver accesses the microcontroller hardware directly and Interface 
communicates with the application. 
 
The Watchdog Driver component is composed of following modules: 
 
• 
Watchdog Driver Initialization module 
 
• 
Watchdog Driver SetMode module 
 
• 
Watchdog Driver Trigger module 
 
• 
Watchdog Driver Version info module 
 
3.1.11.2. Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
MCU Driver 
 
The count which indicates the number of times the watchdog should be 
triggered for a trigger condition’s timeout value depends on WDTATCLKI, 
hence MCU reference path will be provided in the parameter definition file. 
 
OS 
 
The WDG driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.11.3. Configuration Parameter Dependency 
 
None 
33 

 Chapter 3 
AUTOSAR MODULES  
 
3.1.11.4. Source Code Dependency 
 
The following are the common dependent used files by the WDG Driver 
module: 
 
Det.h,  
Dem.h 
WdgIf_Types.h 
MemMap.h, 
Platform_Types.h, 
Rte.h 
Std_Types.h  
Os.h 
rh850_Types.h 
 
 
3.1.11.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for WDG Driver 
component. 
 
Table 3-12 
:  WDG Driver Component Common Stubs 
 
Common Stubs 
                                  Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
WdgIf 
X1X\common_platform\generic\stubs\<Autosar 
Version>\WdgIf 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
 
3.1.12. CAN Driver Component 
3.1.12.1. Module Overview 

 
The CAN driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. The only upper, which has access to the CAN driver, is the CAN 
interface. Several CAN Controllers can be controlled by the CAN Driver as 
long as they belong to the same CAN Hardware Unit. 
 
The CAN Driver software component shall provide the following main features: 
 
The CAN Driver Component fulfills requirements of upper layer 
communication components with respect to Initialization, Transmit 
confirmation, Receive indication, BusOff to CAN Interface layer and Wakeup 
34 

  AUTOSAR MODULES 
 Chapter 3 
notification to ECU State Manager. 
 
 
3.1.12.2. Module Dependency 
 
The dependency of CAN Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
 
 
MCU Driver
 
 
CAN driver depend on MCU Driver for the setting of channel clock. 
 
CAN Interface 
 
The CAN Driver Component provides the following functionalities to the CAN 
Interface layer 
 
• 
To change the operation mode of the controllers. 
 
• 
To Enable/Disable the Controller Interrupts 
 
• 
To process the L-PDU Transmission 
 
ECU State Manager 
 
If controller wake-up event is detected CAN Driver Component provides the 
call out notification functionality to the EcuM. 
 
OS 
 
The CAN driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
3.1.12.3. Configuration Parameter Dependency 
 
The CAN Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘CanControllerClock’ in the ‘CanController’ container refers to the 
path “/Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
 
3.1.12.4. Source Code Dependency 
 
The following are the common dependent used files by the CAN Driver 
module: 
 
Det.h, 
CanIf_Cbk.h, 
EcuM_Cfg.h, 
EcuM_Cbk.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
35 

 Chapter 3 
AUTOSAR MODULES  
Rte.h and 
 
SchM_Can.h 
rh850_Types.h 
 
3.1.12.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
 
The tables below will provide the common and port specific stubs to be used 
for CAN Driver component 
 
Table 3-13 
:  CAN Driver Component Common Stubs 
 
Common Stubs 
                               Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
CanIf 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\CanIf 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
Table 3-14 
: CAN Driver Component Port Specific Stubs 
 
Port Specific Stubs                                     Path 
Mcu 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
 
 
3.1.13. LIN Driver Component 
 
3.1.13.1. 
Module Overview 
 
The LIN driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. Several LIN Controllers is controlled by the LIN Driver as long as 
they belong to the same LIN Hardware Unit. 
 
The LIN Driver software component shall provide the following main features: 
 
The LIN Driver Component fulfills requirements of upper layer 
communication components with respect to Initialization, Transmit and 
Receive confirmation and Wakeup notification to ECU State Manager. 
 
36 

  AUTOSAR MODULES 
 Chapter 3 
3.1.13.2. 
Module Dependency 
 
The dependency of LIN Driver on other modules and the required 
implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever LIN module 
encounters a production relevant error.  
 
MCU Driver 
 
LIN driver depend on MCU Driver for the setting of channel clock. 
 
ECU State Manager 
 
If controller wake-up event is detected LIN Driver Component provides the 
call out notification functionality to the EcuM. 
 
OS 
 
The LIN driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.13.3. 
Configuration Parameter Dependency 
 
The LIN Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘LinChannelClockRef’ in the ‘LinChannel’ container refers to the 
path  
 
For RLIN2: 
“/Renesas/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuClockSettin
gConfig0/McuIsoLin0” 
 
For RLIN3: 
“/Renesas/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuClockSettin
gConfig0/McuIsoLin30” 
 
3.1.13.4. 
Source Code Dependency 
 
The following are the common dependent used files by the LIN Driver 
module: 
 
Det.h, 
EcuM.h, 
EcuM_Cfg.h, 
EcuM_Cbk.h, 
EcuM_Types.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h and 
 
37 

 Chapter 3 
AUTOSAR MODULES  
SchM_Lin.h 
rh850_Types.h 
3.1.13.5. 
Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for LIN Driver component 
 
Table 3-15 
:  LIN Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
Table 3-16 
:  LIN Driver Component Port Specific Stubs      
 
Port Specific Stubs 
Path 
Mcu 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
 
 
3.1.14. FR Driver Component 
 
3.1.14.1.  Module Overview 
 
The FR driver provides services for FlexRay communication. 
 
The FR driver component provides the following functionalities: 
 
• 
To initialize the FlexRay communication controllers 
 
• 
To start, halt or abort the communication 
 
• 
To  configure  the  channel for  sending the  wakeup pattern  and  to  transmit 
the wakeup pattern on the configured FlexRay channel 
 
• 
To get the current POC status of CC 
 
• 
To  get  the  synchronization state  of  CC  and  to  adjust  the  global  time  of 
a FlexRay CC to an external clock source 
 
• 
To transmit the frames on the FlexRay channels 
 
• 
To receive the frames transmitted on the FlexRay channels 
 
38 

  AUTOSAR MODULES 
 Chapter 3 
• 
To get the current cycle and macrotick offset value of CC 
 
• 
To set the value for absolute timer interrupt  and to stop the absolute timer 
 
• 
To enable/disable the absolute timer interrupt.  To   reset   the   interrupt 
condition  of    absolute  timer  interrupt  and  to  get  the  status  of  absolute 
timer interrupt 
 
• 
To  get  the  Channel  status,  Clock  Correction,  Number  of  startup  frames, 
Clock Correction, Sync frame list and wakeup Rx status of CC 
 
• 
To get the Nm Vector Information received on CC 
 
• 
To send CC to ALLSLOTS and ALLOW_COLDSTART modes 
   
• 
To reconfigure or disable an Lpdu in run time. 
 
 
3.1.14.2.  Module Dependency 
 
The dependency of FR Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FR module 
encounters a production relevant error.  
 
OS 
 
The FR driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.14.3.  Configuration Parameter Dependency 
 
None 
 
3.1.14.4.  Source Code Dependency 
 
The following are the common dependent used files by the FR Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h and 
 
SchM_Fr_59_Renesas.h  
 
rh850_Types.h 
 
3.1.14.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
39 

 Chapter 3 
AUTOSAR MODULES  
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for FR Driver component 
 
Table 3-17 
:  FR Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
3.1.15. FLSTST Driver Component 
 
3.1.15.1. Module Overview 
 
The FLSTST Driver Component provides the following services: 
 
• FLSTST Driver Component initialization 
 
• De-initialization 
 
• Reading the internal state of FLSTST Output signal 
 
• Setting the FLSTST Output to Idle state 
 
• Disabling/Enabling the FLSTST signal edge notification 
 
 
3.1.15.2. Module Dependency 
 
The dependency of FLSTST Driver on other modules and the 
required implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FLSTST module 
encounters a production relevant error.  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.15.3. Configuration Parameter Dependency 
 
None 
 
 
40 

  AUTOSAR MODULES 
 Chapter 3 
3.1.15.4. Source Code Dependency 
 
The following are the common dependent used files by the FLSTST 
Driver module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h and 
 
SchM_FlsTst.h 
rh850_Types.h 
 
3.1.15.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for FLSTST Driver component 
 
 

Table 3-18 
:  FLSTST Driver Component Common Stubs 
 
  Common Stubs 
                                     Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
3.2 
RH850 Macros Definition: 
The driver supports both Supervisor mode and User mode. 
 To provide the provision to the user, to adapt the Driver to operate either in 
Supervisor/User Mode the IMRx/ICxxx register is moved to OS Module. 
 
The macros provided in Table 3-17, available in rh850_types.h, should be 
used as mentioned below to switch modes. 
 
To operate the driver in User Mode: User must modify these macros. 
 
To operate the driver in Supervisor Mode: No modification is required. 
 
 
 
 
 

41 

 Chapter 3 
AUTOSAR MODULES  
 
Table   3-19 
:  Macros to perform write operation on write enabled 
Register. 
Macro Name 
Description 
Input Parameter 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_ICR_
supervisor mode (SV) write 
Access Size  
OR 
enabled Register ICxxx 
ADDR : Register 
register writing which involves 
address 
an OR operation. 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_ICR_
supervisor mode(SV) write 
Access Size  
AND 
enabled Register ICxxx 
ADDR : Register 
register writing which 
address 
involves an AND operation. 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_ICR_
supervisor mode(SV) write 
Access Size  
WRITE_ONL
enabled Register ICxxx 
ADDR : Register 

register direct writing 
address 
VAL  : Value to be 
operation. 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_IMR
supervisor mode(SV) write 
Access Size  
_OR 
enabled Register IMR 
ADDR : Register 
register writing which 
address 
involves an OR operation 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_IMR
supervisor mode(SV) write 
Access Size  
_AND 
enabled Register IMR 
ADDR : Register 
register writing which 
address 
involves an AND operation 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_IMR
supervisor mode (SV) write 
Access Size  
_WRITE_ON
enabled Register IMR 
ADDR : Register 
LY 
register direct writing 
address 
operation. 
VAL  : Value to be 
written to the 
register 
 
 

42 

 Chapter 3 
AUTOSAR MODULES  
 
 
3.3 
ICxxx Registers Setting for TBxxx-Bit 
  The ICxxx register’s TBxxx-Bit is used to select the way to determine the 
interrupt vector. 
0: Direct jumping to an address determined from the level of priority 
1: Reference to a table. 
 
  MCAL Driver does not set TBxxx bit. Hence user has to take care of 
setting TBxxx-Bit before initializing MCAL driver. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43 

 Chapter 3 
AUTOSAR MODULES  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44 

 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
31-Jan-2013 
2. 
Following changes are made: 
1.0.1 
24-Jan-2014 
1. On front page F1L is replaced by X1x. 
3. 
Following changes are made: 
1.0.2 
29-Jan-2014 
1. New section 3.1.13 is added for LIN driver component. 
2. Alignment is done in throughout the file. 
4. 
Following change is made: 
1.0.3 
30-Jan-2014 
1. Canif stub is removed from table 13-15 and accordingly 
description is updated in section 13.1.13.1.  
5.  
Following changes are made: 
1.0.4 
08-Apr-2014 
1. R-number is updated for document. 
2. Alignment is updated as per template. 
6. 
Following changes are made: 
1.0.5 
17-Jun-2014 
1. Section 3.1 is updated for source code dependency files 
2. New Section 3.2 is added for RH850 Macro definition 
7.  
Following changes are made: 
1.0.6 
17-Jul-2014 
1. New Section 3.3 is added for adding information about ICxxx 
registers. 
8.  
Following changes are made: 
1.0.7 
09-Aug-2014 
1. Copyright information is updated. 
 
2. Document is updated as per template. 
 
9.  
 Following changes are made: 
 
1.0.8 
31-Mar-2016 
 1. Copyright information is updated. 
 
2. Added FR and FLSTST 
 
10 
 Following changes are made: 
 
1.0.9 
14-Jul-2016 
   1. R-Number has been update. 
 2. Table 3-12 alignment is corrected. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

45 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview User’s Manual 
Version 1.0.9 
 
Publication Date: Rev.1.00, July 14, 2016 
 
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 
 
 
 
 
© 2016 Renesas  Electronics  Corporation.  All rights reserved. 
Colophon  1.0 
 
 
 
 



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
 
User’s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R20UT3752EJ0100 
 
 
 

Document Outline


18 - R20UT3752EJ0101-AUTOSAR

AUTOSAR Modules Overview User's Manual

20 - R20UT3752EJ0101-AUTOSARs



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
User’s Manual 
 
 
 
 
Version 1.0.10 
 
 
 
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). 
 
 
 
 
 
 
 
Renesas Electronics 
www.renesas.com 
Rev.1.01 Feb 2017 
 
 
 
 

 
 
 
 
 
 

 

 
 
 
 
 
Notice 
 
1. 
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of 
 
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, 
 
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and 
 
damages incurred by you or third parties arising from the use of these circuits, software, or information. 
 
2. 
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents, 
 
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information 
 
described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application examples. 
 
 
3. 
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas 
 
Electronics or others. 
 
4. 
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics 
 
disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copy or 
 
otherwise misappropriation of Renesas Electronics products. 
 
5. 
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended 
 
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.  
 
"Standard":          Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment; 
 
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc. 
 
 
"High Quality":   Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication 
 
equipment; key financial terminal systems; safety control equipment; etc. 
 
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or 
 
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and undersea 
 
repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any 
 
and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for which the 
 
product is not intended by Renesas Electronics. 
 
6. 
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General 
 
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the ranges 
 
specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation characteristics, 
 
installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of the use of Renesas 
 
Electronics products beyond such specified ranges. 
 
7. 
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have 
 
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas 
 
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the 
 
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics 
 
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention, 
 
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your products/system. 
 
Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the final products or 
 
systems manufactured by you. 
 
8. 
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas 
 
Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances, including 
 
without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all these applicable 
 
laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with 
 
applicable laws and regulations. 
 
9. 
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale 
 
is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or technologies for (1) 
 
any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction, such as nuclear weapons, 
 
chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering such weapons, (2) any purpose 
 
relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of disturbing international peace and 
 
security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or technologies to any third party whether directly 
 
or indirectly with knowledge or reason to know that the third party or any other party will engage in the activities described above. When 
 
exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall comply with any applicable export control laws and 
 
regulations promulgated and administered by the governments of the countries asserting jurisdiction over the parties or transactions. 
 
10.  Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and 
 
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from your 
 
resale or making Renesas Electronics products available any third party. 
 
 
11.  This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas 
 
Electronics. 
 
12.  Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas 
 
Electronics products. 
 
 
 
(Note 1)   "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned 
 
subsidiaries. 
 
 
(Note 2)   "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics. 
 
 
 
 
 
 
   
 
 

 
 
 
 
2 

 

 

 
 
 
 
 
 
 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ADC 
Analog to Digital Converter 
API 
Application Programming Interface 
ANSI 
American National Standards Institute 
AUTOSAR 
AUTomotive Open System ARchitecture 
CAN 
Controller Area Network 
DEM 
Diagnostic Event Manager 
DET/Det 
Development Error Tracer 
DIO 
Digital Input Output 
FEE 
Flash EEPROM Emulation 
FLS 
FLaSh Driver 
FSL 
Flash Self programming Library 
FR 
Flex-Ray 
GPT 
General Purpose Timer 
ICU 
Input Capture Unit 
LIN 
Local Interconnect Network 
MCAL 
MicroController Abstraction Layer 
MCU 
MicroController Unit 
PWM 
Pulse Width Modulation 
SPI 
Serial Peripheral Interface 
TAU 
Timer Array Unit 
WDG 
WatchDog driver 
 
 
 
Definitions 
 
 
Term 
Represented by 
Sl. No. 
Serial Number 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 
 
 
 

 

 
Table of Contents  
 
Chapter 1 
INTRODUCTION ............................................................................................. 11 
1.1. 
Document Overview ........................................................................................................ 12 
Chapter 2 
REFERENCE DOCUMENTS .......................................................................... 13 
Chapter 3 
AUTOSAR MODULES .................................................................................... 15 
3.1 
MCAL Module .................................................................................................................. 15 
3.1.1. 
ADC Driver Component .................................................................................... 15 
3.1.1.1.  Module Overview .............................................................................15 
3.1.1.2.  Module Dependency........................................................................16 
3.1.1.3.  Configuration Parameter Dependency ............................................16 
3.1.1.4.  Source Code Dependency ..............................................................16 
3.1.1.5.  Stubs ...............................................................................................16 

3.1.2. 
PWM Driver Component ................................................................................... 17 
3.1.2.1.  Module Overview .............................................................................17 
3.1.2.2.  Module Dependency........................................................................18 
3.1.2.3.  Configuration Parameter Dependency ............................................18 
3.1.2.4.  Source Code Dependency ..............................................................18 
3.1.2.5.  Stubs ...............................................................................................18 

3.1.3. 
PORT Driver Component .................................................................................. 19 
3.1.3.1.  Module Overview .............................................................................19 
3.1.3.2.  Module Dependency .......................................................................19 
3.1.3.3.  Configuration Parameter Dependency ...........................................19 
3.1.3.4.  Source Code Dependency ..............................................................19 
3.1.3.5.  Stubs ...............................................................................................20 
3.1.4. 
FEE Software Component ................................................................................ 20 
3.1.4.1.  Module Overview .............................................................................20 
3.1.4.2.  Module Dependency .......................................................................20 
3.1.4.3.  Configuration Parameter Dependency ...........................................21 
3.1.4.4.  Source Code Dependency ..............................................................21 
3.1.4.5.  Stubs ...............................................................................................21 

3.1.5. 
DIO Driver Component ..................................................................................... 22 
3.1.5.1.  Module Overview .............................................................................22 
3.1.5.2.  Module Dependency........................................................................22 
3.1.5.3.  Configuration Parameter Dependency ............................................22 
3.1.5.4.  Source Code Dependency ..............................................................22 
3.1.5.5.  Stubs ...............................................................................................22 

3.1.6. 
FLS Software Component ................................................................................ 23 
3.1.6.1.  Module Overview .............................................................................23 
3.1.6.2.  Module Dependency .......................................................................23 
3.1.6.3.  Configuration Parameter Dependency ...........................................23 
3.1.6.4.  Source Code Dependency ..............................................................23 
3.1.6.5.  Stubs ...............................................................................................24 
3.1.7. 
SPI Driver Component ...................................................................................... 24 
3.1.7.1.  Module Overview .............................................................................24 
3.1.7.2.  Module Dependency .......................................................................25 
3.1.7.3.  Configuration Parameter Dependency ...........................................25 


 

3.1.7.4.  Source Code Dependency ..............................................................25 
3.1.7.5.  Stubs ...............................................................................................26 
3.1.8. 
ICU Driver Component...................................................................................... 26 
3.1.8.1.  Module Overview .............................................................................26 
3.1.8.2.  Module Dependency .......................................................................27 
3.1.8.3.  Configuration Parameter Dependency ...........................................28 
3.1.8.4.  Source Code Dependency ..............................................................28 
3.1.8.5.  Stubs ...............................................................................................28 

3.1.9. 
MCU Driver Component.................................................................................... 29 
3.1.9.1.  Module Overview .............................................................................29 
3.1.9.2.  Module Dependency .......................................................................29 
3.1.9.3.  Configuration Parameter Dependency ...........................................30 
3.1.9.4.  Source Code Dependency ..............................................................30 
3.1.9.5.  Stubs ...............................................................................................30 

3.1.10. 
GPT Driver Component .................................................................................... 30 
3.1.10.1.  Module Overview .............................................................................30 
3.1.10.2.  Module Dependency........................................................................31 
3.1.10.3.  Configuration Parameter Dependency ............................................32 
3.1.10.4.  Source Code Dependency ..............................................................32 
3.1.10.5.  Stubs ...............................................................................................32 

3.1.11. 
WDG Driver Component ................................................................................... 33 
3.1.11.1.  Module Overview .............................................................................33 
3.1.11.2.  Module Dependency........................................................................33 
3.1.11.3.  Configuration Parameter Dependency ............................................33 
3.1.11.4.  Source Code Dependency ..............................................................34 
3.1.11.5.  Stubs ...............................................................................................34 

3.1.12. 
CAN Driver Component .................................................................................... 34 
3.1.12.1.  Module Overview .............................................................................34 
3.1.12.2.  Module Dependency........................................................................35 
3.1.12.3.  Configuration Parameter Dependency ............................................35 
3.1.12.4.  Source Code Dependency ..............................................................35 
3.1.12.5.  Stubs ...............................................................................................36 
3.1.13. 
LIN Driver Component ...................................................................................... 36 
3.1.13.1.  Module Overview .............................................................................36 
3.1.13.2.  Module Dependency........................................................................37 
3.1.13.3.  Configuration Parameter Dependency ............................................37 
3.1.13.4.  Source Code Dependency ..............................................................37 
3.1.13.5.  Stubs ...............................................................................................38 
3.1.14. 
FR Driver Component ....................................................................................... 38 
3.1.14.1.  Module Overview .............................................................................38 
3.1.14.2.  Module Dependency........................................................................39 
3.1.14.3.  Configuration Parameter Dependency ............................................39 
3.1.14.4.  Source Code Dependency ..............................................................39 
3.1.14.5.  Stubs ...............................................................................................39 

3.1.15. 
FLSTST Driver Component .............................................................................. 40 
3.1.15.1.  Module Overview .............................................................................40 
3.1.15.2.  Module Dependency........................................................................40 
3.1.15.3.  Configuration Parameter Dependency ............................................40 
3.1.15.4.  Source Code Dependency ..............................................................41 
3.1.15.5.  Stubs ...............................................................................................41 


 

 
3.2 
RH850 Macros Definition: .............................................................................................. 41 
3.3 
ICxxx Registers Setting for TBxxx-Bit .......................................................................... 43 
3.4 
Deviation List .................................................................................................................. 43 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 

 
 
List of Figures 
 
Figure 1-1 
: System Overview of the AUTOSAR Architecture Layer ................................................. 11 
  
List of Tables 
 
Table 3-1 
: ADC Driver Component Common Stubs ........................................................................ 17 
Table 3-2 
: PWM Driver Component Common Stubs ....................................................................... 19 
Table 3-3 
:  PORT Driver Component Common Stubs ...................................................................... 20 
Table 3-5 
: DIO Driver Component Common Stubs .......................................................................... 22 
Table 3-6 
:  FLS Software Component Common Stubs .................................................................... 24 
Table 3-7 
: SPI Driver Component Common Stubs .......................................................................... 26 
Table 3-8 
:  SPI Driver Component Port Specific Stubs .................................................................... 26 
Table 3-9 
: ICU Driver Component Common Stubs .......................................................................... 29 
Table 3-10 
:  MCU Driver Component Common Stubs ....................................................................... 30 
Table 3-11 
:  GPT Driver Component Common Stubs ........................................................................ 32 
Table 3-12 
:  WDG Driver Component Common Stubs ....................................................................... 34 
Table 3-13 
:  CAN Driver Component Common Stubs ........................................................................ 36 
Table 3-14 
: CAN Driver Component Port Specific Stubs ................................................................... 36 
Table 3-15 
:  LIN Driver Component Common Stubs .......................................................................... 38 
Table 3-16 
:  LIN Driver Component Port Specific Stubs .................................................................... 38 
Table 3-17 
:  FR Driver Component Common Stubs ........................................................................... 40 
Table 3-18 
:  FLSTST Driver Component Common Stubs .................................................................. 41 
Table   3-19 
:  Macros to perform write operation on write enabled Register. ....................................................... 42 
 
 
 
 
 
 
 
 
 
 
 
 
 
10 









































































































































































































































































































































































































































































































































































 INTRODUCTION 
Chapter 1 
Chapter 1 
INTRODUCTION 
 
 
 
 
The users for module overview, module dependencies, source code 
dependencies and configuration parameter dependencies, shall use this 
document as reference. 
 
 
 
 
 
Ap  
plication 
Actuator 
Sensor 
Application 
 
oftware 
Software 
Software 
Software 
AUTOSAR 
AUTOSAR 
Component 
Component 
Component 
Component 
 
Software 
 
 
 
 
Software 
  
AUTOSAR 
AUTOSAR 
AUTOSAR 
AUTOSAR 
Component 
Interface 
Interface 
Interface 
 
Interface 
 
 
 
 
 
 
Interface 
 
AUTOSAR Runtime Environment (RTE) 
Standard 
 
 
Software 
 
AUTOSAR 
 
Standardized 
Standardized 
Standardized 
AUTOSAR 
Interface 
AUTOSAR 
Interface 
Interface 
Interface 
 
API 2 
VFB & RTE 

 
Interface 
 
 
 
 
 
relevant 
 
 
 
Services 
Communication 
ECU 
 
 
 
 
 
Abstraction 
 
API 1 
 
 
 
 
RTE 
Standardized 
Standardized 
Standardized 
 
 
 
relevant 
Interface 
Interface 
Interface 
 
 
 
 
 
 
 
Operating 
S
Complex 
API 0 
t
 
System 
I
a
Device 
 
nt
ndard
e
Drivers 
 
rf
 
a
Standardized 
 
 
API 3 Private 
c
i
e
z
Interface 
Interfaces inside 
 
e
 Basic Software 
 
d
 
Basic Software 
 
Microcontrolle
 
possible 
 

 
 
Abstraction 
ECU-Hardware 
      
 
 
Figure 1-1  : System Overview of the AUTOSAR Architecture Layer 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

11 
 

Chapter 1 
INTRODUCTION 
 
1.1. 
Document Overview 
 
 
The document has been segmented for easy reference. The table below 
provides user with an overview of the contents of each section: 
 
 
 
Section 
Contents 
Section1 
Explains the purpose of this document. 
(Introduction) 
Section2 
Lists the documents referred for developing this 
(Reference Documents)  document. 
Section3 
Provides the list of modules developed in the MCAL 
(MCAL Modules) 
layer. Brief information about the Module overview, 
Modules dependency, Configuration parameter 
dependency, source code dependency and stubs. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

12 
 

 REFERENCE DOCUMENTS 
Chapter 2 
Chapter 2 
REFERENCE DOCUMENTS 
 
 
 
 
Sl. No. 
Title For Autosar Version R4.0.3 
Version 
1. 
Specification of ADC Driver (AUTOSAR_SWS_ADCDriver.pdf) 
4.2.0 
2. 
Specification of CAN Driver (AUTOSAR_SWS_CANDriver.pdf) 
4.0.0 
3. 
Specification of PWM Driver (AUTOSAR_SWS_PWMDriver.pdf) 
2.5.0 
4. 
Specification of PORT Driver (AUTOSAR_SWS_PortDriver.pdf) 
3.2.0 
5. 
Specification of Flash EEPROM Emulation 
2.0.0 
(AUTOSAR_SWS_Flash_EEPROMEmulation.pdf) 
6. 
Specification of DIO Driver (AUTOSAR_SWS_DIODriver.pdf) 
2.5.0 
7. 
Specification of Module Flash Driver (AUTOSAR_SWS_FlashDriver.pdf) 
3.2.0 
8. 
Specification of SPI Handler/Driver 
3.2.0 
(AUTOSAR_SWS_SPI_HandlerDriver.pdf) 
9. 
Specification of ICU Driver (AUTOSAR_SWS_ICUDriver.pdf) 
4.2.0 
10. 
Specification of MCU Driver (AUTOSAR_SWS_MCUDriver.pdf) 
3.2.0 
11. 
Specification of GPT Driver (AUTOSAR_SWS_GPTDriver.pdf) 
3.2.0 
12. 
Specification of Watchdog Driver (AUTOSAR_SWS_WatchdogDriver.pdf) 
2.5.0 
13. 
Specification of LIN Driver (AUTOSAR_SWS_LINDriver.pdf) 
1.5.0 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13 

Chapter 2 
REFERENCE DOCUMENTS 
 
14 

 AUTOSAR MODULES 
 Chapter 3 
Chapter 3 
AUTOSAR MODULES 
 
 
3.1 
MCAL Module 
 
 
The MicroController Abstraction layer is the lowest software layer of the Basic 
Software. It contains internal drivers, which are software modules with direct 
access to the μC internal peripherals and memory mapped μC external 
devices. Make higher software layers independent of μC. 
 
The modules developed for MCAL layer are as follows: 
ADC 
PWM 
PORT 
FEE 
DIO 
FLS 
SPI 
ICU 
MCU 
GPT 
WDG 
CAN 
LIN  
FR 
FLSTST 
 
3.1.1.  ADC Driver Component 
 
3.1.1.1.  Module Overview 
 
The ADC driver shall initialize and control the internal Analog Digital Converter 
unit of the microcontroller. The driver is equipped with a set of basic 
functionalities with single value result access mode and streaming access 
mode. 
 
A software trigger or a hardware event shall start a One Shot conversion 
whereas a software trigger only shall start a Continuous conversion. An ADC 
read service shall return the ADC conversion results. This service shall return 
the last converted result from an external result buffer. 
 
The ADC Driver software component shall provide the following main features: 
 
• 
Single value results access mode supports One-Shot conversion and 
Continuous conversion 
 
• 
Streaming access mode supports linear buffer conversion and circular 
buffer conversion 
 
• 
Various API services for functionalities like initialization, de-
initialization, starting and stopping of ADC channels 
 
• 
Notifications services for ADC channels 
 
15 

 Chapter 3 
AUTOSAR MODULES  
• 
Hardware Trigger services for ADC channels 
• 
Channel group priority mechanism 
 
3.1.1.2.  Module Dependency 
 
The dependency of ADC Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
PORT driver 
 
Port pins used by the ADC Driver shall be configured using the PORT module. 
Both analog input pins and external trigger pins have to be considered. 
 
IO Hardware Abstraction Layer 
 
The ADC driver depends on the IO Hardware Abstraction Layer, which invokes 
the APIs and receives the callback notifications. If IO Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The ADC driver uses interrupts and therefore there is a dependency on the 
OS, which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.1.3.  Configuration Parameter Dependency 
 
The ADC Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘AdcClockRef’ in the ‘AdcHwUnit’ container refers to the path “/ 
Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
3.1.1.4.  Source Code Dependency 
 
The following are the common dependent used files by the ADC Driver 
module: 
 
Det.h,  
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Adc.h 
Rte.h and 
 
Os.h 
rh850_Types.h 
 
3.1.1.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
16 

  AUTOSAR MODULES 
 Chapter 3 
 
The tables below will provide the common and port specific stubs to be used 
for ADC Driver component 
 
 
Table 3-1  : ADC Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.2.  PWM Driver Component 
 
3.1.2.1.  Module Overview 
 
The PWM Driver Component provides services for PWM Driver Component 
initialization, De-initialization, Setting the Period and Duty Cycle for a PWM 
channel, Reading the internal state of PWM Output signal and Setting the 
PWM Output to idle state and Disabling or Enabling the PWM signal edge 
notification. The PWM Driver Component is part of the Microcontroller 
Abstraction Layer (MCAL), the lowest layer of Basic Software in the AUTOSAR 
environment. 
 
The PWM Driver Component is divided into PWM High Level Driver and PWM 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
software on different platforms. 
 
The PWM High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
PWM Low Level Driver. 
 
Timers TAUA, TAUB, TAUC and TAUJ are used in PWM Driver Component to 
generate variable PWM output. These timers can operate in Master mode as 
well as Slave mode depending on the configuration. 
 
The channel level notifications are provided for the rising edge, falling edge 
and both edges. Any of these notifications will be active only when these are 
configured for the corresponding channel and enabled by using PWM Driver 
Component APIs. 
 
The PWM Driver component should provide following services based on the 
functions performed by the PWM Driver: 
 
• 
Initialization 
 
• 
De-Initialization 
 
• 
Set the channel output to Idle 
 
• 
Get the channel output state 
 
• 
Set Duty Cycle 
 
• 
Set Duty Cycle and Period 
 
• 
Notification services (at the beginning, at the end and on both edged of 
a period) 
 
• 
Get Version information 
 
17 

 Chapter 3 
AUTOSAR MODULES  
 
3.1.2.2.  Module Dependency 
 
The dependency of PWM Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
MCU Driver 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing and controlling the chip’s internal clock sources and clock 
pre-scalars. 
 
PORT driver 
 
Port pins used by the PWM Driver shall be configured using the PORT module. 
 
 
 
IO Hardware Abstraction Layer
 
 
The PWM driver depends on the IO Hardware Abstraction Layer, which 
invokes the APIs and receives the callback notifications. If IO Hardware 
Abstraction Layer Module is not available, then the required functionality shall 
be stubbed. 
 
OS 
 
The PWM driver uses interrupts and therefore there is a dependency on the 
OS, which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
 
3.1.2.3.  Configuration Parameter Dependency 
 
None 
 
3.1.2.4.  Source Code Dependency 
 
The following are the common dependent used files by the PWM Driver 
module: 
 
Det.h,  
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Pwm.h 
Rte.h and 
Os.h 
rh850_Types.h 
 
 
3.1.2.5.  Stubs 
 
Stubs are categorized as common stub. 
18 

  AUTOSAR MODULES 
 Chapter 3 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
 
The table below will provide the common stubs to be used for PWM Driver 
component 
 
Table 3-2  : PWM Driver Component Common Stubs 
 
Common Stubs 
Pat
h 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.3.  PORT Driver Component 
 
3.1.3.1.  Module Overview 
 
The PORT Driver Component access the hardware features directly. The 
upper layers call the functionalities provided by these components. 
 
The PORT Driver Component provides services for: 
 
• 
Initialization of every port pins to configured functionality. 
 
• 
Changing the port pin direction during run time. 
 
• 
Refreshing the port pin directions. 
 
• 
Setting the port pin mode during runtime. 
 
• 
Reading module version 
 
3.1.3.2.  Module Dependency 
 
The dependency of PORT Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever PORT module 
encounters a production relevant error. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.3.3.  Configuration Parameter Dependency 
 
None. 
 
3.1.3.4.  Source Code Dependency 
 
The following are the common dependent used files by the PORT Driver 
module: 
19 

 Chapter 3 
AUTOSAR MODULES  
 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Port.h 
Rte.h and 
Dem.h 
 
3.1.3.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for PORT Driver 
component 
Table 3-3 
:  PORT Driver Component Common Stubs 
 
Common Stubs 
Pat
h 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
3.1.4.  FEE Software Component 
 
 
3.1.4.1.  Module Overview 
 
The FEE software component of the Memory Hardware Abstraction interface 
provides the emulation access to flash driver. The FEE software component 
layer provides the wrapper for the FEE EEPROM Emulation library, which 
comprises of EEPROM emulation layer, Data Flash Access layer and Flash 
control hardware. The FEE software component provides services for reading 
from and writing to flash memory, erasing and invalidating the flash memory. 
 
The FEE Software Component provides services for: 
 
• 
Initialization 
 
• 
Reading and Writing to the memory 
 
• 
Invalidating the memory 
 
• 
Cancellation of request 
 
• 
Reading status and result information 
 
• 
Module version information 
 
3.1.4.2.  Module Dependency 
 
The dependency of FEE software component on other modules and the 
required implementation is briefed as follows: 
 
DET 
20 

  AUTOSAR MODULES 
 Chapter 3 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever FEE module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FEE module 
encounters a production relevant error. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.4.3.  Configuration Parameter Dependency 
 
None 
 
3.1.4.4.  Source Code Dependency 
 
The following are the common dependent used files by the FEE Software 
Component module: 
Det.h, 
Dem.h, 
MemIf.h, 
NvM.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Fee.h and 
Rte.h 
rh850_Types.h 
 
 
 
3.1.4.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for FEE Software 
component. 
 
 Table 3-4 
: FEE Driver Component Common Stubs 
 
Common Stubs 
Pa
th 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
NvM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\NvM 
MemIf 
X1X\common_platform\generic\stubs\<Autosar 
Version>\MemIf 
21 

 Chapter 3 
AUTOSAR MODULES  
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
 
3.1.5.  DIO Driver Component 
 
3.1.5.1.  Module Overview 
 
The DIO Driver Component access the hardware features directly. The upper 
layers call the functionalities provided by these components. 
 
The DIO Driver Component provides services for: 
 
• 
Reading from / writing to DIO Channel 
 
• 
Reading from / writing to DIO Ports 
 
• 
Reading from / writing to DIO Channel Groups 
 
• 
Reading module version. 
 
3.1.5.2.  Module Dependency 
 
The dependency of DIO Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
PORT driver 
 
Port pins used by the DIO Driver shall be configured using the PORT module. 
 
3.1.5.3.  Configuration Parameter Dependency 
 
None 
 
3.1.5.4.  Source Code Dependency 
 
The following are the common dependent used files by the DIO Driver module: 
Det.h, 
MemMap.h, 
Platform_Types.h and 
Std_Types.h 
 
3.1.5.5.  Stubs 
 
The DIO driver uses Stubs, which is categorized as common stubs 
and available in the path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below provides the common stubs to be used for DIO Driver 
component: 
 
Table 3-5 
: DIO Driver Component Common Stubs 
 
Common Stubs 
P
a
Det 
X1X\common_platform\generic\stubs\<Autosar 
t
Version>\Det 
h 
 
 
 
22 

  AUTOSAR MODULES 
 Chapter 3 
 
 
 
 
3.1.6.  FLS Software Component 
 
3.1.6.1.  Module Overview 
 
The FLS software component provides services for reading, writing, comparing 
and erasing flash memory. The FLS Component layer provides the wrapper for 
the Renesas Self Programming Library, which comprises of API for erase/write 
data to on-chip flash memory of the device. This means the FLS component 
makes use of the FSL, which is an underlying software library contains FSL 
functions to perform the activities like accessing and programming the on-chip 
flash hardware. FSL offers all functions and commands necessary to 
reprogram the application in a user-friendly C language interface. The FSL 
consists of wrapper functions to the FLS routines. 
 
The FLS Component conforms to the AUTOSAR standard and is implemented 
mapping to the AUTOSAR FLS Software Specification. 
 
The FLS Driver Software Component provides services for: 
 
• 
Initialization 
 
• 
Erasing the flash memory 
 
• 
Reading from the flash memory 
 
• 
Writing to the flash memory 
 
• 
Validating contents of flash memory 
 
• 
Cancellation of Request 
 
• 
Job result and status information 
 
• 
Background job processing 
 
• 
Module version information 
 
• 
Job Processing 
 
3.1.6.2.  Module Dependency 
 
The dependency of FLS software component on other modules and the 
required implementation is briefed as follows: 
 
DET 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.6.3.  Configuration Parameter Dependency 
 
None 
 
3.1.6.4.  Source Code Dependency 
 
The following are the common dependent used files by the FLS Software 
23 

 Chapter 3 
AUTOSAR MODULES  
Component module: 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Fls.h, 
Rte.h 
rh850_Types.h 
 
 
3.1.6.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FLS Software 
component. 
 
Table 3-6 
:  FLS Software Component Common Stubs 
 
Common Stubs 
Pa
th 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
 
 
3.1.7.  SPI Driver Component 
 
3.1.7.1.  Module Overview 
 
The SPI driver is split as High Level Driver and Low Level Driver. The High 
Level Driver exports the AUTOSAR API towards upper modules and it will be 
designed to allow the compilation for different platforms without or only slight 
modifications, i.e. that no reference to specific microcontroller features or 
registers will appear in the High Level Driver. All these references are moved 
inside a µC specific Low Level Driver. The Low Level Driver interface extends 
the High Level Driver types and methods in order to adapt it to the specific 
target microcontroller. 
 
The SPI Driver Component provides services for: 
 
• 
Initialization and De-initialization 
 
• 
Buffer Management 
 
• 
Communication 
 
• 
Status information 
 
• 
Module version information 
 
24 

  AUTOSAR MODULES 
 Chapter 3 
• 
Memory mapping 
 
• 
Compiler abstraction 
 
3.1.7.2.  Module Dependency 
 
The dependency of SPI Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
PORT 
 
The CSIG HW Units uses port lines as external chip selects. In this case, the 
chip select is realized using microcontroller pins and hence the SPI module 
has a relationship with PORT module for initializing appropriate mode and 
direction of the port lines. 
 
The basic SPI functionality for both CSIG and CSIH has to be configured as an 
alternate functionality by the PORT module. 
 
MCU Driver 
 
The configuration of SPI module for jobs contains the references to the MCU 
module for the input clock frequency for the SPI HW Unit. Hence, SPI baud 
rate depends on the frequency set in the MCU module. 
 
IO Hardware Abstraction Layer 
 
The IO Hardware Abstraction Layer invokes APIs of the SPI module and 
receives the callback notifications. 
 
Memory Hardware Abstraction Layer 
 
The Memory Hardware Abstraction Layer invokes APIs of the SPI module in 
case driver for any external memory devices (for example, external EEPROM) 
are implemented through the SPI module. 
 
Onboard Device Abstraction Layer 
The Onboard Device Abstraction Layer invokes APIs of the SPI module in 
case driver for any external devices (for example, external watchdog) are 
implemented through the SPI module. 
 
 
 
RTE 
 
The functions related to critical section protection area of the SPI module are 
invoked by the Run time Environment (RTE) module. 
 
DEM 
 
The SPI module uses the DEM module for getting the reference for all 
production errors. 
 
3.1.7.3.  Configuration Parameter Dependency 
 
The SPI Driver Depends on the MCU Driver for clock value. Hence, the 
parameter ‘SpiClockFrequencyRef’ in the ‘SpiExternalDevice’ container refers 
to the path 
“/Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
3.1.7.4.  Source Code Dependency 
 
The following are the common dependent used files by the SPI Driver module: 
Det.h, 
25 

 Chapter 3 
AUTOSAR MODULES  
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Spi.h 
Rte.h and 
 
Os.h 
rh850_Types.h 
 
 
3.1.7.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for SPI Driver component 
 
Table 3-7 
: SPI Driver Component Common Stubs 
 
Common Stubs 
                                     Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
Table 3-8 
:  SPI Driver Component Port Specific Stubs 
 
Common Stubs 
                                    Path 
Mcu 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
 
 
3.1.8.  ICU Driver Component 
 
3.1.8.1.  Module Overview 
 
The ICU Driver Component provides following services: 
 
• 
Signal Edge detection and notification 
 
• 
Services for Driver initialization and de-initialization 
 
• 
Signal time measurement like period and duty cycle 
 
• 
Signal Edge time stamping and edge counting 
 
• 
Support post-build configurations 
 
The ICU Driver Component is part of the Microcontroller Abstraction Layer 
(MCAL), the lowest layer of Basic Software in the AUTOSAR environment. 
26 

  AUTOSAR MODULES 
 Chapter 3 
Different applications require different number of ICU channels in different 
modes. Therefore, the timer, timer operation modes and external 
interrupts have to be selected depending on ICU measurement mode. For 
the X1X microcontroller generation following concepts will be considered: 
 
• 
Using TAU A and TAU B for Edge Counting Measurement mode 
 
• 
Using TAU A, TAU B and TAU J for Time Stamping Measurement mode 
 
• 
Using TAU A, TAU B and TAU J for Signal Measurement mode 
 
• 
Using External Interrupts for Edge Detection mode 
 
Either the ICU channel can be configured to a timer channel or an external 
interrupt based on the required measurement mode. The configuration for 
Edge Detection measurement mode will be made only for an external interrupt 
channel and not for any of the Timer channels. The remaining three-
measurement modes viz. Edge Counting, Time Stamping and Signal 
Measurement should be configured only for the timer channels. The 
configuration of Timer in different operating modes will be taken care by the 
software itself. 
 
The ICU Driver component can be divided into following sections based on the 
functions performed by the ICU Driver: 
 
• 
Initialization 
 
• 
De-Initialization 
 
• 
Wakeup 
 
• 
Notification 
 
• 
Signal Measurement 
 
• 
Signal Activation and State Information 
 
• 
Version Information 
 
Various timers can be started at the same time by setting the related enable 
bits. The input signal can be split from one port pin to two consecutive TAU 
inputs, which allows the signal for period or duty cycle measurement to be fed 
into only one port pin. 
 
3.1.8.2.  Module Dependency 
 
The dependency of ICU Driver on other modules and the required 
implementation is briefed as follows: 
 
MCU Driver 
 
The ICU Driver depends on MCU for the setting of system clock and PLL and 
the length of the timer ticks depends on the clock settings made in MCU 
module. If MCU module is not available, the functionality of system clock and 
PLL settings shall be stubbed. 
 
OS 
 
The ICU driver uses interrupts and therefore there is a dependency on the 
OS, which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
PORT Module 
 
The PORT driver does the configuration of port pins used for the ICU as 
inputs. Hence, the PORT driver has to be initialized prior to the use of ICU 
functions. If the PORT Driver is not available, then the configuration of port 
pins used for the ICU shall be stubbed. 
 
27 

 Chapter 3 
AUTOSAR MODULES  
In order to use the external interrupt functionality, port filter of respective 
external interrupt needs to be enabled in PORT component. ICU can override 
edge detection settings and PORT can do as well. ICU uses the registers 
FCLAxCTLx and PORT at the same time and the order of calling APIs is 
important. 
 
EcuM Module 
 
The ICU driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, and then the required functionality shall be stubbed. 
 
 
DET Module
 
 
If the Development Error Tracer is not available, stubs need to be used to the 
interfaces for those modules. 
 
IO Hardware Abstraction Layer Module 
 
The ICU driver depends on the I/O Hardware Abstraction Layer, which invokes 
the APIs and receives the call-back notifications. If I/O Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE Module 
 
The ICU driver shall perform data protection using SchM APIs. If the SchM is 
not available, then the required functionality shall be stubbed. 
 
3.1.8.3.  Configuration Parameter Dependency 
 
The ICU Driver Depends on EcuM. Hence the parameter 
‘IcuChannelWakeupInfo’ in the ‘IcuWakeup’ container of each channel refers 
to the path “/AUTOSAR/Ecudefs_EcuM/EcuMConfiguration_1/ 
EcuMWakeupSource_1”. 
 
3.1.8.4.  Source Code Dependency 
 
The following are the common dependent used files by the ICU Driver module: 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Icu.h, 
Rte.h, 
EcuM.h 
EcuM_Cfg.h 
EcuM_Cbk.h and 
Os.h 
rh850_Types.h 
 
3.1.8.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common to be used for ICU Driver component. 
28 

  AUTOSAR MODULES 
 Chapter 3 
 
 
 
 
Table 3-9 
: ICU Driver Component Common Stubs 
 
Common Stubs 
P
a
Det 
X1X\common_platform\generic\stubs\<Autosar 
t
Version>\Det 
h 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.9.  MCU Driver Component 
 
3.1.9.1.  Module Overview 
 
The MCU Driver accesses the hardware features directly. The upper layers call 
the functionalities provided by the Driver. MCU component has functionalities 
related PLL Initialization, Clock Initialization & Distribution, RAM sections, Pre-
Scaler Initializations, MCU Reduced Power Modes Activation and MCU Reset 
Activation & Reason. 
 
The MCU Driver component is divided into the following sub modules based 
on the functionality required: 
 
• 
Initialization 
 
• 
Clock Initialization 
 
• 
PLL Clock Distribution 
 
• 
MCU Reduced Power Modes Activation 
 
• 
RAM sections Initialization 
 
• 
MCU Reset Activation & Reason 
 
• 
Module Version Info 
 
3.1.9.2.  Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
EcuM 
 
The reference for the type of reset will be provided by the Mcu driver to the 
ECU State manager module. 
 
OS 
 
The MCU driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
29 

 Chapter 3 
AUTOSAR MODULES  
3.1.9.3.  Configuration Parameter Dependency 
 
None 
 
3.1.9.4.  Source Code Dependency 
 
The following are the common dependent used files by the MCU Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h, 
SchM_Mcu.h  
Os.h 
rh850_Types.h 
 
3.1.9.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for MCU Driver 
component. 
 
Table 3-10 
:  MCU Driver Component Common Stubs 
 
Common Stubs 
Pat
h 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.10. GPT Driver Component 
 
3.1.10.1. Module Overview 
 
The GPT Driver Component provides services for GPT Driver Component 
Initialization, De-initialization, Setting starting and stopping a timer, getting 
elapsed and remaining time, setting GPT mode (one shot, continuous) and 
Disabling or Enabling the GPT notification. The GPT Driver Component is part 
of the Microcontroller Abstraction Layer (MCAL), the lowest layer of Basic 
Software in the AUTOSAR environment. 
 
The GPT Driver Component is divided into GPT High Level Driver and GPT 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
30 

  AUTOSAR MODULES 
 Chapter 3 
software on different platforms. 
 
The GPT High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
GPT Low Level Driver. 
 
The GPT channel can be configured to either as continuous mode or one-shot 
mode. In continuous mode, the timers keep operating even after the target 
value is reached and it has multiple notifications (if enabled). 
 
Timers OSTM, TAUA TAUB, TAUC and TAUJ are used in GPT Driver 
Component to generate timeout periods. 
 
The GPT Driver component should provide following services based on the 
functions performed by the GPT Driver: 
 
• 
Initialization: Provides the service to initialize the timer control registers and 
interrupt registers De-Initialization: Provides the service to reinitialize the timer 
registers and to stop the channels that are running 
 
• 
Reading of timer values: Provides services for reading the elapsed time after the 
timer  is  started  or  Service  for  reading  the  remaining  time  before  the  next 
timeout 
 
• 
Start/Stop timer: Provides the service to start/stop the requested timer 
channel 
 
• 
Set mode for GPT(continuous, one shot): Provides services for the user to 
select the mode 
 
• 
Notification services: Provides services for the user to enable or disable the 
notification for every timeout 
 
• 
Wakeup Services: Provides services for the user to enable or disable the 
wakeup notification. 
 
• 
Get version information: Provides the service for the user to read module 
version 
 
3.1.10.2. Module Dependency 
 
The dependency of GPT Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer will be called whenever 
this module encounters a development error. 
 
IO Hardware Abstraction Layer 
 
The GPT driver depends on the IO Hardware Abstraction Layer, which invokes 
the APIs and receives the callback notifications. If IO Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed 
 
 
 
 
 
MCU Driver 
 
The GPT Driver component depends on MCU module for the setting of system 
clock, prescaler(s) and PLL. Thus any change in the system clock (For 
example, PLL On -> PLL Off) also affects the clock settings of GPT hardware. 
If MCU module is not available, the functionality of system clock prescaler(s) 
and PLL settings shall be stubbed. 
 
EcuM 
 
The GPT driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, then the required functionality shall be stubbed. 
31 

 Chapter 3 
AUTOSAR MODULES  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The GPT driver uses interrupts and therefore there is a dependency on the 
 OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.10.3. Configuration Parameter Dependency 
 
The GPT Driver Depends on EcuM. Hence the parameter 
‘GptWakeupSourceRef’ in the ‘GptWakeupConfiguration’ container of each 
 channel refers to the path “/AUTOSAR/EcuDefs_EcuM/ 
EcuMConfiguration_1/ EcuMWakeupSource_1”. 
 
The GPT Driver Depends on the MCU Driver for clock value. Hence the 
 parameter GptTauUnitClkRefPoint in the container GptTaUnit refers to the 
 path “/Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
3.1.10.4. Source Code Dependency 
 
The following are the common dependent used files by the GPT Driver 
module: 
 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Gpt.h, 
Rte.h, 
Os.h 
EcuM_Cfg.h, 
EcuM.h and 
EcuM_Cbk.h 
rh850_Types.h 
 
 
3.1.10.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for GPT Driver 
component. 
 
Table 3-11  :  GPT Driver Component Common Stubs 
 
Common Stubs 
                                   Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
32 

  AUTOSAR MODULES 
 Chapter 3 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.11. WDG Driver Component 
 
3.1.11.1. Module Overview 
 
To minimize the effort and to optimize the reuse of developed software, the 
Watchdog interface will invoke the corresponding drivers in case when multiple 
drivers exist. 
In case of more than one Watchdog device and Watchdog Driver (both internal 
software Watchdog and external hardware Watchdog) is used on an ECU, 
Watchdog Interface module allows the upper layer to select the correct 
Watchdog Driver and Watchdog device while retaining the API and 
functionality of the underlying driver. 
 
The Watchdog Driver architectural design is shown in the above Figure. The 
Watchdog Driver accesses the microcontroller hardware directly and Interface 
communicates with the application. 
 
The Watchdog Driver component is composed of following modules: 
 
• 
Watchdog Driver Initialization module 
 
• 
Watchdog Driver SetMode module 
 
• 
Watchdog Driver Trigger module 
 
• 
Watchdog Driver Version info module 
 
3.1.11.2. Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
MCU Driver 
 
The count which indicates the number of times the watchdog should be 
triggered for a trigger condition’s timeout value depends on WDTATCLKI, 
hence MCU reference path will be provided in the parameter definition file. 
 
OS 
 
The WDG driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.11.3. Configuration Parameter Dependency 
 
None 
33 

 Chapter 3 
AUTOSAR MODULES  
 
3.1.11.4. Source Code Dependency 
 
The following are the common dependent used files by the WDG Driver 
module: 
 
Det.h,  
Dem.h 
WdgIf_Types.h 
MemMap.h, 
Platform_Types.h, 
Rte.h 
Std_Types.h  
Os.h 
rh850_Types.h 
 
 
3.1.11.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for WDG Driver 
component. 
 
Table 3-12 
:  WDG Driver Component Common Stubs 
 
Common Stubs 
                                  Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
WdgIf 
X1X\common_platform\generic\stubs\<Autosar 
Version>\WdgIf 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
 
3.1.12. CAN Driver Component 
3.1.12.1. Module Overview 

 
The CAN driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. The only upper, which has access to the CAN driver, is the CAN 
interface. Several CAN Controllers can be controlled by the CAN Driver as 
long as they belong to the same CAN Hardware Unit. 
 
The CAN Driver software component shall provide the following main features: 
 
The CAN Driver Component fulfills requirements of upper layer 
communication components with respect to Initialization, Transmit 
confirmation, Receive indication, BusOff to CAN Interface layer and Wakeup 
34 

  AUTOSAR MODULES 
 Chapter 3 
notification to ECU State Manager. 
 
 
3.1.12.2. Module Dependency 
 
The dependency of CAN Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
 
 
MCU Driver
 
 
CAN driver depend on MCU Driver for the setting of channel clock. 
 
CAN Interface 
 
The CAN Driver Component provides the following functionalities to the CAN 
Interface layer 
 
• 
To change the operation mode of the controllers. 
 
• 
To Enable/Disable the Controller Interrupts 
 
• 
To process the L-PDU Transmission 
 
ECU State Manager 
 
If controller wake-up event is detected CAN Driver Component provides the 
call out notification functionality to the EcuM. 
 
OS 
 
The CAN driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
3.1.12.3. Configuration Parameter Dependency 
 
The CAN Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘CanControllerClock’ in the ‘CanController’ container refers to the 
path “/Renesas/Mcu0/McuModuleConfiguration0/McuClockSettingConfig0”. 
 
 
3.1.12.4. Source Code Dependency 
 
The following are the common dependent used files by the CAN Driver 
module: 
 
Det.h, 
CanIf_Cbk.h, 
EcuM_Cfg.h, 
EcuM_Cbk.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
35 

 Chapter 3 
AUTOSAR MODULES  
Rte.h and 
 
SchM_Can.h 
rh850_Types.h 
 
3.1.12.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
 
The tables below will provide the common and port specific stubs to be used 
for CAN Driver component 
 
Table 3-13 
:  CAN Driver Component Common Stubs 
 
Common Stubs 
                               Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
CanIf 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\CanIf 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
Table 3-14 
: CAN Driver Component Port Specific Stubs 
 
Port Specific Stubs                                     Path 
Mcu 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
 
 
3.1.13. LIN Driver Component 
 
3.1.13.1. 
Module Overview 
 
The LIN driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. Several LIN Controllers is controlled by the LIN Driver as long as 
they belong to the same LIN Hardware Unit. 
 
The LIN Driver software component shall provide the following main features: 
 
The LIN Driver Component fulfills requirements of upper layer 
communication components with respect to Initialization, Transmit and 
Receive confirmation and Wakeup notification to ECU State Manager. 
 
36 

  AUTOSAR MODULES 
 Chapter 3 
3.1.13.2. 
Module Dependency 
 
The dependency of LIN Driver on other modules and the required 
implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever LIN module 
encounters a production relevant error.  
 
MCU Driver 
 
LIN driver depend on MCU Driver for the setting of channel clock. 
 
ECU State Manager 
 
If controller wake-up event is detected LIN Driver Component provides the 
call out notification functionality to the EcuM. 
 
OS 
 
The LIN driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.13.3. 
Configuration Parameter Dependency 
 
The LIN Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘LinChannelClockRef’ in the ‘LinChannel’ container refers to the 
path  
 
For RLIN2: 
“/Renesas/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuClockSettin
gConfig0/McuIsoLin0” 
 
For RLIN3: 
“/Renesas/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuClockSettin
gConfig0/McuIsoLin30” 
 
3.1.13.4. 
Source Code Dependency 
 
The following are the common dependent used files by the LIN Driver 
module: 
 
Det.h, 
EcuM.h, 
EcuM_Cfg.h, 
EcuM_Cbk.h, 
EcuM_Types.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h and 
 
37 

 Chapter 3 
AUTOSAR MODULES  
SchM_Lin.h 
rh850_Types.h 
3.1.13.5. 
Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for LIN Driver component 
 
Table 3-15 
:  LIN Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
Table 3-16 
:  LIN Driver Component Port Specific Stubs      
 
Port Specific Stubs 
Path 
Mcu 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
 
 
3.1.14. FR Driver Component 
 
3.1.14.1.  Module Overview 
 
The FR driver provides services for FlexRay communication. 
 
The FR driver component provides the following functionalities: 
 
• 
To initialize the FlexRay communication controllers 
 
• 
To start, halt or abort the communication 
 
• 
To  configure  the  channel for  sending the  wakeup pattern  and  to  transmit 
the wakeup pattern on the configured FlexRay channel 
 
• 
To get the current POC status of CC 
 
• 
To  get  the  synchronization state  of  CC  and  to  adjust  the  global  time  of 
a FlexRay CC to an external clock source 
 
• 
To transmit the frames on the FlexRay channels 
 
• 
To receive the frames transmitted on the FlexRay channels 
 
38 

  AUTOSAR MODULES 
 Chapter 3 
• 
To get the current cycle and macrotick offset value of CC 
 
• 
To set the value for absolute timer interrupt  and to stop the absolute timer 
 
• 
To enable/disable the absolute timer interrupt.  To   reset   the   interrupt 
condition  of    absolute  timer  interrupt  and  to  get  the  status  of  absolute 
timer interrupt 
 
• 
To  get  the  Channel  status,  Clock  Correction,  Number  of  startup  frames, 
Clock Correction, Sync frame list and wakeup Rx status of CC 
 
• 
To get the Nm Vector Information received on CC 
 
• 
To send CC to ALLSLOTS and ALLOW_COLDSTART modes 
   
• 
To reconfigure or disable an Lpdu in run time. 
 
 
3.1.14.2.  Module Dependency 
 
The dependency of FR Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FR module 
encounters a production relevant error.  
 
OS 
 
The FR driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.14.3.  Configuration Parameter Dependency 
 
None 
 
3.1.14.4.  Source Code Dependency 
 
The following are the common dependent used files by the FR Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h and 
 
SchM_Fr_59_Renesas.h  
 
rh850_Types.h 
 
3.1.14.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
39 

 Chapter 3 
AUTOSAR MODULES  
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for FR Driver component 
 
Table 3-17 
:  FR Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
3.1.15. FLSTST Driver Component 
 
3.1.15.1. Module Overview 
 
The FLSTST Driver Component provides the following services: 
 
• FLSTST Driver Component initialization 
 
• De-initialization 
 
• Reading the internal state of FLSTST Output signal 
 
• Setting the FLSTST Output to Idle state 
 
• Disabling/Enabling the FLSTST signal edge notification 
 
 
3.1.15.2. Module Dependency 
 
The dependency of FLSTST Driver on other modules and the 
required implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FLSTST module 
encounters a production relevant error.  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.15.3. Configuration Parameter Dependency 
 
None 
 
 
40 

  AUTOSAR MODULES 
 Chapter 3 
3.1.15.4. Source Code Dependency 
 
The following are the common dependent used files by the FLSTST 
Driver module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h and 
 
SchM_FlsTst.h 
rh850_Types.h 
 
3.1.15.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for FLSTST Driver component 
 
 

Table 3-18 
:  FLSTST Driver Component Common Stubs 
 
  Common Stubs 
                                     Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
3.2 
RH850 Macros Definition: 
  The file rh850_Types.h shall be modified by the user if the driver has to 
be run in user mode. 
  If the macros are modified then the user has to ensure the correct 
context switching happens through the OS and this will be at the user's 
responsibility. 
  If the user can guarantee that the correct context switch happens and 
the only restriction that the driver has is the access of IMR/ICR registers, 
then this should work. 
The driver supports both Supervisor mode and User mode. 
 To provide the provision to the user, to adapt the Driver to operate either in 
Supervisor/User Mode the IMRx/ICxxx register is moved to OS Module. 
 
41 

 Chapter 3 
AUTOSAR MODULES  
The macros provided in Table 3-17, available in rh850_types.h, should be 
used as mentioned below to switch modes. 
 
To operate the driver in User Mode: User must modify these macros. 
 
To operate the driver in Supervisor Mode: No modification is required. 
 
Table   3-19 
:  Macros to perform write operation on write enabled 
Register. 
Macro Name 
Description 
Input Parameter 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_ICR_
supervisor mode (SV) write 
Access Size  
OR 
enabled Register ICxxx 
ADDR : Register 
register writing which involves 
address 
an OR operation. 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_ICR_
supervisor mode(SV) write 
Access Size  
AND 
enabled Register ICxxx 
ADDR : Register 
register writing which 
address 
involves an AND operation. 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_ICR_
supervisor mode(SV) write 
Access Size  
WRITE_ONL
enabled Register ICxxx 
ADDR : Register 

register direct writing 
address 
VAL  : Value to be 
operation. 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_IMR
supervisor mode(SV) write 
Access Size  
_OR 
enabled Register IMR 
ADDR : Register 
register writing which 
address 
involves an OR operation 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_IMR
supervisor mode(SV) write 
Access Size  
_AND 
enabled Register IMR 
ADDR : Register 
register writing which 
address 
involves an AND operation 
VAL  : Value to be 
written to the 
register 
RH850_SV_
This Macro performs 
SIZE : Register 
MODE_IMR
supervisor mode (SV) write 
Access Size  
_WRITE_ON
enabled Register IMR 
ADDR : Register 
LY 
register direct writing 
address 
operation. 
VAL  : Value to be 
written to the 
register 
 
 

42 

  AUTOSAR MODULES 
 Chapter 3 
 
 
3.3 
ICxxx Registers Setting for TBxxx-Bit 
  The ICxxx register’s TBxxx-Bit is used to select the way to determine the 
interrupt vector. 
0: Direct jumping to an address determined from the level of priority 
1: Reference to a table. 
 
  MCAL Driver does not set TBxxx bit. Hence user has to take care of 
setting TBxxx-Bit before initializing MCAL driver. 
 
 
3.4 
Deviation List 
  Autosar requirement ‘ecuc_sws_1014’ is violated in the PDF files across 
all the MCAL modules. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43 

 Chapter 3 
AUTOSAR MODULES  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44 

 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
31-Jan-2013 
2. 
Following changes are made: 
1.0.1 
24-Jan-2014 
1. On front page F1L is replaced by X1x. 
3. 
Following changes are made: 
1.0.2 
29-Jan-2014 
1. New section 3.1.13 is added for LIN driver component. 
2. Alignment is done in throughout the file. 
4. 
Following change is made: 
1.0.3 
30-Jan-2014 
1. Canif stub is removed from table 13-15 and accordingly 
description is updated in section 13.1.13.1.  
5.  
Following changes are made: 
1.0.4 
08-Apr-2014 
1. R-number is updated for document. 
2. Alignment is updated as per template. 
6. 
Following changes are made: 
1.0.5 
17-Jun-2014 
1. Section 3.1 is updated for source code dependency files 
2. New Section 3.2 is added for RH850 Macro definition 
7.  
Following changes are made: 
1.0.6 
17-Jul-2014 
1. New Section 3.3 is added for adding information about ICxxx 
registers. 
8.  
Following changes are made: 
1.0.7 
09-Aug-2014 
1. Copyright information is updated. 
 
2. Document is updated as per template. 
 
9.  
 Following changes are made: 
 
1.0.8 
31-Mar-2016 
 1. Copyright information is updated. 
 
2. Added FR and FLSTST 
 
10 
 Following changes are made: 
 
1.0.9 
14-Jul-2016 
   1. R-Number has been update. 
 2. Table 3-12 alignment is corrected. 
11 
Following changes are made: 
1.0.10 
17-Feb-2017 
1. New section 3.4 added for Deviation List. 
2. Updated section 3.2 ‘RH850 Macros Definition’ for adding       
explanation regarding usage and modification of macros. 
3. Updated R-Number. 
4. Updated notice and copyright information. 
5. Removed 3.2.2 related information from Chapter 2 ‘Reference 
Documents’ and ‘Definitions’. 
6. Corrected page numbers 
 
 
 
 
 
 
 

45 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview User’s Manual 
Version 1.0.10 
 
Publication Date: Rev.1.01, February 17, 2017 
 
Published by: Renesas Electronics Corporation    
 



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



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
 
User’s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R20UT3752EJ0101 
 
 
 

Document Outline


21 - R20UT3753EJ0100-AUTOSAR

AUTOSAR MCAL R4.0 User's Manual

23 - R20UT3753EJ0100-AUTOSARs




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for 
X1x MCAL Driver 
 
 
User’s 
 
 
  
Manual 
Version.1.0.7
 
 
 
Target Device: 
RH850/P1x 
 
 
 
 
 
 
 
 
 
 
 
 
 
All information contained in these materials, including products and product specifications, 
represents information on the product at the time of publication and is subject to change by 
Renesas Electronics Corp. without notice. Please review the latest information published by 
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. 
website (http://www.renesas.com). 
 
 
 
 
 
 
www.renesas.com 
Rev.1.00 Jun 2016

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

 
 
  4 

 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ARXML/arxml 
AUTOSAR xml 
AUTOSAR 
Automotive Open System Architecture 
BSWMDT 
Basic Software Module Description Template 
<MSN> 
Module Short Name 
ECU 
Electronic Control Unit 
GUI 
Graphical User Interface 
MB 
Mega Bytes 
MHz 
Mega Hertz 
RAM 
Random Access Memory 
xml/XML 
eXtensible Markup Language 
<MICRO_VARIANT> 
F1x, R1x, P1x, E1x etc. 
<MICRO_SUB_VARIANT> 
F1L,F1M,F1H, R1L, P1L,P1M, E1L, E1MS etc. 
AUTOSAR_VERSION 
3.2.2 or 4.0.3 
DEVICE_NAME 
Example :701205EAFP 
RUCG 
Renesas Unified Code Generator 
.DLL  
 Dynamic Linking Library  
 
 
 
Definitions 
 
 
 
Terminology 
Description 
.xml 
XML File. 
.arxml 
AUTOSAR XML File. 
.trxml 
Translation XML File. 
ECU Configuration 
The ECU Configuration Parameter Definition is of type XML, which contains the 
Parameter Definition File 
definition for AUTOSAR software components i.e. definitions for Modules, 
Containers and Parameters. The format of the XML File will be compliant with 
AUTOSAR ECU specification standards. 
ECU Configuration 
The ECU Configuration Description file in XML format, which contains the 
Description File 
configured values for Parameters, Containers and Modules. ECU Configuration 
Description XML File format will be compliant with the AUTOSAR ECU 
specification standards. 
BSWMDT File 
The BSWMDT File in XML format, which is the template for the Basic Software 
Module Description. BSWMDT File format will be compliant with the AUTOSAR 
BSWMDT specification standards. 
Translation XML File 
Translation XML File is in XML format which contains translation and device 
specific header file path. 
Configuration XML File 
Configuration XML File is in XML format which contains command line options 
and options for input/output file path. 


 
 
6 

 
Table Of Contents 
 
Chapter 1  Introduction ..................................................................... 11 
Chapter 2  Generation Tool ............................................................... 13 
2.1. 
Translation XML File ................................................................................................................ 13 
2.1.1.  Translation Header File ................................................................................................ 14 
2.1.2.  Device Specific Header File .......................................................................................... 14 

2.2. 
Configuration XML File ........................................................................................................... 14 
2.3. 
Usage ........................................................................................................................................ 15 
2.4. 
Sample Usage .......................................................................................................................... 16 
2.5. 
Tool Installation Requirements .............................................................................................. 18 
2.5.1.  Hardware Requirements ............................................................................................... 18 
2.5.2.  Software Requirements ................................................................................................. 18 
2.5.3.  Limitations ..................................................................................................................... 18 

2.6. 
Tool Installation ....................................................................................................................... 18 
2.6.1.  Pre Requisite ................................................................................................................ 19 
2.6.2.  Installation Steps .......................................................................................................... 19 

2.7. 
Tool Un-Installation ................................................................................................................. 19 
2.8. 
Common Messages ................................................................................................................ 19 
2.8.1.  Error Messages ............................................................................................................. 19 
2.8.2.  Warning Messages ....................................................................................................... 23 
2.8.3.  Information Messages .................................................................................................. 23 

2.9. 
R3.2.2 Messages...................................................................................................................... 24 
2.9.1.  Error Messages ............................................................................................................ 24 
2.9.2.  Warning Messages ....................................................................................................... 24 
2.9.3.  Information Messages .................................................................................................. 24 

2.10.  R4.0.3 Messages...................................................................................................................... 24 
2.10.1.  Error Messages ............................................................................................................ 25 
2.10.2.  Warning Messages ....................................................................................................... 25 
2.10.3.  Information Messages .................................................................................................. 25 

2.11.  BSWMDT File ........................................................................................................................... 25 
Chapter 3  Application Example ....................................................... 27 
3.1. 
Folder Structure....................................................................................................................... 27 
3.2. 
Makefile Description ............................................................................................................... 27 
3.2.1.  App_<Msn>_<variant>_Sample.mak ........................................................................... 27 
3.3. 
Integrating The <MSN> Driver Component With  Other Components .............................. 33 
3.4. 
Building The <MSN> Driver Component .............................................................................. 34 
3.4.1.  Targets Supported By The Sample Base Makefile ....................................................... 35 
Chapter 4  Support For Different Interrupt Categories ................... 37 
Chapter 5  GNU MAKE Environment ................................................ 39 
5.1. 
Build Process With GNUMAKE .............................................................................................. 39 
5.2. 
Build Process Without GNUMAKE ........................................................................................ 39 


 
Chapter 6  Load Binaries .................................................................. 43 
Chapter 7  Appendix.......................................................................... 45 
7.1. 
Translation XML File ................................................................................................................ 45 
7.2. 
Configuration XML File ................................................................................................................. 45 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
List Of Figures 
 
Figure 2-1 
Generation Tool Overview ................................................................................................. 13 
 
 
 
 
 
 
List Of Tables 
 

Table 2-1 
Options and Description .................................................................................................... 15 
Table 2-2 
Mandatory Parameters ...................................................................................................... 24 
Table 2-3 
Mandatory Parameters ...................................................................................................... 25 
Table 4-1 
CAT1 and CAT2 Naming Convention ................................................................................ 37 
Table 4-2 
List of ISR Names that need to be configured and published in Os.h (CAT2) or used in the 
interrupt vector table (CAT1) for <MSN> Driver ................................................................. 38 

 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
10 

Introduction 
 
 
 
 
 
 
 
 
 
      Chapter 1
 
 
 
 
Chapter 1 
Introduction 
 
 
 
 
The document describes the information Generation Tool and references to 
Sections in the Component User Manuals that the user needs to refer to build 
the executable. 
 
Generation Tool is a command line tool that accepts ECU Configuration 
Description File(s), BSWMDT File, Translation XML File and Configuration 
XML File as input and generates the C source and header files based on the 
configuration of the module. 
11 

Chapter 1  
 
 
 
 
 
 
 
 
 
Introduction 
 
 
 
 
12 

Generation Tool  
 
 
 
 
 
 
 
 
     Chapter 2 
 
 
 
Chapter 2 
Generation Tool 
 
 
 
 
Generation Tool is a command line tool that provides scalability and 
configurability for the component. It accepts ECU Configuration Description 
File(s), BSWMDT File, Translation XML File and Configuration XML File as 
input and generates the C Header and C Source files. However Configuration 
XML File is optional. 
 
 
 
 
 
 
 
 
 
ECU Configuration 
 
Output Folder  -O or 
Description Fil e(s ) 
 
-OUTPU T 
(.arxml),  BSWMDT 
Generation  Tool 
‘Folder_Name’ 
File and Translation 
 
 
 
XML Fi le (.trxml) 
 
 
 
Label to be searched 
inc 
src 
 
Configuration XML 
Translation Header 
 
 
File (.cfgxml) 
File (.h) 
 
*.h 
*.c 
 
Mapped Label to be searched 
 
 
Address to be generated 
Device Specific 
Header File (.h) 
 
 
 
 
Figure 2-1 
Generation Tool Overview 
 
 
 
 
 
 
2.1. 
Translation XML File 
 
 
Generation Tool accepts ECU Configuration Description File(s) (.arxml), 
BSWMDT File (.arxml) and Translation XML File (.trxml) as an input. 
Translation XML File is in XML format which contains translation and device 
specific header file path. For the syntax of the contents of Translation XML 
File, please refer the Chapter 8 Appendix
 
 
If mapped device specific address label is changed/updated then only 
respective mapping in Translation Header File needs to be updated. In this 
case there will not be any impact on Generation Tool for the generation of 
address in tool generated output file(s). 
13 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
2.1.1.  Translation Header File 
 
This file is look-up table (mapping in the form of definitions) for the device 
specific address labels. Based on the configuration in ECU Configuration 
Description File, the mapped device specific address labels will be searched 
in Device Specific Header File by Generation Tool to generate associated 
address in tool generated output file(s). For the Translation Header File path, 
the value of ‘<Msn>DeviceName’ parameter from the container 
‘<Msn>General’ container should be present as child tag of TRANSLATION- 
FILE-PATH in Translation XML File. Both ‘Absolute’ and ‘Relative’ paths are 
supported by generation tool however default path is ‘Relative’ path. 
 
E.g. 
 
<TRANSLATION-FILE-PATH> 
 
<Value_Of_MsnDeviceName>..\DF_Timer.h 
..\DF_Timer_ISR.h</ Value_Of_MsnDeviceName> 
 
</TRANSLATION-FILE-PATH> 
 
 
 
2.1.2.  Device Specific Header File 
 
This file contains device specific labels and associated address. Based on the 
configuration in ECU Configuration Description File, the mapped device 
specific address labels will be used to generate associated address in tool 
generated output file(s). For the Device Specific Header File path, the value of 
‘<Msn>DeviceName’ parameter from the container ‘<Msn>General’ container 
should be present as child tag of DEVICE-FILE-PATH in Translation XML File. 
Both ‘Absolute’ and ‘Relative’ paths are supported by generation tool however 
default path is ‘Relative’ path. 
 
If multiple Device Specific Header Files need to be provided for the same 
device (value of ‘<Msn>DeviceName’ parameter) in Translation XML File, then 
each Device Specific Header File path should be separated with ‘space’. 
 
E.g. 
 
<DEVICE-FILE-PATH> 
 
<Value_Of_MsnDeviceName>..\DF_Timer.h ..\DF_Timer_ISR.h</ 
Value_Of_MsnDeviceName> 
 
</DEVICE-FILE-PATH> 
 
 
 
Remark  Generation Tool will searches the mapped labels in Device Specific Header 
File by using Translation Header File for the respective address generation in 
tool generated output file(s). 
 
 
2.2. 
Configuration XML File 
 
 
Configuration XML File is in XML format which contains command line options 
and input/output path. For the syntax of the contents of Configuration XML File, 
please refer the Chapter 8 Appendix
14 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
E.g. 
 
<LOG>ON/OFF</LOG> 
 
<HELP>ON/OFF</HELP> 
 
 
2.3. 
Usage 
 
 
This section provides the information regarding usage of the Generation Tool. 
It also provides the syntax of the command line arguments (input filenames 
and options). 
 
 
Generation Tool executable is invoked as shown below. 
 
 
                                         RUCG.exe <DLL Path> [<Options>] {<Input Filename>} 
 
Where, 
                                         RUCG.exe: RUCG Tool Executable  
                                         DLL Path: Module specific DLL file path 
Options: [-H/-Help -C/-Config -O/-Output -Osrc  -Oinc -L/-Log -D/-Dryrun] 
 
Input Filename(s): {ECU Configuration Description File(s), BSWMDT File and 
Translation XML File [optional]} 
 
 
Notations: 
 
{data} represents compulsory data 
 
<data> represents the actual data that will be specified on command line 
during tool usage. 
 
[data] represents optional data. 
 
 
Table 2-1  Options and Description 
 
Option 
Description 
-H/-Help 
To display help regarding usage of the tool. Gets the 
highest priority when used with other options. 
-C/-Config 
To execute tool with the options provided in the 
Configuration XML File. Command line options get the 
higher priority than the options provided in Configuration 
XML File. 
15 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
Table 2-1  Options and Description 
 
Option 
Description 
-O/-Output 
By default, the tool generates output files in the 
‘<Component_Name>_Output’ folder in the path where 
executable is present. The user can use the -O option 
followed by the folder name, to generate the output files in 
the specified folder. Either absolute path or relative path 
can be provided to specify the folder name. 
The C Source and C Header files are generated in the sub 
folders ‘src’ and ‘inc’ within the output folder. 
-Osrc 
The user can use the -Osrc option followed by the folder 
name, to generate the C Source files in the specified 
folder. 
-Oinc 
The user can use the -Oinc option followed by the folder 
name, to generate the C Header files in the specified 
folder. 
–L/-Log 
To log the output to the <Component_Name>.log file. 
-D/-Dryrun 
To execute tool in validation mode. The tool will not 
generate output files even though the input file provided is 
error free. 
 
Remark    
•   If Translation XML File is not provided on the command line then 
‘<Component_Name>_X1x.trxml’ which is present in the same location of 
‘<Component_Name>_X1x.dll’ is considered as ‘default’ Translation XML 
File by the Generation Tool. 
 
•   If Configuration XML File is not provided on the command line then 
‘<Component_Name>_X1x.cfgxml’ which is present in the same location of 
‘<Component_Name>_X1x.dll’ is considered as ‘default’ Configuration 
XML File by the Generation Tool. 
 
•   The Generation Tool should not be executed more than five times in parallel 
 
 
2.4. 
Sample Usage 
 
 
Sample usage of the generation tool is given below. “<Msn>_X1x.dll” is taken 
as example. Similar usage is applicable for other MCAL Generation Tools. 
where <Msn>_X1x.dll is in DLL Path. 
 
RUCG.exe <DLL Path> 
 
<Msn> Driver Generation Tool usage is displayed on the terminal. Generation 
Tool accepts Configuration XML File as default and performs the execution, 
based on the settings provided in Configuration XML File. 
 
 
RUCG.exe <DLL Path> -H 
 
Displays <MSN> Driver Generation Tool help information on the terminal, 
where <MSN> Driver Generation Tool executable is present. 
 
 
RUCG.exe <DLL Path> -L -O output Sample.arxml BSWMDT.arxml 
 
Generation Tool logs the output to the <Msn>.log file. <Msn>_PBcfg.c file is 
generated in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘include’ folder. 
16 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
                                      RUCG.exe <DLL Path> -D Sample.arxml BswMd.arxml 
 
Generation Tool validates an input file and displays error/warning/information 
messages if any on the command line. Output files are not generated since –D 
option is provided in the command line. 
 
 
RUCG.exe <DLL Path> -O output Sample.arxml BswMd.arxml 
 
Output files are generated in folder “output”. <Msn>_PBcfg.c is generated in 
‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
RUCG.exe <DLL Path> C:\Input\Sample.arxml C:\Input\BswMd.arxml -O 
output
 
 
Generation Tool accepts input file (Sample.arxml) from absolute directory path 
“C:\Input”. Output files are generated in folder “output”. <Msn>_PBcfg.c is 
generated in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
RUCG.exe <DLL Path> Sample.arxml BswMd.arxml -O C:\Output 
 
Output files are generated in folder “C:\Output”. <Msn>_PBcfg.c is generated 
in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
RUCG.exe <DLL Path> Sample.arxml BswMd.arxml Sample.trxml 
 
Generation Tool accepts ECU Configuration Description File (Sample.arxml), 
BSWMDT File (BswMd.arxml) and Translation XML File (Sample.trxml) from 
the current working directory. Output files are generated in the default folder 
“<Msn>_Output”, since –O option is not provided in the command line. 
<Msn>_PBcfg.c is generated in ‘src’ folder. <Msn>_Cfg.h file is generated in 
‘inc’ folder. 
 
 
RUCG.exe <DLL Path> -C Sample.cfgxml 
 
Generation Tool accepts ECU Configuration Description File (Sample.arxml), 
BSWMDT File (BswMd.arxml) and Configuration XML File (Sample.cfgxml) 
from the current working directory. Tool accepts options provided in the 
Configuration XML File. If Configuration XML File name is not provided as 
input with -C option, Generation Tool errors out. 
 
Remark 
 
•  If Translation XML File is not provided on the command line, 
<Msn>_X1x.dll considers <Msn>_X1x.trxml as ‘default’ Translation XML File 
from the same directory where the tool is located. 
 
•  If Configuration XML File is not provided on the command line, 
<Msn>_X1x.dll considers <Msn>_X1x.cfgxml as ‘default’ Configuration 
XML File from the same directory where the tool is located. 
 
•  If any filename/directory name related argument on the command line 
contain the ‘space’, then the same argument on the command line should 
be provided in double quotes “” as followed by standard command line 
feature. E.g. if file name is ‘Sample Description.arxml’, then on the 
command line the same name should be provided in double quotes “” as 
“Sample Description.arxml”. 
 
•  The ‘include’ and ‘src’ directories are generated inside the output directory 
17 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
provided on the command line or in the default output directory 
<Msn>_Output. 
 
•  BSWMDT file should not be updated manually since it is “Static 
Configuration” file. 
 
 
2.5. 
Tool Installation Requirements 
 
 
The minimum hardware and software requirements for proper installation of 
Module Specific Generation Tool are listed below. This ensures optimal 
performance of the Tool. 
 
 
 
 
2.5.1.  Hardware Requirements 
 
 
 
Processor 
Pentium/equivalent processor @ 500 MHz or greater 
 
Memory 
RAM 64MB or greater 
 
Hard Disk Drive 
500 MB or greater storage capacity 
 
 
 
 
2.5.2.  Software Requirements 
 
 
 
Operating System 
Microsoft Windows Platform 
 
 
 
 
 
2.5.3.  Limitations 
 
 
 
Command Line characters are limited to 128 depending upon the operating 
system. 
 
 
 
 
 
2.6. 
Tool Installation 
 
 
The installation procedure of Module Specific Generation Tool is provided in 
the section below. 
18 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
2.6.1.  Pre Requisite 
 
 
 
Module Specific Generation Tool executable runs on Windows platforms only. 
 
 
 
2.6.2.  Installation Steps 
 
 
 
Copy the Module Specific Generation Tool executable file to the local hard 
disk. 
 
 
Run the executable with -H option to get help on usage of the tool. 
 
 
RUCG.exe <DLL Path> -H 
 
 
This command generates usage of Module Specific Driver Generation Tool on 
the command line. 
 
 
 
 
 
2.7. 
Tool Un-Installation 
 
 
There is no specific method for un-installing the Module specific Generation 
Tool. To un-install, delete the Module specific Generation Tool executable from 
the existing directory. 
 
 
 
2.8. 
Common Messages 
 
 
This section contains the list of error/warning/information messages 
 
which is common for AUTOSAR Renesas R3.2.2 and R4.0.3 X1x MCAL Driver 
module that will be generated by the Generation Tool. 
 
 
 
2.8.1.  Error Messages 
 
ERR000001: File <File_Name> does not exist. 
 
This error occurs, if the input <File_Name> is not found. 
 
 
ERR000002: Name of the Generation Tool Configuration XML File is not 
given along with <-C/-CONFIG> option.
 
 
This error occurs, if the name of the Generation Tool Configuration XML File is 
not given along with <-C/-CONFIG> option. 
19 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000003: File <File name> is not as per XML standard. 
 
This error will occur, if the input <File name> is not as per XML standard. 
 
 
ERR000004: Cannot open the <Log file name> file. 
 
This error will occur, if unable to open the <Log file name> file. 
 
 
ERR000005: Name of output directory is not given along with <-O/- 
OUTPUT> option.
 
 
This error will occur, if the output directory name is not given along with <-O/- 
OUTPUT> option. 
 
 
ERR000006: Name of output directory is not given in OUTPUT-PATH tag 
in <File name>.
 
 
This error will occur, if the output directory is not given in OUTPUT-PATH tag in 
configuration file. 
 
 
ERR000007: The Generation Tool expects inputs. 
 
This error will occur, if the no option is provided in the command line and none 
of the option in the configuration file is set. 
 
 
ERR000008: The option <option> is not supported by the Generation 
Tool. The Generation Tool supports <-O/-OUTPUT, -Osrc , -Oinc, -H/-HELP,   -
L/-LOG, -C/-CONFIGFILE and -D/-DRYRUN>"   options.
 
 
This error will occur, if the invalid <option> is provided to the tool. 
 
 
ERR000009: Invalid output directory name <output directory name> as 
the file with same name exists.
 
 
This error will occur, if the <output directory name> already exists. 
 
 
ERR000010: Invalid output directory name <output directory name> 
Directory name should not contain any of \*\?\"\|\: characters.
 
 
This error will occur, if the <output directory name> path contains junk 
character. 
 
 
ERR000011: ECU Configuration Description File is not provided as input 
to the Generation Tool.
 
 
This error will occur, if the ECU Configuration Description File is not given in 
the command line or in configuration file. 
 
 
ERR000012: The input <File name> is not as per XML standard. Provide 
the ECU Configuration Description File as input on the command line.
 
 
This error will occur, if the ECU Configuration Description File is not as per 
XML standard. 
20 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
ERR000013: <File name> should contain the TRANSLATION-FILE-PATH' 
and 'DEVICE-FILE-PATH' tags.
 
 
This error will occur, if the translation <File name> doesn’t have 
‘TRANSLATION-FILE-PATH’  and 'DEVICE-FILE-PATH' tags. 
 
 
ERR000014: 'TRANSLATION-FILE-PATH' tag in <File name> is empty. 
 
This error will occur, if the translation <File name> doesn’t have 
‘TRANSLATION-FILE-PATH’ tags. 
 
 
ERR000015: The 'device_name' tag should be present as child of 
'TRANSLATION-FILE-PATH'' tag in <File name>. 
 
This error will occur, if the device mentioned in ECU Configuration Description 
File is not present in 
 
'TRANSLATION-FILE-PATH’ tag in the <File name>. 
 
 
ERR000016: ‘DEVICE-FILE-PATH’ tag in <File name> is empty. 
 
This error will occur, if the translation file <File name> doesn’t have ‘DEVICE- 
FILE-PATH’ tags. 
 
 
ERR000017: The 'device_name’ tag should be present as child of 
‘DEVICE-FILE-PATH' tag in <File name>. 
 
This error will occur, if the device mentioned in ECU Configuration Description 
File is not present in 
 
‘DEVICE-FILE-PATH’ tag. 
 
 
ERR000018: Cannot create directory <output directory name>. 
 
This error will occur, if unable to create output directory <output directory 
name>. 
 
 
ERR000019: Cannot open <File name>. 
 
This error will occur, if unable to open <File name>. 
 
 
ERR000020: The macro label <macro label> should be unique in                
<translation file name> translation C Header File.
 
 
This error will occur, if macro label is not unique in translation C Header File. 
 
 
ERR000021: The macro definition for <macro label> macro is not found 
in <translation file name> translation C Header File. The macro label 
format should be <label format>.
 
 
This error will occur, if macro definition is not found in translation C Header 
File. 
 
 
 
21 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000022: The macro value for <macro label> macro is empty in
 
<translation file name> translation C Header File. 
 
 
This error will occur, if macro label value is empty in translation C Header File. 
 
 
ERR000023: The macro definition for <macro value> macro is not found 
in input device specific C Header File(s).
 
 
This error will occur, if macro definition is not found in input device specific C 
Header File(s). 
 
 
ERR000024: The macro value for <macro value> macro is empty in input 
device specific C Header File(s).
 
 
This error will occur, if macro value is empty in input device specific C Header 
File(s). 
 
 
ERR000025: Path <Configured Reference Path> provided for Bsw Module 
is incorrect.
 
 
This error will occur, if the reference provided for Bsw Module Component is 
incorrect. 
 
 
ERR000026: BSWMDT content is not present in the input file(s) for 
‘<Module Name>’ module. 
 
This error will occur, if the module specific BSWMDT content is not present in 
the input files. 
 
 
ERR000027: <MSN> BSWMDT File of either AUTOSAR R3.2 or R4.0 
should be given as input.
 
 
This error will occur, if the both R3.2 and R4.0 BSWMDT file given to the input 
to the generation tool. 
 
 
ERR000028: 'MODULE-DESCRIPTION-REF' element should be present in 
the description file of '<Module Name>' module.
 
 
This error will occur, if the MODULE-DESCRIPTION-REF element is not 
present module specific description file. 
 
 
ERR000029: AUTOSAR version of BSWMDT File and Module Description 
File is different. 
 
This error will occur, if the AUTOSAR version of the BSWMDT File and module 
description file is different. 
 
 
ERR000031: <’<Drive name>’ :\> Drive does not exist.
 
 
This error will occur when output drive does not exist. 
 
ERR000032: File extension is not as per AUTOSAR ECU Configuration 
Description File naming convention for ‘<File path>’ file. 

22 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
 
                                        This error will occur if supporting file extensions are not as per AUTOSAR   
                                        ECU Configuration Description File naming standard. 
 
2.8.2.  Warning Messages 
 
None. 
 
2.8.3.  Information Messages 
 
INF000001: Tool Version: 
 
This is to display Tool Version for each execution of the tool. 
 
 
INF000002: Command line arguments: 
 
This is to display the command line arguments for each execution of the tool. 
 
 
INF000003: The valid inputs are provided below. 
 
This information will occur, if the command line option is not given. 
 
 
INF000004: Opened file <filename> at <time>. 
 
This information will occur, during opening the file. 
 
 
INF000005: Error(s) and Warning(s) detected. 
 
This information will display the number of errors and warnings. 
 
 
INF000006: Execution completed successfully. 
 
This information will occur, if the execution completed successfully. 
 
 
INF000007: Execution completed successfully with warnings. 
 
This information will occur, if the execution completed successfully with 
warnings. 
 
 
INF000008: Execution terminated due to command line errors. 
 
This information will occur, if the execution terminated due to command line 
errors. 
 
 
INF000009: Execution terminated due to error in the input file. 
 
This information will occur, if the execution terminated due to error in the input 
file. 
 
 
INF000010: Execution terminated due to error, during the structure 
generation in the output file.
 
 
This information will occur, if the execution terminated during structure 
generation in output file. 
23 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
2.9. 
R3.2.2 Messages 
 
 
This section contains the list of error/warning/information messages which is 
specific to AUTOSAR Renesas R3.2.2 X1x MCAL Driver module that will be 
generated by the Generation Tool. 
 
 
 
2.9.1.  Error Messages 
 
ERR000030: The 'parameter tag name' tag should be configured in 
BSWMDT File. 
 
This error will occur, if any of the configuration parameter(s) mentioned below 
is (are) not configured in BSWMDT File. 
 
The list of mandatory parameters with respect to container is listed below: 
 
Table 2-2  Mandatory Parameters 
 
Container 
Parameters 
BswImplementation 
SW-MAJOR-VERSION 
SW-MINOR-VERSION 
SW-PATCH-VERSION 
AR-MAJOR-VERSION 
AR-MINOR-VERSION 
AR-PATCH-VERSION 
VendorApiInfix 
BswModuleDescription 
ModuleId 
 
Note: VendorApiInfix parameter is mandatory for only some modules. 
 
 
 
2.9.2.  Warning Messages 
 
None. 
 
 
 
2.9.3.  Information Messages 
 
None. 
 
 
 
2.10.  R4.0.3 Messages 
 
 
This section contains the list of error/warning/information messages which is 
specific to AUTOSAR Renesas R4.0.3 X1x MCAL Driver module that will be 
generated by the Generation Tool. 
24 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
2.10.1. Error Messages 
 
ERR000030: The 'parameter tag name' tag should be configured in 
BSWMDT File. 
 
This error will occur, if any of the configuration parameter(s) mentioned below 
is (are) not configured in BSWMDT File. 
 
The list of mandatory parameters with respect to container is listed below: 
 
Table 2-3  Mandatory Parameters 
 
Container 
Parameters 
BswImplementation 
SwVersion 
VendorId 
ArReleaseVersion 
VendorApiInfix 
BswModuleDescription 
ModuleId 
 
Note: VendorApiInfix parameter is mandatory for only some modules. 
 
 
 
 
 
2.10.2. Warning Messages 
None. 
 
 
 
 
 
2.10.3. Information Messages 
 
None. 
 
 
 
 
 
2.11.  BSWMDT File 
 
 
The BSWMDT File is the template for the Basic Software Module Description. 
Module specific Generation Tool uses “Common Published Information” from 
module specific BSWMDT file. BSWMDT file should not be updated manually 
since it is “Static Configuration” file. 
 
 
The required elements from BSWMDT File by module specific Generation 
Tool are as follows: 
 
BSW-MODULE-DESCRIPTION 
 
• 
MODULE-ID 
 
 
 
 
 
25 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
BSW-IMPLEMENTATION 
 
• 
SW-VERSION 
• 
 
• 
VENDOR-ID 
 
• 
AR-RELEASE-VERSION 
 
• 
VENDOR-API-INFIX 
 
 
In case of multiple driver support implementation, VENDOR-API-INFIX is 
mandatory. In case of single driver support implementation, VENDOR-
API- INFIX is not used. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
 
 
     
 
Chapter 3 
Application Example 
 
 
 
 
3.1. 
Folder Structure 
 
 
Refer Section “Integration and Build Process” in the respective component 
User Manuals. 
 
 
 
 
 
3.2. 
Makefile Description 
 
 
 
 
Makefile is available in the folder “X1X\< MICRO_VARIANT 
>\modules\<msn>\sample_application\< MICRO_SUB_VARIANT 
>\make\<compiler>”.  
The Makefiles with the guidelines provided in AUTOSAR BSW Makefile 
Interface Specification, which enables easy integration with other components 
and the application. 
 
The files is: 
 
 
• App_<Msn>_<MICRO_SUB_VARIANT>_<DEVICE_NAME>Sample.mak 
(Contains the device specific instructions). 
 
 
 
 
 
3.2.1.  App_<Msn>_<variant>_Sample.mak 
 
############################################################## 
 
# Makefile to compile and build the Sample application with the AUTOSAR 
<MSN> # 
 
# Driver Component (For Test purposes only) 

 
# Compatible with GNU Make 3.81 for Win32.                                   # 
 
############################################################## 
 
 
############################################################## 
 
# Definitions of global environment variables 
   # 
 
############################################################## 
 
#Get name of the current application 
 
CURRENT_APPL = App_<Msn> 
 
 
# Get the project directory into variable "PROJECT_ROOT" 
27 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 
PROJECT_ROOT = $(shell cd)\..\..\..\..\..\.. 
 
COMMON_SAMPLE_CORE_PATH =     
$(PROJECT_ROOT)\$(MICRO_FAMILY)\common_platform 
                                  \modules\<Msn>\sample_application 
                            
# Get the current working directory into variable "SAMPLE_ROOT_PATH" 
SAMPLE_ROOT_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules
<Msn>\sample_application\$(MICRO_SUB_VARIANT) 
 
# Get the current working directory into variable "STUBS" 
STUBS_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY) 
                                                                           \common_platform\generic 
                                  \stubs\$(AUTOSAR_VERSION) 
 
# Get current configuration path 
 
<MSN>_CONFIG_PATH = 
$(SAMPLE_ROOT_PATH)\$(AUTOSAR_VERSION) 
 
 
# Get TRXML path 
 
                                       TRXML_CONFIG_PATH =  $(PROJECT_ROOT) 
                                                                                  \$(MICRO_FAMILY)\$(MICRO_VARIANT) 
                                                                                  \common_family\generator 
 
# Get BSWMDT path 
 
<MSN>_BSWMDT_CONFIG_PATH = $(PROJECT_ROOT) 
                                                                                                    \$(MICRO_FAMILY) 
                                                                                                    \$(MICRO_VARIANT) 
                                                                                                    \modules\<Msn>                                                                                                          
\generator 
 
# Get current configuration file path 
 
<MSN>_CONFIG_FILE = $(MSN_CONFIG_PATH) \config 
                                         \App_<MSN>_$(MICRO_SUB_VARIANT)_ 
                                         $(DEVICE_NAME)_Sample.arxml 
 
# Path to TRXML Configuration File which is required for this module 
 
TRXML_CONFIG_FILE = 
"$(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO
_VARIANT).trxml"" 
 
                              # Path to ECUM Configuration File which is required for this module 
ECUM_CONFIG_PATH = $(STUBS_PATH)\EcuM 
 
ECUM_CONFIG_FILE = "$(ECUM_CONFIG_PATH)\xml\EcuM_Msn.arxml" 
 
 
28 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
                                        # Path to TRXML Configuration File which is required for Test Application 
                                        TRXML_CONFIG_FILE =                  
"$(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO_VARIANT).trxml" 
 
# Path to BSWMDT Configuration File which is required for MSN Sample                   
Application 
 
                                         MSN_BSWMDT_CONFIG_FILE =          
"$(MSN_BSWMDT_CONFIG_PATH)\R403_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml 
                               
                                         # Version check for inter modules required 
                                        MSN_VERSION_CHECK_REQ = yes 
 
# Database to be linked together with the current application 
 
# Define 'no' to isolate database from the application 
 
<MSN>_DBASE_REQ = yes 
 
 
# Get the name of the SRECORD file 
 
 
                                        CURRENT_APPL_SRECORD = 
                                         $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample 
 
# Name of the database if generated separately 
 
<MSN>_DB = <Msn>_PBcfg 
 
 
############################################################## 
 
# Final executable 

 
############################################################## 
 
EXE = $(CURRENT_APPL)_ MICRO_ 
<SUB_VARIANT>_Sample.$(EXE_FILE_SUFFIX) 
LIBRARIES_TO_BUILD = 
OBJECTS_LINK_ONLY = 
 
OBJECT_OUTPUT_PATH  = $(SAMPLE_ROOT_PATH)\obj\ghs 
GENERATED_SOURCE_FILES = 
CC_FILES_TO_BUILD = 
 
CPP_FILES_TO_BUILD = 
ASM_FILES_TO_BUILD = 
 
 
CC_INCLUDE_PATH = 
CPP_INCLUDE_PATH = 
ASM_INCLUDE_PATH = 
29 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 
 
PREPROCESSOR_DEFINES = 
 
 
LIBRARIES_LINK_ONLY = 
DIRECTORIES_TO_CREATE = 
DEPEND_GCC_OPTS = 
 
 
MAKE_CLEAN_RULES = 
MAKE_GENERATE_RULES = 
MAKE_COMPILE_RULES = 
MAKE_DEBUG_RULES = 
MAKE_CONFIG_RULES = 
MAKE_ADD_RULES = 
 
 
MAKE_DEBUG_RULES = 
MAKE_ CONFIG_RULES = 
MAKE_ADD_RULES = 
 
MAKE_DEBUG_RULES += debug_base_make 
 
STD_LIBRARY = 
 
LNKFILE = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<msn
>\sample_application\$(MICRO_SUB_VARIANT)\make\ghs\$(CURRENT_APP
L)_$(MICRO_SUB_VARIANT)_$(DEVICE_NAME)_Sample.ld 
 
LNKFILE_DB = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<ms
n>\sample_application\$(MICRO_SUB_VARIANT)\make\ghs\$(CURRENT_A
PPL)_$(MICRO_SUB_VARIANT)_$(DEVICE_NAME)_Sample_db.ld 
 
 
                           .PHONY: MAKE_CLEAN_RULES MAKE_GENERATE_RULES  
                           MAKE_COMPILE_RULES \ 
                           MAKE_DEBUG_RULES MAKE_CONFIG_RULES MAKE_ADD_RULES 
 
############################################################## 
 
# Modules to be included in the project 

 
############################################################## 
 
############################################################## 
# Sample Application 
 

 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_Defs.mak 
 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
30 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
ample_rules.mak 
 
 
SAMPLE_CORE_PATH = $(SAMPLE_ROOT_PATH) 
 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_defs.mak 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_rules.mak 
 
 
############################################################## 
 
############################################################## 
 
############################################################## 
 
 
# DET Module Core Path 
 

 
#DET_CORE_PATH = $(STUBS_PATH)\Det 
 
#include $(DET_CORE_PATH)\make\det_defs.mak 
 
#include $(DET_CORE_PATH)\make\det_rules.mak 
 
############################################################## 
 
############################################################## 
 
 
# OS Module Core Path 
 

 
OS_CORE_PATH = $(STUBS_PATH)\os 
 include $(OS_CORE_PATH)\make\os_defs.mak 
 include $(OS_CORE_PATH)\make\ os_rules.mak 
 ############################################################# 
 
                              
                              
                                          ############################################################## 
                                          # ECUM Module Core Path 
                                          # 
                                          ECUM_CORE_PATH = $(STUBS_PATH)\EcuM 
                                          include $(ECUM_CORE_PATH)\make\ecum_defs.mak 
                                          include $(ECUM_CORE_PATH)\make\ecum_rules.mak 
                                          ############################################################## 
 
 ############################################################## 
 
 # Scheduler Manager Module Core Path 
 
 # 
 
 ifeq ($(AUTOSAR_VERSION), 3.2.2) 
 SCHM_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(SCHM_CORE_PATH)\make\schm_defs.mak 
 else 
 RTE_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(RTE_CORE_PATH)\make\rte_defs.mak 
 endif  
31 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 ############################################################# 
 
 # <MSN> Driver Component 
 
 # 
 
<MSN>_CORE_PATH = 
 $(PROJECT_ROOT \$(MICRO_FAMILY)\  common_platform 
 \modules\<msn> 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_defs.mak  
 include $(<MSN>_CORE_PATH)\make\renesas _<msn>_check.mak 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_rules.mak 
 
 
 ############################################################# 
 
 
############################################################## 
 
# Command to generate standalone database 

                             
$(MSN_DB).$(S_RECORD_SUFFIX):$(MSN_DB).$(OBJ_FILE_SUFFIX) 
$(LNKFILE_DB) 
@echo    ********************************************************************* 
                                         @echo Building the standalone database ...   
                                         $(DBLINKER) $(LNKFILE_DB) \ 
                                         "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(MAP_FILE_SUFFIX)" \ 
-o "$(OBJECT_OUTPUT_PATH)\$(MSN_DB).$(EXE_FILE_SUFFIX)" 
                                         @echo Generating Motorola S-Record file... 
                                         $(CONVERTER) $(SFLAGS)                                       
                                        
"$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(EXE_FILE_SUFFIX)" \ 
    
                              -o "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(S_RECORD_SUFFIX)" 
                                          @echo Done ... 
 
############################################################## 
################## 
 
$(<MSN>_DB).$(S_RECORD_SUFFIX):$(<MSN>_DB).$(OBJ_FILE_SUFFIX 
) $(LNKFILE_DB) 
 
@echo ********************************************************************* 
 
@echo Building the standalone database ... 
 
$(DBLINKER) $(LNKFILE_DB) \ 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(MAP_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" 
 
@echo Generating Motorola S-Record file... 
 
$(CONVERTER) $(SFLAGS) 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(S_RECORD_SUFFIX)" 
 
@echo Done ... 
 
                              
32 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
     
############################################################### 
 
# End of the Base Make script                                                  # 
############################################################### 
 
3.3. 
Integrating The <MSN> Driver Component With 
 
Other Components 
 
This section explains the procedure to integrate the <MSN>Driver Component 
with other BSW components and the application. 
 
Depending on the various configurations, the following modules are required to 
be integrated with the <MSN>Driver Component: 
 
• 
<MSN>Interface (Folder ‘Sample_Application’ where the sample 
application for <MSN> exists. The variable ‘<MSN>_CORE_PATH’ 
and the corresponding module Makefile names must be suitably 
changed in the base Makefile) 
 
 
• 
Development Error Tracer (Folder ‘Det’ where the DET module files exist. 
The variable ‘DET_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
Scheduler Manager (Folder ‘SchM’ where the SCHM module exists. 
The variable ‘RTE_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
MCU Interface (Folder ‘Mcu’ in the give example. The variables 
‘MCU_CONFIG_PATH’ and ‘MCU_CONFIG_FILE’ must be suitably 
changed in the module Makefile 
(Software_Source_Code\ssc\mak\renesas_<MSN>_rules.mak) and 
the base Makefile). 
 
 
All the above folders are given only as examples and they have to be 
replaced with actual component folders. It is assumed that every component 
has the corresponding module Makefiles. 
 
Apart from the above BSW components, few other folders are provided as 
mentioned below: 
 
• 
AUTOSAR Type definition Files (Folder ‘common\include’, where the 
header files containing standard definitions that are common to all 
components are placed. The variable ‘STUB_CORE_PATH’ and the 
corresponding module Makefile names must be suitably changed in the 
base Makefile) 
 
• 
RH850 specific Files (Folder ‘X1X\common_platform\generic\include’,where 
the header files that are common to all components but specific to Renesas 
V850 microcontroller are placed. The variable ‘ 
GENERIC_PLATFORM_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile) 
 
Compiler specific Files (Folder ‘compiler’, where the header files that are 
common to all components but specific to GreenHills Compiler are placed. 
The variable ‘COMPILER_PATH’ and the corresponding module Makefile 
33 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
names must be suitably changed in the base Makefile). 
 
3.4. 
Building The <MSN> Driver Component 
 
 
This section explains the procedure to build the <MSN>Driver Component for 
any given configuration. 
 
The <MSN> Driver Configuration Description file (.arxml) has to be given as 
input to the <MSN> Driver Generation Tool. The tool generates output files 
namely <Msn>_Lcfg.c, <Msn>_PBcfg.c, <Msn>_Cbk.h and <Msn>_Cfg.h. 
 
 
Following variables must be defined in the base Makefile described in 
Section 5.2.1 (Makefile Description) 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
SPECIFIC_APPL_ROOT_PATH: Directory where the <MSN> sample 
application exists. 
 
• 
OBJECT_OUTPUT_PATH: Directory where the module specific output 
files are generated. 
 
• 
STARTUP_<family>_CORE_PATH: Core path for the variant specific 
statup files exist. 
 
• 
STUB_CORE_PATH: Core path for the stub files exist. 
 
• 
COMPILER_PATH: Directory where the compiler files exist. 
 
• 
DEVICE_FILE_PATH: Directory where the device files exists. 
 
• 
MSN_CORE_PATH: Core path for the <MSN> Driver Component 
folder. 
 
• 
MSN_TOOL_PATH: Directory where the module specific tool exe exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_clean_generated_files: This target can be used to clean the 
configuration source and header files generated by the <MSN> Driver 
Generation Tool. 
 
• 
debug_<MSN>_makefile: This target can be used to print the debug 
information such as paths used by <MSN> Driver Component. 
 
• 
generate_<MSN>_config: This target can be used to invoke the <MSN> 
Driver Generation Tool which in turn takes the ECU Configuration 
Description files (App_<MSN>_<DEVICE_NAME>_Sample.arxml) as 
an input and generates the configuration source and header files. 
 
 
Following variables must be defined in the Module Makefile described in
 
Section 5.2.1 (Makefile Description): 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
MSN_CONFIG_PATH: Configuration path for description file of the 
<MSN> Driver Component. 
 
34 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
• 
MSN_CONFIG_FILE: Name of the <MSN> Driver Component description 
file. 
 
• 
STUB_CONFIG_PATH: Configuration path for description file of the stub. 
 
• 
MCU_CONFIG_FILE:  Name of the MCU Driver Component description 
file. 
 
• 
TRXML_CONFIG_PATH: TRXML Configuration file path used for the 
 
 
 
        <MSN> Driver Component. 
 
• 
TRXML_CONFIG_FILE: TRXML Configuration file used for the <MSN> 
    Driver Component. 
 
• 
BSWMDT_CONFIG_PATH: Path for <MSN> BSWMDT file. 
 
• 
BSWMDT_CONFIG_FILE: Name of the <MSN> BSWMDT file. 
 
• 
GENERIC_STUB_PATH: Directory where the generic stub exist. 
 
• 
GENERIC_PLATFORM_PATH: Directory where the generic platform 
files exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_DB: Name of the Post-build configuration file. 
 
The above mentioned variables must be used by the user to build the base 
Makefile. 
 
A sample base Makefile (App_<MSN>_ <MICRO_SUB_VARIANT> 
_Device_Sample.mak) has been provided with the product for reference. 
This file can be modified to suit the developer’s needs. 
 
The targets that are supported in the base Makefile enable the user in build 
and cleanup activities during/after the build process. They are listed below: 
 
 
3.4.1.  Targets Supported By The Sample Base Makefile 
 
3.4.1.1.  debug_base_make 
 
Invoking the Make utility and passing “debug_base_make” as a parameter 
prints all the variables that are used in the base Makefile. This can be used to 
print various paths and file names to see if they are correct. 
 
3.4.1.2.  clean_objs 
 
Invoking the Make utility and passing “clean_objs” as a parameter deletes all 
the object files from the output folder 
(“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT >\obj” in this case). 
 
3.4.1.3.  clean 
 
Invoking the Make utility and passing “clean” as a parameter deletes tool 
generated files in the configuration output folders 
(“X1X\<MICRO_VARIANT>\modules\<msn>\sample_application\< 
MICRO_SUB_VARIANT>\src” and 
 
“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\include”in this case) 
 

35 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
3.4.1.4.  clean_all 
 
Invoking the Make utility and passing “clean_all” as a parameter deletes all 
files such as object file, list files and map files from the output folder 
(“X1X\< MICRO_VARIANT > 
          \modules\<msn>\sample_application\< MICRO_SUB_VARIANT           
>\obj” in this case). 
 
3.4.1.5.  generate_<msn>_config 
 
Invoking the Make utility and passing “generate_<MSN>_config” as a 
parameter invokes the <MSN> Driver Generation Tool. The tool takes the 
ECU Configuration Description File(s) (“X1X\< MICRO_VARIANT 
>\modules\<msn>\Sample_application\<MICRO_SUB_VARIANT> 
   \ AUTOSAR_VERSION 
 
config\<MSN>_Sample_ <MICRO_SUB_VARIANT>\.arxml” as input and 
generates the output files in folders 
 
“X1X\< MICRO_VARIANT >\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \src” and 
 
“X1X\< MICRO_VARIANT >1\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \include”). 
 
App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out 
 
Invoking the Make utility and passing “Sample.out” as a parameter invokes the 
compiler and linker sequentially. Then it generates the executable 
“App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out”. 
 
3.4.1.6.  <Msn>_PBcfg.s37 
 
Invoking the Make utility and passing “<Msn>_PBcfg.s37” as a parameter 
invokes 
the compiler and linker sequentially and generates the Motorola S-Record file 
“<Msn>_PBcfg.s37” in the output folder. 
This scenario typically arises when post-build parameters are modified and 
only the database needs to be flashed into the device without disturbing the 
other ROM contents. 
 
36 
 

 Support For Different Interrupt Categories           
 
 
 
 
    Chapter 4                                                                                       
 
 
 
 
 
 
 
 
 
 
     
Chapter 4  Support For Different Interrupt Categories 
 
 
 
 
The <MSN> Driver supports CAT1 and CAT2 interrupt categories: 
 
 
CAT1 
 
In  CAT1  type  of  interrupt  ISR  does  not  use  an  operating  system  service.  In 
practice, the OS does not handle these interrupts, and the interrupt handler is 
implemented  in  the  driver  code,  with  the  only  restriction  that  OS  services 
cannot be called. Typically, these are the fastest highest priority interrupts. 
 
 
 
 
CAT2 
 
In  CAT2 type  of  interrupt wherein the  ISR  is  handled by  the  system and  OS 
calls can be called from the handler. 
 
 
For CAT1 and CAT2, the selection of interrupt category is for each interrupt in 
the module. Individual MCAL module does not contain any option for interrupt 
category configuration. The user has to configure the ISR category in OS and 
also  to  use  the  right  MCAL  specified  name  and  MCAL  expects 
"ISR(INTERRUPT_NAME)" keyword defined in OS in case of CAT2. 
 
Notes  1.   The understanding is Os module does not publish short name handles for 
CAT1 OsIsr container. But it should be defined in the interrupt vector table 
by the OS. 
 
2.   The understanding is that Os module should publish short name handles 
for CAT2 OsIsr container according to ecuc_sws_2108 requirement by 
adding the Os_" pefix to the configured interrupt name. 
 
 
Reference between the <MSN> module and OS: 
 
<Msn> module's <Module>_Irq.c/h files include "Os.h" header file to obtain the 
interrupt  category  information  configured  in  the  OS.  Therefore  following  pre- 
processor  definitions  are  expected  to  be  published  in  Os.h  file  by  the  OS  in 
case of CAT2 or to be used in the interrupt vector table in case of CAT1. 
 
 
Table 4-1  CAT1 and CAT2 Naming Convention 
 
Interrupt Category 
Naming Convention 
CAT1 
<MCAL_INTERRUPT_NAME>_ ISR 
CAT2 
<MCAL_INTERRUPT_NAME>_CAT2_ISR 
CAT2 (In case the handles of 
Os_<MCAL_INTERRUPT_NAME>_CAT2_ISR 
the OsIsr container are 
generated without ‘Os_’ prefix 
by Os generation tool) 
 
 
 
37 

Chapter 4 
 
 
 
 
 
    Support For Different Interrupt Categories 
 
  
MCAL in Stand Alone: 
 
In  case  if  the  MCAL  modules  are  to  be  used  stand  alone  without  having 
standard Autosar Os module, the user has to prepare an Os.h stub file with the 
published  handles  only  for  those  interrupt  names  which  are  to  be  used  as 
CAT2. 
 
Table 4-2 
List of ISR Names that need to be configured and published in Os.h 
(CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver 
 
 
 
 
 
CAT2(In case the handles of the 
 
 
Sl. 
OsIsr container are generated 
CAT1 
CAT2 
No. 
without ‘Os_’ prefix by Os 
generation tool)
 

<MSN>n_SGm_ISR 
<MSN>n_SGm_CAT2_ISR 
Os_<MSN>n_SGm_CAT2_ISR 

<MSN>_DMA_CHxy_ISR 
<MSN>_DMA_CHxy_CAT2_ISR 
Os_<MSN>_DMA_CHxy_CAT2_IS 

 
Where 
 
‘n’ indicate HW Unit number 
 
‘m’ indicate SG Unit number 
 
‘xy’ indicate DMA channel Id number 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38 


 GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 5 
 
 
Chapter 5 
GNU MAKE Environment 
 
Every component is delivered with the necessary Make scripts that are 
required to integrate the component with the application. The scripts are 
compatible with GNU Make version 3.81. 
 
 
All the delivered Makefiles have to be included in the project level base 
Makefile in order to build the component together with the application. Refer 
section “Integration and Build Process” of the respective component User 
Manuals for more information on the Makefile variables and their usage. 
 
 
 
5.1. 
Build Process With GNUMAKE 
 
 
When the batch file of certain application is built, the GNU Make utility will be 
searched by batch file. The GNU Make utility should be present in the default 
path specified by GNUMAKE\PATH variable. By making use of the GNU Make 
utility the batch file will be compiled. 
 
 
 
5.2. 
Build Process Without GNUMAKE 
 
 
If GNU Make utility is not present at the default path or present in some other 
directory the following procedure is followed to set the Environmental variable 
GNUMAKE\PATH. 
 
1.   Right click on “My Computer” select properties, user will find System 
Properties. 
 
 
39 



Chapter 5  
 
 
 
 
 
 
 
       GNU MAKE Environment 
 
 
2.   In System Properties select “Advanced” option, user will find 
“Environmental Variables” at the bottom side of window. 
 
 
 
 
3.   Click on “Environmental Variables”, user will find “Environment Variables” 
window in that, select “New”. 
 
 
40 


 GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 5 
 
 
 
4.   After step 3, user can find “New User Variable” window with “Variable 
name” and “Variable path” options which needs to be set, Variable name 
will be set as GNUMAKE and Variable path is the path of the directory 
where GNU Make utility is present and click ok. 
 
 
 
 
5.   After step 4, in “System Properties” window click “Apply” and then “Ok”. 
 
 
Remark  GNU Make utility version 3.81 must be separately downloaded and installed to 
use the Makefiles delivered along with the component. More information on the 
utility can be found at http://www.gnu.org/ 
 
 
 
 
 
 
 
 
41 

Chapter 5  
 
 
 
 
 
 
 
       GNU MAKE Environment 
 
 
 
42 
 

 Load Binaries                                                                                                                            Chapter 6
 
 
 
 
 
 
 
 
 
 
     
Chapter 6 
Load Binaries 
 
 
 
 
Once the Executable or S-Record is generated using the project level base 
Makefile, it needs to be downloaded into the target using a Flash programmer. 
 
 
The user has to read the instructions provided in the Flash programmer’s User 
Manual thoroughly before using it. 
 
 
43 

 Chapter 6                                                 
 
 
 
 
 
Load Binaries                                                                                                                                                                                                                                      
 
 
 
 
 
 
 
 
 
              
 
 
 
44 
 

 Appendix  
 
 
 
 
 
 
 
 
                  Chapter 7                                                                                                                                       
 
 
 
 
 
 
 
 
 
 
      
Chapter 7 
Appendix 
 
 
 
7.1.  Translation XML File 
 
 
Translation XML File content format shall be given as mentioned below: 
 
 
<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
The tag PATH-DETAILS should not be renamed since it is top level element. 
--> 
<PATH-DETAILS> 
<!-- 
TRANSLATION-FILE-PATH should contain the path of the translation 
header file. 
The tag TRANSLATION-FILE-PATH should not be renamed. Only respective 
value should be updated for the translation header file. 
--> 
<TRANSLATION-FILE-PATH> 
<value_of_<MSN>DeviceName>Path</value_of_<MSN>DeviceName> 
</TRANSLATION-FILE-PATH> 
<!-- 
The tags present in DEVICE-FILE-PATH tag should contain the path of 
the device specific C Header File. 
The tags present in DEVICE-FILE-PATH should be equal to the value 
for parameter <MSN>DeviceName present in <MSN>General container. 
The tag DEVICE-FILE-PATH should not be renamed. 
 
 
If multiple device header files need to provide for same device then each file 
name should be separated with space. 
--> 
<DEVICE-FILE-PATH> 
<value_of_<MSN>DeviceName>Path</value_of_<MSN>DeviceName> 
</DEVICE-FILE-PATH> 
</PATH-DETAILS> 
 
 
 
 
 
7.2.  Configuration XML File 
 
 
Configuration XML File content format shall be given as mentioned below: 
 
 
<? 
xml version="1.0" encoding="UTF-8"?> 
<!-- 
45 

Chapter 7   
 
 
 
 
 
 
 
 
 
      Appendix 
 
 
 
 
None of the tag from this XML should be renamed or deleted. 
--> 
<XML> 
<!-- Supported Command Line options  --> 
<OPTION> 
<!-- Only ON or OFF should be provided. --> 
<HELP>ON/OFF</HELP> 
 
 
<!-- Only ON or OFF should be provided. --> 
<LOG>ON/OFF</LOG> 
 
 
<!-- Only ON or OFF should be provided. --> 
<DRYRUN>ON/OFF</DRYRUN> 
 
 
<!-- Only ON or OFF should be provided. --> 
<OUTPUT>OFF</OUTPUT> 
 
 
<!-- Name of output directory --> 
<OUTPUT-PATH>Path</OUTPUT-PATH> 
</OPTION> 
 
 
<!-- To provide input files. If multiple input files need to be provided then 
each file should be separated with ",". --> 
<INPUT-FILE>Path</INPUT-FILE> 
</XML> 
46 
 

 
 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
31-Jan-2013 
2. 
Following changes are made: 
1.0.1 
16-Oct-2013 
1. -Osrc and -Oinc options are added at section 4.3. Usage. 
2.  Error message ERR000008 is updated at section 4.8.1. Error 
Messages.                                                                                                            
3. F1x is renamed to X1x in all relevant places.  
 
3. 
Following changes are made: 
1.0.2 
24-Jan-2014 
1. Chapter 5 is updated for paths. 
2. F1x and F1L names are removed. 
3. Makefile location is updated. 
4. Name of executable is updated. 
 
4. 
Following changes are made: 
1.0.3 
08-April-2014 
1. Page Number alignment is corrected. 
2. R- Number is added for document. 
5. 
Following changes are made: 
1.0.4 
17-July-2014 
1. Copyright year information is corrected. 
2. R- Number is added for document. 
6. 
Following changes are made: 
1.0.5 
09-Aug-2014 
1. Document is updated as per template. 
 

Following changes are made: 
1.0.6 
23-Mar-2016 
1. New Error message ERR000031 added. 
2. Warning message WRN000001 message updated to error 
message ERR000032. 
3. Updated chapter4 for RUCG and DLL usage. 
8. 
Following changes are made: 
1.0.7 
29-Jun-2016 
 1.  Chapter 2 and 3 removed to make the document independent of   
      any specific tool. 
 2.  Autosar version 3.2.2 version check removed from section 3.2.1. 
47 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for X1x MCAL Driver User's Manual 
Version.1.0.7 
 
Publication Date: Rev.1.00, June  29, 2016 
 
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 
 
 
 
 
© 2016 Renesas  Electronics  Corporation.  All rights reserved. 
Colophon  1.0 
 



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for X1x MCAL Driver 
 
User’s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 R20UT3753EJ0100 
 
 
 

Document Outline


24 - R20UT3753EJ0101-AUTOSAR

AUTOSAR MCAL R4.0 User's Manual

26 - R20UT3753EJ0101-AUTOSARs




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for 
X1x MCAL Driver 
 
 
User’s 
 
 
  
Manual 
Version.1.0.8
 
 
 
Target Device: 
RH850/P1x 
 
 
 
 
 
 
 
 
 
All information contained in these materials, including products and product specifications, 
represents information on the product at the time of publication and is subject to change by 
Renesas Electronics Corp. without notice. Please review the latest information published by 
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. 
website (http://www.renesas.com). 
 
 
 
 
 
 
www.renesas.com 
Rev.1.01 Feb 2017

 
 
 
 
 
 
 
 
 
 
2 
 

 
 
 
 
 
 
 
Notice 
 
1. 
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of 
 
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, 
 
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and 
 
damages incurred by you or third parties arising from the use of these circuits, software, or information. 
 
 
2. 
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents, 
 
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information 
 
described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application examples. 
 
3. 
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas 
 
Electronics or others. 
 
4. 
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics 
 
disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copy or 
 
otherwise misappropriation of Renesas Electronics products. 
 
5. 
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended 
 
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.  
 
 
"Standard":          Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment; 
 
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc. 
 
"High Quality":   Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication 
 
equipment; key financial terminal systems; safety control equipment; etc. 
 
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or 
 
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and undersea 
 
repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any 
 
and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for which the 
 
product is not intended by Renesas Electronics. 
 
6. 
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General 
 
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the ranges 
 
specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation characteristics, 
 
installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of the use of Renesas 
 
Electronics products beyond such specified ranges. 
 
7. 
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have 
 
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas 
 
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the 
 
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics 
 
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention, 
 
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your products/system. 
 
Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the final products or 
 
systems manufactured by you. 
 
 
8. 
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas 
 
Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances, including 
without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all these applicable 
 
laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with 
 
applicable laws and regulations. 
 
 
9. 
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale 
 
is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or technologies for (1) 
 
any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction, such as nuclear weapons, 
 
chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering such weapons, (2) any purpose 
 
relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of disturbing international peace and 
 
security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or technologies to any third party whether directly 
 
or indirectly with knowledge or reason to know that the third party or any other party will engage in the activities described above. When 
 
exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall comply with any applicable export control laws and 
regulations promulgated and administered by the governments of the countries asserting jurisdiction over the parties or transactions. 
 
 
10.  Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and 
 
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from your 
 
resale or making Renesas Electronics products available any third party. 
 
11.  This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas 
 
Electronics. 
 
12.  Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas 
 
Electronics products. 
 
 
 
 
(Note 1)   "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned 
 
subsidiaries. 
 
(Note 2)   "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics 
 

 
 
                                                                                                                                                                                                                       
 

 
 
 
 
 
3 
 

 
 

 

 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ARXML/arxml 
AUTOSAR xml 
AUTOSAR 
Automotive Open System Architecture 
BSWMDT 
Basic Software Module Description Template 
<MSN> 
Module Short Name 
ECU 
Electronic Control Unit 
GUI 
Graphical User Interface 
MB 
Mega Bytes 
MHz 
Mega Hertz 
RAM 
Random Access Memory 
xml/XML 
eXtensible Markup Language 
<MICRO_VARIANT> 
F1x, R1x, P1x, E1x etc. 
<MICRO_SUB_VARIANT> 
F1L,F1M,F1H, R1L, P1L,P1M, E1L, E1MS etc. 
AUTOSAR_VERSION 
3.2.2 or 4.0.3 
DEVICE_NAME 
Example :701205EAFP 
RUCG 
Renesas Unified Code Generator 
.DLL  
 Dynamic Linking Library  
 
 
 
Definitions 
 
 
 
Terminology 
Description 
.xml 
XML File. 
.arxml 
AUTOSAR XML File. 
.trxml 
Translation XML File. 
ECU Configuration 
The ECU Configuration Parameter Definition is of type XML, which contains the 
Parameter Definition File 
definition for AUTOSAR software components i.e. definitions for Modules, 
Containers and Parameters. The format of the XML File will be compliant with 
AUTOSAR ECU specification standards. 
ECU Configuration 
The ECU Configuration Description file in XML format, which contains the 
Description File 
configured values for Parameters, Containers and Modules. ECU Configuration 
Description XML File format will be compliant with the AUTOSAR ECU 
specification standards. 
BSWMDT File 
The BSWMDT File in XML format, which is the template for the Basic Software 
Module Description. BSWMDT File format will be compliant with the AUTOSAR 
BSWMDT specification standards. 
Translation XML File 
Translation XML File is in XML format, which contains translation and 
device specific header file path. 
Configuration XML File 
Configuration XML File is in XML format, which contains command line 
options and options for input/output file path. 


 
 


 
Table of Contents 
 
Chapter 1  Introduction ..................................................................... 11 
Chapter 2  Generation Tool ............................................................... 13 
2.1. 
Translation XML File ................................................................................................................ 13 
2.1.1.  Translation Header File ................................................................................................ 14 
2.1.2.  Device Specific Header File .......................................................................................... 14 

2.2. 
Configuration XML File ........................................................................................................... 14 
2.3. 
Usage ........................................................................................................................................ 15 
2.4. 
Sample Usage .......................................................................................................................... 16 
2.5. 
Tool Installation Requirements .............................................................................................. 18 
2.5.1.  Hardware Requirements ............................................................................................... 18 
2.5.2.  Software Requirements ................................................................................................. 18 
2.5.3.  Limitations ..................................................................................................................... 18 

2.6. 
Tool Installation ....................................................................................................................... 18 
2.6.1.  Pre Requisite ................................................................................................................ 19 
2.6.2.  Installation Steps .......................................................................................................... 19 

2.7. 
Tool Un-Installation ................................................................................................................. 19 
2.8. 
Common Messages ................................................................................................................ 19 
2.8.1.  Error Messages ............................................................................................................. 19 
2.8.2.  Warning Messages ....................................................................................................... 23 
2.8.3.  Information Messages .................................................................................................. 23 

2.9. 
R3.2.2 Messages...................................................................................................................... 24 
2.9.1.  Error Messages ............................................................................................................ 24 
2.9.2.  Warning Messages ....................................................................................................... 24 
2.9.3.  Information Messages .................................................................................................. 24 

2.10.  R4.0.3 Messages...................................................................................................................... 24 
2.10.1.  Error Messages ............................................................................................................ 25 
2.10.2.  Warning Messages ....................................................................................................... 25 
2.10.3.  Information Messages .................................................................................................. 25 

2.11.  BSWMDT File ........................................................................................................................... 25 
Chapter 3  Application Example ....................................................... 27 
3.1. 
Folder Structure....................................................................................................................... 27 
3.2. 
Makefile Description ............................................................................................................... 27 
3.2.1.  App_<Msn>_<variant>_Sample.mak ........................................................................... 27 
3.3. 
Integrating The <MSN> Driver Component With  Other Components .............................. 33 
3.4. 
Building The <MSN> Driver Component .............................................................................. 34 
3.4.1.  Targets Supported By The Sample Base Makefile ....................................................... 35 
Chapter 4  Support For Different Interrupt Categories ................... 37 
Chapter 5  GNU MAKE Environment ................................................ 39 
5.1. 
Build Process With GNUMAKE .............................................................................................. 39 
5.2. 
Build Process Without GNUMAKE ........................................................................................ 39 


 
Chapter 6  Load Binaries .................................................................. 43 
Chapter 7  Appendix.......................................................................... 45 
7.1. 
Translation XML File ................................................................................................................ 45 
7.2. 
Configuration XML File ................................................................................................................. 45 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
List of Figures 
 
Figure 2-1 
Generation Tool Overview ................................................................................................. 13 
 
 
 
 
 
 
List of Tables 
 

Table 2-1 
Options and Description .................................................................................................... 15 
Table 2-2 
Mandatory Parameters ...................................................................................................... 24 
Table 2-3 
Mandatory Parameters ...................................................................................................... 25 
Table 4-1 
CAT1 and CAT2 Naming Convention ................................................................................ 37 
Table 4-2 
List of ISR Names that need to be configured and published in Os.h     (CAT2) or used in        
the interrupt vector table (CAT1) for <MSN> Driver ........................................................... 38 

 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
10 

Introduction 
 
 
 
 
 
 
 
 
 
      Chapter 1
 
 
 
 
Chapter 1 
Introduction 
 
 
 
 
The document describes the information Generation Tool and references to 
Sections in the Component User Manuals that the user needs to refer to build 
the executable. 
 
Generation Tool is a command line tool that accepts ECU Configuration 
Description File(s), BSWMDT File, Translation XML File and Configuration 
XML File as input and generates the C source and header files based on the 
configuration of the module. 
11 

Chapter 1  
 
 
 
 
 
 
 
 
 
Introduction 
 
 
 
 
12 

Generation Tool  
 
 
 
 
 
 
 
 
     Chapter 2 
 
 
 
Chapter 2 
Generation Tool 
 
 
 
 
Generation Tool is a command line tool that provides scalability and 
configurability for the component. It accepts ECU Configuration Description 
File(s), BSWMDT File, Translation XML File and Configuration XML File as 
input and generates the C Header and C Source files. However, 
Configuration XML File is optional. 
 
 
 
 
 
 
 
 
 
ECU Configuration 
 
Output Folder  -O or 
Description Fil e(s) 
 
-OUTPU T 
(.arxml),  BSWMDT 
Generation  Tool 
‘Folder_Name’ 
File and Translation 
 
 
 
XML Fi le (.trxml) 
 
 
 
Label to be searched 
inc 
src 
 
Configuration XML 
Translation Header 
 
 
File (.cfgxml) 
File (.h) 
 
*.h 
*.c 
 
Mapped Label to be searched 
 
 
Address to be generated 
Device Specific 
Header File (.h) 
 
 
 
 
Figure 2-1 
Generation Tool Overview 
 
 
 
 
 
 
2.1. 
Translation XML File 
 
 
Generation Tool accepts ECU Configuration Description File(s) (.arxml), 
BSWMDT File (.arxml) and Translation XML File (.trxml) as an input. 
Translation XML File is in XML format, which contains translation and device 
specific header file path. For the syntax of the contents of Translation XML 
File, please refer the Chapter 8 Appendix
 
 
If mapped device specific address label is changed/updated then only 
respective mapping in Translation Header File needs to be updated. In this 
case, there will not be any impact on Generation Tool for the generation of 
address in tool generated output file(s). 
13 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
2.1.1.  Translation Header File 
 
This file is look-up table (mapping in the form of definitions) for the device 
specific address labels. Based on the configuration in ECU Configuration 
Description File, the mapped device specific address labels will be searched 
in Device Specific Header File by Generation Tool to generate associated 
address in tool generated output file(s). For the Translation Header File path, 
the value of ‘<Msn>DeviceName’ parameter from the container 
‘<Msn>General’ container should be present as child tag of TRANSLATION- 
FILE-PATH in Translation XML File. Both ‘Absolute’ and ‘Relative’ paths are 
supported by generation tool however default path is ‘Relative’ path. 
 
E.g. 
 
<TRANSLATION-FILE-PATH> 
 
<Value_Of_MsnDeviceName>..\DF_Timer.h 
..\DF_Timer_ISR.h</ Value_Of_MsnDeviceName> 
 
</TRANSLATION-FILE-PATH> 
 
 
 
2.1.2.  Device Specific Header File 
 
This file contains device specific labels and associated address. Based on the 
configuration in ECU Configuration Description File, the mapped device 
specific address labels will be used to generate associated address in tool 
generated output file(s). For the Device Specific Header File path, the value of 
‘<Msn>DeviceName’ parameter from the container ‘<Msn>General’ container 
should be present as child tag of DEVICE-FILE-PATH in Translation XML File. 
Both ‘Absolute’ and ‘Relative’ paths are supported by generation tool however 
default path is ‘Relative’ path. 
 
If multiple Device Specific Header Files need to be provided for the same 
device (value of ‘<Msn>DeviceName’ parameter) in Translation XML File, then 
each Device Specific Header File path should be separated with ‘space’. 
 
E.g. 
 
<DEVICE-FILE-PATH> 
 
<Value_Of_MsnDeviceName>..\DF_Timer.h ..\DF_Timer_ISR.h</ 
Value_Of_MsnDeviceName> 
 
</DEVICE-FILE-PATH> 
 
 
 
Remark  Generation Tool will searches the mapped labels in Device Specific Header 
File by using Translation Header File for the respective address generation in 
tool generated output file(s). 
 
 
2.2. 
Configuration XML File 
 
 
Configuration XML File is in XML format which contains command line options 
and input/output path. For the syntax of the contents of Configuration XML File, 
please refer the Chapter 8 Appendix
14 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
E.g. 
 
<LOG>ON/OFF</LOG> 
 
<HELP>ON/OFF</HELP> 
 
 
2.3. 
Usage 
 
 
This section provides the information regarding usage of the Generation Tool. 
It also provides the syntax of the command line arguments (input filenames 
and options). 
 
 
Generation Tool executable is invoked as shown below. 
 
 
                                         RUCG.exe <DLL Path> [<Options>] {<Input Filename>} 
 
Where, 
                                         RUCG.exe: RUCG Tool Executable  
                                         DLL Path: Module specific DLL file path 
Options: [-H/-Help -C/-Config -O/-Output -Osrc  -Oinc -L/-Log -D/-Dryrun] 
 
Input Filename(s): {ECU Configuration Description File(s), BSWMDT File and 
Translation XML File [optional]} 
 
 
Notations: 
 
{data} represents compulsory data 
 
<data> represents the actual data that will be specified on command line 
during tool usage. 
 
[data] represents optional data. 
 
 
Table 2-1  Options and Description 
 
Option 
Description 
-H/-Help 
To display help regarding usage of the tool. Gets the 
highest priority when used with other options. 
-C/-Config 
To execute tool with the options provided in the 
Configuration XML File. Command line options get the 
higher priority than the options provided in Configuration 
XML File. 
15 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
Table 2-1  Options and Description 
 
Option 
Description 
-O/-Output 
By default, the tool generates output files in the 
‘<Component_Name>_Output’ folder in the path where 
executable is present. The user can use the -O option 
followed by the folder name, to generate the output files in 
the specified folder. Either absolute path or relative path 
can be provided to specify the folder name. 
The C Source and C Header files are generated in the sub 
folders ‘src’ and ‘inc’ within the output folder. 
-Osrc 
The user can use the -Osrc option followed by the folder 
name, to generate the C Source files in the specified 
folder. 
-Oinc 
The user can use the -Oinc option followed by the folder 
name, to generate the C Header files in the specified 
folder. 
–L/-Log 
To log the output to the <Component_Name>.log file. 
-D/-Dryrun 
To execute tool in validation mode. The tool will not 
generate output files even though the input file provided is 
error free. 
 
Remark    
• I f  Translation XML File is not provided on the command line then 
‘<Component_Name>_X1x.trxml’, which is present in the same location of 
The Generation Tool considers <Component_Name> _X1x.dll as ‘default’ 
Translation XML File. 
 
• I f  Configuration XML File is not provided on the command line then 
‘<Component_Name>_X1x.cfgxml’, which is present in the same location of 
‘<Component_Name>_X1x.dll’ is considered as ‘default’ Configuration 
XML File by the Generation Tool. 
 
• T h e  Generation Tool should not be executed more than five times in parallel 
 
 
2.4. 
Sample Usage 
 
 
Sample usage of the generation tool is given below. “<Msn>_X1x.dll” is taken 
as example. Similar usage is applicable for other MCAL Generation Tools, 
where <Msn>_X1x.dll is in DLL Path. 
 
RUCG.exe <DLL Path> 
 
<Msn> Driver Generation Tool usage is displayed on the terminal. Generation 
Tool accepts Configuration XML File as default and performs the execution, 
based on the settings provided in Configuration XML File. 
 
 
RUCG.exe <DLL Path> -H 
 
Displays <MSN> Driver Generation Tool help information on the terminal, 
where <MSN> Driver Generation Tool executable is present. 
 
 
RUCG.exe <DLL Path> -L -O output Sample.arxml BSWMDT.arxml 
 
Generation Tool logs the output to the <Msn>.log file. <Msn>_PBcfg.c file is 
generated in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘include’ folder. 
16 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
                                      RUCG.exe <DLL Path> -D Sample.arxml BswMd.arxml 
 
Generation Tool validates an input file and displays error/warning/information 
messages if any on the command line. Output files are not generated since –D 
option is provided in the command line. 
 
 
RUCG.exe <DLL Path> -O output Sample.arxml BswMd.arxml 
 
Output files are generated in folder “output”. <Msn>_PBcfg.c is generated in 
‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
RUCG.exe <DLL Path> C:\Input\Sample.arxml C:\Input\BswMd.arxml -O 
output
 
 
Generation Tool accepts input file (Sample.arxml) from absolute directory path 
“C:\Input”. Output files are generated in folder “output”. <Msn>_PBcfg.c is 
generated in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
RUCG.exe <DLL Path> Sample.arxml BswMd.arxml -O C:\Output 
 
Output files are generated in folder “C:\Output”. <Msn>_PBcfg.c is generated 
in ‘src’ folder. <Msn>_Cfg.h file is generated in ‘inc’ folder. 
 
 
RUCG.exe <DLL Path> Sample.arxml BswMd.arxml Sample.trxml 
 
Generation Tool accepts ECU Configuration Description File (Sample.arxml), 
BSWMDT File (BswMd.arxml) and Translation XML File (Sample.trxml) from 
the current working directory. Output files are generated in the default folder 
“<Msn>_Output”, since –O option is not provided in the command line. 
<Msn>_PBcfg.c is generated in ‘src’ folder. <Msn>_Cfg.h file is generated in 
‘inc’ folder. 
 
 
RUCG.exe <DLL Path> -C Sample.cfgxml 
 
Generation Tool accepts ECU Configuration Description File (Sample.arxml), 
BSWMDT File (BswMd.arxml) and Configuration XML File (Sample.cfgxml) 
from the current working directory. Tool accepts options provided in the 
Configuration XML File. If Configuration XML File name is not provided as 
input with -C option, Generation Tool errors out. 
 
Remark 
 
•  If Translation XML File is not provided on the command line, 
<Msn>_X1x.dll considers <Msn>_X1x.trxml as ‘default’ Translation XML File 
from the same directory where the tool is located. 
 
•  If Configuration XML File is not provided on the command line, 
<Msn>_X1x.dll considers <Msn>_X1x.cfgxml as ‘default’ Configuration 
XML File from the same directory where the tool is located. 
 
•  If any filename/directory name related argument on the command line 
contain the ‘space’, then the same argument on the command line should 
be provided in double quotes “” as followed by standard command line 
feature. E.g. if file name is ‘Sample Description.arxml’, then on the 
command line the same name should be provided in double quotes “” as 
“Sample Description.arxml”. 
 
•  The ‘include’ and ‘src’ directories are generated inside the output directory 
17 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
provided on the command line or in the default output directory 
<Msn>_Output. 
 
•  BSWMDT file should not be updated manually since it is “Static 
Configuration” file. 
 
 
2.5. 
Tool Installation Requirements 
 
 
The minimum hardware and software requirements for proper installation of 
Module Specific Generation Tool are listed below. This ensures optimal 
performance of the Tool. 
 
 
 
 
2.5.1.  Hardware Requirements 
 
 
 
Processor 
Pentium/equivalent processor @ 500 MHz or greater 
 
Memory 
RAM 64MB or greater 
 
Hard Disk Drive 
500 MB or greater storage capacity 
 
 
 
 
2.5.2.  Software Requirements 
 
 
 
Operating System 
Microsoft Windows Platform 
 
 
 
 
 
2.5.3.  Limitations 
 
 
 
Command Line characters are limited to 128 depending upon the operating 
system. 
 
 
 
 
 
2.6. 
Tool Installation 
 
 
The installation procedure of Module Specific Generation Tool is provided in 
the section below. 
18 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
2.6.1.  Pre Requisite 
 
 
 
Module Specific Generation Tool executable runs on Windows platforms only. 
 
 
 
2.6.2.  Installation Steps 
 
 
 
Copy the Module Specific Generation Tool executable file to the local hard 
disk. 
 
 
Run the executable with -H option to get help on usage of the tool. 
 
 
RUCG.exe <DLL Path> -H 
 
 
This command generates usage of Module Specific Driver Generation Tool on 
the command line. 
 
 
 
 
 
2.7. 
Tool Un-Installation 
 
 
There is no specific method for un-installing the Module specific Generation 
Tool. To un-install, delete the Module specific Generation Tool executable from 
the existing directory. 
 
 
 
2.8. 
Common Messages 
 
 
This section contains the list of error/warning/information messages 
 
which is common for AUTOSAR Renesas R3.2.2 and R4.0.3 X1x MCAL Driver 
module that will be generated by the Generation Tool. 
 
 
 
2.8.1.  Error Messages 
 
ERR000001: File <File_Name> does not exist. 
 
This error occurs, if the input <File_Name> is not found. 
 
 
ERR000002: Name of the Generation Tool Configuration XML File is not 
given along with <-C/-CONFIG> option.
 
 
This error occurs, if the name of the Generation Tool Configuration XML File is 
not given along with <-C/-CONFIG> option. 
19 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000003: File <File name> is not as per XML standard. 
 
This error will occur, if the input <File name> is not as per XML standard. 
 
 
ERR000004: Cannot open the <Log file name> file. 
 
This error will occur, if unable to open the <Log file name> file. 
 
 
ERR000005: Name of output directory is not given along with <-O/- 
OUTPUT> option.
 
 
This error will occur, if the output directory name is not given along with <-O/- 
OUTPUT> option. 
 
 
ERR000006: Name of output directory is not given in OUTPUT-PATH tag 
in <File name>.
 
 
This error will occur, if the output directory is not given in OUTPUT-PATH tag in 
configuration file. 
 
 
ERR000007: The Generation Tool expects inputs. 
 
This error will occur, if the no option is provided in the command line and none 
of the option in the configuration file is set. 
 
 
ERR000008: The option <option> is not supported by the Generation 
Tool. The Generation Tool supports <-O/-OUTPUT, -Osrc , -Oinc, -H/-HELP,   -
L/-LOG, -C/-CONFIGFILE and -D/-DRYRUN>“options.
 
 
This error will occur, if the invalid <option> is provided to the tool. 
 
 
ERR000009: Invalid output directory name <output directory name> as 
the file with same name exists.
 
 
This error will occur, if the <output directory name> already exists. 
 
 
ERR000010: Invalid output directory name <output directory name> 
Directory name should not contain any of \*\?\"\|\: characters.
 
 
This error will occur, if the <output directory name> path contains junk 
character. 
 
 
ERR000011: ECU Configuration Description File is not provided as input 
to the Generation Tool.
 
 
This error will occur, if the ECU Configuration Description File is not given in 
the command line or in configuration file. 
 
 
ERR000012: The input <File name> is not as per XML standard. Provide 
the ECU Configuration Description File as input on the command line.
 
 
This error will occur, if the ECU Configuration Description File is not as per 
XML standard. 
20 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
ERR000013: <File name> should contain the TRANSLATION-FILE-PATH' 
and 'DEVICE-FILE-PATH' tags.
 
 
This error will occur, if the translation <File name> doesn’t have 
‘TRANSLATION-FILE-PATH’  and 'DEVICE-FILE-PATH' tags. 
 
 
ERR000014: 'TRANSLATION-FILE-PATH' tag in <File name> is empty. 
 
This error will occur, if the translation <File name> does not have 
‘TRANSLATION-FILE-PATH’ tags. 
 
 
ERR000015: The 'device_name' tag should be present as child of 
'TRANSLATION-FILE-PATH'' tag in <File name>. 
 
This error will occur, if the device mentioned in ECU Configuration Description 
File is not present in 
 
'TRANSLATION-FILE-PATH’ tag in the <File name>. 
 
 
ERR000016: ‘DEVICE-FILE-PATH’ tag in <File name> is empty. 
 
This error will occur, if the translation file <File name> does not have 
‘DEVICE- FILE-PATH’ tags. 
 
 
ERR000017: The 'device_name’ tag should be present as child of 
‘DEVICE-FILE-PATH' tag in <File name>. 
 
This error will occur, if the device mentioned in ECU Configuration Description 
File is not present in 
 
‘DEVICE-FILE-PATH’ tag. 
 
 
ERR000018: Cannot create directory <output directory name>. 
 
This error will occur, if unable to create output directory <output directory 
name>. 
 
 
ERR000019: Cannot open <File name>. 
 
This error will occur, if unable to open <File name>. 
 
 
ERR000020: The macro label <macro label> should be unique in                
<translation file name> translation C Header File.
 
 
This error will occur, if macro label is not unique in translation C Header File. 
 
 
ERR000021: The macro definition for <macro label> macro is not found 
in <translation file name> translation C Header File. The macro label 
format should be <label format>.
 
 
This error will occur, if macro definition is not found in translation C Header 
File. 
 
 
 
21 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000022: The macro value for <macro label> macro is empty in
 
<translation file name> translation C Header File. 
 
 
This error will occur, if macro label value is empty in translation C Header File. 
 
 
ERR000023: The macro definition for <macro value> macro is not found 
in input device specific C Header File(s).
 
 
This error will occur, if macro definition is not found in input device specific C 
Header File(s). 
 
 
ERR000024: The macro value for <macro value> macro is empty in input 
device specific C Header File(s).
 
 
This error will occur, if macro value is empty in input device specific C Header 
File(s). 
 
 
ERR000025: Path <Configured Reference Path> provided for Bsw Module 
is incorrect.
 
 
This error will occur, if the reference provided for Bsw Module Component is 
incorrect. 
 
 
ERR000026: BSWMDT content is not present in the input file(s) for 
‘<Module Name>’ module. 
 
This error will occur, if the module specific BSWMDT content is not present in 
the input files. 
 
 
ERR000027: <MSN> BSWMDT File of either AUTOSAR R3.2 or R4.0 
should be given as input.
 
 
This error will occur, if the both R3.2 and R4.0 BSWMDT file given to the input 
to the generation tool. 
 
 
ERR000028: 'MODULE-DESCRIPTION-REF' element should be present in 
the description file of '<Module Name>' module.
 
 
This error will occur, if the MODULE-DESCRIPTION-REF element is not 
present module specific description file. 
 
 
ERR000029: AUTOSAR version of BSWMDT File and Module Description 
File is different. 
 
This error will occur, if the AUTOSAR version of the BSWMDT File and module 
description file is different. 
 
 
ERR000031: <’<Drive name>’ :\> Drive does not exist.
 
 
This error will occur when output drive does not exist. 
 
ERR000032: File extension is not as per AUTOSAR ECU Configuration 
Description File naming convention for ‘<File path>’ file. 

22 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
 
                                        This error will occur if supporting file extensions are not as per AUTOSAR   
                                        ECU Configuration Description File naming standard. 
 
2.8.2.  Warning Messages 
 
None. 
 
2.8.3.  Information Messages 
 
INF000001: Tool Version: 
 
This is to display Tool Version for each execution of the tool. 
 
 
INF000002: Command line arguments: 
 
This is to display the command line arguments for each execution of the tool. 
 
 
INF000003: The valid inputs are provided below. 
 
This information will occur, if the command line option is not given. 
 
 
INF000004: Opened file <filename> at <time>. 
 
This information will occur, during opening the file. 
 
 
INF000005: Error(s) and Warning(s) detected. 
 
This information will display the number of errors and warnings. 
 
 
INF000006: Execution completed successfully. 
 
This information will occur, if the execution completed successfully. 
 
 
INF000007: Execution completed successfully with warnings. 
 
This information will occur, if the execution completed successfully with 
warnings. 
 
 
INF000008: Execution terminated due to command line errors. 
 
This information will occur, if the execution terminated due to command line 
errors. 
 
 
INF000009: Execution terminated due to error in the input file. 
 
This information will occur, if the execution terminated due to error in the input 
file. 
 
 
INF000010: Execution terminated due to error, during the structure 
generation in the output file.
 
 
This information will occur, if the execution terminated during structure 
generation in output file. 
23 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
2.9. 
R3.2.2 Messages 
 
 
This section contains the list of error/warning/information messages, which is 
specific to AUTOSAR Renesas R3.2.2 X1x MCAL Driver module that will be 
generated by the Generation Tool. 
 
 
 
2.9.1.  Error Messages 
 
ERR000030: The 'parameter tag name' tag should be configured in 
BSWMDT File. 
 
This error will occur, if any of the configuration parameter(s) mentioned below 
is (are) not configured in BSWMDT File. 
 
The list of mandatory parameters with respect to container is listed below: 
 
Table 2-2  Mandatory Parameters 
 
Container 
Parameters 
BswImplementation 
SW-MAJOR-VERSION 
SW-MINOR-VERSION 
SW-PATCH-VERSION 
AR-MAJOR-VERSION 
AR-MINOR-VERSION 
AR-PATCH-VERSION 
VendorApiInfix 
BswModuleDescription 
ModuleId 
 
Note: VendorApiInfix parameter is mandatory for only some modules. 
 
 
 
2.9.2.  Warning Messages 
 
None. 
 
 
 
2.9.3.  Information Messages 
 
None. 
 
 
 
2.10.  R4.0.3 Messages 
 
 
This section contains the list of error/warning/information messages, which is 
specific to AUTOSAR Renesas R4.0.3 X1x MCAL Driver module that will be 
generated by the Generation Tool. 
24 
 

Generation Tool  
 
 
 
 
 
 
 
     
    Chapter 2 
 
 
 
 
2.10.1. Error Messages 
 
ERR000030: The 'parameter tag name' tag should be configured in 
BSWMDT File. 
 
This error will occur, if any of the configuration parameter(s) mentioned below 
is (are) not configured in BSWMDT File. 
 
The list of mandatory parameters with respect to container is listed below: 
 
Table 2-3  Mandatory Parameters 
 
Container 
Parameters 
BswImplementation 
SwVersion 
VendorId 
ArReleaseVersion 
VendorApiInfix 
BswModuleDescription 
ModuleId 
 
Note: VendorApiInfix parameter is mandatory for only some modules. 
 
 
 
 
 
2.10.2. Warning Messages 
None. 
 
 
 
 
 
2.10.3. Information Messages 
 
None. 
 
 
 
 
 
2.11.  BSWMDT File 
 
 
The BSWMDT File is the template for the Basic Software Module Description. 
Module specific Generation Tool uses “Common Published Information” from 
module specific BSWMDT file. BSWMDT file should not be updated manually 
since it is “Static Configuration” file. 
 
 
The required elements from BSWMDT File by module specific Generation 
Tool are as follows: 
 
BSW-MODULE-DESCRIPTION 
 
• 
MODULE-ID 
 
 
 
 
 
25 

Chapter 2 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
BSW-IMPLEMENTATION 
 
• 
SW-VERSION 
• 
 
• 
VENDOR-ID 
 
• 
AR-RELEASE-VERSION 
 
• 
VENDOR-API-INFIX 
 
 
In case of multiple driver support implementation, VENDOR-API-INFIX is 
mandatory. In case of single driver support implementation, VENDOR-
API- INFIX is not used. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
 
 
     
 
Chapter 3 
Application Example 
 
 
 
 
3.1. 
Folder Structure 
 
 
Refer Section “Integration and Build Process” in the respective component 
User Manuals. 
 
 
 
 
 
3.2. 
Makefile Description 
 
 
 
 
Makefile is available in the folder “X1X\< MICRO_VARIANT 
>\modules\<msn>\sample_application\< MICRO_SUB_VARIANT 
>\make\<compiler>”.  
The Makefiles with the guidelines provided in AUTOSAR BSW Makefile 
Interface Specification, which enables easy integration with other components 
and the application. 
 
The files is: 
 
 
• App_<Msn>_<MICRO_SUB_VARIANT>_<DEVICE_NAME>Sample.mak 
(Contains the device specific instructions). 
 
 
 
 
 
3.2.1.  App_<Msn>_<variant>_Sample.mak 
 
############################################################## 
 
# Makefile to compile and build the Sample application with the AUTOSAR 
<MSN> # 
 
# Driver Component (For Test purposes only) 

 
# Compatible with GNU Make 3.81 for Win32.                                   # 
 
############################################################## 
 
 
############################################################## 
 
# Definitions of global environment variables 
   # 
 
############################################################## 
 
#Get name of the current application 
 
CURRENT_APPL = App_<Msn> 
 
 
# Get the project directory into variable "PROJECT_ROOT" 
27 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 
PROJECT_ROOT = $(shell cd)\..\..\..\..\..\.. 
 
COMMON_SAMPLE_CORE_PATH =     
$(PROJECT_ROOT)\$(MICRO_FAMILY)\common_platform 
                                  \modules\<Msn>\sample_application 
                            
# Get the current working directory into variable "SAMPLE_ROOT_PATH" 
SAMPLE_ROOT_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules
<Msn>\sample_application\$(MICRO_SUB_VARIANT) 
 
# Get the current working directory into variable "STUBS" 
STUBS_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY) 
                                                                           \common_platform\generic 
                                  \stubs\$(AUTOSAR_VERSION) 
 
# Get current configuration path 
 
<MSN>_CONFIG_PATH = 
$(SAMPLE_ROOT_PATH)\$(AUTOSAR_VERSION) 
 
 
# Get TRXML path 
 
                                       TRXML_CONFIG_PATH =  $(PROJECT_ROOT) 
                                                                                  \$(MICRO_FAMILY)\$(MICRO_VARIANT) 
                                                                                  \common_family\generator 
 
# Get BSWMDT path 
 
<MSN>_BSWMDT_CONFIG_PATH = $(PROJECT_ROOT) 
                                                                                                    \$(MICRO_FAMILY) 
                                                                                                    \$(MICRO_VARIANT) 
                                                                                                    \modules\<Msn>                                                                                                          
\generator 
 
# Get current configuration file path 
 
<MSN>_CONFIG_FILE = $(MSN_CONFIG_PATH) \config 
                                         \App_<MSN>_$(MICRO_SUB_VARIANT)_ 
                                         $(DEVICE_NAME)_Sample.arxml 
 
# Path to TRXML Configuration File, which is required for this module 
 
TRXML_CONFIG_FILE = 
"$(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO
_VARIANT).trxml"" 
 
                              # Path to ECUM Configuration File, which is required for this module 
ECUM_CONFIG_PATH = $(STUBS_PATH)\EcuM 
 
ECUM_CONFIG_FILE = "$(ECUM_CONFIG_PATH)\xml\EcuM_Msn.arxml" 
 
 
28 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
                                        # Path to TRXML Configuration File, which is required for Test Application 
                                        TRXML_CONFIG_FILE =                  
"$(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO_VARIANT).trxml" 
 
# Path to BSWMDT Configuration File, which is required for MSN Sample                   
Application 
 
                                         MSN_BSWMDT_CONFIG_FILE =          
"$(MSN_BSWMDT_CONFIG_PATH)\R403_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml 
                               
                                         # Version check for inter modules required 
                                        MSN_VERSION_CHECK_REQ = yes 
 
# Database to be linked together with the current application 
 
# Define 'no' to isolate database from the application 
 
<MSN>_DBASE_REQ = yes 
 
 
# Get the name of the SRECORD file 
 
 
                                        CURRENT_APPL_SRECORD = 
                                         $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample 
 
# Name of the database if generated separately 
 
<MSN>_DB = <Msn>_PBcfg 
 
 
############################################################## 
 
# Final executable 

 
############################################################## 
 
EXE = $(CURRENT_APPL)_ MICRO_ 
<SUB_VARIANT>_Sample.$(EXE_FILE_SUFFIX) 
LIBRARIES_TO_BUILD = 
OBJECTS_LINK_ONLY = 
 
OBJECT_OUTPUT_PATH  = $(SAMPLE_ROOT_PATH)\obj\ghs 
GENERATED_SOURCE_FILES = 
CC_FILES_TO_BUILD = 
 
CPP_FILES_TO_BUILD = 
ASM_FILES_TO_BUILD = 
 
 
CC_INCLUDE_PATH = 
CPP_INCLUDE_PATH = 
ASM_INCLUDE_PATH = 
29 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 
 
PREPROCESSOR_DEFINES = 
 
 
LIBRARIES_LINK_ONLY = 
DIRECTORIES_TO_CREATE = 
DEPEND_GCC_OPTS = 
 
 
MAKE_CLEAN_RULES = 
MAKE_GENERATE_RULES = 
MAKE_COMPILE_RULES = 
MAKE_DEBUG_RULES = 
MAKE_CONFIG_RULES = 
MAKE_ADD_RULES = 
 
 
MAKE_DEBUG_RULES = 
MAKE_ CONFIG_RULES = 
MAKE_ADD_RULES = 
 
MAKE_DEBUG_RULES += debug_base_make 
 
STD_LIBRARY = 
 
LNKFILE = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<msn
>\sample_application\$(MICRO_SUB_VARIANT)\make\ghs\$(CURRENT_APP
L)_$(MICRO_SUB_VARIANT)_$(DEVICE_NAME)_Sample.ld 
 
LNKFILE_DB = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<ms
n>\sample_application\$(MICRO_SUB_VARIANT)\make\ghs\$(CURRENT_A
PPL)_$(MICRO_SUB_VARIANT)_$(DEVICE_NAME)_Sample_db.ld 
 
 
                           .PHONY: MAKE_CLEAN_RULES MAKE_GENERATE_RULES  
                           MAKE_COMPILE_RULES \ 
                           MAKE_DEBUG_RULES MAKE_CONFIG_RULES MAKE_ADD_RULES 
 
############################################################## 
 
# Modules to be included in the project 

 
############################################################## 
 
############################################################## 
# Sample Application 
 

 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_Defs.mak 
 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
30 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
ample_rules.mak 
 
 
SAMPLE_CORE_PATH = $(SAMPLE_ROOT_PATH) 
 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_defs.mak 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_rules.mak 
 
 
############################################################## 
 
############################################################## 
 
############################################################## 
 
 
# DET Module Core Path 
 

 
#DET_CORE_PATH = $(STUBS_PATH)\Det 
 
#include $(DET_CORE_PATH)\make\det_defs.mak 
 
#include $(DET_CORE_PATH)\make\det_rules.mak 
 
############################################################## 
 
############################################################## 
 
 
# OS Module Core Path 
 

 
OS_CORE_PATH = $(STUBS_PATH)\os 
 include $(OS_CORE_PATH)\make\os_defs.mak 
 include $(OS_CORE_PATH)\make\ os_rules.mak 
 ############################################################# 
 
                              
                              
                                          ############################################################## 
                                          # ECUM Module Core Path 
                                          # 
                                          ECUM_CORE_PATH = $(STUBS_PATH)\EcuM 
                                          include $(ECUM_CORE_PATH)\make\ecum_defs.mak 
                                          include $(ECUM_CORE_PATH)\make\ecum_rules.mak 
                                          ############################################################## 
 
 ############################################################## 
 
 # Scheduler Manager Module Core Path 
 
 # 
 
 Ifeq ($(AUTOSAR_VERSION), 3.2.2) 
 SCHM_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(SCHM_CORE_PATH)\make\schm_defs.mak 
 else 
 RTE_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(RTE_CORE_PATH)\make\rte_defs.mak 
 endif  
31 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
 ############################################################# 
 
 # <MSN> Driver Component 
 
 # 
 
<MSN>_CORE_PATH = 
 $(PROJECT_ROOT \$(MICRO_FAMILY)\  common_platform 
 \modules\<msn> 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_defs.mak  
 include $(<MSN>_CORE_PATH)\make\renesas _<msn>_check.mak 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_rules.mak 
 
 
 ############################################################# 
 
 
############################################################## 
 
# Command to generate standalone database 

                             
$(MSN_DB).$(S_RECORD_SUFFIX):$(MSN_DB).$(OBJ_FILE_SUFFIX) 
$(LNKFILE_DB) 
@echo    ********************************************************************* 
                                         @echo Building the standalone database ...   
                                         $(DBLINKER) $(LNKFILE_DB) \ 
                                         "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(MAP_FILE_SUFFIX)" \ 
-o "$(OBJECT_OUTPUT_PATH)\$(MSN_DB).$(EXE_FILE_SUFFIX)" 
                                         @echo Generating Motorola S-Record file... 
                                         $(CONVERTER) $(SFLAGS)                                       
                                        
"$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(EXE_FILE_SUFFIX)" \ 
    
                              -o "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(S_RECORD_SUFFIX)" 
                                          @echo Done ... 
 
############################################################## 
################## 
 
$(<MSN>_DB).$(S_RECORD_SUFFIX):$(<MSN>_DB).$(OBJ_FILE_SUFFIX 
) $(LNKFILE_DB) 
 
@echo ********************************************************************* 
 
@echo Building the standalone database ... 
 
$(DBLINKER) $(LNKFILE_DB) \ 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(MAP_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" 
 
@echo Generating Motorola S-Record file... 
 
$(CONVERTER) $(SFLAGS) 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(S_RECORD_SUFFIX)" 
 
@echo Done ... 
 
                              
32 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
     
############################################################### 
 
# End of the Base Make script                                                  # 
############################################################### 
 
3.3. 
Integrating The <MSN> Driver Component with 
 
Other Components 
 
This section explains the procedure to integrate the <MSN>Driver Component 
with other BSW components and the application. 
 
Depending on the various configurations, the following modules are required to 
be integrated with the <MSN>Driver Component: 
 
• 
<MSN>Interface (Folder ‘Sample_Application’ where the sample 
application for <MSN> exists. The variable ‘<MSN>_CORE_PATH’ 
and the corresponding module Makefile names must be suitably 
changed in the base Makefile) 
 
 
• 
Development Error Tracer (Folder ‘Det’ where the DET module files exist. 
The variable ‘DET_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
Scheduler Manager (Folder ‘SchM’ where the SCHM module exists. 
The variable ‘RTE_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
MCU Interface (Folder ‘Mcu’ in the give example. The variables 
‘MCU_CONFIG_PATH’ and ‘MCU_CONFIG_FILE’ must be suitably 
changed in the module Makefile 
(Software_Source_Code\ssc\mak\renesas_<MSN>_rules.mak) and 
the base Makefile). 
 
 
All the above folders are given only as examples and they have to be 
replaced with actual component folders. It is assumed that every component 
has the corresponding module Makefiles. 
 
Apart from the above BSW components, few other folders are provided as 
mentioned below: 
 
• 
AUTOSAR Type definition Files (Folder ‘common\include’, where the 
header files containing standard definitions that are common to all 
components are placed. The variable ‘STUB_CORE_PATH’ and the 
corresponding module Makefile names must be suitably changed in the 
base Makefile) 
 
• 
RH850 specific Files (Folder ‘X1X\common_platform\generic\include’, where 
the header files that are common to all components but specific to Renesas 
V850 microcontroller are placed. The variable ‘ 
GENERIC_PLATFORM_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile) 
 
Compiler specific Files (Folder ‘compiler’, where the header files that are 
common to all components but specific to GreenHills Compiler are placed. 
The variable ‘COMPILER_PATH’ and the corresponding module Makefile 
33 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
names must be suitably changed in the base Makefile). 
 
3.4. 
Building the <MSN> Driver Component 
 
 
This section explains the procedure to build the <MSN>Driver Component for 
any given configuration. 
 
The <MSN> Driver Configuration Description file (.arxml) has to be given as 
input to the <MSN> Driver Generation Tool. The tool generates output files 
namely <Msn>_Lcfg.c, <Msn>_PBcfg.c, <Msn>_Cbk.h and <Msn>_Cfg.h. 
 
 
Following variables must be defined in the base Makefile described in 
Section 5.2.1 (Makefile Description) 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
SPECIFIC_APPL_ROOT_PATH: Directory where the <MSN> sample 
application exists. 
 
• 
OBJECT_OUTPUT_PATH: Directory where the module specific output 
files are generated. 
 
• 
STARTUP_<family>_CORE_PATH: Core path for the variant specific 
startup files exist. 
 
• 
STUB_CORE_PATH: Core path for the stub files exist. 
 
• 
COMPILER_PATH: Directory where the compiler files exist. 
 
• 
DEVICE_FILE_PATH: Directory where the device files exists. 
 
• 
MSN_CORE_PATH: Core path for the <MSN> Driver Component 
folder. 
 
• 
MSN_TOOL_PATH: Directory where the module specific tool exe exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_clean_generated_files: This target can be used to clean the 
configuration source and header files generated by the <MSN> Driver 
Generation Tool. 
 
• 
debug_<MSN>_makefile: This target can be used to print the debug 
information such as paths used by <MSN> Driver Component. 
 
• 
generate_<MSN>_config: This target can be used to invoke the <MSN> 
Driver Generation Tool, which in turn takes the ECU Configuration 
Description files (App_<MSN>_<DEVICE_NAME>_Sample.arxml) as 
an input and generates the configuration source and header files. 
 
 
Following variables must be defined in the Module Makefile described in
 
Section 5.2.1 (Makefile Description): 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
MSN_CONFIG_PATH: Configuration path for description file of the 
<MSN> Driver Component. 
 
34 
 

 Application Example                                                                                                                Chapter 3
 
 
 
 
 
 
 
 
     
• 
MSN_CONFIG_FILE: Name of the <MSN> Driver Component description 
file. 
 
• 
STUB_CONFIG_PATH: Configuration path for description file of the stub. 
 
• 
MCU_CONFIG_FILE:  Name of the MCU Driver Component description 
file. 
 
• 
TRXML_CONFIG_PATH: TRXML Configuration file path used for the 
 
 
 
        <MSN> Driver Component. 
 
• 
TRXML_CONFIG_FILE: TRXML Configuration file used for the <MSN> 
    Driver Component. 
 
• 
BSWMDT_CONFIG_PATH: Path for <MSN> BSWMDT file. 
 
• 
BSWMDT_CONFIG_FILE: Name of the <MSN> BSWMDT file. 
 
• 
GENERIC_STUB_PATH: Directory where the generic stub exist. 
 
• 
GENERIC_PLATFORM_PATH: Directory where the generic platform 
files exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_DB: Name of the Post-build configuration file. 
 
The above-mentioned variables are to be used to build the base Makefile. 
 
A sample base Makefile (App_<MSN>_ <MICRO_SUB_VARIANT> 
_Device_Sample.mak) has been provided with the product for reference. 
This file can be modified to suit the developer’s needs. 
 
The targets that are supported in the base Makefile enable the user in build 
and cleanup activities during/after the build process. They are listed below: 
 
 
3.4.1.  Targets Supported By the Sample Base Makefile 
 
3.4.1.1.  debug_base_make 
 
Invoking the Make utility and passing “debug_base_make” as a parameter 
prints all the variables that are used in the base Makefile. This can be used to 
print various paths and file names to see if they are correct. 
 
3.4.1.2.  clean_objs 
 
Invoking the Make utility and passing “clean_objs” as a parameter deletes all 
the object files from the output folder 
(“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT >\obj” in this case). 
 
3.4.1.3.  clean 
 
Invoking the Make utility and passing “clean” as a parameter deletes tool 
generated files in the configuration output folders 
(“X1X\<MICRO_VARIANT>\modules\<msn>\sample_application\< 
MICRO_SUB_VARIANT>\src” and 
 
“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\include”in this case) 
 

3.4.1.4.  clean_all 
 
35 

Chapter 3                                                                                                                 Application Example                                                                       
 

 
 
 
 
 
   
Invoking the Make utility and passing “clean_all” as a parameter deletes all 
files such as object file, list files and map files from the output folder 
(“X1X\< MICRO_VARIANT > 
          \modules\<msn>\sample_application\< MICRO_SUB_VARIANT           
>\obj” in this case). 
 
3.4.1.5.  generate_<msn>_config 
 
Invoking the Make utility and passing “generate_<MSN>_config” as a 
parameter invokes the <MSN> Driver Generation Tool. The tool takes the 
ECU Configuration Description File(s) (“X1X\< MICRO_VARIANT 
>\modules\<msn>\Sample_application\<MICRO_SUB_VARIANT> 
   \ AUTOSAR_VERSION 
 
config\<MSN>_Sample_ <MICRO_SUB_VARIANT>\.arxml” as input and 
generates the output files in folders 
 
“X1X\< MICRO_VARIANT >\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \src” and 
 
“X1X\< MICRO_VARIANT >1\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \include”). 
 
App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out 
 
Invoking the Make utility and passing “Sample.out” as a parameter invokes the 
compiler and linker sequentially. Then it generates the executable 
“App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out”. 
 
3.4.1.6.  <Msn>_PBcfg.s37 
 
Invoking the Make utility and passing “<Msn>_PBcfg.s37” as a parameter 
invokes the compiler and linker sequentially and generates the Motorola 
S-Record file 
“<Msn>_PBcfg.s37” in the output folder. 
This scenario typically arises when post-build parameters are modified and 
only the database needs to be flashed into the device without disturbing the 
other ROM contents. 
 
36 
 

 Support For Different Interrupt Categories           
 
 
 
 
    Chapter 4                                                                                       
 
 
 
 
 
 
 
 
 
 
     
Chapter 4  Support for Different Interrupt Categories 
 
 
 
 
The <MSN> Driver supports CAT1 and CAT2 interrupt categories: 
 
 
CAT1 
 
In  CAT1  type  of  interrupt  ISR  does  not  use  an  operating  system  service.  In 
practice, the OS does not handle these interrupts, and the interrupt handler is 
implemented  in  the  driver  code,  with  the  only  restriction  that  OS  services 
cannot be called. Typically, these are the fastest highest priority interrupts. 
 
 
 
 
CAT2 
 
In  CAT2,  type  of  interrupt  wherein  the  ISR  is  handled  by  the  system  and 
OS calls can be called from the handler. 
 
 
For CAT1 and CAT2, the selection of interrupt category is for each interrupt in 
the module. Individual MCAL module does not contain any option for interrupt 
category configuration. The user has to configure the ISR category in OS  and 
to 
use 
the 
right 
MCAL 
specified 
name 
and 
MCAL 
expects 
"ISR(INTERRUPT_NAME)" keyword defined in OS in case of CAT2. 
 
Notes  1.   The understanding is Os module does not publish short name handles for 
CAT1  OsIsr  container.  However,  the  OS  should  define  it  in  the  interrupt 
vector table. 
 
2.   The understanding is that Os module should publish short name handles 
for CAT2 OsIsr container according to ecuc_sws_2108 requirement by 
adding the Os_" prefix to the configured interrupt name. 
 
 
Reference between the <MSN> module and OS: 
 
<Msn> module's <Module>_Irq.c/h files include "Os.h" header file to obtain the 
interrupt  category  information configured  in  the  OS.  Therefore,  following  pre- 
processor  definitions  are  expected  to  be  published  in  Os.h  file  by  the  OS  in 
case of CAT2 or to be used in the interrupt vector table in case of CAT1. 
 
 
Table 4-1  CAT1 and CAT2 Naming Convention 
 
Interrupt Category 
Naming Convention 
CAT1 
<MCAL_INTERRUPT_NAME>_ ISR 
CAT2 
<MCAL_INTERRUPT_NAME>_CAT2_ISR 
CAT2 (In case the handles of 
Os_<MCAL_INTERRUPT_NAME>_CAT2_ISR 
the OsIsr container are 
generated without ‘Os_’ prefix 
by Os generation tool) 
 
 
 
37 

Chapter 4 
 
 
 
 
 
    Support For Different Interrupt Categories 
 
  
MCAL in Stand Alone: 
 
In  case  if  the  MCAL  modules  are  to  be  used  stand-alone  without  having 
standard Autosar Os module, the user has to prepare an Os.h stub file with the 
published  handles  only  for  those  interrupt  names  which  are  to  be  used  as 
CAT2. 
 
Table 4-2 
List of ISR Names that need to be configured and published in Os.h     
(CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver 
 
 
 
 
 
CAT2(In case the handles of the 
 
 
Sl. 
OsIsr container are generated 
CAT1 
CAT2 
No. 
without ‘Os_’ prefix by Os 
generation tool)
 

<MSN>n_SGm_ISR 
<MSN>n_SGm_CAT2_ISR 
Os_<MSN>n_SGm_CAT2_ISR 

<MSN>_DMA_CHxy_ISR 
<MSN>_DMA_CHxy_CAT2_ISR 
Os_<MSN>_DMA_CHxy_CAT2_IS 

 
Where 
 
‘n’ indicate HW Unit number 
 
‘m’ indicate SG Unit number 
 
‘xy’ indicate DMA channel Id number 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38 


 GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 5 
 
 
Chapter 5 
GNU MAKE Environment 
 
Every component is delivered with the necessary Make scripts that are 
required to integrate the component with the application. The scripts are 
compatible with GNU Make version 3.81. 
 
 
All the delivered Makefiles have to be included in the project level base 
Makefile in order to build the component together with the application. Refer 
section “Integration and Build Process” of the respective component User 
Manuals for more information on the Makefile variables and their usage. 
 
 
 
5.1. 
Build Process with GNUMAKE 
 
 
When the batch file of certain application is built, the GNU Make utility will be 
searched by batch file. The GNU Make utility should be present in the default 
path specified by GNUMAKE\PATH variable. By making use of the GNU Make 
utility, the batch file will be compiled. 
 
 
 
5.2. 
Build Process without GNUMAKE 
 
 
If GNU Make utility is not present at the default path or present in some other 
directory,  the  following  procedure  is  followed  to  set  the  Environmental 
variable GNUMAKE\PATH. 
 
1.   Right click on “My Computer” select properties, user will find System 
Properties. 
 
 
39 



Chapter 5  
 
 
 
 
 
 
 
       GNU MAKE Environment 
 
 
2.   In System Properties select “Advanced” option, user will find 
“Environmental Variables” at the bottom side of window. 
 
 
 
 
3.   Click on “Environmental Variables”, user will find “Environment Variables” 
window in that, select “New”. 
 
 
40 


 GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 5 
 
 
 
4.   After step 3, user can find “New User Variable” window with “Variable 
name” and “Variable path” options which needs to be set, Variable name 
will be set as GNUMAKE and Variable path is the path of the directory 
where GNU Make utility is present and click ok. 
 
 
 
 
5.   After step 4, in “System Properties” window click “Apply” and then “Ok”. 
 
 
Remark  GNU Make utility version 3.81 must be separately downloaded and installed to 
use the Makefiles delivered along with the component. More information on the 
utility can be found at http://www.gnu.org/ 
 
 
 
 
 
 
 
 
41 

Chapter 5  
 
 
 
 
 
 
 
       GNU MAKE Environment 
 
 
 
42 
 

 Load Binaries                                                                                                                            Chapter 6
 
 
 
 
 
 
 
 
 
 
     
Chapter 6 
Load Binaries 
 
 
 
 
Once the Executable or S-Record is generated using the project level base 
Makefile, it needs to be downloaded into the target using a Flash programmer. 
 
 
The user has to read the instructions provided in the Flash programmer’s User 
Manual thoroughly before using it. 
 
 
43 

 Chapter 6                                                 
 
 
 
 
 
Load Binaries                                                                                                                                                                                                                                      
 
 
 
 
 
 
 
 
 
              
 
 
 
44 
 

 Appendix  
 
 
 
 
 
 
 
 
                  Chapter 7                                                                                                                                       
 
 
 
 
 
 
 
 
 
 
      
Chapter 7 
Appendix 
 
 
 
7.1.  Translation XML File 
 
 
Translation XML File content format shall be given as mentioned below: 
 
 
<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
The tag PATH-DETAILS should not be renamed since it is top level element. 
--> 
<PATH-DETAILS> 
<!-- 
TRANSLATION-FILE-PATH should contain the path of the translation 
header file. 
The tag TRANSLATION-FILE-PATH should not be renamed. Only respective 
value should be updated for the translation header file. 
--> 
<TRANSLATION-FILE-PATH> 
<value_of_<MSN>DeviceName>Path</value_of_<MSN>DeviceName> 
</TRANSLATION-FILE-PATH> 
<!-- 
The tags present in DEVICE-FILE-PATH tag should contain the path of 
the device specific C Header File. 
The tags present in DEVICE-FILE-PATH should be equal to the value 
for parameter <MSN>DeviceName present in <MSN>General container. 
The tag DEVICE-FILE-PATH should not be renamed. 
 
 
If multiple device header files need to provide for same device then each file 
name should be separated with space. 
--> 
<DEVICE-FILE-PATH> 
<value_of_<MSN>DeviceName>Path</value_of_<MSN>DeviceName> 
</DEVICE-FILE-PATH> 
</PATH-DETAILS> 
 
 
 
 
 
7.2.  Configuration XML File 
 
 
Configuration XML File content format to be given as mentioned below: 
 
 
<? 
xml version="1.0" encoding="UTF-8"?> 
<!-- 
45 

Chapter 7   
 
 
 
 
 
 
 
 
 
      Appendix 
 
 
 
 
None of the tag from this XML should be renamed or deleted. 
--> 
<XML> 
<!-- Supported Command Line options  --> 
<OPTION> 
<!-- Only ON or OFF should be provided. --> 
<HELP>ON/OFF</HELP> 
 
 
<!-- Only ON or OFF should be provided. --> 
<LOG>ON/OFF</LOG> 
 
 
<!-- Only ON or OFF should be provided. --> 
<DRYRUN>ON/OFF</DRYRUN> 
 
 
<!-- Only ON or OFF should be provided. --> 
<OUTPUT>OFF</OUTPUT> 
 
 
<!-- Name of output directory --> 
<OUTPUT-PATH>Path</OUTPUT-PATH> 
</OPTION> 
 
 
<!-- To provide input files. If multiple input files need to be provided then 
each file should be separated with ",". --> 
<INPUT-FILE>Path</INPUT-FILE> 
</XML> 
46 
 

 
 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
31-Jan-2013 
2. 
Following changes are made: 
1.0.1 
16-Oct-2013 
1. -Osrc and -Oinc options are added at section 4.3. Usage. 
2.  Error message ERR000008 is updated at section 4.8.1. Error 
Messages.                                                                                                            
3. F1x is renamed to X1x in all relevant places.  
 
3. 
Following changes are made: 
1.0.2 
24-Jan-2014 
1. Chapter 5 is updated for paths. 
2. F1x and F1L names are removed. 
3. Makefile location is updated. 
4. Name of executable is updated. 
 
4. 
Following changes are made: 
1.0.3 
08-April-2014 
1. Page Number alignment is corrected. 
2. R- Number is added for document. 
5. 
Following changes are made: 
1.0.4 
17-July-2014 
1. Copyright year information is corrected. 
2. R- Number is added for document. 
6. 
Following changes are made: 
1.0.5 
09-Aug-2014 
1. Document is updated as per template. 
 

Following changes are made: 
1.0.6 
23-Mar-2016 
1. New Error message ERR000031 added. 
2. Warning message WRN000001 message updated to error 
message ERR000032. 
3. Updated chapter4 for RUCG and DLL usage. 
8. 
Following changes are made: 
1.0.7 
29-Jun-2016 
 1.  Chapter 2 and 3 removed to make the document independent of   
      any specific tool. 
 2.  Autosar version 3.2.2 version check removed from section 3.2.1. 

Following changes are made: 
1.0.8 
17-Feb-2017 
1. Added R-number. 
2. Updated Notice and copyright information. 
47 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for X1x MCAL Driver User's Manual 
Version.1.0.8 
 
Publication Date: Rev.1.01, February 17, 2017 
 
Published by: Renesas Electronics Corporation 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



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



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for X1x MCAL Driver 
 
User’s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 R20UT3753EJ0101
 
 
 
 

Document Outline


27 - R20UT3827EJ0100-AUTOSAR

AUTOSAR_ Modules_Overview

29 - R20UT3827EJ0100-AUTOSARs



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
User’s Manual 
 
 
 
 
Version 1.0.2 
 
 
 
Target Device: 
RH850/X1x 
 
 
 
 
 
 
 
 
 
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). 
 
 
 
 
 
 
 
Renesas Electronics 
www.renesas.com 
Rev.1.00 Nov 2016 
 
 
 
 

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


 
4 

 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ADC 
Analog to Digital Converter 
API 
Application Programming Interface 
ANSI 
American National Standards Institute 
ATOM 
ARU-connected Timer Output Module 
AUTOSAR 
AUTomotive Open System ARchitecture 
CC 
Communication Controller 
CMU 
Clock Management Unit 
CORTST 
Core Test 
DEM 
Diagnostic Event Manager 
DET/Det 
Development Error Tracer 
DIO 
Digital Input Output 
ETH 
Ethernet 
FLS 
FLaSh Driver 
FLSTST 
FLaSh Test 
FR 
FlexRay 
FSL 
Flash Self programming Library 
GPT 
General Purpose Timer 
GTM 
Generic Timer Module 
ICU 
Input Capture Unit 
LIN 
Local Interconnect Network 
LPdu/Lpdu 
Data Link Protocol Datagram Unit 
MCAL 
MicroController Abstraction Layer 
MCU 
MicroController Unit 
Nm 
Network Management 
POC 
Protocol Operation Control 
PWM 
Pulse Width Modulation 
RAMTST 
Ram Test 
Rx 
Receiver 
SPI 
Serial Peripheral Interface 
TIM 
Timer Input Module 
Tx 
Transmitter 
WDG 
WatchDog driver 
 
 
 
Definitions 
 
 
 
Term 
Represented by 
Sl. No. 
Serial Number 
<Autosar Version> 
4.0.3 when tested for R4.0.3 
 
 
 
 
         5 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6 

 
Table of Contents  
 
Chapter 1 
INTRODUCTION ............................................................................................. 11 
1.1. 
Document Overview ........................................................................................................ 12 
Chapter 2 
REFERENCE DOCUMENTS .......................................................................... 13 
Chapter 3 
AUTOSAR MODULES .................................................................................... 15 
3.1 
MCAL Module .................................................................................................................. 15 
3.1.1. 
ADC Driver Component .................................................................................... 15 
3.1.1.1.  Module Overview .............................................................................15 
3.1.1.2.  Module Dependency........................................................................16 
3.1.1.3.  Configuration Parameter Dependency ............................................16 
3.1.1.4.  Source Code Dependency ..............................................................16 
3.1.1.5.  Stubs ...............................................................................................17 
3.1.2. 
PWM Driver Component ................................................................................... 17 
3.1.2.1.  Module Overview .............................................................................17 
3.1.2.2.  Module Dependency........................................................................18 
3.1.2.3.  Configuration Parameter Dependency ............................................18 
3.1.2.4.  Source Code Dependency ..............................................................18 
3.1.2.5.  Stubs ...............................................................................................19 
3.1.3. 
PORT Driver Component .................................................................................. 19 
3.1.3.1.  Module Overview .............................................................................19 
3.1.3.2.  Module Dependency .......................................................................20 
3.1.3.3.  Configuration Parameter Dependency ...........................................20 
3.1.3.4.  Source Code Dependency ..............................................................20 
3.1.3.5.  Stubs ...............................................................................................20 

3.1.4. 
DIO Driver Component ..................................................................................... 21 
3.1.4.1.  Module Overview .............................................................................21 
3.1.4.2.  Module Dependency........................................................................21 
3.1.4.3.  Configuration Parameter Dependency ............................................21 
3.1.4.4.  Source Code Dependency ..............................................................21 
3.1.4.5.  Stubs ...............................................................................................21 

3.1.5. 
FLS Software Component ................................................................................ 22 
3.1.5.1.  Module Overview .............................................................................22 
3.1.5.2.  Module Dependency .......................................................................22 
3.1.5.3.  Configuration Parameter Dependency ...........................................23 
3.1.5.4.  Source Code Dependency ..............................................................23 
3.1.5.5.  Stubs ...............................................................................................23 

3.1.6. 
SPI Driver Component ...................................................................................... 23 
3.1.6.1.  Module Overview .............................................................................23 
3.1.6.2.  Module Dependency .......................................................................24 
3.1.6.3.  Configuration Parameter Dependency ...........................................25 
3.1.6.4.  Source Code Dependency ..............................................................25 
3.1.6.5.  Stubs ...............................................................................................25 

3.1.7. 
ICU Driver Component...................................................................................... 25 
3.1.7.1.  Module Overview .............................................................................25 
3.1.7.2.  Module Dependency .......................................................................26 
3.1.7.3.  Configuration Parameter Dependency ...........................................27 
3.1.7.4.  Source Code Dependency ..............................................................27 

           

3.1.7.5.  Stubs ...............................................................................................28 
3.1.8. 
MCU Driver Component.................................................................................... 28 
3.1.8.1.  Module Overview .............................................................................28 
3.1.8.2.  Module Dependency .......................................................................28 
3.1.8.3.  Configuration Parameter Dependency ...........................................29 
3.1.8.4.  Source Code Dependency ..............................................................29 
3.1.8.5.  Stubs ...............................................................................................29 

3.1.9. 
GPT Driver Component .................................................................................... 30 
3.1.9.1.  Module Overview .............................................................................30 
3.1.9.2.  Module Dependency........................................................................30 
3.1.9.3.  Configuration Parameter Dependency ............................................31 
3.1.9.4.  Source Code Dependency ..............................................................31 
3.1.9.5.  Stubs ...............................................................................................32 
3.1.10. 
WDG Driver Component ................................................................................... 32 
3.1.10.1.  Module Overview .............................................................................32 
3.1.10.2.  Module Dependency........................................................................32 
3.1.10.3.  Configuration Parameter Dependency ............................................33 
3.1.10.4.  Source Code Dependency ..............................................................33 
3.1.10.5.  Stubs ...............................................................................................33 

3.1.11. 
LIN Driver Component ...................................................................................... 34 
3.1.11.1.  Module Overview .............................................................................34 
3.1.11.2.  Module Dependency........................................................................34 
3.1.11.3.  Configuration Parameter Dependency ............................................34 
3.1.11.4.  Source Code Dependency ..............................................................34 
3.1.11.5.  Stubs ...............................................................................................35 
3.1.12. 
FR Driver Component ....................................................................................... 36 
3.1.12.1.  Module Overview .............................................................................36 
3.1.12.2.  Module Dependency........................................................................36 
3.1.12.3.  Configuration Parameter Dependency ............................................36 
3.1.12.4.  Source Code Dependency ..............................................................37 
3.1.12.5.  Stubs ...............................................................................................37 

3.1.13. 
RAMTST Driver Component ............................................................................. 37 
3.1.13.1.  Module Overview .............................................................................37 
3.1.13.2.  Module Dependency........................................................................38 
3.1.13.3.  Configuration Parameter Dependency ............................................38 
3.1.13.4.  Source Code Dependency ..............................................................38 
3.1.13.5.  Stubs ...............................................................................................38 

3.1.14. 
CORTST Driver Component ............................................................................. 39 
3.1.14.1.  Module Overview .............................................................................39 
3.1.14.2.  Module Dependency........................................................................39 
3.1.14.3.  Configuration Parameter Dependency ............................................40 
3.1.14.4.  Source Code Dependency ..............................................................40 
3.1.14.5.  Stubs ...............................................................................................40 

3.1.15. 
FLSTST Driver Component .............................................................................. 41 
3.1.15.1.  Module Overview .............................................................................41 
3.1.15.2.  Module Dependency........................................................................41 
3.1.15.3.  Configuration Parameter Dependency ............................................41 
3.1.15.4.  Source Code Dependency ..............................................................41 
3.1.15.5.  Stubs ...............................................................................................41 

3.1.16. 
ETH Driver Component..................................................................................... 42 
8 

 
3.1.16.1.  Module Overview ............................................................................42 
3.1.16.2.  Module Dependency .......................................................................42 
3.1.16.3.  Configuration Parameter Dependency ...........................................43 
3.1.16.4.  Source Code Dependency ..............................................................43 
3.1.16.5.  Stubs ...............................................................................................43 

3.2 
RH850 Macros Definition: .............................................................................................. 43 
3.3 
ICxxx Registers Setting for TBxxx-Bit .......................................................................... 45 
 
 

List of Figures 
 
Figure 1-1 
: System Overview of the AUTOSAR Architecture Layer ................................................. 11 
  
List of Tables 
 
Table 3-1 
:  ADC Driver Component Common Stubs ....................................................................... 17 
Table 3-2 
:  PWM Driver Component Common Stubs ...................................................................... 19 
Table 3-3 
:  PORT Driver Component Common Stubs ...................................................................... 20 
Table 3-4 
:  DIO Driver Component Common Stubs ......................................................................... 22 
Table 3-5 
:  FLS Software Component Common Stubs .................................................................... 23 
Table 3-6 
:  SPI Driver Component Common Stubs ......................................................................... 25 
Table 3-7 
:  ICU Driver Component Common Stubs ......................................................................... 28 
Table 3-8 
:  MCU Driver Component Common Stubs ....................................................................... 29 
Table 3-9 
:  GPT Driver Component Common Stubs ........................................................................ 32 
Table 3-10 
:  WDG Driver Component Common Stubs ....................................................................... 33 
Table 3-11 
:  LIN Driver Component Common Stubs .......................................................................... 35 
Table 3-12 
:  LIN Driver Component Port Specific Stubs .................................................................... 35 
Table 3-13 
:  FR Driver Component Common Stubs ........................................................................... 37 
Table 3-14 
:  RAMTST Driver Component Common Stubs ................................................................. 38 
Table 3-15 
:  CORTST Driver Component Common Stubs ................................................................. 40 
Table 3-16 
:  FLSTST Driver Component Common Stubs .................................................................. 42 
Table 3-17 
:  ETH Driver Component Common Stubs ........................................................................ 43 
Table 3-18 
:  Macro to perform write operation, on write enabled Register ........................................ 44 
 
 
 
 
 
 
 
 
 
 
 
                                                                                                                                                                               9 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10 












































































































































































































































































































































































































































































































































INTRODUCTION 
Chapter 1 
Chapter 1 
INTRODUCTION 
 
 
 
 
This document shall be used as reference by the users for module overview, 
module dependencies, source code dependencies and configuration 
parameter dependencies. 
 
 
 
 
AUTOSAR 
Applica
  tion 
Actuator 
Sensor 
Application 
AUTOSAR 
Software 
Softw
  are 
Software 
Software 
Software 
Component 
Component 
Component 
Component 
Software 
Component 
 
 
 
 
 
 
 
AUTOS
  AR 
AUTOSAR 
AUTOSAR 
AUTOSAR 
Interface 
Interface 
Interface 
Interface 
Interface 
  
 
 
 
 
 
 
  Standard 
AUTOSAR Runtime Environment (RTE) 
Software 
 
 
 
 
API 2 
Standardized 
Standardized 
Standardized 
AUTOSAR 
AUTOSAR 
VFB & RTE 
Interface 
AUTOSAR 
Interface 
Interface 
Interface 
  relevant 
 
Interface 
 
 
 
   
 
 
 
 
Services 
Communication 
ECU 
 
 
API 1 
 
 
Abstraction 
 
 
RTE 
 
 
 
relevant 
Standardized 
Standardized 
Standardized 
 
 
 
 
Interface 
Interface 
Interface 
 
 
  API 0 
 
 
 
Operating 
Complex 
S
 
 
System 
t
Device 
I
a
nt
ndard
Drivers 
 
e
rf

API 3 Private 
 
a
Standardized 
 
 Interfaces inside 
c
i
e
z
Interface 
 Basic Software 
 
e
d

Basic Software 
 
possible 
 
Microcontroller 
 
 
 
Abstraction 
 
 
 
ECU-Hardware 
      
 
 
Figure 1-1  : System Overview of the AUTOSAR Architecture Layer 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 11 

Chapter 1 
INTRODUCTION 
 
1.1. 
Document Overview 
 
 
The document has been segmented for easy reference. The table below 
provides user with an overview of the contents of each section: 
 
 
 
Section 
Contents 
Section1 
Explains the purpose of this document. 
(Introduction) 
Section2 
Lists the documents referred for developing this 
(Reference Documents)  document. 
Section3 
Provides the list of modules developed in the MCAL 
(MCAL Modules) 
layer. Brief information about the Module overview, 
Modules dependency, Configuration parameter 
dependency, source code dependency and stubs . 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

12 

 REFERENCE DOCUMENTS 
Chapter 2 
Chapter 2 
REFERENCE DOCUMENTS 
 
 
 
 
Sl. No. 
Title For Autosar Version R4.0.3 
Version 
1. 
Specification of ADC Driver (AUTOSAR_SWS_ADCDriver.pdf) 
4.2.0 
2. 
Specification of PWM Driver (AUTOSAR_SWS_PWMDriver.pdf) 
2.5.0 
3. 
Specification of PORT Driver (AUTOSAR_SWS_PortDriver.pdf) 
3.2.0 
4. 
Specification of DIO Driver (AUTOSAR_SWS_DIODriver.pdf) 
2.5.0 
5. 
Specification of Module Flash Driver (AUTOSAR_SWS_FlashDriver.pdf) 
3.2.0 
6. 
Specification of SPI Handler/Driver 
3.2.0 
(AUTOSAR_SWS_SPI_HandlerDriver.pdf) 
7. 
Specification of ICU Driver (AUTOSAR_SWS_ICUDriver.pdf) 
4.2.0 
8. 
Specification of MCU Driver (AUTOSAR_SWS_MCUDriver.pdf) 
3.2.0 
9. 
Specification of GPT Driver (AUTOSAR_SWS_GPTDriver.pdf) 
3.2.0 
 10. 
Specification of Watchdog Driver (AUTOSAR_SWS_WatchdogDriver.pdf) 
2.5.0 
11. 
Specification of LIN Driver (AUTOSAR_SWS_LINDriver.pdf) 
1.5.0 
12. 
Specification of FR Driver (AUTOSAR_SWS_FlexRayDriver.pdf) 
2.5.0 
13. 
  Specification of RAMTST Driver (AUTOSAR_SWS_RAMTest Driver.pdf) 
 1.5.0 
14. 
Specification of CORTST Driver (AUTOSAR_SWS_CoreTest.pdf) 
1.2.0 
15. 
Specification of FLSTST Driver (AUTOSAR_SWS_FlashTest.pdf) 
1.2.0 
16. 
Specification of ETH Driver (AUTOSAR_SWS_EthernetDriver.pdf) 
1.2.0 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 13 

Chapter 2 
REFERENCE DOCUMENTS 
 
 
 
 
 
14 

   AUTOSAR MODULES                                                                                                        Chapter 3 
Chapter 3 
AUTOSAR MODULES 
 
 
3.1 
MCAL Module 
 
 
The MicroController Abstraction layer is the lowest software layer of the Basic 
Software. It contains internal drivers, which are software modules with direct 
access to the μC internal peripherals and memory mapped μC external 
devices. Make higher software layers independent of μC. 
 
The modules developed for MCAL layer are as follows:  
 
ADC 
PWM  
PORT  
DIO  
FLS  
SPI  
ICU  
MCU  
GPT 
WDG  
LIN  
FR 
RAMTST  
CORTST 
FLSTST 
ETH 
 
3.1.1.  ADC Driver Component 
 
3.1.1.1.  Module Overview 
 
The ADC driver shall initialize and control the internal Analog Digital Converter 
unit of the microcontroller. The driver is equipped with a set of basic 
functionalities with single value result access mode and streaming access 
mode. 
 
A One Shot conversion shall be started by a software trigger or a hardware 
event whereas a Continuous conversion shall be started by a software trigger 
only. The ADC conversion results shall be returned by an ADC read service. 
This service shall return the last converted result from an external result buffer. 
 
The ADC Driver software component shall provide the following main features: 
 
• 
Single value results access mode supports One-Shot conversion and 
Continuous conversion 
 
• 
Streaming access mode supports linear buffer conversion and circular 
buffer conversion 
 
• 
Various API services for functionalities like initialization, de-
initialization, starting and stopping of ADC channels 
 
• 
Notifications services for ADC channels 
 15 

 Chapter 3 
AUTOSAR MODULES  
 
 
• 
Hardware Trigger services for ADC channels 
• 
Channel group priority mechanism 
 
3.1.1.2.  Module Dependency 
 
The dependency of ADC Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
PORT driver 
 
Port pins used by the ADC Driver shall be configured using the PORT module. 
Both analog input pins and external trigger pins have to be considered. 
 
IO Hardware Abstraction Layer 
 
The ADC driver depends on the IO Hardware Abstraction Layer, which invokes 
the APIs and receives the callback notifications. If IO Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The ADC driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.1.3.  Configuration Parameter Dependency 
 
None 
 
3.1.1.4.  Source Code Dependency 
 
The following are the common dependent used files by the ADC Driver 
module: 
 
Det.h,  
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Adc.h 
Rte.h  
 
Os.h 
rh850_Types.h 
 
 
16 

  AUTOSAR MODULES 
 Chapter 3 
 
3.1.1.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
 
 
The tables below will provide the common stubs to be used for ADC Driver 
component 
 
Table 3-1  : ADC Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
3.1.2.  PWM Driver Component 
 
3.1.2.1.  Module Overview 
 
The PWM Driver Component provides services for PWM Driver Component 
initialization, De-initialization, Setting the Period and Duty Cycle for a PWM 
channel, Reading the internal state of PWM Output signal and Setting the 
PWM Output to idle state and Disabling or Enabling the PWM signal edge 
notification. The PWM Driver Component is part of the Microcontroller 
Abstraction Layer (MCAL), the lowest layer of Basic Software in the AUTOSAR 
environment. 
 
The PWM Driver Component is divided into PWM High Level Driver and PWM 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
software on different platforms. 
 
The PWM High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
PWM Low Level Driver. 
 
 
ATOM submodule of Generic Timer Module is used to generate variable 
PWM output. 
 
The channel level notifications are provided for the rising edge, falling edge 
and both edges. Any of these notifications will be active only when these are 
configured for the corresponding channel and enabled by using PWM Driver 
Component APIs. 
 
The PWM Driver component should provide following services based on the 
functions performed by the PWM Driver: 
 
• 
Initialization 
 
• 
De-Initialization 
 
• 
Set the channel output to Idle 
17 

 Chapter 3 
AUTOSAR MODULES  
 
• 
Get the channel output state 
 
• 
Set Duty Cycle 
 
• 
Set Duty Cycle and Period 
 
• 
Notification services (at the beginning, at the end and on both edged of 
a period) 
 
• 
Get Version information 
 
 
3.1.2.2.  Module Dependency 
 
The dependency of PWM Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
MCU Driver 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing the GTM CMU clock sources. 
 
PORT driver 
 
Port pins used by the PWM Driver shall be configured using the PORT module. 
 
IO Hardware Abstraction Layer
 
 
The PWM driver depends on the IO Hardware Abstraction Layer, which 
invokes the APIs and receives the callback notifications. If IO Hardware 
Abstraction Layer Module is not available, then the required functionality shall 
be stubbed. 
 
OS 
 
The PWM driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
 
3.1.2.3.  Configuration Parameter Dependency 
 
The PWM Driver Depends on MCU for the clock source configuration. Hence 
the parameter 
‘PwmGTMClockRef’ in the ‘PwmGeneral’ container refers to the path 
“/Renesas/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuGTMClockSett
ingsConfig0” 
 
3.1.2.4.  Source Code Dependency 
 
The following are the common dependent used files by the PWM Driver 
module: 
 
18 

  AUTOSAR MODULES 
 Chapter 3 
Det.h,  
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Pwm.h 
Rte.h  
Os.h 
rh850_Types.h 
 
 
3.1.2.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
 
The table below will provide the common stubs to be used for PWM Driver 
component 
 
Table 3-2  : PWM Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
3.1.3.  PORT Driver Component 
 
3.1.3.1.  Module Overview 
 
The PORT Driver Component access the hardware features directly. The 
upper layers call the functionalities provided by these components. 
 
The PORT Driver Component provides services for: 
 
• 
Initialization of every port pins to configured functionality. 
 
• 
Changing the port pin direction during run time. 
 
• 
Refreshing the port pin directions. 
 
• 
Setting the port pin mode during runtime. 
 
• 
Reading module version 
 
 
 
 
19 

 Chapter 3 
AUTOSAR MODULES  
3.1.3.2.  Module Dependency 
 
The dependency of PORT Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.3.3.  Configuration Parameter Dependency 
 
None. 
 
3.1.3.4.  Source Code Dependency 
 
The following are the common dependent used files by the PORT Driver 
module: 
 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Port.h 
Rte.h and 
 
3.1.3.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for PORT Driver 
component 
 
Table 3-3 
:  PORT Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
 
 
20 

  AUTOSAR MODULES 
 Chapter 3 
3.1.4.  DIO Driver Component 
 
3.1.4.1.  Module Overview 
 
The DIO Driver Component access the hardware features directly. The upper 
layers call the functionalities provided by these components. 
 
The DIO Driver Component provides services for: 
 
• 
Reading from / writing to DIO Channel 
 
• 
Reading from / writing to DIO Ports 
 
• 
Reading from / writing to DIO Channel Groups 
 
• 
Reading module version. 
 
3.1.4.2.  Module Dependency 
 
The dependency of DIO Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
PORT driver 
 
Port pins used by the DIO Driver shall be configured using the PORT module. 
 
 
3.1.4.3.  Configuration Parameter Dependency 
 
None 
 
3.1.4.4.  Source Code Dependency 
 
The following are the common dependent used files by the DIO Driver module: 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h and 
Std_Types.h 
 
3.1.4.5.  Stubs 
 
The DIO driver uses Stubs which is categorized as common stubs and 
available in the path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below provides the common stubs to be used for DIO Driver 
component: 
 
 
 
 
 
21 

 Chapter 3 
AUTOSAR MODULES  
Table 3-4 
: DIO Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
3.1.5.  FLS Software Component 
 
3.1.5.1.  Module Overview 
 
The FLS software component provides services for reading, writing, comparing 
and erasing flash memory. The FLS Component layer provides the wrapper for 
the Renesas Self Programming Library, which comprises of API for erase/write 
data to on-chip flash memory of the device. This means the FLS component 
makes use of the FSL, which is an underlying software library contains FSL 
functions to perform the activities like accessing and programming the on-chip 
flash hardware. FSL offers all functions and commands necessary to 
reprogram the application in a user friendly C language interface. The FSL 
basically consists of wrapper functions to the FLS routines. 
 
The FLS Component conforms to the AUTOSAR standard and is implemented 
mapping to the AUTOSAR FLS Software Specification. 
 
The FLS Driver Software Component provides services for: 
 
• 
Initialization 
 
• 
Erasing the flash memory 
 
• 
Reading from the flash memory 
 
• 
Writing to the flash memory 
 
• 
Validating contents of flash memory 
 
• 
Cancellation of Request 
 
• 
Job result and status information 
 
• 
Background job processing 
 
• 
Module version information 
 
• 
Job Processing 
 
3.1.5.2.  Module Dependency 
 
The dependency of FLS software component on other modules and the 
required implementation is briefed as follows: 
 
 
DET 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
22 

  AUTOSAR MODULES 
 Chapter 3 
 
3.1.5.3.  Configuration Parameter Dependency 
 
The FLS Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘FlsFdlCpuFrequency’ in the ‘FlsDataFlash’ container refers to 
the path 
/AUTOSAR/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuClockSett
ingConfig0/McuPLLClkSetting0 
 
3.1.5.4.  Source Code Dependency 
 
The following are the common dependent used files by the FLS Software 
Component module: 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Fls.h, 
Rte.h 
rh850_Types.h 
 
 
3.1.5.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FLS Software 
component. 
 
 
 
 
Table 3-5 
:  FLS Software Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
 
 
3.1.6.  SPI Driver Component 
 
3.1.6.1.  Module Overview 
 
The SPI driver is split as High Level Driver and Low Level Driver. The High 
Level Driver exports the AUTOSAR API towards upper modules and it will be 
designed to allow the compilation for different platforms without or only slight 
modifications, i.e. that no reference to specific microcontroller features or 
23 

 Chapter 3 
AUTOSAR MODULES  
registers will appear in the High Level Driver. All these references are moved 
inside a µC specific Low Level Driver. The Low Level Driver interface extends 
the High Level Driver types and methods in order to adapt it to the specific 
target microcontroller. 
 
The SPI Driver Component provides services for: 
 
• 
Initialization and De-initialization 
 
• 
Buffer Management 
 
• 
Communication 
 
• 
Status information 
 
• 
Module version information 
 
• 
Memory mapping 
 
• 
Compiler abstraction 
 
3.1.6.2.  Module Dependency 
 
The dependency of SPI Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
 
PORT 
 
The CSIG HW Units uses port lines as external chip selects. In this case, the 
chip select is realized using microcontroller pins and hence the SPI module 
has a relationship with PORT module for initializing appropriate mode and 
direction of the port lines. 
 
The basic SPI functionality for both CSIG and CSIH has to be configured as an 
alternate functionality by the PORT module. 
 
 
IO Hardware Abstraction Layer 
 
The IO Hardware Abstraction Layer invokes APIs of the SPI module and 
receives the callback notifications. 
 
Memory Hardware Abstraction Layer 
 
The Memory Hardware Abstraction Layer invokes APIs of the SPI module in 
case driver for any external memory devices (for example, external EEPROM) 
are implemented through the SPI module. 
 
Onboard Device Abstraction Layer 
The Onboard Device Abstraction Layer invokes APIs of the SPI module in 
case driver for any external devices (for example, external watchdog) are 
implemented through the SPI module. 
 
 
 
RTE 
 
The functions related to critical section protection area of the SPI module are 
invoked by the Run time Environment (RTE) module. 
 
DEM 
 
The SPI module uses the DEM module for getting the reference for all 
production errors. 
 
 
24 

  AUTOSAR MODULES 
 Chapter 3 
3.1.6.3.  Configuration Parameter Dependency 
 
None 
 
3.1.6.4.  Source Code Dependency 
 
The following are the common dependent used files by the SPI Driver module: 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Spi.h 
Rte.h  
 
Os.h 
rh850_Types.h 
 
 
3.1.6.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for SPI Driver 
component 
 
Table 3-6 
: SPI Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
 
3.1.7.  ICU Driver Component 
 
3.1.7.1.  Module Overview 
 
The ICU Driver Component provides following services: 
 
• 
Signal Edge detection and notification 
 
• 
Services for Driver initialization and de-initialization 
 
• 
Signal time measurement like Active Time, Period Time and Duty cycle 
 
• 
Signal Edge time stamping and Edge counting 
 
25 

 Chapter 3 
AUTOSAR MODULES  
• 
Support Post-build configurations 
 
The ICU Driver Component is part of the Microcontroller Abstraction Layer 
(MCAL), the lowest layer of Basic Software in the AUTOSAR environment. 
Different applications require different number of ICU channels in different 
modes. Therefore, the timer operation modes and external interrupts have 
to be selected depending on ICU measurement mode. For P1x-C 
microcontroller generation, following concepts are considered: 
 
• 
Using TIM0/TIM1 channels for Edge Counting Measurement mode  
 
• 
Using TIM0/TIM1 channels for Time Stamping Measurement mode  
 
• 
Using TIM0/TIM1 channels for Signal Measurement mode  
 
• 
Using TIM0/TIM1 and External Interrupts channels for Edge Detection 
mode  
 
 
The ICU channel can be configured to either a timer channel or an external 
interrupt based on the required measurement mode. The configuration for 
Edge Detection measurement mode will be made only for an external interrupt 
channel and TIM0/TIM1 channels. The remaining three measurement modes 
viz. Edge Counting, Time Stamping and Signal Measurement should be 
configured only for the TIM0/TIM1 channels. The configuration of Timer in 
different operating modes will be taken care by the software itself. 
 
The ICU Driver component can be divided into following sections based on the 
functions performed by the ICU Driver: 
 
 
• 
Initialization  
 
• 
De-Initialization  
 
• 
Wakeup Services  
 
• 
Notification Services  
 
• 
Signal Measurement Services  
 
• 
Signal Activation and State Information Services  
 
• 
Version Information  
 
 
 
3.1.7.2.  Module Dependency 
 
The dependency of ICU Driver on other modules and the required 
implementation is briefed as follows: 
 
MCU Driver 
 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing the GTM CMU clock sources. 
 
OS 
 
The ICU driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
26 

  AUTOSAR MODULES 
 Chapter 3 
 
PORT Module 
 
The configuration of port pins used for the ICU as inputs is done by the PORT 
driver. Hence the PORT driver has to be initialized prior to the use of ICU 
functions. If the PORT Driver is not available, then the configuration of port 
pins used for the ICU shall be stubbed. 
 
In order to use the external interrupt functionality, port filter of respective 
external interrupt needs to be enabled in PORT component. ICU can override 
edge detection settings and PORT can do as well. The registers FCLAxCTLx 
are used by ICU and PORT at the same time and the order of calling APIs is 
important. 
 
EcuM Module 
 
The ICU driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, and then the required functionality shall be stubbed. 
 
 
DET Module
 
 
If the Development Error Tracer is not available, stubs need to be used to the 
interfaces for those modules. 
 
IO Hardware Abstraction Layer Module 
 
The ICU driver depends on the I/O Hardware Abstraction Layer which invokes 
the APIs and receives the call-back notifications. If I/O Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE Module 
 
The ICU driver shall perform data protection using SchM APIs. If the SchM is 
not available, then the required functionality shall be stubbed. 
 
3.1.7.3.  Configuration Parameter Dependency 
 
The ICU Driver Depends on EcuM. Hence the parameter 
‘IcuChannelWakeupInfo’ in the ‘IcuWakeup’ container of each channel refers 
to the path 
“/Renesas/EcucDefs_Icu/EcuM0/EcuMConfiguration0/EcuMCommonConfig
uration0/EcuMWakeupSource_1”. 
 
The ICU Driver Depends on MCU for the clock source configuration. Hence the 
parameter 
‘IcuGTMClockRef’ in the ‘IcuGeneral’ container refers to the path 
“/Renesas/EcucDefs_Msn/Mcu0/McuModuleConfiguration0/McuGTMClockSetti
ngsConfig0” 
 
 
3.1.7.4.  Source Code Dependency 
 
The following are the common dependent used files by the ICU Driver module: 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Icu.h, 
Rte.h, 
EcuM.h 
EcuM_Cfg.h 
27 

 Chapter 3 
AUTOSAR MODULES  
EcuM_Cbk.h  
Os.h 
rh850_Types.h 
 
3.1.7.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for ICU Driver 
component. 
 
Table 3-7 
: ICU Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.8.  MCU Driver Component 
 
3.1.8.1.  Module Overview 
 
The MCU Driver accesses the hardware features directly. The upper layers call 
the functionalities provided by the Driver. MCU component has functionalities 
related PLL Initialization, Clock Initialization & Distribution, RAM sections, Pre-
Scaler Initializations, MCU Reduced Power Modes Activation and MCU Reset 
Activation & Reason. 
 
The MCU Driver component is divided into the following sub modules based 
on the functionality required: 
 
• 
Initialization 
 
• 
Clock Initialization 
 
• 
PLL Clock Distribution 
 
• 
MCU Reduced Power Modes Activation 
 
• 
RAM sections Initialization 
 
• 
MCU Reset Activation & Reason 
 
• 
Module Version Info 
 
3.1.8.2.  Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
28 

  AUTOSAR MODULES 
 Chapter 3 
EcuM 
 
The reference for the type of reset will be provided by the Mcu driver to the 
ECU State manager module. 
 
OS 
 
The MCU driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
RTE Module 
 
The MCU driver shall perform data protection using SchM APIs. If the SchM 
is not available, then the required functionality shall be stubbed. 
 
 
3.1.8.3.  Configuration Parameter Dependency 
 
None 
 
3.1.8.4.  Source Code Dependency 
 
The following are the common dependent used files by the MCU Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h, 
SchM_Mcu.h  
Os.h 
rh850_Types.h 
 
3.1.8.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for MCU Driver 
component. 
 
 
 
Table 3-8 :  MCU Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
29 

 Chapter 3 
AUTOSAR MODULES  
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.9.  GPT Driver Component 
 
3.1.9.1.  Module Overview 
 
The GPT Driver Component provides services for GPT Driver Component 
Initialization, De-initialization, Setting starting and stopping a timer, getting 
elapsed and remaining time, setting GPT mode (one shot, continuous) and 
Disabling or Enabling the GPT notification. The GPT Driver Component is part 
of the Microcontroller Abstraction Layer (MCAL), the lowest layer of Basic 
Software in the AUTOSAR environment. 
 
The GPT Driver Component is divided into GPT High Level Driver and GPT 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
software on different platforms. 
 
The GPT High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
GPT Low Level Driver. 
 
The GPT channel can be configured to either as continuous mode or one-shot 
mode. In continuous mode, the timers keep operating even after the target 
value is reached and it has multiple notifications (if enabled). 
 
The ATOM sub modules in GTM consist of ATOM0, ATOM1 and ATOM2 are 
used in GPT Driver Component to generate timeout periods. 
 
The GPT Driver component should provide following services based on the 
functions performed by the GPT Driver: 
 
•  Initialization: Provides the service to initialize the timer control registers 
     and interrupt registers  
•  De-Initialization: Provides the service to reinitialize the timer registers  
      and to stop the channels that are running 
 
•  Reading of timer values: Provides services for reading the elapsed time  
                                                    after the timer is started or Service for reading the remaining time                 
                                                       before the next timeout 
 
•  Start/Stop timer: Provides the service to start/stop the requested  
     timer channel 
 
•  Set mode for GPT(continuous, one shot): Provides services for the   
     user to select the mode 
 
•  Notification services: Provides services for the user to enable or         
     disable the notification for every timeout 
 
•  Wakeup Services: Provides services for the user to enable or    
     disable the wakeup notification. 
 
•  Get version information: Provides the service for the user to read   
     module version 
 
3.1.9.2.  Module Dependency 
 
The dependency of GPT Driver on other modules and the required 
implementation is briefed as follows: 
30 

  AUTOSAR MODULES 
 Chapter 3 
 
DET 
 
In development mode the Development Error Tracer will be called whenever 
this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
MCU Driver 
 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing the GTM CMU clock sources. 
 
EcuM 
 
The GPT driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, then the required functionality shall be stubbed. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The GPT driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
3.1.9.3.  Configuration Parameter Dependency 
 
The GPT Driver Depends on EcuM. Hence the parameter 
‘GptWakeupSourceRef’ in the ‘GptWakeupConfiguration’ container of each channel 
refers to the path 
“/Renesas/EcucDefs_Gpt/EcuM0/EcuMConfiguration0/EcuMCommonConfiguration
0/EcuMWakeupSource_1”. 
 
The GPT Driver Depends on the MCU Driver for clock source configuration. Hence 
the parameter GptGTMClockRef in the container GptDriverConfiguration refers to 
the path 
“/Renesas/EcucDefs_Msn/Mcu0/McuModuleConfiguration0/McuGTMClockSettings
Config0”. 
 
 
3.1.9.4.  Source Code Dependency 
 
The following are the common dependent used files by the GPT Driver 
module: 
 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Gpt.h, 
Rte.h, 
31 

 Chapter 3 
AUTOSAR MODULES  
Os.h  
EcuM.h 
EcuM_Cbk.h 
rh850_Types.h 
 
 
3.1.9.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for GPT Driver 
component. 
 
Table 3-9 
:  GPT Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.10. WDG Driver Component 
 
3.1.10.1. Module Overview 
 
Watchdog Driver module provides the services for initializing, changing the 
operation mode and triggering the watchdog.  
The Watchdog Driver accesses the microcontroller hardware directly and 
Interface communicates with the application. 
 
The Watchdog Driver component is composed of following modules: 
 
• 
Watchdog Driver Initialization module 
 
• 
Watchdog Driver SetMode module 
 
• 
Watchdog Driver Trigger module 
 
• 
Watchdog Driver Version info module 
 
3.1.10.2. Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
32 

  AUTOSAR MODULES 
 Chapter 3 
section protection function is called. 
 
MCU Driver 
 
The count which indicates the number of times the watchdog should be 
triggered for a trigger condition’s timeout value depends on WDTATCLKI, 
hence MCU reference path will be provided in the parameter definition file. 
 
OS 
 
The WDG driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
3.1.10.3. Configuration Parameter Dependency 
 
The Watchdog Driver Depends on the MCU Driver for clock value. Hence 
the parameter ‘WdgClockRef’ in the ‘WdgGeneral’ container refers to the 
path  
 
“/Renesas/EcucDefs_Msn/Mcu0/McuModuleConfiguration0/McuGTMClock
SettingsConfig0” 
 
3.1.10.4. Source Code Dependency 
 
The following are the common dependent used files by the WDG Driver 
module: 
 
Det.h,  
Dem.h 
WdgIf_Types.h 
MemMap.h, 
Platform_Types.h, 
Rte.h 
Std_Types.h  
Os.h 
rh850_Types.h 
 
 
3.1.10.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for WDG Driver 
component. 
 
Table 3-10 
:  WDG Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
33 

 Chapter 3 
AUTOSAR MODULES  
WdgIf 
X1X\common_platform\generic\stubs\<Autosar 
Version>\WdgIf 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
 
3.1.11. LIN Driver Component 
 
3.1.11.1. Module Overview 
 
The LIN driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. Several LIN Controllers is controlled by the LIN Driver as long as 
they belong to the same LIN Hardware Unit. 
 
The LIN Driver software component shall provide the following main features: 
 
The LIN Driver Component fulfills requirements of upper layer 
communication components with respect to Initialization, Transmit and 
Receive confirmation and Wakeup notification to ECU State Manager. 
 
3.1.11.2. Module Dependency 
 
The dependency of LIN Driver on other modules and the required 
implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever LIN module 
encounters a production relevant error.  
 
MCU Driver 
 
LIN driver depend on MCU Driver for the setting of channel clock. 
 
ECU State Manager 
 
If controller wake-up event is detected LIN Driver Component provides the 
call out notification functionality to the EcuM. 
 
OS 
 
The LIN driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.11.3. Configuration Parameter Dependency 
 
The LIN Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘LinChannelClockRef’ in the ‘LinChannel’ container refers to the 
path  
“/Renesas/EcucDefs_Mcu/Mcu/McuModuleConfiguration0/McuClockSettin
gConfig0/McuPLLClkSetting0” 
 
3.1.11.4. Source Code Dependency 
 
The following are the common dependent used files by the LIN Driver 
34 

  AUTOSAR MODULES 
 Chapter 3 
module: 
 
Det.h, 
Dem.h, 
EcuM.h, 
EcuM_Cfg.h, 
EcuM_Cbk.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_Lin.h 
rh850_Types.h 
 
3.1.11.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for LIN Driver component 
 
Table 3-11 
:  LIN Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 

Table 3-12 
:  LIN Driver Component Port Specific Stubs      
 
Port Specific Stubs 
Path 
Mcu 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
 
 
 
 
 
35 

 Chapter 3 
AUTOSAR MODULES  
 
3.1.12. FR Driver Component 
 
3.1.12.1. Module Overview 
 
The FR driver provides services for FlexRay communication. 
 
The FR driver component provides the following functionalities: 
 
• 
To initialize the FlexRay communication controllers 
 
• 
To start, halt or abort the communication 
 
• 
To  configure  the  channel for  sending the  wakeup pattern  and  to  transmit 
the wakeup pattern on the configured FlexRay channel 
 
• 
To get the current POC status of CC 
 
• 
To  get  the  synchronization state  of  CC  and  to  adjust  the  global  time  of 
a FlexRay CC to an external clock source 
 
• 
To transmit the frames on the FlexRay channels 
 
• 
To receive the frames transmitted on the FlexRay channels 
 
• 
To get the current cycle and macrotick offset value of CC 
 
• 
To set the value for absolute timer interrupt  and to stop the absolute timer 
 
• 
To enable/disable the absolute timer interrupt.  To   reset   the   interrupt 
condition  of    absolute  timer  interrupt  and  to  get  the  status  of  absolute 
timer interrupt 
 
• 
To  get  the  Channel  status,  Clock  Correction,  Number  of  startup  frames, 
Clock Correction, Sync frame list and wakeup Rx status of CC 
 
• 
To get the Nm Vector Information received on CC 
 
• 
To send CC to ALLSLOTS and ALLOW_COLDSTART modes 
   
• 
To reconfigure or disable an Lpdu in run time. 
 
 
3.1.12.2. Module Dependency 
 
The dependency of FR Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FR module 
encounters a production relevant error.  
 
OS 
 
The FR driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.12.3. Configuration Parameter Dependency 
 
None 
36 

  AUTOSAR MODULES 
 Chapter 3 
 
3.1.12.4. Source Code Dependency 
 
The following are the common dependent used files by the FR Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_Fr_59_Renesas.h  
 
rh850_Types.h 
 
3.1.12.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FR Driver 
component 
 
Table 3-13 
:  FR Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.13. RAMTST Driver Component 
 
3.1.13.1. Module Overview 
 
The RAMTST driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. RAMTST driver provides the feature to test the physical health 
of RAM cells with different algorithms. If any fault is detected, notifications 
are provided to upper layers to take necessary actions as well as Error 
Corrections which are possible are done. It is not intended to test the contents 
of the RAM. RAM used for registers is also tested. 
 
A RAM Test may be called synchronously by the test environment (called 
“foreground test”) or may be called in a cyclic manner by an OS task or other 
37 

 Chapter 3 
AUTOSAR MODULES  
cyclic calling method (called “background test”). The test environment may 
select test parameters, start and stop the test, and get status reports. 
 
3.1.13.2. Module Dependency 
 
The dependency of RAMTST Driver on other modules and the 
required implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever RAMTST module 
encounters a production relevant error.  
 
RTE Module 
 
The RAMTST driver shall perform data protection using SchM APIs. 
 
3.1.13.3. Configuration Parameter Dependency 
 
None. 
 
3.1.13.4. Source Code Dependency 
 
The following are the common dependent used files by the RAMTST 
Driver module: 
 
Det.h, 
Dem.h  
Dem_Cfg.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h and 
SchM_RamTst.h  
3.1.13.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for RAMTST 
Driver component 
 
Table 3-14 
:  RAMTST Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
38 

  AUTOSAR MODULES 
 Chapter 3 
 
 
3.1.14. CORTST Driver Component 
 
3.1.14.1. Module Overview 
 
The  CORTST  module  provides  services  for  configuring,  starting,  polling, 
terminating  and  notifying  the  application  about  Core  Test  results.  It  also 
provides services for returning test results in a predefined way. Furthermore it 
provides  several  tests  to  verify  dedicated  core  functionality  like  e.g.  general 
purpose registers or Arithmetical and Logical Unit (ALU). 
It is up to the user of Core Test Driver API to choose suitable test combination 
and a scheduled execution order to fulfill the safety requirements of the 
system. The behavior of those services is asynchronous or synchronous. 
The functional parameters of CORTST software components are statically 
configurable to fit as far as possible to the real needs of each ECU. 
The CORTST Driver Component is divided into the following sub 
modules based on the functionality required: 
• Initialization and De-Initialization 
• Abort the core test operation 
• Getting the execution status of the CORTST driver 
• Getting Fore ground and Back ground Test result and Test Signature 
value 
• Foreground Test and Background tests 
• Module version information 
 
3.1.14.2. Module Dependency 
 
The dependency of CORTST Driver on other modules and the 
required implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever CORTST 
module encounters a production relevant error.  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The CORTST driver uses interrupts and hence there is a dependency on the 
OS, which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
 
 
39 

 Chapter 3 
AUTOSAR MODULES  
3.1.14.3. Configuration Parameter Dependency 
 
None 
 
3.1.14.4. Source Code Dependency 
 
The following are the common dependent used files by the CORTST 
Driver module: 
 
Det.h, 
Dem.h  
Os.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_CorTst.h 
rh850_Types.h 
 
3.1.14.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for CORTST 
Driver component 
 
 
Table 3-15 
:  CORTST Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40 

  AUTOSAR MODULES 
 Chapter 3 
3.1.15. FLSTST Driver Component 
 
3.1.15.1. Module Overview 
 
The FLSTST Driver Component provides the following services: 
 
• FLSTST Driver Component initialization 
 
• De-initialization 
 
• Reading the internal state of FLSTST Output signal 
 
• Setting the FLSTST Output to Idle state 
 
• Disabling/Enabling the FLSTST signal edge notification 
 
 
3.1.15.2. Module Dependency 
 
The dependency of FLSTST Driver on other modules and the 
required implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FLSTST module 
encounters a production relevant error.  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.15.3. Configuration Parameter Dependency 
 
None 
 
3.1.15.4. Source Code Dependency 
 
The following are the common dependent used files by the FLSTST 
Driver module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_FlsTst.h 
rh850_Types.h 
 
3.1.15.5. Stubs 
 
Stubs are categorized as common stub. 
 
41 

 Chapter 3 
AUTOSAR MODULES  
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FLSTST 
Driver component 
 
 

Table 3-16 
:  FLSTST Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
3.1.16. ETH Driver Component 
 
3.1.16.1. Module Overview 
 
The ETH Driver component can be divided into following sub components 
based on the functions performed by the ETH Driver: 
•  Driver Initialization 
•  Controller Initialization 
•  Setting and getting the Controller Mode 
•  Getting the MAC Address of the Ethernet Controller 
•  Writing MII Interface register 
•  Reading MII Interface register 
•  Getting the Counter State 
•  Provide Transmit Buffer Access 
•  Transmit Functionality 
•  Receive Functionality 
•  Transmit confirmation 
•  Frame reception interrupt handling 
•  Frame Transmission Interrupt handling 
•  Module version information 
•  Address Filtering  
•  Magic Packet detection 
 
3.1.16.2. Module Dependency 
 
The dependency of ETH Driver on other modules and the required 
implementation is briefed as follows: 
 
 
 
42 

  AUTOSAR MODULES 
 Chapter 3 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.16.3. Configuration Parameter Dependency 
 
None 
 
3.1.16.4. Source Code Dependency 
 
The following are the common dependent used files by the ETH Driver 
module: 
 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_Eth.h 
Os.h 
rh850_Types.h 
  
3.1.16.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for ETH Driver 
component. 
 
Table 3-17 
:  ETH Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.2 
RH850 Macros Definition: 
The driver supports both Supervisor mode and User mode. 
 To provide the provision to the user, to adapt the Driver to operate either in 
43 

 Chapter 3 
AUTOSAR MODULES  
Supervisor/User Mode the IMRx/ICxxx register is moved to OS Module. 
 
The macros provided in Table 3-17, available in rh850_types.h, should be 
used as mentioned below to switch modes. 
 
To operate the driver in User Mode: User must modify these macros. 
 
To operate the driver in Supervisor Mode: No modification is required. 
 
Table 3-18 
:  Macro to perform write operation, on write enabled 
Register 
 
 
 
 

Macro Name 
Description 
Input 
Parameter 

RH850_SV_MODE_ICR_OR 
This Macro performs supervisor 
SIZE : 
mode (SV) write enabled Register 
Register 
ICxxx register writing which 
Access Size  
involves an OR operation. 
ADDR : 
Register 
address 
VAL  : Value 
to be written to 
the register 
RH850_SV_MODE_ICR_AND 
This Macro performs supervisor 
SIZE : 
mode(SV) write enabled 
Register 
Register ICxxx register writing 
Access Size  
which involves an AND 
ADDR : 
operation. 
Register 
address 
VAL  : Value 
to be written 
to the 
register 
RH850_SV_MODE_ICR_WRITE
This Macro performs supervisor 
SIZE : 
_ONLY 
mode(SV) write enabled Register 
Register 
ICxxx register direct writing 
Access Size  
operation. 
ADDR : 
Register 
address 
VAL  : Value 
to be written 
to the 
register 
RH850_SV_MODE_IMR_OR 
This Macro performs supervisor 
SIZE : 
mode(SV) write enabled Register 
Register 
IMR register writing which 
Access Size  
involves an OR operation 
ADDR : 
Register 
address 
VAL  : Value 
to be 
written to 
the register 
44 

  AUTOSAR MODULES 
 Chapter 3 
Macro Name 
Description 
Input 
Parameter 

RH850_SV_MODE_IMR_AND 
This Macro performs supervisor 
SIZE : 
mode(SV) write enabled Register 
Register 
IMR register writing which 
Access Size  
involves an AND operation 
ADDR : 
Register 
address 
VAL  : Value 
to be 
written to 
the register 
RH850_SV_MODE_IMR_WRIT
This Macro performs supervisor 
SIZE : 
E_ONLY 
mode (SV) write enabled 
Register 
Register IMR register direct 
Access Size  
writing operation. 
ADDR : 
Register 
address 
VAL  : Value 
to be 
written to 
the register 
 
 
 
3.3 
ICxxx Registers Setting for TBxxx-Bit 
  The ICxxx register’s TBxxx-Bit is used to select the way to determine the 
interrupt vector. 
0: Direct jumping to an address determined from the level of priority 
1: Reference to a table. 
 
  MCAL Driver does not set TBxxx bit. Hence user has to take care of 
setting TBxxx-Bit before initializing MCAL driver. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45 

 Chapter 3 
AUTOSAR MODULES  
 
 
 
 
46 

 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
31-Jan-2013 

Following changes are made: 
1.0.1 
26-Apr-2016 
1.  Removed CAN and FEE driver components. 
2.  Updated GPT, ICU and PWM for GTM.  
3.  Updated Chapter 2 “REFERENCE DOCUMENTS”.  
4.  Added FR, RAMTST, CORTST, FLSTST and ETH Driver              
components in Chapter 3 “AUTOSAR MODULES” 
5.  Removed all the information related to Autosar version 3.2.2  

The following changes are made: 
1.0.2 
29-Nov-2016 
1.  Updated section Configuration Parameter Dependency for 
GPT, ICU and PWM. 
2.  Added Dem for ADC, PWM, PORT, DIO, SPI, GPT. 
3.  Removed details regarding Dem from the section 3.1.16, 
ETH. 
4.  Updated R number 
 
47 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview User’s Manual 
Version 1.0.2 
 
Publication Date: Rev.1.00, November 29, 2016 
 
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 
 
 
 
 
© 2016 Renesas  Electronics  Corporation.  All rights reserved. 
Colophon  1.0 
 
 
 
 



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
 
User’s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R20UT3827EJ0100 
 
 
 

Document Outline


30 - R20UT3827EJ0101-AUTOSAR

AUTOSAR_ Modules_Overview

32 - R20UT3827EJ0101-AUTOSARs



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
User’s Manual 
 
 
 
 
Version 1.0.3 
 
 
 
Target Device: 
RH850/X1x 
 
 
 
 
 
 
 
 
 
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). 
 
 
 
 
 
 
 
Renesas Electronics 
www.renesas.com 
Rev.1.01 May 2017 
 
 
 
 

 
2 

 
 
 
 
 
 
 
Notice 
 
 
1. 
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of 
 
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, 
 
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and 
 
damages incurred by you or third parties arising from the use of these circuits, software, or information. 
 
2. 
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents, 
 
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information 
 
described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application examples. 
 
3. 
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas 
 
Electronics or others. 
 
 
4. 
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics 
 
disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copy or 
 
otherwise misappropriation of Renesas Electronics products. 
 
5. 
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended 
 
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.  
 
"Standard":          Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment; 
 
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc. 
 
"High Quality":   Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication 
 
equipment; key financial terminal systems; safety control equipment; etc. 
 
 
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or 
 
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and undersea 
 
repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any 
 
and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for which the 
 
product is not intended by Renesas Electronics. 
 
6. 
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General 
 
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the ranges 
 
specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation characteristics, 
 
installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of the use of Renesas 
 
Electronics products beyond such specified ranges. 
 
7. 
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have 
 
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas 
 
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the 
 
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics 
 
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention, 
 
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your products/system. 
 
Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the final products or 
 
systems manufactured by you. 
 
8. 
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas 
 
Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances, including 
 
without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all these applicable 
 
laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with 
 
applicable laws and regulations. 
 
9. 
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale 
 
is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or technologies for (1) 
 
any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction, such as nuclear weapons, 
 
chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering such weapons, (2) any purpose 
 
relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of disturbing international peace and 
 
security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or technologies to any third party whether directly 
 
or indirectly with knowledge or reason to know that the third party or any other party will engage in the activities described above. When 
 
exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall comply with any applicable export control laws and 
 
regulations promulgated and administered by the governments of the countries asserting jurisdiction over the parties or transactions. 
 
10.  Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and 
 
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from your 
 
resale or making Renesas Electronics products available any third party. 
 
 
11.  This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas 
Electronics. 
 
 
12.  Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas 
 
Electronics products. 
 
 
 
(Note 1)   "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned 
 
subsidiaries. 
 
 
(Note 2)   "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics. 
 
.                                                                                                                                                                                                              
 

 
   
 
 
 
3 

4 

 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ADC 
Analog to Digital Converter 
API 
Application Programming Interface 
ATOM 
ARU-connected Timer Output Module 
AUTOSAR 
AUTomotive Open System ARchitecture 
CC 
Communication Controller 
CMU 
Clock Management Unit 
CORTST 
Core Test 
DEM 
Diagnostic Event Manager 
DET/Det 
Development Error Tracer 
DIO 
Digital Input Output 
ETH 
Ethernet 
FLS 
FLaSh Driver 
FLSTST 
FLaSh Test 
FR 
FlexRay 
FSL 
Flash Self programming Library 
GPT 
General Purpose Timer 
GTM 
Generic Timer Module 
ICU 
Input Capture Unit 
LIN 
Local Interconnect Network 
Lpdu 
Data Link Protocol Datagram Unit 
MCAL 
MicroController Abstraction Layer 
MCU 
MicroController Unit 
Nm 
Network Management 
POC 
Protocol Operation Control 
PWM 
Pulse Width Modulation 
RAMTST 
Ram Test 
Rx 
Receiver 
SPI 
Serial Peripheral Interface 
TIM 
Timer Input Module 
WDG 
WatchDog driver 
μC 
Micro controller 
 
 
 
Definitions 
 
 
 
Term 
Represented by 
Sl. No. 
Serial Number 
<Autosar Version> 
4.0.3 when tested for R4.0.3 
 
 
 
 
 
 
         5 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6 

 
Table of Contents  
 
Chapter 1 
INTRODUCTION ............................................................................................. 11 
1.1. 
Document Overview ........................................................................................................ 12 
Chapter 2 
REFERENCE DOCUMENTS .......................................................................... 13 
Chapter 3 
AUTOSAR MODULES .................................................................................... 15 
3.1 
MCAL Module .................................................................................................................. 15 
3.1.1. 
ADC Driver Component .................................................................................... 15 
3.1.1.1.  Module Overview .............................................................................15 
3.1.1.2.  Module Dependency........................................................................16 
3.1.1.3.  Configuration Parameter Dependency ............................................16 
3.1.1.4.  Source Code Dependency ..............................................................16 
3.1.1.5.  Stubs ...............................................................................................17 
3.1.2. 
PWM Driver Component ................................................................................... 17 
3.1.2.1.  Module Overview .............................................................................17 
3.1.2.2.  Module Dependency........................................................................18 
3.1.2.3.  Configuration Parameter Dependency ............................................18 
3.1.2.4.  Source Code Dependency ..............................................................18 
3.1.2.5.  Stubs ...............................................................................................19 
3.1.3. 
PORT Driver Component .................................................................................. 19 
3.1.3.1.  Module Overview .............................................................................19 
3.1.3.2.  Module Dependency .......................................................................20 
3.1.3.3.  Configuration Parameter Dependency ...........................................20 
3.1.3.4.  Source Code Dependency ..............................................................20 
3.1.3.5.  Stubs ...............................................................................................20 

3.1.4. 
DIO Driver Component ..................................................................................... 21 
3.1.4.1.  Module Overview .............................................................................21 
3.1.4.2.  Module Dependency........................................................................21 
3.1.4.3.  Configuration Parameter Dependency ............................................21 
3.1.4.4.  Source Code Dependency ..............................................................21 
3.1.4.5.  Stubs ...............................................................................................21 

3.1.5. 
FLS Software Component ................................................................................ 22 
3.1.5.1.  Module Overview .............................................................................22 
3.1.5.2.  Module Dependency .......................................................................22 
3.1.5.3.  Configuration Parameter Dependency ...........................................22 
3.1.5.4.  Source Code Dependency ..............................................................23 
3.1.5.5.  Stubs ...............................................................................................23 

3.1.6. 
SPI Driver Component ...................................................................................... 23 
3.1.6.1.  Module Overview .............................................................................23 
3.1.6.2.  Module Dependency .......................................................................24 
3.1.6.3.  Configuration Parameter Dependency ...........................................24 
3.1.6.4.  Source Code Dependency ..............................................................24 
3.1.6.5.  Stubs ...............................................................................................25 
3.1.7. 
ICU Driver Component...................................................................................... 25 
3.1.7.1.  Module Overview .............................................................................25 
3.1.7.2.  Module Dependency .......................................................................26 
3.1.7.3.  Configuration Parameter Dependency ...........................................27 
3.1.7.4.  Source Code Dependency ..............................................................27 

           

3.1.7.5.  Stubs ...............................................................................................28 
3.1.8. 
MCU Driver Component.................................................................................... 28 
3.1.8.1.  Module Overview .............................................................................28 
3.1.8.2.  Module Dependency .......................................................................28 
3.1.8.3.  Configuration Parameter Dependency ...........................................29 
3.1.8.4.  Source Code Dependency ..............................................................29 
3.1.8.5.  Stubs ...............................................................................................29 

3.1.9. 
GPT Driver Component .................................................................................... 30 
3.1.9.1.  Module Overview .............................................................................30 
3.1.9.2.  Module Dependency........................................................................30 
3.1.9.3.  Configuration Parameter Dependency ............................................31 
3.1.9.4.  Source Code Dependency ..............................................................31 
3.1.9.5.  Stubs ...............................................................................................32 
3.1.10. 
WDG Driver Component ................................................................................... 32 
3.1.10.1.  Module Overview .............................................................................32 
3.1.10.2.  Module Dependency........................................................................32 
3.1.10.3.  Configuration Parameter Dependency ............................................33 
3.1.10.4.  Source Code Dependency ..............................................................33 
3.1.10.5.  Stubs ...............................................................................................33 

3.1.11. 
LIN Driver Component ...................................................................................... 34 
3.1.11.1.  Module Overview .............................................................................34 
3.1.11.2.  Module Dependency........................................................................34 
3.1.11.3.  Configuration Parameter Dependency ............................................34 
3.1.11.4.  Source Code Dependency ..............................................................34 
3.1.11.5.  Stubs ...............................................................................................35 
3.1.12. 
FR Driver Component ....................................................................................... 36 
3.1.12.1.  Module Overview .............................................................................36 
3.1.12.2.  Module Dependency........................................................................36 
3.1.12.3.  Configuration Parameter Dependency ............................................36 
3.1.12.4.  Source Code Dependency ..............................................................37 
3.1.12.5.  Stubs ...............................................................................................37 

3.1.13. 
RAMTST Driver Component ............................................................................. 37 
3.1.13.1.  Module Overview .............................................................................37 
3.1.13.2.  Module Dependency........................................................................38 
3.1.13.3.  Configuration Parameter Dependency ............................................38 
3.1.13.4.  Source Code Dependency ..............................................................38 
3.1.13.5.  Stubs ...............................................................................................38 

3.1.14. 
CORTST Driver Component ............................................................................. 39 
3.1.14.1.  Module Overview .............................................................................39 
3.1.14.2.  Module Dependency........................................................................39 
3.1.14.3.  Configuration Parameter Dependency ............................................40 
3.1.14.4.  Source Code Dependency ..............................................................40 
3.1.14.5.  Stubs ...............................................................................................40 

3.1.15. 
FLSTST Driver Component .............................................................................. 40 
3.1.15.1.  Module Overview .............................................................................40 
3.1.15.2.  Module Dependency........................................................................41 
3.1.15.3.  Configuration Parameter Dependency ............................................41 
3.1.15.4.  Source Code Dependency ..............................................................41 
3.1.15.5.  Stubs ...............................................................................................41 

3.1.16. 
ETH Driver Component..................................................................................... 42 
8 

 
3.1.16.1.  Module Overview ............................................................................42 
3.1.16.2.  Module Dependency .......................................................................42 
3.1.16.3.  Configuration Parameter Dependency ...........................................43 
3.1.16.4.  Source Code Dependency ..............................................................43 
3.1.16.5.  Stubs ...............................................................................................43 

3.2 
RH850 Macros Definition: .............................................................................................. 43 
3.3 
ICxxx Registers Setting for TBxxx-Bit .......................................................................... 45 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

                                                                                                                                                                               9 

 
List of Figures 
 
Figure 1-1 
: System Overview of the AUTOSAR Architecture Layer ................................................. 11 
  
List of Tables 
 
Table 3-1 
:  ADC Driver Component Common Stubs ....................................................................... 17 
Table 3-2 
:  PWM Driver Component Common Stubs ...................................................................... 19 
Table 3-3 
:  PORT Driver Component Common Stubs ...................................................................... 20 
Table 3-4 
:  DIO Driver Component Common Stubs ......................................................................... 22 
Table 3-5 
:  FLS Software Component Common Stubs .................................................................... 23 
Table 3-6 
:  SPI Driver Component Common Stubs ......................................................................... 25 
Table 3-7 
:  ICU Driver Component Common Stubs ......................................................................... 28 
Table 3-8 
:  MCU Driver Component Common Stubs ....................................................................... 29 
Table 3-9 
:  GPT Driver Component Common Stubs ........................................................................ 32 
Table 3-10 
:  WDG Driver Component Common Stubs ....................................................................... 33 
Table 3-11 
:  LIN Driver Component Common Stubs .......................................................................... 35 
Table 3-12 
:  LIN Driver Component Specific Stubs ............................................................................ 35 
Table 3-13 
:  FR Driver Component Common Stubs ........................................................................... 37 
Table 3-14 
:  RAMTST Driver Component Common Stubs ................................................................. 38 
Table 3-15 
:  CORTST Driver Component Common Stubs ................................................................. 40 
Table 3-16 
:  FLSTST Driver Component Common Stubs .................................................................. 42 
Table 3-17 
:  ETH Driver Component Common Stubs ........................................................................ 43 
Table 3-18 
:   Macro to perform write operation, on write enabled Register ........................................ 44 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10 












































































































































































































































































































































































































































































































































INTRODUCTION 
Chapter 1 
Chapter 1 
INTRODUCTION 
 
 
 
 
This document shall be used as reference by the users for module overview, 
module dependencies, source code dependencies and configuration 
parameter dependencies. 
 
 
 
 
AUTOSAR 
Applica
  tion 
Actuator 
Sensor 
Application 
AUTOSAR 
Software 
Softw
  are 
Software 
Software 
Software 
Component 
Component 
Component 
Component 
Software 
Component 
 
 
 
 
 
 
 
AUTOS
  AR 
AUTOSAR 
AUTOSAR 
AUTOSAR 
Interface 
Interface 
Interface 
Interface 
Interface 
  
 
 
 
 
 
 
  Standard 
AUTOSAR Runtime Environment (RTE) 
Software 
 
 
 
 
API 2 
Standardized 
Standardized 
Standardized 
AUTOSAR 
AUTOSAR 
VFB & RTE 
Interface 
AUTOSAR 
Interface 
Interface 
Interface 
  relevant 
 
Interface 
 
 
 
   
 
 
 
 
Services 
Communication 
ECU 
 
 
API 1 
 
 
Abstraction 
 
 
RTE 
 
 
 
relevant 
Standardized 
Standardized 
Standardized 
 
 
 
 
Interface 
Interface 
Interface 
 
 
  API 0 
 
 
 
Operating 
Complex 
S
   
System 
t
Device 
I
a
nt
ndard
Drivers 
 
e
rf

API 3 Private 
 
 
a
Standardized 
 
Interfaces inside 
c
i
e
z
Interface 
 Basic Software 
 
e
d

Basic Software 
 
possible 
 
Microcontroller 
 
 
 
Abstraction 
 
 
 
ECU-Hardware 
      
 
 
Figure 1-1  : System Overview of the AUTOSAR Architecture Layer 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 11 

Chapter 1 
INTRODUCTION 
 
1.1. 
Document Overview 
 
 
The document has been segmented for easy reference. The table below 
provides user with an overview of the contents of each section: 
 
 
 
Section 
Contents 
Section1 
Explains the purpose of this document. 
(Introduction) 
Section2 
Lists the documents referred for developing this 
(Reference Documents)  document. 
Section3 
Provides the list of modules developed in the MCAL 
(MCAL Modules) 
layer. Brief information about the Module overview, 
Modules dependency, Configuration parameter 
dependency, source code dependency and stubs . 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

12 

 REFERENCE DOCUMENTS 
Chapter 2 
Chapter 2 
REFERENCE DOCUMENTS 
 
 
 
 
Sl. No. 
Title For Autosar Version R4.0.3 
Version 
1. 
Specification of ADC Driver (AUTOSAR_SWS_ADCDriver.pdf) 
4.2.0 
2. 
Specification of PWM Driver (AUTOSAR_SWS_PWMDriver.pdf) 
2.5.0 
3. 
Specification of PORT Driver (AUTOSAR_SWS_PortDriver.pdf) 
3.2.0 
4. 
Specification of DIO Driver (AUTOSAR_SWS_DIODriver.pdf) 
2.5.0 
5. 
Specification of Module Flash Driver (AUTOSAR_SWS_FlashDriver.pdf) 
3.2.0 
6. 
Specification of SPI Handler/Driver 
3.2.0 
(AUTOSAR_SWS_SPI_HandlerDriver.pdf) 
7. 
Specification of ICU Driver (AUTOSAR_SWS_ICUDriver.pdf) 
4.2.0 
8. 
Specification of MCU Driver (AUTOSAR_SWS_MCUDriver.pdf) 
3.2.0 
9. 
Specification of GPT Driver (AUTOSAR_SWS_GPTDriver.pdf) 
3.2.0 
 10. 
Specification of Watchdog Driver (AUTOSAR_SWS_WatchdogDriver.pdf) 
2.5.0 
11. 
Specification of LIN Driver (AUTOSAR_SWS_LINDriver.pdf) 
1.5.0 
12. 
Specification of FR Driver (AUTOSAR_SWS_FlexRayDriver.pdf) 
2.5.0 
13. 
  Specification of RAMTST Driver (AUTOSAR_SWS_RAMTest Driver.pdf) 
 1.5.0 
14. 
Specification of CORTST Driver (AUTOSAR_SWS_CoreTest.pdf) 
1.2.0 
15. 
Specification of FLSTST Driver (AUTOSAR_SWS_FlashTest.pdf) 
1.2.0 
16. 
Specification of ETH Driver (AUTOSAR_SWS_EthernetDriver.pdf) 
1.2.0 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 13 

Chapter 2 
REFERENCE DOCUMENTS 
 
 
 
 
 
14 

   AUTOSAR MODULES                                                                                                        Chapter 3 
Chapter 3 
AUTOSAR MODULES 
 
 
3.1 
MCAL Module 
 
 
The MicroController Abstraction layer is the lowest software layer of the Basic 
Software. It contains internal drivers, which are software modules with direct 
access to the μC internal peripherals and memory mapped μC external 
devices. Make higher software layers independent of μC. 
 
The modules developed for MCAL layer are as follows:  
 
ADC 
PWM  
PORT  
DIO  
FLS  
SPI  
ICU  
MCU  
GPT 
WDG  
LIN  
FR 
RAMTST  
CORTST 
FLSTST 
ETH 
 
3.1.1.  ADC Driver Component 
 
3.1.1.1.  Module Overview 
 
The ADC driver shall initialize and control the internal Analog Digital Converter 
unit of the microcontroller. The driver is equipped with a set of basic 
functionalities with single value result access mode and streaming access 
mode. 
 
A One Shot conversion shall be started by a software trigger or a hardware 
event whereas a Continuous conversion shall be started by a software trigger 
only. The ADC conversion results shall be returned by an ADC read service. 
This service shall return the last converted result from an external result buffer. 
 
The ADC Driver software component shall provide the following main features: 
 
• 
Single value results access mode supports One-Shot conversion and 
Continuous conversion 
 
• 
Streaming access mode supports linear buffer conversion and circular 
buffer conversion 
 
• 
Various API services for functionalities like initialization, de-
initialization, starting and stopping of ADC channels 
 
• 
Notifications services for ADC channels 
 15 

 Chapter 3 
AUTOSAR MODULES  
 
 
• 
Hardware Trigger services for ADC channels 
• 
Channel group priority mechanism 
 
3.1.1.2.  Module Dependency 
 
The dependency of ADC Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
PORT driver 
 
Port pins used by the ADC Driver shall be configured using the PORT module. 
Both analog input pins and external trigger pins have to be considered. 
 
IO Hardware Abstraction Layer 
 
The ADC driver depends on the IO Hardware Abstraction Layer, which invokes 
the APIs and receives the callback notifications. If IO Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The ADC driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.1.3.  Configuration Parameter Dependency 
 
None 
 
3.1.1.4.  Source Code Dependency 
 
The following are the common dependent used files by the ADC Driver 
module: 
 
Det.h,  
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Adc.h 
Rte.h  
 
Os.h 
rh850_Types.h 
 
 
16 

  AUTOSAR MODULES 
 Chapter 3 
 
3.1.1.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
 
 
The tables below will provide the common stubs to be used for ADC Driver 
component 
 
Table 3-1  :  ADC Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
3.1.2.  PWM Driver Component 
 
3.1.2.1.  Module Overview 
 
The PWM Driver Component provides services for PWM Driver Component 
initialization, de-initialization, setting the period and duty cycle for a PWM 
channel, reading the internal state of PWM output signal and setting the PWM 
output to idle state and disabling or enabling the PWM signal edge 
notification. The PWM Driver Component is part of the Microcontroller 
Abstraction Layer (MCAL), the lowest layer of Basic Software in the AUTOSAR 
environment. 
 
The PWM Driver Component is divided into PWM High Level Driver and PWM 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
software on different platforms. 
 
The PWM High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
PWM Low Level Driver. 
 
 
ATOM submodule of Generic Timer Module is used to generate variable 
PWM output. 
 
The channel level notifications are provided for the rising edge, falling edge 
and both edges. Any of these notifications will be active only when these are 
configured for the corresponding channel and enabled by using PWM Driver 
Component APIs. 
 
The PWM Driver component should provide following services based on the 
functions performed by the PWM Driver: 
 
• 
Initialization 
 
• 
De-Initialization 
 
17 

 Chapter 3 
AUTOSAR MODULES  
• 
Set the channel output to Idle 
 
• 
Get the channel output state 
 
• 
Set Duty Cycle 
 
• 
Set Duty Cycle and Period 
 
• 
Notification services (at the beginning, at the end and on both edged of 
a period) 
 
• 
Get Version information 
 
 
3.1.2.2.  Module Dependency 
 
The dependency of PWM Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
MCU Driver 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing the GTM CMU clock sources. 
 
PORT driver 
 
Port pins used by the PWM Driver shall be configured using the PORT module. 
 
IO Hardware Abstraction Layer
 
 
The PWM driver depends on the IO Hardware Abstraction Layer, which 
invokes the APIs and receives the callback notifications. If IO Hardware 
Abstraction Layer Module is not available, then the required functionality shall 
be stubbed. 
 
OS 
 
The PWM driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
 
3.1.2.3.  Configuration Parameter Dependency 
 
The PWM Driver Depends on MCU for the clock source configuration. Hence 
the parameter 
‘PwmGTMClockRef’ in the ‘PwmGeneral’ container refers to the path 
“/Renesas/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuGTMClockSett
ingsConfig0” 
 
3.1.2.4.  Source Code Dependency 
 
The following are the common dependent used files by the PWM Driver 
module: 
18 

  AUTOSAR MODULES 
 Chapter 3 
 
Det.h,  
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Pwm.h 
Rte.h  
Os.h 
rh850_Types.h 
 
 
3.1.2.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>\” 
 
The table below will provide the common stubs to be used for PWM Driver 
component 
 
Table 3-2  :  PWM Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
3.1.3.  PORT Driver Component 
 
3.1.3.1.  Module Overview 
 
The PORT Driver Component access the hardware features directly. The 
upper layers call the functionalities provided by these components. 
 
The PORT Driver Component provides services for: 
 
• 
Initialization of every port pins to configured functionality. 
 
• 
Changing the port pin direction during run time. 
 
• 
Refreshing the port pin directions. 
 
• 
Setting the port pin mode during runtime. 
 
• 
Reading module version 
 
 
 
 
19 

 Chapter 3 
AUTOSAR MODULES  
3.1.3.2.  Module Dependency 
 
The dependency of PORT Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.3.3.  Configuration Parameter Dependency 
 
None. 
 
3.1.3.4.  Source Code Dependency 
 
The following are the common dependent used files by the PORT Driver 
module: 
 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Port.h 
Rte.h and 
 
3.1.3.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for PORT Driver 
component 
 
Table 3-3 
:  PORT Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
 
 
20 

  AUTOSAR MODULES 
 Chapter 3 
3.1.4.  DIO Driver Component 
 
3.1.4.1.  Module Overview 
 
The DIO Driver Component access the hardware features directly. The upper 
layers call the functionalities provided by these components. 
 
The DIO Driver Component provides services for: 
 
• 
Reading from / writing to DIO Channel 
 
• 
Reading from / writing to DIO Ports 
 
• 
Reading from / writing to DIO Channel Groups 
 
• 
Reading module version. 
 
3.1.4.2.  Module Dependency 
 
The dependency of DIO Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
PORT driver 
 
Port pins used by the DIO Driver shall be configured using the PORT module. 
 
 
3.1.4.3.  Configuration Parameter Dependency 
 
None 
 
3.1.4.4.  Source Code Dependency 
 
The following are the common dependent used files by the DIO Driver module: 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h and 
Std_Types.h 
 
3.1.4.5.  Stubs 
 
The DIO driver uses Stubs which is categorized as common stubs and 
available in the path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below provides the common stubs to be used for DIO Driver 
component: 
 
 
 
 
 
21 

 Chapter 3 
AUTOSAR MODULES  
Table 3-4 
:  DIO Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
3.1.5.  FLS Software Component 
 
3.1.5.1.  Module Overview 
 
The FLS software component provides services for reading, writing, comparing 
and erasing flash memory. 
 
The FLS Component conforms to the AUTOSAR standard and is implemented 
mapping to the AUTOSAR FLS Software Specification. 
 
The FLS Driver Software Component provides services for: 
 
• 
Initialization 
 
• 
Erasing the flash memory 
 
• 
Reading from the flash memory 
 
• 
Writing to the flash memory 
 
• 
Validating contents of flash memory 
 
• 
Cancellation of Request 
 
• 
Job result and status information 
 
• 
Background job processing 
 
• 
Module version information 
 
• 
Job Processing 
 
3.1.5.2.  Module Dependency 
 
The dependency of FLS software component on other modules and the 
required implementation is briefed as follows: 
 
 
DET 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.5.3.  Configuration Parameter Dependency 
 
The FLS Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘FlsCpuFrequency’ in the ‘FlsDataFlash’ container refers to the 
path 
/AUTOSAR/EcucDefs_Mcu/Mcu0/McuModuleConfiguration0/McuClockSett
22 

  AUTOSAR MODULES 
 Chapter 3 
ingConfig0/McuPLLClkSetting0 
 
3.1.5.4.  Source Code Dependency 
 
The following are the common dependent used files by the FLS Software 
Component module: 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Fls.h, 
Rte.h 
rh850_Types.h 
 
 
3.1.5.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FLS Software 
component. 
 
Table 3-5 
:  FLS Software Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
 
 
 
3.1.6.  SPI Driver Component 
 
3.1.6.1.  Module Overview 
 
The SPI driver is split as High Level Driver and Low Level Driver. The High 
Level Driver exports the AUTOSAR API towards upper modules and it will be 
designed to allow the compilation for different platforms without or only slight 
modifications, i.e. that no reference to specific microcontroller features or 
registers will appear in the High Level Driver. All these references are moved 
inside a µC specific Low Level Driver. The Low Level Driver interface extends 
the High Level Driver types and methods in order to adapt it to the specific 
target microcontroller. 
 
The SPI Driver Component provides services for: 
 
• 
Initialization and De-initialization 
 
• 
Buffer Management 
23 

 Chapter 3 
AUTOSAR MODULES  
 
• 
Communication 
 
• 
Status information 
 
• 
Module version information 
 
• 
Memory mapping 
 
• 
Compiler abstraction 
 
3.1.6.2.  Module Dependency 
 
The dependency of SPI Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode, the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
PORT 
 
The CSIG HW Units uses port lines as external chip selects. In this case, the 
chip select is realized using microcontroller pins and hence the SPI module 
has a relationship with PORT module for initializing appropriate mode and 
direction of the port lines. 
 
The basic SPI functionality for both CSIG and CSIH has to be configured as an 
alternate functionality by the PORT module. 
 
 
IO Hardware Abstraction Layer 
 
The IO Hardware Abstraction Layer invokes APIs of the SPI module and 
receives the callback notifications. 
 
Memory Hardware Abstraction Layer 
 
The Memory Hardware Abstraction Layer invokes APIs of the SPI module in 
case driver for any external memory devices (for example, external EEPROM) 
are implemented through the SPI module. 
 
Onboard Device Abstraction Layer 
The Onboard Device Abstraction Layer invokes APIs of the SPI module in 
case driver for any external devices (for example, external watchdog) are 
implemented through the SPI module. 
 
RTE 
 
The functions related to critical section protection area of the SPI module are 
invoked by the Run time Environment (RTE) module. 
 
DEM 
 
The SPI module uses the DEM module for getting the reference for all 
production errors. 
 
3.1.6.3.  Configuration Parameter Dependency 
 
The SPI Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘SpiClockFrequencyRef’ in the ‘SpiExternalDevice’ container 
refers to the path 
/Renesas/EcucDefs_Mcu/Mcu/McuModuleConfiguration0/McuClockSettingC
onfig0/McuClockReferencePoint0/McuClockReferencePointFrequency 
 
3.1.6.4.  Source Code Dependency 
 
The following are the common dependent used files by the SPI Driver module: 
24 

  AUTOSAR MODULES 
 Chapter 3 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Spi.h 
Rte.h  
 
Os.h 
rh850_Types.h 
 
3.1.6.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for SPI Driver 
component 
 
Table 3-6 
:  SPI Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
 
3.1.7.  ICU Driver Component 
 
3.1.7.1.  Module Overview 
 
The ICU Driver Component provides following services: 
 
• 
Signal Edge detection and notification 
 
• 
Services for Driver initialization and de-initialization 
 
• 
Signal time measurement like Active Time, Period Time and Duty cycle 
 
• 
Signal Edge time stamping and Edge counting 
 
• 
Support Post-build configurations 
 
The ICU Driver Component is part of the Microcontroller Abstraction Layer 
(MCAL), the lowest layer of Basic Software in the AUTOSAR environment. 
Different applications require different number of ICU channels in different 
modes. Therefore, the timer operation modes and external interrupts have 
to be selected depending on ICU measurement mode. For P1x-C 
microcontroller generation, following concepts are considered: 
25 

 Chapter 3 
AUTOSAR MODULES  
 
• 
Using TIM0/TIM1 channels for Edge Counting Measurement mode  
 
• 
Using TIM0/TIM1 channels for Time Stamping Measurement mode  
 
• 
Using TIM0/TIM1 channels for Signal Measurement mode  
 
• 
Using TIM0/TIM1 and External Interrupts channels for Edge Detection 
mode  
 
 
The ICU channel can be configured to either a timer channel or an external 
interrupt based on the required measurement mode. The configuration for 
Edge Detection measurement mode will be made only for an external interrupt 
channel and TIM0/TIM1 channels. The remaining three measurement modes 
viz. Edge Counting, Time Stamping and Signal Measurement should be 
configured only for the TIM0/TIM1 channels. The configuration of Timer in 
different operating modes will be taken care by the software itself. 
 
The ICU Driver component can be divided into following sections based on the 
functions performed by the ICU Driver: 
 
 
• 
Initialization  
 
• 
De-Initialization  
 
• 
Wakeup Services  
 
• 
Notification Services  
 
• 
Signal Measurement Services  
 
• 
Signal Activation and State Information Services  
 
• 
Version Information  
 
 
 
3.1.7.2.  Module Dependency 
 
The dependency of ICU Driver on other modules and the required 
implementation is briefed as follows: 
 
MCU Driver 
 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing the GTM CMU clock sources. 
 
OS 
 
The ICU driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
PORT Module 
 
The configuration of port pins used for the ICU as inputs is done by the PORT 
driver. Hence the PORT driver has to be initialized prior to the use of ICU 
functions. If the PORT Driver is not available, then the configuration of port 
pins used for the ICU shall be stubbed. 
 
In order to use the external interrupt functionality, port filter of respective 
26 

  AUTOSAR MODULES 
 Chapter 3 
external interrupt needs to be enabled in PORT component. ICU can override 
edge detection settings and PORT can do as well. The registers FCLAxCTLx 
are used by ICU and PORT at the same time and the order of calling APIs is 
important. 
 
EcuM Module 
 
The ICU driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, and then the required functionality shall be stubbed. 
 
 
DET Module
 
 
If the Development Error Tracer is not available, stubs need to be used to the 
interfaces for those modules. 
 
IO Hardware Abstraction Layer Module 
 
The ICU driver depends on the I/O Hardware Abstraction Layer which invokes 
the APIs and receives the call-back notifications. If I/O Hardware Abstraction 
Layer Module is not available, then the required functionality shall be stubbed. 
 
RTE Module 
 
The ICU driver shall perform data protection using SchM APIs. If the SchM is 
not available, then the required functionality shall be stubbed. 
 
3.1.7.3.  Configuration Parameter Dependency 
 
The ICU Driver Depends on EcuM. Hence the parameter 
‘IcuChannelWakeupInfo’ in the ‘IcuWakeup’ container of each channel refers 
to the path 
“/Renesas/EcucDefs_Icu/EcuM0/EcuMConfiguration0/EcuMCommonConfig
uration0/EcuMWakeupSource_1”. 
 
The ICU Driver Depends on MCU for the clock source configuration. Hence the 
parameter 
‘IcuGTMClockRef’ in the ‘IcuGeneral’ container refers to the path 
“/Renesas/EcucDefs_Msn/Mcu0/McuModuleConfiguration0/McuGTMClockSetti
ngsConfig0” 
 
 
3.1.7.4.  Source Code Dependency 
 
The following are the common dependent used files by the ICU Driver module: 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Icu.h, 
Rte.h, 
EcuM.h 
EcuM_Cfg.h 
EcuM_Cbk.h  
Os.h 
rh850_Types.h 
 
 
27 

 Chapter 3 
AUTOSAR MODULES  
3.1.7.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for ICU Driver 
component. 
 
Table 3-7 
:  ICU Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.8.  MCU Driver Component 
 
3.1.8.1.  Module Overview 
 
The MCU Driver accesses the hardware features directly. The upper layers call 
the functionalities provided by the Driver. MCU component has functionalities 
related PLL Initialization, Clock Initialization & Distribution, RAM sections, Pre-
Scaler Initializations, MCU Reduced Power Modes Activation and MCU Reset 
Activation & Reason. 
 
The MCU Driver component is divided into the following sub modules based 
on the functionality required: 
 
• 
Initialization 
 
• 
Clock Initialization 
 
• 
PLL Clock Distribution 
 
• 
MCU Reduced Power Modes Activation 
 
• 
RAM sections Initialization 
 
• 
MCU Reset Activation & Reason 
 
• 
Module Version Info 
 
3.1.8.2.  Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
EcuM 
 
The reference for the type of reset will be provided by the Mcu driver to the 
ECU State manager module. 
 
 
 
28 

  AUTOSAR MODULES 
 Chapter 3 
OS 
 
The MCU driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
RTE Module 
 
The MCU driver shall perform data protection using SchM APIs. If the SchM 
is not available, then the required functionality shall be stubbed. 
 
 
3.1.8.3.  Configuration Parameter Dependency 
 
None 
 
3.1.8.4.  Source Code Dependency 
 
The following are the common dependent used files by the MCU Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h, 
SchM_Mcu.h  
Os.h 
rh850_Types.h 
 
3.1.8.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for MCU Driver 
component. 
 
 
 
Table 3-8 :  MCU Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
29 

 Chapter 3 
AUTOSAR MODULES  
 
 
3.1.9.  GPT Driver Component 
 
3.1.9.1.  Module Overview 
 
The GPT Driver Component provides services for GPT Driver Component 
Initialization, De-initialization, Setting starting and stopping a timer, getting 
elapsed and remaining time, setting GPT mode (one shot, continuous) and 
Disabling or Enabling the GPT notification. The GPT Driver Component is part 
of the Microcontroller Abstraction Layer (MCAL), the lowest layer of Basic 
Software in the AUTOSAR environment. 
 
The GPT Driver Component is divided into GPT High Level Driver and GPT 
Low Level Driver to minimize the effort and to optimize the reuse of developed 
software on different platforms. 
 
The GPT High Level Driver exports the APIs to the upper modules. All the 
references to specific microcontroller features and registers are provided in 
GPT Low Level Driver. 
 
The GPT channel can be configured to either as continuous mode or one-shot 
mode. In continuous mode, the timers keep operating even after the target 
value is reached and it has multiple notifications (if enabled). 
 
The ATOM sub modules in GTM consist of ATOM0, ATOM1 and ATOM2 are 
used in GPT Driver Component to generate timeout periods. 
 
The GPT Driver component should provide following services based on the 
functions performed by the GPT Driver: 
 
•  Initialization: Provides the service to initialize the timer control registers 
     and interrupt registers  
•  De-Initialization: Provides the service to reinitialize the timer registers  
      and to stop the channels that are running 
 
•  Reading of timer values: Provides services for reading the elapsed time  
                                                    after the timer is started or Service for reading the remaining time                 
                                                       before the next timeout 
 
•  Start/Stop timer: Provides the service to start/stop the requested  
     timer channel 
 
•  Set mode for GPT(continuous, one shot): Provides services for the   
     user to select the mode 
 
•  Notification services: Provides services for the user to enable or         
     disable the notification for every timeout 
 
•  Wakeup Services: Provides services for the user to enable or    
     disable the wakeup notification. 
 
•  Get version information: Provides the service for the user to read   
     module version 
 
3.1.9.2.  Module Dependency 
 
The dependency of GPT Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer will be called whenever 
this module encounters a development error. 
 
30 

  AUTOSAR MODULES 
 Chapter 3 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever this module 
encounters a production relevant error. 
 
 
MCU Driver 
 
 
The Microcontroller Unit Driver (MCU Driver) is primarily responsible for 
initializing the GTM CMU clock sources. 
 
EcuM 
 
The GPT driver shall do the reporting of wakeup interrupts to the EcuM. If the 
EcuM is not available, then the required functionality shall be stubbed. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The GPT driver uses interrupts and therefore there is a dependency on the OS 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
3.1.9.3.  Configuration Parameter Dependency 
 
The GPT Driver Depends on EcuM. Hence the parameter 
‘GptWakeupSourceRef’ in the ‘GptWakeupConfiguration’ container of each channel 
refers to the path 
“/Renesas/EcucDefs_Gpt/EcuM0/EcuMConfiguration0/EcuMCommonConfiguration
0/EcuMWakeupSource_1”. 
 
The GPT Driver Depends on the MCU Driver for clock source configuration. Hence 
the parameter GptGTMClockRef in the container GptDriverConfiguration refers to 
the path 
“/Renesas/EcucDefs_Msn/Mcu0/McuModuleConfiguration0/McuGTMClockSettings
Config0”. 
 
 
3.1.9.4.  Source Code Dependency 
 
The following are the common dependent used files by the GPT Driver 
module: 
 
Det.h, 
Dem.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
SchM_Gpt.h, 
Rte.h, 
Os.h  
EcuM.h 
EcuM_Cbk.h 
rh850_Types.h 
31 

 Chapter 3 
AUTOSAR MODULES  
 
 
3.1.9.5.  Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for GPT Driver 
component. 
 
Table 3-9 
:  GPT Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.10. WDG Driver Component 
 
3.1.10.1. Module Overview 
 
Watchdog Driver module provides the services for initializing, changing the 
operation mode and triggering the watchdog.  
The Watchdog Driver accesses the microcontroller hardware directly and 
Interface communicates with the application. 
 
The Watchdog Driver component is composed of following modules: 
 
• 
Watchdog Driver Initialization module 
 
• 
Watchdog Driver SetMode module 
 
• 
Watchdog Driver Trigger module 
 
• 
Watchdog Driver Version info module 
 
3.1.10.2. Module Dependency 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
Production errors will be reported to the Diagnostic Event Manager (DEM). 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
MCU Driver 
 
The count which indicates the number of times the watchdog should be 
triggered for a trigger condition’s timeout value depends on WDTATCLKI, 
32 

  AUTOSAR MODULES 
 Chapter 3 
hence MCU reference path will be provided in the parameter definition file. 
 
OS 
 
The WDG driver uses interrupts and therefore there is a dependency on the 
OS which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
3.1.10.3. Configuration Parameter Dependency 
 
The Watchdog Driver Depends on the MCU Driver for clock value. Hence 
the parameter ‘WdgClockRef’ in the ‘WdgGeneral’ container refers to the 
path  
 
“/Renesas/EcucDefs_Msn/Mcu0/McuModuleConfiguration0/McuGTMClock
SettingsConfig0” 
 
3.1.10.4. Source Code Dependency 
 
The following are the common dependent used files by the WDG Driver 
module: 
 
Det.h,  
Dem.h 
WdgIf_Types.h 
MemMap.h, 
Platform_Types.h, 
Rte.h 
Std_Types.h  
Os.h 
rh850_Types.h 
 
 
3.1.10.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for WDG Driver 
component. 
 
Table 3-10 
:  WDG Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
WdgIf 
X1X\common_platform\generic\stubs\<Autosar 
Version>\WdgIf 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
33 

 Chapter 3 
AUTOSAR MODULES  
 
 
 
3.1.11. LIN Driver Component 
 
3.1.11.1. Module Overview 
 
The LIN driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. Several LIN Controllers is controlled by the LIN Driver as long as 
they belong to the same LIN Hardware Unit. 
 
The LIN Driver software component shall provide the following main features: 
 
The LIN Driver Component fulfills requirements of upper layer 
communication components with respect to Initialization, Transmit and 
Receive confirmation and Wakeup notification to ECU State Manager. 
 
3.1.11.2. Module Dependency 
 
The dependency of LIN Driver on other modules and the required 
implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever LIN module 
encounters a production relevant error.  
 
MCU Driver 
 
LIN driver depend on MCU Driver for the setting of channel clock. 
 
ECU State Manager 
 
If controller wake-up event is detected LIN Driver Component provides the 
call out notification functionality to the EcuM. 
 
OS 
 
The LIN driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.11.3. Configuration Parameter Dependency 
 
The LIN Driver Depends on the MCU Driver for clock value. Hence the 
parameter ‘LinClockRef’ in the ‘LinChannel’ container refers to the path  
“/Renesas/EcucDefs_Mcu/Mcu/McuModuleConfiguration0/McuClockSettin
gConfig0/McuClockReferencePoint0” 
 
3.1.11.4. Source Code Dependency 
 
The following are the common dependent used files by the LIN Driver 
module: 
 
Det.h, 
Dem.h, 
EcuM.h, 
34 

  AUTOSAR MODULES 
 Chapter 3 
EcuM_Cfg.h, 
EcuM_Cbk.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_Lin.h 
rh850_Types.h 
 
3.1.11.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common and port specific stubs to be used 
for LIN Driver component 
 
Table 3-11 
:  LIN Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
EcuM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 

Table 3-12 
:  LIN Driver Component Specific Stubs      
 
Lin Specific Stubs 
Path 
Mcu 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Mcu 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
EcuM 
X1X\common_platform\generic\stubs\<Autosar 
Version>\EcuM 
Dem 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
 
 
35 

 Chapter 3 
AUTOSAR MODULES  
3.1.12. FR Driver Component 
 
3.1.12.1. Module Overview 
 
The FR driver provides services for FlexRay communication. 
 
The FR driver component provides the following functionalities: 
 
• 
To initialize the FlexRay communication controllers 
 
• 
To start, halt or abort the communication 
 
• 
To  configure  the  channel for  sending the  wakeup pattern  and  to  transmit 
the wakeup pattern on the configured FlexRay channel 
 
• 
To get the current POC status of CC 
 
• 
To  get  the  synchronization state  of  CC  and  to  adjust  the  global  time  of 
a FlexRay CC to an external clock source 
 
• 
To transmit the frames on the FlexRay channels 
 
• 
To receive the frames transmitted on the FlexRay channels 
 
• 
To get the current cycle and macrotick offset value of CC 
 
• 
To set the value for absolute timer interrupt  and to stop the absolute timer 
 
• 
To enable/disable the absolute timer interrupt.  To   reset   the   interrupt 
condition  of    absolute  timer  interrupt  and  to  get  the  status  of  absolute 
timer interrupt 
 
• 
To  get  the  Channel  status,  Clock  Correction,  Number  of  startup  frames, 
Clock Correction, Sync frame list and wakeup Rx status of CC 
 
• 
To get the Nm Vector Information received on CC 
 
• 
To send CC to ALLSLOTS and ALLOW_COLDSTART modes 
   
• 
To reconfigure or disable an Lpdu in run time. 
 
 
3.1.12.2. Module Dependency 
 
The dependency of FR Driver on other modules and the required 
implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FR module 
encounters a production relevant error.  
 
OS 
 
The FR driver uses interrupts and hence there is a dependency on the OS, 
which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
3.1.12.3. Configuration Parameter Dependency 
 
None 
 
36 

  AUTOSAR MODULES 
 Chapter 3 
3.1.12.4. Source Code Dependency 
 
The following are the common dependent used files by the FR Driver 
module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_Fr_59_Renesas.h  
 
rh850_Types.h 
 
3.1.12.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FR Driver 
component 
 
Table 3-13 
:  FR Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.1.13. RAMTST Driver Component 
 
3.1.13.1. Module Overview 
 
The RAMTST driver is part of the microcontroller abstraction layer (MCAL), 
performs the hardware access and offers hardware independent API to the 
upper layer. RAMTST driver provides the feature to test the physical health 
of RAM cells with different algorithms. If any fault is detected, notifications 
are provided to upper layers to take necessary actions as well as Error 
Corrections which are possible are done. It is not intended to test the contents 
of the RAM. RAM used for registers is also tested. 
 
A RAM Test may be called synchronously by the test environment (called 
“foreground test”) or may be called in a cyclic manner by an OS task or other 
cyclic calling method (called “background test”). The test environment may 
select test parameters, start and stop the test, and get status reports. 
37 

 Chapter 3 
AUTOSAR MODULES  
 
3.1.13.2. Module Dependency 
 
The dependency of RAMTST Driver on other modules and the 
required implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever RAMTST module 
encounters a production relevant error.  
 
RTE Module 
 
The RAMTST driver shall perform data protection using SchM APIs. 
 
3.1.13.3. Configuration Parameter Dependency 
 
None. 
 
3.1.13.4. Source Code Dependency 
 
The following are the common dependent used files by the RAMTST 
Driver module: 
 
Det.h, 
Dem.h  
Dem_Cfg.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h and 
SchM_RamTst.h  
 
3.1.13.5. Stubs 
 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for RAMTST 
Driver component 
 
 
Table 3-14 
:  RAMTST Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
38 

  AUTOSAR MODULES 
 Chapter 3 
 
 
 
3.1.14. CORTST Driver Component 
 
3.1.14.1. Module Overview 
 
The  CORTST  module  provides  services  for  configuring,  starting,  polling, 
terminating  and  notifying  the  application  about  Core  Test  results.  It  also 
provides services for returning test results in a predefined way. Furthermore it 
provides  several  tests  to  verify  dedicated  core  functionality  like  e.g.  general 
purpose registers or Arithmetical and Logical Unit (ALU). 
It is up to the user of Core Test Driver API to choose suitable test combination 
and a scheduled execution order to fulfill the safety requirements of the 
system. The behavior of those services is asynchronous or synchronous. 
The functional parameters of CORTST software components are statically 
configurable to fit as far as possible to the real needs of each ECU. 
The CORTST Driver Component is divided into the following sub 
modules based on the functionality required: 
• Initialization and De-Initialization 
• Abort the core test operation 
• Getting the execution status of the CORTST driver 
• Getting Fore ground and Back ground Test result and Test Signature 
value 
• Foreground Test and Background tests 
• Module version information 
 
3.1.14.2. Module Dependency 
 
The dependency of CORTST Driver on other modules and the 
required implementation is briefed as follows: 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever CORTST 
module encounters a production relevant error.  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
OS 
 
The CORTST driver uses interrupts and hence there is a dependency on the 
OS, which configures the interrupt sources. If OS is not available, then the 
configuration of interrupt sources shall be stubbed. 
 
 
 
39 

 Chapter 3 
AUTOSAR MODULES  
3.1.14.3. Configuration Parameter Dependency 
 
None 
 
3.1.14.4. Source Code Dependency 
 
The following are the common dependent used files by the CORTST 
Driver module: 
 
Det.h, 
Dem.h  
Os.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_CorTst.h 
rh850_Types.h 
 
3.1.14.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for CORTST 
Driver component 
 
 
Table 3-15 
:  CORTST Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
Os 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
 
3.1.15. FLSTST Driver Component 
 
3.1.15.1. Module Overview 
 
The FLSTST Driver Component provides the following services: 
 
• FLSTST Driver Component initialization 
 
• De-initialization 
40 

  AUTOSAR MODULES 
 Chapter 3 
 
• Reading the internal state of FLSTST Output signal 
 
• Setting the FLSTST Output to Idle state 
 
• Disabling/Enabling the FLSTST signal edge notification 
 
 
3.1.15.2. Module Dependency 
 
The dependency of FLSTST Driver on other modules and the 
required implementation is briefed as follows: 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
DEM 
 
The Diagnostic Event manager (DEM) will be called whenever FLSTST module 
encounters a production relevant error.  
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
section protection function is called. 
 
3.1.15.3. Configuration Parameter Dependency 
 
None 
 
3.1.15.4. Source Code Dependency 
 
The following are the common dependent used files by the FLSTST 
Driver module: 
 
Det.h, 
Dem.h 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_FlsTst.h 
rh850_Types.h 
 
 
3.1.15.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The tables below will provide the common stubs to be used for FLSTST 
Driver component 
 
 
 

41 

 Chapter 3 
AUTOSAR MODULES  
Table 3-16 
:  FLSTST Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Dem 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Dem 
 
 
3.1.16. ETH Driver Component 
 
3.1.16.1. Module Overview 
 
The ETH Driver component can be divided into following sub components 
based on the functions performed by the ETH Driver: 
•  Driver Initialization 
•  Controller Initialization 
•  Setting and getting the Controller Mode 
•  Getting the MAC Address of the Ethernet Controller 
•  Writing MII Interface register 
•  Reading MII Interface register 
•  Getting the Counter State 
•  Provide Transmit Buffer Access 
•  Transmit Functionality 
•  Receive Functionality 
•  Transmit confirmation 
•  Frame reception interrupt handling 
•  Frame Transmission Interrupt handling 
•  Module version information 
•  Address Filtering  
•  Magic Packet detection 
 
3.1.16.2. Module Dependency 
 
The dependency of ETH Driver on other modules and the required 
implementation is briefed as follows: 
 
 
 
DET 
 
In development mode the Development Error Tracer (DET) will be called 
whenever this module encounters a development error. 
 
 
RTE 
 
The Run time Environment (RTE) module will be called whenever a critical 
42 

  AUTOSAR MODULES 
 Chapter 3 
section protection function is called. 
 
3.1.16.3. Configuration Parameter Dependency 
 
None 
 
3.1.16.4. Source Code Dependency 
 
The following are the common dependent used files by the ETH Driver 
module: 
 
Det.h, 
MemMap.h, 
Platform_Types.h, 
Std_Types.h, 
Rte.h  
 
SchM_Eth.h 
Os.h 
rh850_Types.h 
  
3.1.16.5. Stubs 
 
Stubs are categorized as common stub. 
 
The common stubs are common for all the X1X family and are available in the 
path 
 
“X1X\common_platform\generic\stubs\<Autosar Version>” 
 
The table below will provide the common stubs to be used for ETH Driver 
component. 
 
Table 3-17 
:  ETH Driver Component Common Stubs 
 
Common Stubs 
Path 
Det 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\Det 
SchM 
\X1X\common_platform\generic\stubs\<Autosar 
Version>\SchM 
Os 
X1X\common_platform\generic\stubs\<Autosar 
Version>\Os 
 
 
3.2 
RH850 Macros Definition: 
The driver supports both Supervisor mode and User mode. 
 To provide the provision to the user, to adapt the Driver to operate either in 
Supervisor/User Mode the IMRx/ICxxx register is moved to OS Module. 
 
The macros provided in Table 3-17, available in rh850_types.h, should be 
used as mentioned below to switch modes. 
 
To operate the driver in User Mode: User must modify these macros. 
43 

 Chapter 3 
AUTOSAR MODULES  
 
To operate the driver in Supervisor Mode: No modification is required. 
Table 3-18 
:   Macro to perform write operation, on write enabled 
Register 
 
 

Macro Name 
Description 
Input 
Parameter 

RH850_SV_MODE_ICR_O
This Macro performs supervisor 
SIZE : 

mode (SV) write enabled Register 
Register 
ICxxx register writing which 
Access Size  
involves an OR operation. 
ADDR : 
Register 
address 
VAL  : Value 
to be written to 
the register 
RH850_SV_MODE_ICR_A
This Macro performs supervisor 
SIZE : 
ND 
mode(SV) write enabled 
Register 
Register ICxxx register writing 
Access Size  
which involves an AND 
ADDR : 
operation. 
Register 
address 
VAL  : Value 
to be written 
to the 
register 
RH850_SV_MODE_ICR_W
This Macro performs 
SIZE : 
RITE_ONLY 
supervisor mode(SV) write 
Register 
enabled Register ICxxx 
Access Size  
register direct writing 
ADDR : 
operation. 
Register 
address 
VAL  : Value 
to be written 
to the 
register 
RH850_SV_MODE_IMR_O
This Macro performs 
SIZE : 

supervisor mode(SV) write 
Register 
enabled Register IMR register 
Access 
writing which involves an OR 
Size  
operation 
ADDR : 
Register 
address 
VAL  : 
Value to be 
written to 
the register 
44 

  AUTOSAR MODULES 
 Chapter 3 
RH850_SV_MODE_IMR_A
This Macro performs 
SIZE : 
ND 
supervisor mode(SV) write 
Register 
enabled Register IMR register 
Access 
writing which involves an AND 
Size  
operation 
ADDR : 
Register 
address 
VAL  : 
Value to be 
written to 
the register 
RH850_SV_MODE_IMR_W
This Macro performs 
SIZE : 
RITE_ONLY 
supervisor mode (SV) write 
Register 
enabled Register IMR register 
Access 
direct writing operation. 
Size  
ADDR : 
Register 
address 
VAL  : 
Value to be 
written to 
the register 
 
 
 
3.3 
ICxxx Registers Setting for TBxxx-Bit 
  The ICxxx register’s TBxxx-Bit is used to select the way to determine the 
interrupt vector. 
0: Direct jumping to an address determined from the level of priority 
1: Reference to a table. 
 
  MCAL Driver does not set TBxxx bit. Hence user has to take care of 
setting TBxxx-Bit before initializing MCAL driver. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45 

 Chapter 3 
AUTOSAR MODULES  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46 

 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
31-Jan-2013 

Following changes are made: 
1.0.1 
26-Apr-2016 
1.  Removed CAN and FEE driver components. 
2.  Updated GPT, ICU and PWM for GTM.  
3.  Updated Chapter 2 “REFERENCE DOCUMENTS”.  
4.  Added FR, RAMTST, CORTST, FLSTST and ETH Driver              
components in Chapter 3 “AUTOSAR MODULES” 
5.  Removed all the information related to Autosar version 3.2.2  

The following changes are made: 
1.0.2 
29-Nov-2016 
1.  Updated section Configuration Parameter Dependency for 
GPT, ICU and PWM. 
2.  Added Dem for ADC, PWM, PORT, DIO, SPI, GPT. 
3.  Removed details regarding Dem from the section 3.1.16, 
ETH. 
4.  Updated R number 

The following changes are made: 
1.0.3 
05-May-2017 
1.  Updated R number of the document 
2.  Notice and copyright information are updated. 
 
47 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview User’s Manual 
Version 1.0.3 
 
Publication Date: Rev.1.01, May 05, 2017 
 
Published by: Renesas Electronics Corporation 
 



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



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AUTOSAR Modules Overview 
 
User’s Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R20UT3827EJ0101 
 
 
 

Document Outline


33 - R20UT3828EJ0100-AUTOSAR

AUTOSAR MCAL R4.0 User's Manual

35 - R20UT3828EJ0100-AUTOSARs




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for 
P1x-C MCAL Driver 
 
 
User's 
 
 
  
Manual 
Version 1.0.2
 
 
 
Target Device: 
RH850/P1x-C 
 
 
 
 
 
 
 
 
All information contained in these materials, including products and product specifications, 
represents information on the product at the time of publication and is subject to change by 
Renesas Electronics Corp. without notice. Please review the latest information published by 
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. 
website (http://www.renesas.com). 
 
 
 
 
 
 
www.renesas.com 
Rev.1.00 Feb 2017 
 
 
 
 
 

 
 
 
 
 
 
                          2 

 
 
 
Notice 
 
 
1. 
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of 
 
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, 
 
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and 
 
damages incurred by you or third parties arising from the use of these circuits, software, or information. 
 
2. 
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents, 
 
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information 
 
described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application examples. 
 
3. 
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas 
 
Electronics or others. 
 
4. 
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics 
 
disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copy or 
 
otherwise misappropriation of Renesas Electronics products. 
 
 
5. 
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended 
 
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.  
 
"Standard":          Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment; 
 
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc. 
 
"High Quality":   Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication 
 
equipment; key financial terminal systems; safety control equipment; etc. 
 
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or 
 
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and undersea 
 
repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any 
 
and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for which the 
 
product is not intended by Renesas Electronics. 
 
 
6. 
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General 
 
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the ranges 
 
specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation characteristics, 
 
installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of the use of Renesas 
 
Electronics products beyond such specified ranges. 
 
7. 
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have 
 
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas 
 
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the 
 
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics 
 
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention, 
 
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your products/system. 
 
Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the final products or 
 
systems manufactured by you. 
 
8. 
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas 
 
Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances, including 
 
without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all these applicable 
 
laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with 
 
applicable laws and regulations. 
 
9. 
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale 
 
is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or technologies for (1) 
 
any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction, such as nuclear weapons, 
 
chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering such weapons, (2) any purpose 
 
relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of disturbing international peace and 
 
security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or technologies to any third party whether directly 
 
or indirectly with knowledge or reason to know that the third party or any other party will engage in the activities described above. When 
 
exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall comply with any applicable export control laws and 
 
regulations promulgated and administered by the governments of the countries asserting jurisdiction over the parties or transactions. 
 
10.  Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and 
 
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from your 
 
resale or making Renesas Electronics products available any third party. 
 
11.  This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas 
 
Electronics. 
 
 
12.  Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas 
 
Electronics products. 
 
 
 
(Note 1)   "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned 
 
subsidiaries. 
 
(Note 2)   "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics. 
 
 
 
 
.                                                                                                                                                                                                                    
 
 

 
   
 
 
 
3 

 
 


 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ARXML/arxml 
AUTOSAR xml 
AUTOSAR 
Automotive Open System Architecture 
BSWMDT 
Basic Software Module Description Template 
<MSN> 
Module Short Name 
ECU 
Electronic Control Unit 
GUI 
Graphical User Interface 
MB 
Mega Bytes 
MHz 
Mega Hertz 
RAM 
Random Access Memory 
xml/XML 
eXtensible Markup Language 
<MICRO_VARIANT> 
P1x-C 
<MICRO_SUB_VARIANT>   P1H-C 
AUTOSAR_VERSION 
4.0.3 
DEVICE_NAME 
Example :R7F701372EAFP 
 
 
 
Definitions 
 
 
 
Terminology 
Description 
.xml 
XML File. 
.one 
Project Settings file. 
.arxml 
AUTOSAR XML File. 
ECU Configuration 
The ECU Configuration Parameter Definition is of type XML, which contains the 
Parameter Definition File 
definition for AUTOSAR software components i.e. definitions for Modules, 
Containers and Parameters. The format of the XML File will be compliant with 
AUTOSAR ECU specification standards. 
ECU Configuration 
The ECU Configuration Description file in XML format, which contains the 
Description File 
configured values for Parameters, Containers and Modules. ECU Configuration 
Description XML File format will be compliant with the AUTOSAR ECU 
specification standards. 
BSWMDT File 
The BSWMDT File in XML format, which is the template for the Basic Software 
Module Description. BSWMDT File format will be compliant with the AUTOSAR 
BSWMDT specification standards. 
Configuration XML File 
Configuration XML File is in XML format which contains command line options 
and options for input/output file path. 


 
 
6 

 
Table Of Contents 
 

Chapter 1  Introduction .................................................................... 11 
Chapter 2  ECU Configuration Editor (ECU  Spectrum) ................. 13 
2.1. 
Installation Of ECU Configuration Editor (ECU  Spectrum) ............................................... 13 
2.2. 
ECU Spectrum Input and Output Files ................................................................................. 20 
Chapter 3  Configuration Using ECU    Configuration Editor (ECU 
Spectrum)   ......................................................................................... 21
 

3.1. 
Creating New Project ............................................................................................................. 21 
3.2. 
Configuration .......................................................................................................................... 22 
3.2.1.  Parameter Configuration .............................................................................................. 24 
3.2.2.  Distinguish Between Containers .................................................................................. 24 
3.2.3.  Save Project................................................................................................................. 25 
3.2.4.  Validation ..................................................................................................................... 25 

3.3. 
Generate ECU Configuration Description ........................................................................... 26 
Chapter 4  Generation Tool .............................................................. 29 
4.1. 
ECU Configuration Description File .............................................................................................. 29 
4.2. 
Velocity template files .................................................................................................................. 29 
4.3. 
Configuration XML File .......................................................................................................... 29 
4.4. 
Usage ....................................................................................................................................... 29 
4.5. 
Tool Installation Requirements ............................................................................................. 30 
4.5.1.  Hardware Requirements .............................................................................................. 30 
4.5.2.  Software Requirements ................................................................................................ 30 
4.5.3.  Limitations .................................................................................................................... 31 
4.6. 
Tool Installation ...................................................................................................................... 31 
4.6.1.  Pre Requisite ............................................................................................................... 31 
4.6.2.  Installation Steps ......................................................................................................... 31 

4.7. 
Tool Un-Installation ................................................................................................................ 37 
4.8. 
Common Messages ............................................................................................................... 37 
4.8.1.  Error Messages ............................................................................................................ 37 
4.8.2.  Warning Messages ...................................................................................................... 39 
4.8.3.  Information Messages ................................................................................................. 39 

4.9. 
BSWMDT File .......................................................................................................................... 40 
4.10.  User Environment Settings ................................................................................................... 40 
Chapter 5  Application Example ...................................................... 43 
5.1. 
Folder Structure...................................................................................................................... 43 
5.2. 
Compiler, Linker and Assembler ......................................................................................... 43 
5.2.1.  Compiler ...................................................................................................................... 43 
5.2.2.  Linker ........................................................................................................................... 44 
5.2.3.  Assembler .................................................................................................................... 45 
5.3. 
Batchfile Description ............................................................................................................. 45 


 
5.4. 
Makefile Description .............................................................................................................. 45 
5.4.1.  App_<Msn>_<variant>_Sample.mak .......................................................................... 46 
5.5. 
Integrating The <MSN> Driver Component  With  Other Components ............................ 51 
5.6. 
Building The <MSN> Driver Component ............................................................................. 52 
5.6.1.  Targets Supported By The Sample Base Makefile ..................................................... 54 
Chapter 6  Support For Different Interrupt Categories .................. 57 
Chapter 7  GNU MAKE Environment ............................................... 59 
7.1. 
Build Process With GNUMAKE ............................................................................................. 59 
7.2. 
Build Process Without GNUMAKE ....................................................................................... 59 
Chapter 8  Load Binaries ................................................................. 63 
Chapter 9  Appendix......................................................................... 65 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
List Of Figures 
 
Figure 2-1 
Installation Initiation ........................................................................................................... 14 
Figure 2-2 
Splash Screen .................................................................................................................... 14 
Figure 2-3 
ECU Spectrum installation step 1....................................................................................... 15 
Figure 2-4 
ECU Spectrum installation step 2....................................................................................... 15 
Figure 2-5 
ECU Spectrum installation step 3 ...................................................................................... 16 
Figure 2-6 
ECU Spectrum installation step 4 ...................................................................................... 16 
Figure 2-7 
ECU Spectrum installation step 5....................................................................................... 17 
Figure 2-8 
ECU Spectrum installation step 6....................................................................................... 17 
Figure 2-9 
ECU Spectrum installation step 7....................................................................................... 18 
Figure 2-10 
ECU Spectrum installation step 8....................................................................................... 19 
Figure 2-11 
ECU Spectrum installation step 9....................................................................................... 19 
Figure 2-12 
ECU Spectrum Overview ................................................................................................... 20 
Figure 3-1 
Creating New Project ......................................................................................................... 22 
Figure 3-2 
Adding New Module Instance ............................................................................................ 23 
Figure 3-3 
GUI for Configuration ......................................................................................................... 23 
Figure 3-4 
Parameter Configuration .................................................................................................... 24 
Figure 3-5 
Distinguish Between Containers ........................................................................................ 25 
Figure 3-6 
Validation ........................................................................................................................... 26 
Figure 3-7 
Description File Generation ............................................................................................... 27 
Figure 4-1 
Generation Tool Overview ................................................................................................. 29 
Figure 4-2 
MCAL Generator installation step 1 ................................................................................... 31 
Figure 4-3 
MCAL Generator installation step 2 ................................................................................... 32 
Figure 4-4       MCAL Generator installation step 3 ................................................................................... 32 
Figure 4-5       MCAL Generator installation step 4 ................................................................................... 33 
Figure 4-6       MCAL Generator installation step 5 ................................................................................... 33 
Figure 4-7       MCAL Generator installation step 6 ................................................................................... 34 
Figure 4-8       MCAL Generator installation step 7 ................................................................................... 34 
Figure 4-9       MCAL Generator installation step 8 ................................................................................... 35 
Figure 4-10     MCAL Generator installation step 9 ................................................................................... 35 
Figure 4-11     MCAL Generator installation step 10 ................................................................................. 36 
Figure 4-12     MCAL Generator installation step 11 ................................................................................. 36 

 
 
 
 
 
 
List Of Tables 
 

Table 5-1 
Compiler, Linker And Assembler Version Details .............................................................. 43 
Table 5-2 
Compiler Options ............................................................................................................... 43 
Table 5-3 
Linker Options .................................................................................................................... 44 
Table 5-4 
Assembler Options ............................................................................................................ 45 
Table 6-1 
CAT1 and CAT2 Naming Convention ................................................................................ 57 
Table 6-2 
List of ISR Names that need to be configured and published in Os.h ....................................  
                        (CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver .............................. 58 
 
 

 
 
 


 
 
 
 
 
 
 
 
10 

 Introduction   
 
 
 
 
 
 
 
 
      Chapter 1
 
 
 
 
Chapter 1 
Introduction 
 
 
 
 
This document describes the information about installation, usage of ECU 
Configuration Editor (ECU Spectrum), MCAL Code Generator Tool and 
references to Sections in the Component User Manuals that helps the user 
reference for building the executable. 
 
ECU Spectrum is a tool that dynamically generates GUI controls for specified 
AUTOSAR components according to ECU Configuration Parameter Definition 
File and generates ECU Configuration Description file complying with 
AUTOSAR standards. 
 
MCAL Code Generator Tool is a command line tool that accepts ECU 
Configuration Description File(s), BSWMDT File and Configuration XML File 
as input and generates the C source and header files based on the 
configuration of the module. 
11 

Chapter 1 
                                                                                                                    Introduction 
 
 
 
 
 
 
 
12 

ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
Chapter 2 
 
 
 
 
Chapter 2 
ECU Configuration Editor (ECU 
 
Spectrum) 
 
 
 
 
2.1. 
Installation Of ECU Configuration Editor (ECU 
 
Spectrum) 
 
 
The Following procedure is to be followed for proper installation of the 
software: 
 
Copy all the files from the installation disk to a separate folder on to the hard 
disk of the computer on which the application is to be installed (recommended 
but not mandatory). Initialize the ‘setup.exe’ file (This can also be done by 
directly clicking on the same file in the installation disk). 
 
An Install Shield application is invoked which guides the user throughout the 
installation of the software. 
 
The ECU Spectrum installation Disk1 consists of the following files: 
 
• 
data1.cab 
 
• 
data1.hdr 
 
• 
data2.cab 
 
• 
engine32.cab 
 
• 
layout.bin 
 
• 
setup.bmp 
 
• 
setup.exe 
 
• 
setup.ibt 
 
• 
setup.ini 
 
• 
setup.inx 
 
• 
setup.skin 
 
 
The user is recommended to take backup of the installation disk before 
proceeding with the actual installation. Due to certain reasons if the installation 
procedure is aborted, the backup can be used. 
 
The installation procedure is divided into ten steps. The details of all the steps 
are given below. 
13 



Chapter 2                                                                             ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
Step 1: 
 
 
 
 
 
 
 
Figure 2-1 
Installation Initiation 
 
Run ‘setup.exe’ by double clicking on the setup.exe icon. This operation shows 
the progress indication dialog as shown in the above Figure 2-1. After 
displaying above Figure 2-1, for few minutes ECU Spectrum splash screen will 
appear. 
 
 
 
 
Figure 2-2 
Splash Screen 
 
 
After displaying splash screen for few seconds following 'Preparing Setup' 
dialog box appears (Refer Figure 2-3). 
 
 
 
14 






ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
Chapter 2 
 
 
 
 
Figure 2-3 
ECU Spectrum installation step 1 
 
Step 2: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 2-4 
ECU S  pectrum installation step 2 
 
After completion of the above operation, another dialog box is displayed (Refer 
Figure 2-4) in order to get confirmation from the user to proceed with the 
installation. The user can cancel the installation of software by selecting 
‘Cancel’ button’. To proceed with the installation select ‘Next’ button. 
 
 
 
 
 
 
 
 
 
 
15 



Chapter 2                                                                             ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
Step 3: 
 
 
 
Figure 2-5 
ECU Spectrum installation step 3 
 
 
On selecting ‘Next’ button in Step 2, a dialog box is invoked displaying the 
license agreement. If the terms and conditions of the agreement are 
acceptable then select ‘Yes’ button else select ‘No’ button to abort the 
installation. The user can select ‘Back’ button in order to modify previously 
made settings. (Refer Figure 2-5) 
 
 
Step 4:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
                                           
Figure 2-6 
ECU Spectrum installation step 4 
 
 

16 



ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
Chapter 2 
 
 
Step 5: 
 
‘Customer Information’ dialog is displayed. Enter the User Name, Company 
Name and Serial Number and click on ‘Next’ button to proceed for further 
installation procedure. (Refer Figure 2-6) 
 
 
 
Figure 2-7 
ECU Spectrum installation step 5 
 
Dialog box is displayed for user registration confirmation. Check the appeared 
user registration information, if yes click on ‘Yes’ button. (Refer Figure 2-7). If 
not click on ‘No’ and re-enter the user registration information. 
 
Step 6:
 
 
 
 
Figure 2-8 
ECU Spectrum installation step 6 
17 


Chapter 2                                                                             ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
Next, a dialog box allowing the user to select the destination folder is 
displayed (Refer Figure 2-8). The default directory for installation selected by 
the Install shield is C:\Program Files\ECU Spectrum R3.0. However the user 
can select the folder for installation of his/her choice using the ‘Browse’ 
button. The user can cancel the installation of software by selecting 'Cancel' 
button and click on 'Next' button to proceed for further installation procedure. 
 
 
Step 7: 
 
 
 
 
Figure 2-9 
ECU Spectrum installation step 7 
 
Next, a dialog box allowing the user to select the program folder is displayed. 
By default, the name of the folder is ‘ECU Spectrum R3.0’ and the user is 
allowed to change the folder name. (Refer Figure 2-9) 
 
Select ‘Next’ button to continue the installation and ‘Cancel’ button to abort the 
installation. 
18 



ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
Chapter 2
 
 
 
 
Step 8: 
 
 
 
 
Figure 2-10  ECU Spectrum installation step 8 
 
After selecting the appropriate folder for installation, the install wizard will 
display a dialog box displaying the status of the files being copied. (Refer 
Figure 2-10). 
 
The user is allowed to abort the installation by pressing ‘Cancel’ button. 
 
 
Step 9:
 
 
 
 
Figure 2-11  ECU Spectrum installation step 9 
 
After confirmation from the user for copying the files mentioned in Step 8, the 
install wizard will automatically install the ECU Spectrum application, based on  
 
 
19 

Chapter 2                                                                             ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
the selections made by the user. After completion of the installation procedure, 
a dialog gets displayed to intimating the user about completion of the 
installation process. (Refer Figure 2-11). 
 
 
Step 10: Click on ‘Finish’ button to complete the installation process. 
 
 
2.2. 
ECU Spectrum Input and Output Files 
 
 
 
 
ECU Spectrum takes ECU Configuration Parameter Definition File(s) as input. 
It reads the definitions, provides a generic interface to edit values for all the 
configuration parameters and generates the ECU Configuration Description 
file(s) in XML format. It resolves relatively simple dependencies explicitly 
defined in the ECU Configuration Parameter Definition file. On the Plug-In 
side, the user can choose the MCAL Code Generator Tool executable for the 
individual components that takes ECU Configuration Description File as input 
and generates the required ‘C’ source and header files. 
 
 
 
 
 
 
 
. ONE 
AUTOSAR 
 
 
X L
M   AUTOSAR 
 
 
XML 
 
 
 
ECU SPECTRUM 
PROJECT SETTING 
ECU 
 
FILE 
CONFIGURATION 
 
PARAMETER 
 
 
DEFINITION 
 
 
AUTOSAR 
X L
M   
 
AUTOSAR 
XML
 
 
 
MCAL CODE 
ECU 
GENERATOR 
 
TOOLS 
DESCRIPTION 
 
 
C FILE 
C FILE 
 
 
HEADER AND 
SOURCE FILES
 
 
 
 
Figure 2-12  ECU Spectrum Overview 
 
 
 
20 

Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
Chapter 3 
Configuration Using ECU    
Configuration Editor (ECU Spectrum) 
 
 
This section gives details about procedure for creating a new project, 
configuring the parameters, saving a project, validating the current GUI 
configuration and generating ECU Configuration Description file of ECU 
Spectrum. 
 
 
 
3.1. 
Creating New Project 
 
 
Creating a ‘New Project’ loads the modules from specified ECU Configuration 
Parameter Definition File into the Software. New Project is created using “File - 
> New Project” from the main menu. 
 
 
Steps to be followed: 
 
1.  Select “File -> New Project”. 
 
2.  Select the AUTOSAR Version. Default AUTOSAR version is 4.0.x. 
 
3.  Browse a valid Project Settings file name (of type ‘.one’). 
 
4.  Browse a valid ECU Configuration Parameter Definition File name (of type 
                                               ‘*.xml /*.arxml’). 
 
5.  Click on ‘OK’ button. 
 
6.  Follow step 4 to load more than one definition file. 
 
 
The modules available in the selected files get loaded into the software and it 
is saved in the specified Project Settings file location. Specified Project 
Settings File name is displayed on the title bar of the ECU Spectrum along with 
the respective AUTOSAR version. 
21 


Chapter 3                                         Configuration Using ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
 
 
 
 
 
 
Figure 3-1 
Creating New Project 
 
The modules available in the selected files get loaded into the Software and it 
is saved in the specified Project Settings location. Specified Project Settings 
file name is displayed on the Title bar of the Software. 
 
 
 
3.2. 
Configuration 
 
 
 
 
Right click on the module in the 'Left Selection View', a popup menu having 
'New Module’ option is displayed. On selecting this option, the instance of the 
module is created. The ECU Spectrum will assign a short name to the newly 
created module automatically. On selecting the newly created module, controls 
are displayed in the 'Right Configuration View' for configuration. Edit the data 
and validate the current GUI configuration. Errors/Warnings/Messages is 
displayed in the ‘Message Info’ window, if any. 
 
The user can configure any number of modules, containers, parameters, and 
references depending on the Multiplicity specified in the ECU Configuration 
Parameter Definition File. 
 
Right clicking on the instance of the module in 'Left Selection View', a popup 
menu having ‘Insert Copy’ ,‘Delete’ ,’Expand’ and ’Collapse’ option is 
displayed. Using ’Insert Copy’, the copy of selected element with configured 
values is inserted. ‘Insert Copy’ option is displayed in the pop up menu based 
on the multiplicity.  Using ‘Delete’, user can delete the selected element. 
‘Expand’ is used to expand the selected element and ‘Collapse’ is used to 
22 



Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
collapse the selected element. 
 
Existing Project Settings can be configured in following ways: 
 
1.  Right Click on the module and add an instance of the module. 
 
 
 
Figure 3-2 
Adding New Module Instance 
 
2.Click on the instance of the module, user will find a grid on right view for 
configuration. 
 
 
 
 
 
 
Figure 3-3 
GUI for Configuration 
23 


Chapter 3 
 
 
      Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
3.2.1.  Parameter Configuration 
 
Short Name, Definition Type, Lower multiplicity, Upper multiplicity, Minimum 
value, Maximum value, Implementation config class, Implementation config 
variant,  Default value and Long Name are displayed in ‘Attributes’ grid  and 
Description of the parameter is displayed in the ’Description’ display area on 
click of the parameter in the ‘Right Configuration View’ as shown in the 
following figure. Configure the parameter and press ‘ENTER’ button. Following 
are the types of the parameters: 
 
 
 
 
Figure 3-4 
Parameter Configuration 
 
 
 
3.2.2.  Distinguish Between Containers 
 
On selecting the newly created module in the ‘Left Selection View’, controls are 
displayed in the 'Right Configuration View' for configuration. Name of the 
containers gets displayed at the top of the ‘Right Configuration View’ as shown 
in the following figure. On selecting the container, Parameters and sub- 
containers gets displayed in the grid control as shown in the following figure. 
24 


Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
 
 
 
 
 
 
 
Figure 3-5 
Distinguish Between Containers 
 
 
 
3.2.3.  Save Project 
 
Using “File-> Save Project” menu item, current GUI configuration can be saved 
with specified Project Settings file name. 
 
 
 
 
 
 
3.2.4.  Validation 
 
The modules configuration can be checked for correctness and completeness 
in validation. Before generation of ECU Configuration Description, validate the 
configured values of the modules. Select “Project -> Validate” or press ‘F8’ key, 
25 


Chapter 3 
 
 
      Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
a current GUI configuration is validated and list of Errors/Warnings/Messages 
is displayed in the ‘Message Info’ window, if any. 
 
 
 
Figure 3-6 
Validation 
 
 
 
3.3. 
Generate ECU Configuration Description 
 
 
This generates the ECU Configuration Description File, which contains the 
configured values for Parameters, Containers and Modules. The generated 
ECU Configuration Description File format will be compliant with the 
AUTOSAR ECU specification standards. After validation of the configured 
values, to generate the ECU Configuration Description follow the below steps: 
 
1.  Select “Generate -> ECU Configuration Description”. 
 
2.  Check the ‘Select all’ Check box. 
 
3.  Specify the ECU Configuration Description File name (of type '*.xml/ 
                                               *.arxml’). 
 
4.  Click ‘Generate’ button 
 
 
 
 
 
 
 
 
 
 
 
 
 
26 


Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
 
 
 
 
 
 
Figure 3-7 
Description File Generation 
 
Successful generation message is displayed in the ‘Result’ display area. The 
ECU Configuration Description data for all modules is generated at the 
specified location. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27 

Chapter 3 
 
 
      Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
28 






 Generation Tool                  
 
 
 
 
 
 
                   Chapter 4 
 
 
 
 
 
Chapter 4 
Generation Tool 
 
 
The MCAL Generator Tool is a template based code generator. The template language is 
Velocity  Scripting.  The  template  parsing  is  done  by  Apache  Velocity  engine.  MCAL 
Generator  Tool  will  generate  the  configuration  source  files  for  the  module  and  their 
respective variant specified along with the command line arguments.  
 
 
                                                                                          
 
ECU Configuration 
 
Description File 
 
 
 
and BSWMDT File 
Output header files and 
 
 
MCAL    
source files 
 
Generator 
 
Velocity template 
 
files for <MSN> 
Tool 
 
 
 
 
Configuration XML 
File 

 
 
 

Figure 4-1 
Generation Tool Overview 
 
 
 
 
4.1. 
ECU Configuration Description File 
 
 
This file will contain WDG Driver specific configuration information. This file 
should be generated by AUTOSAR specified Configuration Editor. 
 
4.2. 
Velocity template files 
 
They are interpreted by the MCAL Generator Tool in order to provide 
user input validation and generate the final output file needed by the 
AUTOSAR configuration chain. They are the "logic" of the MCAL Code 
Generator Tool. 
 
 
4.3. 
Configuration XML File 
 
 
This file is used to specify which velocity template to use and their location        
and the name of the output file generated. 
4.4. 
Usage 
 
 
This section provides the information regarding usage of the Generation 
Tool. It also provides the syntax of the command line arguments (input 
filenames and options). 
 
 
Generation Tool executable is invoked as shown below. 
 
29 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
MCALGenerator.exe<space><Description_File_Path><space><Module_Name
><space><AR_Package><space><Template_Path><space>–
o<space>[Output_Path]<space>–e<space>[Ecu_Variant]<space> 
–ref<space>[Reference_Module]<space>[Reference_Description_XML_File] 
 
Where, 
 
1.  Description_File_Path: The path to the description ARXML file. 
 
2.   Module_Name:  The  name  of  the  module  for  which  the  code  has  to  be 
generated. 
 
3.  AR_Package:  The  AR-Package  name  as  specified  in  the  Description  file. 
While specifying the AR_Package, the full path of the AR_Package is to be 
specified. See the example for more clarity. 
 
4.  Template_Path: The path to the module configuration files for the specified 
module. This path should also   contain the code generation templates. 
 
5.  The  “Output_Path”  is  an  optional  argument  to  specify  the  location  for  the 
generated  source  files.  The  argument      should  be  preceded  with  optional 
argument identifier –o 
For example:  –o configcode this  will  generate the code  in a folder  named 
“configcode”. 
 
If the output path is not specified, the source files will be generated in the 
folder where the MCALGenerator.exe is kept. 
 
6.  The “Ecu_Variant” is an optional argument to specify the variant model. The 
argument should be preceded with optional argument identifier –e. 
For example: –e 701372.This will generate the code for the variant 701372 
 
7.  The “Reference_Module” and “Reference_Description_XML_File” is an 
optional argument to specify the reference module and its corresponding 
xml file. As per our earlier concept, we had the module whose 
configuration files have to be generated and its reference module in the 
same XML file. But now, based on our  new mechanism, we can have the 
module whose configuration files has to be generated and its reference 
module in the same XML file or we can have the reference modules in a 
different XML file. Both the description file as well as the reference file 
should have the same ARPACKAGE name. The argument should be 
preceded with an optional argument identifier -ref. 
For example: -ref 
Dem0"..\..\X1X\common_platform\generic\stubs\4.0.3\Dem\config\Dem
_<Msn>.arxml" <Msn>_Impl 
 
4.5. 
Tool Installation Requirements 
 
 
The minimum hardware and software requirements for proper installation of 
Module Specific Generation Tool is listed below. This ensures optimal 
performance of the Tool. 
 
4.5.1.  Hardware Requirements 
 
 
 
Processor 
Pentium/equivalent processor @ 500 MHz or greater 
 
Memory 
RAM 64MB or greater 
 
Hard Disk Drive 
500 MB or greater storage capacity 
 
4.5.2.  Software Requirements 
30 
 


 Generation Tool                  
 
 
 
 
 
 
                   Chapter 4 
 
 
 
 
Operating System 
Microsoft Windows Platform 
 
4.5.3.  Limitations 
 
Command Line characters are limited to 128 depending upon the operating 
system. 
 
4.6. 
Tool Installation 
 
The installation procedure of MCAL Generation Tool is provided in the 
section below 
 
4.6.1.  Pre Requisite 
 
Module Specific Generation Tool executable runs on Windows platforms only. 
 
4.6.2.  Installation Steps 
 
Run ‘MCALCodegenerator_Installer’ by double clicking on the 
MCALCodegenerator_Installer.exe icon. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-2 
MCAL Generator installation step 1 
 
 
 
 
 
 
 
 
 
Select the option to select install or remove or update the software 
 
31 



Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-3 
MCAL Generator installation step 2 
 
 
Accept the software User Agreement 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-4 MCAL Generator installation step 3 
 
 

Fill the User Information 
 
 
32 
 



 Generation Tool                  
 
 
 
 
 
 
                   Chapter 4 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-5 MCAL Generator installation step 4 
 
 
Select the license file 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-6 MCAL Generator installation step 5 
 
 
 
33 



Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
The default directory for installation selected by the Install shield is 
C:\Renesas\CodeGenerator. However, the user can select the folder for installation of 
choice using the ‘Browse’ button.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-7 MCAL Generator installation step 6 
 
 
The license information based on the selected license file will be displayed. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Figure 4-8 MCAL Generator installation step 7 
34 
 



 Generation Tool                  
 
 
 
 
 
 
                   Chapter 4 
 
 
 
Click Install 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-9 MCAL Generator installation step 8  
 
Select the folder where the program shortcut to be placed 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-10 MCAL Generator installation step 9  
 
35 



Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-11 MCAL Generator installation step 10  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-12 MCAL Generator installation step 11 

 
Click on ‘Finish’ button to complete the installation process. 
36 
 

 Generation Tool                  
 
 
 
 
 
 
                   Chapter 4 
 
 
 
4.7. 
Tool Un-Installation 
 
 
To un-install, use the remove option in step 2 
 
4.8. 
Common Messages 
 
This section contains the list of error/warning/information messages 
 
which is common for AUTOSAR Renesas R3.2.2 and R4.0.3 X1x MCAL Driver 
module that is will be generated by the Generation Tool. 
 
4.8.1.  Error Messages 
 
ERR000001: File <File_Name> does not exist. 
 
This error occurs, if the input <File_Name> is not found. 
 
ERR000002: Name of the Generation Tool Configuration XML File is not 
given along with <-C/-CONFIG> option.
 
 
This error occurs, if the name of the Generation Tool Configuration XML File is 
not given along with <-C/-CONFIG> option. 
 
ERR000003: File <File name> is not as per XML standard. 
 
This error occurs, if the input <File name> is not as per XML standard. 
 
ERR000004: Cannot open the <Log file name> file. 
 
This error will occur, if unable to open the <Log file name> file. 
 
ERR000005: Name of output directory is not given along with <-O/- 
OUTPUT> option.
 
 
This error will occur, if the output directory name is not given along with <-O/- 
OUTPUT> option. 
 
ERR000006: Name of output directory is not given in OUTPUT-PATH tag 
in <File name>.
 
 
This error will occur, if the output directory is not given in OUTPUT-PATH tag in 
configuration file. 
 
ERR000007: The Generation Tool expects inputs. 
 
This error occurs, if the no option is provided in the command line and none of 
the option in the configuration file is set. 
 
ERR000008: The option <option> is not supported by the Generation 
Tool. The Generation Tool supports < -O/-OUTPUT, -Osrc , -Oinc, -H/-HELP,   -
L/-LOG, -C/-CONFIGFILE and -D/-DRYRUN>"   options.
 
 
This error will occur, if the invalid <option> is provided to the tool. 
 
ERR000009: Invalid output directory name <output directory name> as 
the file with same name exists.
 
 
This error will occur, if the <output directory name> already exists. 
 
ERR000010: Invalid output directory name <output directory name> 
Directory name should not contain any of \*\?\"\|\: characters.
 
 
This error will occur, if the <output directory name> path contains junk 
character. 
37 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000011: ECU Configuration Description File is not provided as input 
to the Generation Tool.
 
 
This error will occur, if the ECU Configuration Description File is not given in 
the command line or in configuration file. 
 
ERR000012: The input <File name> is not as per XML standard. Provide 
the ECU Configuration Description File as input on the command line.
 
 
This error will occur, if the ECU Configuration Description File is not as per 
XML standard. 
 
 
ERR000015: The 'device_name' tag should be present as child of 
'TRANSLATION-FILE-PATH'' tag in <File name>. 
 
This error occurs, if the device mentioned in ECU Configuration Description 
File is not present in 
 
'TRANSLATION-FILE-PATH’ tag in the <File name>. 
 
ERR000016: ‘DEVICE-FILE-PATH’ tag in <File name> is empty. 
 
This error occurs, if the translation file <File name> doesn’t have ‘DEVICE- 
FILE-PATH’ tags. 
 
ERR000017: The 'device_name’ tag should be present as child of 
‘DEVICE-FILE-PATH' tag in <File name>. 
 
This error occurs, if the device mentioned in ECU Configuration Description 
File is not present in 
 
‘DEVICE-FILE-PATH’ tag. 
 
ERR000018: Cannot create directory <output directory name>. 
 
This error occurs, if unable to create output directory <output directory 
name>. 
 
ERR000019: Cannot open <File name>. 
 
This error occurs, if unable to open <File name>. 
 
ERR000020: The macro label <macro label> should be unique in < 
translation file name> translation C Header File. 
 
This error occurs, if macro label is not unique in translation C Header File. 
 
ERR000021: The macro definition for <macro label> macro is not found 
in <translation file name> translation C Header File. The macro label 
format should be <label format>.
 
 
This error occurs, if macro definition is not found in translation C Header 
File. 
 
 
 
ERR000022: The macro value for <macro label> macro is empty in
 
<translation file name> translation C Header File. 
 
This error occurs, if macro label value is empty in translation C Header File. 
 
ERR000023: The macro definition for <macro value> macro is not found 
in input device specific C Header File(s).
 
 
This error occurs, if macro definition is not found in input device specific C 
38 
 

 Generation Tool                  
 
 
 
 
 
 
                   Chapter 4 
 
 
 
Header File(s). 
 
ERR000024: The macro value for <macro value> macro is empty in input 
device specific C Header File(s).
 
 
This error occurs, if macro value is empty in input device specific C Header 
File(s). 
 
ERR000025: Path <Configured Reference Path> provided for Bsw Module 
is incorrect.
 
 
This error occurs, if the reference provided for Bsw Module Component is 
incorrect. 
 
ERR000026: BSWMDT content is not present in the input file(s) for 
‘<Module Name>’ module. 
 
This error occurs, if the module specific BSWMDT content is not present in 
the input files. 
 
ERR000027: <MSN> BSWMDT File of either AUTOSAR R3.2 or R4.0 
should be given as input.
 
 
This error occurs, if the both R3.2 and R4.0 BSWMDT file given to the input to 
the generation tool. 
 
ERR000028: 'MODULE-DESCRIPTION-REF' element should be present in 
the description file of '<Module Name>' module.
 
 
This error occurs, if the MODULE-DESCRIPTION-REF element is not 
present module specific description file. 
 
ERR000029: AUTOSAR version of BSWMDT File and Module Description 
File is different. 
 
This error occurs, if the AUTOSAR version of the BSWMDT File and module 
description file is different. 
 
4.8.2.  Warning Messages 
 
WRN000001: As per AUTOSAR ECU Configuration Description File 
naming convention, the file extension should be '.arxml' for file.
 
 
This warning occurs, if ECU Configuration Description file having an 
extension other than ’.arxml’. 
 
4.8.3.  Information Messages 
 
INF000001: Tool Version: 
 
This is to display Tool Version for each execution of the tool. 
 
INF000002: Command line arguments: 
 
This is to display the command line arguments for each execution of the tool. 
 
INF000003: The valid inputs are provided below. 
 
This information occurs, if the command line option is not given. 
 
INF000004: Opened file <filename> at <time>. 
 
This information occurs, during opening the file. 
 
INF000005: Error(s) and Warning(s) detected. 
 
This information displays the number of errors and warnings. 
39 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
INF000006: Execution completed successfully. 
 
This information occurs, if the execution completed successfully. 
 
INF000007: Execution completed successfully with warnings. 
 
This information occurs, if the execution completed successfully with 
warnings. 
 
INF000008: Execution terminated due to command line errors. 
 
This information occurs, if the execution terminated due to command line 
errors. 
 
INF000009: Execution terminated due to error in the input file. 
 
This information occurs, if the execution terminated due to error in the input 
file. 
 
INF000010: Execution terminated due to error, during the structure 
generation in the output file.
 
 
This information occurs, if the execution terminated during structure 
generation in output file. 
 
4.9. 
BSWMDT File 
 
 
The BSWMDT File is the template for the Basic Software Module Description. 
Module specific Generation Tool uses “Common Published Information” from 
module specific BSWMDT file. BSWMDT file should not be updated manually 
since it is “Static Configuration” file. 
 
 
The required elements from BSWMDT File by module specific Generation 
Tool is as follows: 
 
BSW-MODULE-DESCRIPTION 
 
• 
MODULE-ID 
 
BSW-IMPLEMENTATION 
 
• 
SW-VERSION 
• 
 
• 
VENDOR-ID 
 
• 
AR-RELEASE-VERSION 
 
• 
VENDOR-API-INFIX 
 
In case of multiple driver support implementation, VENDOR-API-INFIX is 
mandatory. In case of single driver support implementation, VENDOR-
API- INFIX is not used. 
 
4.10.  User Environment Settings  
 
Edit and update user settings to SetEnv.bat file located at @ 
external\X1X\P1x-
C\common_family\Sample_Application\ghs\SetEnv.bat 
 
40 
 

 Generation Tool                  
 
 
 
 
 
 
                   Chapter 4 
 
 
 
Example 
Set MCAL Generator path 
SETMCAL_GEN_EXEC= 
C:\Renesas\CodeGenerator\code_generator\MCALGenerator.exe 
Set root folder 
 SET ROOT_FOLDER=U: 
Set GNU Make Path 
SET GNU_PATH="C:\Program Files (x86)\GnuWin32\bin" 
Set Compiler install directory 
 
SET COMPILER_INSTALL_DIR="C:\ghs\ comp_201517" 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
42 
 

Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
 
 
     
 
Chapter 5 
Application Example 
 
 
 
 
5.1. 
Folder Structure 
 
 
Refer Section “Integration and Build Process” in the respective component 
User Manuals. 
 
 
5.2. 
Compiler, Linker and Assembler 
 
This section provides information about the details of Compiler, Linker and 
Assembler used for building the MCAL Driver Component. 
 
Table 5-1 
Compiler, Linker And Assembler 
Version Details 
 
Details 
Version 
Workbench Version 
Green Hills Multi V6.1.6 
Compiler Version 
GreenHills C V6.1.6 Compiler Version V2015.1.7 
Linker Version 
ELXR Version 2015.1.7 
Assembler Version 
EASE Version 2015.1.7 
 
In the batch file 
X1X/\<MICRO_VARIANT>/common_family/Sample_Application/<compiler>/S
etEnv.bat set the COMPILER_INSTALL_DIR="C:\ghs\comp_201517" 
according to the GHS installation path.  
 
5.2.1. Compiler 
 
The compiler switches used for building the MCAL Driver Component using 
 
Green Hills C Compiler versions are provided 
 
 
 
                            Table 5-2 
Compiler Options 
 
Option 
Meaning 
-cpu=rh850g3m  
Specifies a particular rh850g3m core target 
 
processor 
-prepare_dispose 
Instructs compiler to use the prepare and dispose 
instructions for function prologue and epilogue 
-no_callt 
Prevents the compiler from using the ‘callt’ 
instruction even when compiling for V850E 
-sda=all 
Small data memory model allows access to 64KB 
RAM and 64KB ROM 
-reserve_r2 
Reserves r2 register for use by the user 
-gsize 
Controls use of the gsize utility to determine the 
-Osize 
siz
E e
na  of the
bles o  output
ptimizati  e
o x
n  e
f c
or utable
 size  . 
-g 
Generates source level debugging information 
43 

Chapter 5                                                                                                              Application Example                                                                       
 

 
 
 
 
 
   
Option 
Meaning 
-Wundef 
Enables the warning that is issued for undefined 
symbols in preprocessor expressions 
-c 
Produces object file for each source file 
-passsource 
Controls the interleaving of your original source 
code with the generated 
-Wshadow 
ass
Co em
ntr bl
olsy
   c
a  ode
war . 
ning that is issued if the 
declaration of a local variable shadows the 
declaration of a variable of the same name 
declared at the global scope, or at an outer 
scope. 
-nofloatio 
Controls the use of floating-point in stdio 
operations. Off (-nofloatio) 
--prototype_errors 
Controls the treatment of functions that are 
referenced or called when no prototype has been 
provided. Errors (--prototype_errors) 
--diag_error 193 
Sets the specified diagnostics message to the 
level of error 
-dual_debug 
Enables the generation of DWARF, COFF, or 
BSD debugging information in the object file 
--no_commons 
Allocates uninitialized global variables to a 
section and initializes them to zero at program 
startup. 
-fsoft 
Specifies software floating-point (SFP) mode, in 
which the compiler uses integer registers to hold 
floating-point data and generates library 
subroutine calls to emulate floating-point 
operations, regardless of the capabilities of the 
selected processor. 
-
Do not save the CTPSW and CTPC registers in 
ignore_callt_state_in_inte interrupt routines generated by the compiler. 
rrupts 
-large_sda 
Generate 23-bit SDA relocations for load/store 
instructions- Increases the size of the SDA to 8 
MB. 
-shorten_loads 
Convert 23-bit SDA relocations to 16-bit in 
load/store instructions when possible 
-shorten_moves 
Convert 32 and 48-bit move relocations to 16-bit 
in move instructions when possible 
-delete 
Controls the removal from the executable of 
functions that are unused and unreferenced 
 
5.2.2. Linker 
 
The linker switches used for building the MCAL Driver Component using Green 
Hills Linker are provided. The memory placements can be done using the linker 
file. 
 
 
 
 
 
 
 
                           Table 5-3 
Linker Options 
44 
 

Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
 
Option 
Meaning 
Same as Compiler 

options 
 
 
5.2.3. Assembler 
 
The Assembler settings used for WDG Driver component is as follows: 
 
                          Table 5-4 
Assembler Options 
 
Option 
Meaning 
Same as Compiler 

options apart -c 
 
 
 
5.3. 
Batchfile Description 
 
Batch file is available in the folder 
X1X/\<MICRO_VARIANT>/common_family/Sample_Application/\<compiler

The file is: 
 
• SampleApp.bat 
 
Usage: 
SampleApp.bat Msn Variant Compile_Option 
Msn - Module Short Name to be generated e.g. Port, Can, Adc, All.. 
Variant - Device variant e.g. 701372… 
Compile_Option - clean/build/generate. 
clean for clean 
build for incremental build 
generate for code generation    
Note: If Compile_Option is left blank, then batch will clean, generate and 
compile files. 
 
 
5.4. 
Makefile Description 
 
 
 
 
Makefile is available in the folder “X1X\< MICRO_VARIANT 
>\modules\<msn>\sample_application\make\<compiler>”.  
The Makefiles with the guidelines provided in AUTOSAR BSW Makefile 
Interface Specification, which enables easy integration with other components 
and the application. 
 
The files is: 
 
 
• App_<Msn>_<MICRO_VARIANT>Sample.mak  
(Contains the device specific instructions). 
 
 
45 

Chapter 5                                                                                                              Application Example                                                                       
 

 
 
 
 
 
   
 
 
 
 
5.4.1.  App_<Msn>_<variant>_Sample.mak 
 
############################################################## 
 
# Makefile to compile and build the Sample application with the AUTOSAR 
<MSN> # 
 
# Driver Component (For Test purposes only) 

 
# Compatible with GNU Make 3.81 for Win32.                                   # 
 
############################################################## 
 
 
############################################################## 
 
# Definitions of global environment variables 
   # 
 
############################################################## 
 
#Get name of the current application 
 
CURRENT_APPL = App_<Msn> 
 
 
# Get the project directory into variable "PROJECT_ROOT" 
 
PROJECT_ROOT = $(shell cd)\..\..\..\..\..\.. 
 
COMMON_SAMPLE_CORE_PATH =     
$(PROJECT_ROOT)\$(MICRO_FAMILY)\common_platform 
                                  \modules\<Msn>\sample_application 
                            
# Get the current working directory into variable "SAMPLE_ROOT_PATH" 
SAMPLE_ROOT_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules
<Msn>\sample_application\$(MICRO_SUB_VARIANT) 
 
# Get the current working directory into variable "STUBS" 
STUBS_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY) 
                                                                           \common_platform\generic 
                                  \stubs\$(AUTOSAR_VERSION) 
 
# Get current configuration path 
 
<MSN>_CONFIG_PATH = 
$(SAMPLE_ROOT_PATH)\$(AUTOSAR_VERSION) 
 
 
# Get ARXML path 
 
                                       ARXML_CONFIG_PATH =  $(PROJECT_ROOT) 
                                                                                  \$(MICRO_FAMILY)\$(MICRO_VARIANT) 
                                                                                  \common_family\generator 
46 
 

Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
 
# Get BSWMDT path 
 
<MSN>_BSWMDT_CONFIG_PATH = $(PROJECT_ROOT) 
                                                                                                    \$(MICRO_FAMILY) 
                                                                                                    \$(MICRO_VARIANT) 
                                                                                                    \modules\<Msn>                                                                                                          
\generator 
 
# Get current configuration file path 
 
<MSN>_CONFIG_FILE = $(MSN_CONFIG_PATH) \config 
                                         \App_<MSN>_$(MICRO_SUB_VARIANT)_ 
                                         $(DEVICE_NAME)_Sample.arxml 
 
                              # Path to ECUM Configuration File which is required for this module 
ECUM_CONFIG_PATH = $(STUBS_PATH)\EcuM 
 
ECUM_CONFIG_FILE = "$(ECUM_CONFIG_PATH)\xml\EcuM_Icu.arxml" 
endif 
 
# Path to BSWMDT Configuration File which is required for MSN Sample                   
Application 
 
                                         ifeq ($(AUTOSAR_VERSION), 3.2.2) 
                                        MSN_BSWMDT_CONFIG_FILE =                     
"$(MSN_BSWMDT_CONFIG_PATH)\R322_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml" 
                                         else 
                                         ICU_BSWMDT_CONFIG_FILE =          
"$(MSN_BSWMDT_CONFIG_PATH)\R403_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml" 
                                         endif 
                               
                                         # Version check for inter modules required 
                                        MSN_VERSION_CHECK_REQ = yes 
 
# Database to be linked together with the current application 
 
# Define 'no' to isolate database from the application 
 
<MSN>_DBASE_REQ = yes 
 
 
# Get the name of the SRECORD file 
 
 
                                        CURRENT_APPL_SRECORD = 
                                         $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample 
 
# Name of the database if generated separately 
 
<MSN>_DB = <Msn>_PBcfg 
 
 
############################################################## 
 
# Final executable 

 
############################################################## 
 
EXE = $(CURRENT_APPL)_ MICRO_ 
<SUB_VARIANT>_Sample.$(EXE_FILE_SUFFIX) 
47 

Chapter 5                                                                                                              Application Example                                                                       
 

 
 
 
 
 
   
LIBRARIES_TO_BUILD = 
OBJECTS_LINK_ONLY = 
 
OBJECT_OUTPUT_PATH  = $(SAMPLE_ROOT_PATH)\obj\ghs 
GENERATED_SOURCE_FILES = 
CC_FILES_TO_BUILD = 
 
CPP_FILES_TO_BUILD = 
ASM_FILES_TO_BUILD = 
 
 
CC_INCLUDE_PATH = 
CPP_INCLUDE_PATH = 
ASM_INCLUDE_PATH = 
 
 
PREPROCESSOR_DEFINES = 
 
 
LIBRARIES_LINK_ONLY = 
DIRECTORIES_TO_CREATE = 
DEPEND_GCC_OPTS = 
 
 
MAKE_CLEAN_RULES = 
MAKE_GENERATE_RULES = 
MAKE_COMPILE_RULES = 
MAKE_DEBUG_RULES = 
MAKE_CONFIG_RULES = 
MAKE_ADD_RULES = 
 
 
MAKE_DEBUG_RULES = 
MAKE_ CONFIG_RULES = 
MAKE_ADD_RULES = 
 
MAKE_DEBUG_RULES += debug_base_make 
 
STD_LIBRARY = 
 
LNKFILE = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<msn
>\sample_application\make\ghs\$(CURRENT_APPL)_$(MICRO_SUB_VARIA
NT)_$(DEVICE_NAME)_Sample.ld 
 
LNKFILE_DB = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<ms
n>\sample_application)\make\ghs\$(CURRENT_APPL)_$(MICRO_SUB_VARI
ANT)_$(DEVICE_NAME)_Sample_db.ld 
48 
 

Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
 
 
                           .PHONY: MAKE_CLEAN_RULES MAKE_GENERATE_RULES  
                           MAKE_COMPILE_RULES \ 
                           MAKE_DEBUG_RULES MAKE_CONFIG_RULES MAKE_ADD_RULES 
 
############################################################## 
 
# Modules to be included in the project 

 
############################################################## 
 
############################################################## 
# Sample Application 
 

 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_Defs.mak 
 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_rules.mak 
 
 
SAMPLE_CORE_PATH = $(SAMPLE_ROOT_PATH) 
 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_defs.mak 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_rules.mak 
 
 
############################################################## 
 
############################################################## 
 
############################################################## 
 
 
# DET Module Core Path 
 

 
#DET_CORE_PATH = $(STUBS_PATH)\Det 
 
#include $(DET_CORE_PATH)\make\det_defs.mak 
 
#include $(DET_CORE_PATH)\make\det_rules.mak 
 
############################################################## 
 
############################################################## 
 
 
# OS Module Core Path 
 

 
OS_CORE_PATH = $(STUBS_PATH)\os 
 include $(OS_CORE_PATH)\make\os_defs.mak 
 include $(OS_CORE_PATH)\make\ os_rules.mak 
49 

Chapter 5                                                                                                              Application Example                                                                       
 

 
 
 
 
 
   
 ############################################################# 
 
                              
                              
                                          ############################################################## 
                                          # ECUM Module Core Path 
                                          # 
                                          ECUM_CORE_PATH = $(STUBS_PATH)\EcuM 
                                          include $(ECUM_CORE_PATH)\make\ecum_defs.mak 
                                          include $(ECUM_CORE_PATH)\make\ecum_rules.mak 
                                          ############################################################## 
 
 ############################################################## 
 
 # Scheduler Manager Module Core Path 
 
 # 
 
 ifeq ($(AUTOSAR_VERSION), 3.2.2) 
 SCHM_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(SCHM_CORE_PATH)\make\schm_defs.mak 
 else 
 RTE_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(RTE_CORE_PATH)\make\rte_defs.mak 
 endif  
 ############################################################# 
 
 # <MSN> Driver Component 
 
 # 
 
<MSN>_CORE_PATH = 
 $(PROJECT_ROOT \$(MICRO_FAMILY)\  common_platform 
 \modules\<msn> 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_defs.mak  
 include $(<MSN>_CORE_PATH)\make\renesas _<msn>_check.mak 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_rules.mak 
 
 
 ############################################################# 
 
 
############################################################## 
 
# Command to generate standalone database 

                             
$(MSN_DB).$(S_RECORD_SUFFIX):$(MSN_DB).$(OBJ_FILE_SUFFIX) 
$(LNKFILE_DB) 
@echo    ********************************************************************* 
                                         @echo Building the standalone database ...   
                                         $(DBLINKER) $(LNKFILE_DB) \ 
                                         "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(MAP_FILE_SUFFIX)" \ 
-o "$(OBJECT_OUTPUT_PATH)\$(MSN_DB).$(EXE_FILE_SUFFIX)" 
                                         @echo Generating Motorola S-Record file... 
                                         $(CONVERTER) $(SFLAGS)                                       
                                        
"$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(EXE_FILE_SUFFIX)" \ 
    
                              -o "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(S_RECORD_SUFFIX)" 
                                          @echo Done ... 
 
50 
 

Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
############################################################## 
################## 
 
$(<MSN>_DB).$(S_RECORD_SUFFIX):$(<MSN>_DB).$(OBJ_FILE_SUFFIX 
) $(LNKFILE_DB) 
 
@echo ********************************************************************* 
 
@echo Building the standalone database ... 
 
$(DBLINKER) $(LNKFILE_DB) \ 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(MAP_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" 
 
@echo Generating Motorola S-Record file... 
 
$(CONVERTER) $(SFLAGS) 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(S_RECORD_SUFFIX)" 
 
@echo Done ... 
 
                              
     
############################################################### 
 
# End of the Base Make script                                                  # 
############################################################### 
 
5.5. 
Integrating The <MSN> Driver Component  With 
 
Other Components 
 
This section explains the procedure to integrate the <MSN>Driver Component 
with other BSW components and the application. 
 
Depending on the various configurations, the following modules are required to 
be integrated with the <MSN>Driver Component: 
 
• 
<MSN>Interface (Folder ‘Sample_Application’ where the sample 
application  for <MSN> exists. The variable ‘<MSN>_CORE_PATH’ 
and the corresponding module Makefile names must be suitably 
changed in the base Makefile) 
 
 
• 
Development Error Tracer (Folder ‘Det’ where the DET module files exist. 
The variable ‘DET_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
Scheduler Manager (Folder ‘SchM’ where the SCHM module exists. 
The variable ‘RTE_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
MCU Interface (Folder ‘Mcu’ in the give example. The variables 
‘MCU_CONFIG_PATH’ and ‘MCU_CONFIG_FILE’ must be suitably 
changed in the module Makefile 
(Software_Source_Code\ssc\mak\renesas_<MSN>_rules.mak) and 
the base Makefile). 
 
51 

Chapter 5                                                                                                              Application Example                                                                       
 

 
 
 
 
 
   
 
All the above folders are given only as examples and they have to be 
replaced with actual component folders. It is assumed that every component 
has the corresponding module Makefiles. 
 
Apart from the above BSW components, few other folders are provided as 
mentioned below: 
 
• 
AUTOSAR Type definition Files (Folder ‘common\include’, where the 
header files containing standard definitions that are common to all 
components are placed. The variable ‘STUB_CORE_PATH’ and the 
corresponding module Makefile names must be suitably changed in the 
base Makefile) 
 
• 
RH850 specific Files (Folder ‘X1X\common_platform\generic\include’,where 
the header files that are common to all components but specific to Renesas 
V850 microcontroller are placed. The variable ‘ 
GENERIC_PLATFORM_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile) 
 
Compiler specific Files (Folder ‘compiler’, where the header files that are 
common to all components but specific to GreenHills Compiler are placed. 
The variable ‘COMPILER_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile). 
 
5.6. 
Building The <MSN> Driver Component 
 
 
This section explains the procedure to build the <MSN>Driver Component for 
any given configuration. 
 
The <MSN> Driver Configuration Description file (.arxml) has to be given as 
input to the <MSN> Driver Generation Tool. The tool generates output files 
namely <Msn>_Lcfg.c, <Msn>_PBcfg.c, <Msn>_Cbk.h and <Msn>_Cfg.h. 
 
 
Following variables must be defined in the base Makefile described in 
Section 5.2.1 (Makefile Description) 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
SPECIFIC_APPL_ROOT_PATH: Directory where the <MSN> sample 
application exists. 
 
• 
OBJECT_OUTPUT_PATH: Directory where the module specific output 
files are generated. 
 
• 
STARTUP_<family>_CORE_PATH: Core path for the variant specific 
statup files exist. 
 
• 
STUB_CORE_PATH: Core path for the stub files exist. 
 
• 
COMPILER_PATH: Directory where the compiler files exist. 
 
• 
DEVICE_FILE_PATH: Directory where the device files exists. 
 
• 
MSN_CORE_PATH: Core path for the <MSN> Driver Component 
folder. 
 
• 
MSN_TOOL_PATH: Directory where the module specific tool exe exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
52 
 

Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
be compiled and linked. 
 
• 
<MSN>_clean_generated_files: This target can be used to clean the 
configuration source and header files generated by the <MSN> Driver 
Generation Tool. 
 
• 
debug_<MSN>_makefile: This target can be used to print the debug 
information such as paths used by <MSN> Driver Component. 
 
• 
generate_<MSN>_config: This target can be used to invoke the <MSN> 
Driver Generation Tool which in turn takes the ECU Configuration 
Description files (App_<MSN>_<DEVICE_NAME>_Sample.arxml) as 
an input and generates the configuration source and header files. 
 
 
Following variables must be defined in the Module Makefile described in
 
Section 5.2.1 (Makefile Description): 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
MSN_CONFIG_PATH: Configuration path for description file of the 
<MSN> Driver Component. 
 
• 
MSN_CONFIG_FILE: Name of the <MSN> Driver Component description 
file. 
 
• 
STUB_CONFIG_PATH: Configuration path for description file of the stub. 
 
• 
MCU_CONFIG_FILE:  Name of the MCU Driver Component description 
file. 
 
• 
ARXML_CONFIG_PATH: ARXML Configuration file path used for the 
 
 
 
        <MSN> Driver Component. 
 
• 
ARXML_CONFIG_FILE: ARXML Configuration file used for the <MSN> 
    Driver Component. 
 
• 
BSWMDT_CONFIG_PATH: Path for <MSN> BSWMDT file. 
 
• 
BSWMDT_CONFIG_FILE: Name of the <MSN> BSWMDT file. 
 
• 
GENERIC_STUB_PATH: Directory where the generic stub exist. 
 
• 
GENERIC_PLATFORM_PATH: Directory where the generic platform 
files exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_DB: Name of the Post-build configuration file. 
 
The above mentioned variables must be used by the user to build the base 
Makefile. 
 
A sample base Makefile (App_<MSN>_ <MICRO_SUB_VARIANT> 
_Device_Sample.mak) has been provided with the product for reference. 
This file can be modified to suit the developer’s needs. 
 
The targets that are supported in the base Makefile enable the user in build 
and cleanup activities during/after the build process. They are listed below: 
 
 
 
 
53 

Chapter 5                                                                                                              Application Example                                                                       
 

 
 
 
 
 
   
5.6.1.  Targets Supported By The Sample Base Makefile 
 
5.6.1.1.  debug_base_make 
 
Invoking the Make utility and passing “debug_base_make” as a parameter 
prints all the variables that are used in the base Makefile. This can be used to 
print various paths and file names to see if they are correct. 
 
5.6.1.2.  clean_objs 
 
Invoking the Make utility and passing “clean_objs” as a parameter deletes all 
the object files from the output folder 
(“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT >\obj” in this case). 
 
5.6.1.3.  clean 
 
Invoking the Make utility and passing “clean” as a parameter deletes tool 
generated files in the configuration output folders 
(“X1X\<MICRO_VARIANT>\modules\<msn>\sample_application\< 
MICRO_SUB_VARIANT>\src” and 
 
“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\include”in this case) 
 

5.6.1.4.  clean_all 
 
Invoking the Make utility and passing “clean_all” as a parameter deletes all 
files such as object file, list files and map files from the output folder 
(“X1X\< MICRO_VARIANT > 
          \modules\<msn>\sample_application\< MICRO_SUB_VARIANT           
>\obj” in this case). 
 
5.6.1.5.  generate_<msn>_config 
 
Invoking the Make utility and passing “generate_<MSN>_config” as a 
parameter invokes the <MSN> Driver Generation Tool. The tool takes the 
ECU Configuration Description File(s) (“X1X\< MICRO_VARIANT 
>\modules\<msn>\Sample_application\<MICRO_SUB_VARIANT> 
   \ AUTOSAR_VERSION 
 
config\<MSN>_Sample_ <MICRO_SUB_VARIANT>\.arxml” as input and 
generates the output files in folders 
 
“X1X\< MICRO_VARIANT >\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \src” and 
 
“X1X\< MICRO_VARIANT >1\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \include”). 
 
 
5.6.1.6.  App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out 
 
Invoking the Make utility and passing “Sample.out” as a parameter invokes the 
compiler and linker sequentially. Then it generates the executable 
“App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out”. 
 
5.6.1.7.  <Msn>_PBcfg.s37 
 
Invoking the Make utility and passing “<Msn>_PBcfg.s37” as a parameter 
invokes 
the compiler and linker sequentially and generates the Motorola S-Record file 
“<Msn>_PBcfg.s37” in the output folder. 
54 
 

Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
     
This scenario typically arises when post-build parameters are modified and 
only the database needs to be flashed into the device without disturbing the 
other ROM contents. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55 

Chapter 5                                                                                                              Application Example                                                                       
 

 
 
 
 
 
   
 
 
 
 
 
 
 
 
 
 
 
 
 
56 
 

Support For Different Interrupt Categories           
 
 
 
 
    Chapter 6                                                                                       
 
 
 
 
 
 
 
 
 
 
     
 
 
Chapter 6  Support For Different Interrupt Categories 
 
 
 
The <MSN> Driver supports CAT1 and CAT2 interrupt categories: 
 
CAT1 
 
In  CAT1  type  of  interrupt  ISR  does  not  use  an  operating  system  service.  In 
practice, the OS does not handle these interrupts, and the interrupt handler is 
implemented  in  the  driver  code,  with  the  only  restriction  that  OS  services 
cannot be called. Typically, these are the fastest highest priority interrupts. 
 
CAT2 
 
In  CAT2 type  of  interrupt wherein the  ISR  is  handled by  the  system and  OS 
calls can be called from the handler. 
 
For CAT1 and CAT2, the selection of interrupt category is for each interrupt in 
the module. Individual MCAL module does not contain any option for interrupt 
category configuration. The user has to configure the ISR category in OS and 
also  to  use  the  right  MCAL  specified  name  and  MCAL  expects 
"ISR(INTERRUPT_NAME)" keyword defined in OS in case of CAT2. 
 
Notes  1.   The understanding is Os module does not publish short name handles for 
CAT1 OsIsr container. But it should be defined in the interrupt vector table 
by the OS. 
 
2.   The understanding is that Os module should publish short name handles 
for CAT2 OsIsr container according to ecuc_sws_2108 requirement by 
adding the Os_" pefix to the configured interrupt name. 
 
 
Reference between the <MSN> module and OS: 
 
<Msn> module's <Module>_Irq.c/h files include "Os.h" header file to obtain the 
interrupt  category  information  configured  in  the  OS.  Therefore  following  pre- 
processor  definitions  are  expected  to  be  published  in  Os.h  file  by  the  OS  in 
case of CAT2 or to be used in the interrupt vector table in case of CAT1. 
 
 
Table 6-1  CAT1 and CAT2 Naming Convention 
 
Interrupt Category 
Naming Convention 
CAT1 
<MCAL_INTERRUPT_NAME>_ ISR 
CAT2 
<MCAL_INTERRUPT_NAME>_CAT2_ISR 
CAT2 (In case the handles of 
Os_<MCAL_INTERRUPT_NAME>_CAT2_ISR 
the OsIsr container are 
generated without ‘Os_’ prefix 
by Os generation tool) 
 
 
57 

 Chapter 6                                                                          Support For Different Interrupt Categories 
 
 
 
MCAL in Stand Alone:
 
 
In  case  if  the  MCAL  modules  are  to  be  used   stand  alone  without  having 
standard Autosar Os module, the user has to prepare an Os.h stub file with the 
published  handles  only  for  those  interrupt  names  which  are  to  be  used  as 
CAT2. 
 
Table 6-2 
List of ISR Names that need to be configured and published in Os.h 
(CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver 
 
 
 
 
 
 
CAT2(In case the handles of the 
 
 
Sl. 
OsIsr container are generated 
CAT1 
CAT2 
No. 
without ‘Os_’ prefix by Os 
generation tool)
 

<MSN>n_SGm_ISR 
<MSN>n_SGm_CAT2_ISR 
Os_<MSN>n_SGm_CAT2_ISR 

<MSN>_DMA_CHxy_ISR 
<MSN>_DMA_CHxy_CAT2_ISR 
Os_<MSN>_DMA_CHxy_CAT2_IS 

 
Where 
 
‘n’ indicate HW Unit number 
 
‘m’ indicate SG Unit number 
 
‘xy’ indicate DMA channel Id number 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58 


GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 7 
 
 
Chapter 7 
GNU MAKE Environment 
 
Every component is delivered with the necessary Make scripts that are 
required to integrate the component with the application. The scripts are 
compatible with GNU Make version 3.81. 
 
 
All the delivered Makefiles have to be included in the project level base 
Makefile in order to build the component together with the application. Refer 
section “Integration and Build Process” of the respective component User 
Manuals for more information on the Makefile variables and their usage. 
 
 
 
7.1. 
Build Process With GNUMAKE 
 
 
When the batch file of certain application is built, the GNU Make utility will be 
searched by batch file. The GNU Make utility should be present in the default 
path specified by GNUMAKE\PATH variable. By making use of the GNU Make 
utility the batch file will be compiled. 
 
 
 
7.2. 
Build Process Without GNUMAKE 
 
 
If GNU Make utility is not present at the default path or present in some other 
directory the following procedure is followed to set the Environmental variable 
GNUMAKE\PATH. 
 
1.   Right click on “My Computer” select properties, user will find System 
Properties. 
 
 
59 



Chapter 7  
 
 
 
 
 
 
 
    GNU MAKE Environment 
 
 
2.   In System Properties select “Advanced” option, user will find 
“Environmental Variables” at the bottom side of window. 
 
 
 
 
3.   Click on “Environmental Variables”, user will find “Environment Variables” 
window in that, select “New”. 
 
 
60 


GNU MAKE Environment  
 
 
 
 
 
 
 
     Chapter 7 
 
 
 
4.   After step 3, user can find “New User Variable” window with “Variable 
name” and “Variable path” options which needs to be set, Variable name 
will be set as GNUMAKE and Variable path is the path of the directory 
where GNU Make utility is present and click ok. 
 
 
 
 
5.   After step 4, in “System Properties” window click “Apply” and then “Ok”. 
 
Remark  GNU Make utility version 3.81 must be separately downloaded and installed to 
use the Makefiles delivered along with the component. More information on the 
utility can be found at http://www.gnu.org/ 
 
 
 
 
 
 
 
 
61 

Chapter 7  
 
 
 
 
 
 
 
    GNU MAKE Environment 
 
 
 
62 
 

Load Binaries                                                                                                                            Chapter 8
 
 
 
 
 
 
 
 
 
 
     
 
 
Chapter 8 
Load Binaries 
 
 
 
 
Once the Executable or S-Record is generated using the project level base 
Makefile, it needs to be downloaded into the target using a Flash programmer. 
 
The user has to read the instructions provided in the Flash programmer’s User 
Manual thoroughly before using it. 
 
 
63 

 Chapter 8                                                 
 
 
 
 
 
Load Binaries                                                                                                                                                                                                                                         
 
 
 
 
 
 
 
 
 
              
 
 
 
64 
 

   Appendix  
 
 
 
 
 
 
 
 
 
     Chapter 9                                                                                                                          
 
 
 
 
 
 
 
 
 
 
 
 
Chapter 9 
Appendix 
 
 
 
 
 
 
 
65 

Chapter 9   
 
 
 
 
 
 
 
 
 
      Appendix 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66 
 

 
 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
15-Sep-2014 
2. 
The following changes are made : 
1.0.1 
 25-Apr-2016 
1.  Added section 5.2. Compiler, Linker and Assembler in Chapter 5.   
2.  Added section 5.3. Batchfile Description in Chapter 5. 
3.  Supported device name changed throughout the document. 
4.  Added R-number to the document. 

The following changes are made: 
1.0.2 
17-Feb-2017 
1.  Added Section 4.10 – User Environment settings. 
2.  Removed Description of Translation XML file from Chapter 9 
3.  Updated Copyright year 
4.  Added example for reference in section 4.4 
5.  In Chapter 4 Figure 4-2 has been updated as per version change 
6.  Compiler Option Table updated  
7.  In Chapter 5 Section 5.4.1 Trxml changed to Arxml format 
8.  Chapter 9 Section 9.1 Configuration XML file remove since not 
relevant  
9.  Document name corrected in second last and last page 
 
67 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for P1x-C MCAL Driver User' Manual 
Version 1.0.2 
 
Publication Date: Rev.1.00, February 17, 2017 
 
Published by: Renesas Electronics Corporation 
 



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



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for P1x-C MCAL Driver 
 
User's Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 R20UT3828EJ0100 
 
 
 

Document Outline


36 - R20UT3828EJ0101-AUTOSAR

AUTOSAR MCAL R4.0 User's Manual

38 - R20UT3828EJ0101-AUTOSARs




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for 
P1x-C MCAL Driver 
 
 
User's 
 
 
  
Manual 
Version 1.0.3
 
 
 
Target Device: 
RH850/P1x-C 
 
 
 
 
 
 
 
 
All information contained in these materials, including products and product specifications, 
represents information on the product at the time of publication and is subject to change by 
Renesas Electronics Corp. without notice. Please review the latest information published by 
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. 
website (http://www.renesas.com). 
 
 
 
 
 
 
www.renesas.com 
Rev.1.01 May 2017 
 
 
 
 
 

 
 
 
 
 
 
                          2 

 
 
 
Notice 
 
 
1. 
Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of 
 
semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, 
 
software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and 
 
damages incurred by you or third parties arising from the use of these circuits, software, or information. 
 
2. 
Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other disputes involving patents, 
 
copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information 
 
described in this document, including but not limited to, the product data, drawing, chart, program, algorithm, application examples. 
 
3. 
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas 
 
Electronics or others. 
 
4. 
You shall not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics 
 
disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copy or 
 
otherwise misappropriation of Renesas Electronics products. 
 
 
5. 
Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The intended 
 
applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.  
 
"Standard":          Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment; 
 
home electronic appliances; machine tools; personal electronic equipment; and industrial robots etc. 
 
"High Quality":   Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication 
 
equipment; key financial terminal systems; safety control equipment; etc. 
 
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to human life or 
 
bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property damages (space and undersea 
 
repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any 
 
and all liability for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for which the 
 
product is not intended by Renesas Electronics. 
 
 
6. 
When using the Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, "General 
 
Notes for Handling and Using Semiconductor Devices" in the reliability handbook, etc.), and ensure that usage conditions are within the ranges 
 
specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat radiation characteristics, 
 
installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions or failure or accident arising out of the use of Renesas 
 
Electronics products beyond such specified ranges. 
 
7. 
Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have 
 
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further, Renesas 
 
Electronics products are not subject to radiation resistance design. Please ensure to implement safety measures to guard them against the 
 
possibility of bodily injury, injury or damage caused by fire, and social damage in the event of failure or malfunction of Renesas Electronics 
 
products, such as safety design for hardware and software including but not limited to redundancy, fire control and malfunction prevention, 
 
appropriate treatment for aging degradation or any other appropriate measures by your own responsibility as warranty for your products/system. 
 
Because the evaluation of microcomputer software alone is very difficult and not practical, please evaluate the safety of the final products or 
 
systems manufactured by you. 
 
8. 
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas 
 
Electronics product. Please investigate applicable laws and regulations that regulate the inclusion or use of controlled substances, including 
 
without limitation, the EU RoHS Directive carefully and sufficiently and use Renesas Electronics products in compliance with all these applicable 
 
laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with 
 
applicable laws and regulations. 
 
9. 
Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale 
 
is prohibited under any applicable domestic or foreign laws or regulations. You shall not use Renesas Electronics products or technologies for (1) 
 
any purpose relating to the development, design, manufacture, use, stockpiling, etc., of weapons of mass destruction, such as nuclear weapons, 
 
chemical weapons, or biological weapons, or missiles (including unmanned aerial vehicles (UAVs)) for delivering such weapons, (2) any purpose 
 
relating to the development, design, manufacture, or use of conventional weapons, or (3) any other purpose of disturbing international peace and 
 
security, and you shall not sell, export, lease, transfer, or release Renesas Electronics products or technologies to any third party whether directly 
 
or indirectly with knowledge or reason to know that the third party or any other party will engage in the activities described above. When 
 
exporting, selling, transferring, etc., Renesas Electronics products or technologies, you shall comply with any applicable export control laws and 
 
regulations promulgated and administered by the governments of the countries asserting jurisdiction over the parties or transactions. 
 
10.  Please acknowledge and agree that you shall bear all the losses and damages which are incurred from the misuse or violation of the terms and 
 
conditions described in this document, including this notice, and hold Renesas Electronics harmless, if such misuse or violation results from your 
 
resale or making Renesas Electronics products available any third party. 
 
11.  This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas 
 
Electronics. 
 
 
12.  Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas 
 
Electronics products. 
 
 
 
(Note 1)   "Renesas Electronics" as used in this document means Renesas Electronics Corporation and also includes its majority-owned 
 
subsidiaries. 
 
(Note 2)   "Renesas Electronics product(s)" means any product developed or manufactured by or for Renesas Electronics. 
 
 
 
 
.                                                                                                                                                                                                                   
 
 

 
   
 
 
 
3 

 
 


 
Abbreviations and Acronyms 
 
 
 
Abbreviation / Acronym 
Description 
ARXML/arxml 
AUTOSAR xml 
AUTOSAR 
Automotive Open System Architecture 
BSWMDT 
Basic Software Module Description Template 
<MSN> 
Module Short Name 
ECU 
Electronic Control Unit 
GUI 
Graphical User Interface 
MB 
Mega Bytes 
MHz 
Mega Hertz 
RAM 
Random Access Memory 
xml/XML 
eXtensible Markup Language 
<MICRO_VARIANT> 
P1x-C 
<MICRO_SUB_VARIANT>   P1H-C, P1M-C , P1H-CE 
AUTOSAR_VERSION 
4.0.3 
DEVICE_NAME 
Example :R7F701372EAFP 
 
 
 
Definitions 
 
 
 
Terminology 
Description 
.xml 
XML File. 
.one 
Project Settings file. 
.arxml 
AUTOSAR XML File. 
ECU Configuration 
The ECU Configuration Parameter Definition is of type XML, which contains the 
Parameter Definition File 
definition for AUTOSAR software components i.e. definitions for Modules, 
Containers and Parameters. The format of the XML File will be compliant with 
AUTOSAR ECU specification standards. 
ECU Configuration 
The ECU Configuration Description file in XML format, which contains the 
Description File 
configured values for Parameters, Containers and Modules. ECU Configuration 
Description XML File format will be compliant with the AUTOSAR ECU 
specification standards. 
BSWMDT File 
The BSWMDT File in XML format, which is the template for the Basic Software 
Module Description. BSWMDT File format will be compliant with the AUTOSAR 
BSWMDT specification standards. 
Configuration XML File 
Configuration XML File is in XML format, which contains command line 
options and options for input/output file path. 


 
 
6 

 
Table Of Contents 
 

Chapter 1  Introduction .................................................................... 11 
Chapter 2  ECU Configuration Editor (ECU  Spectrum) ................. 13 
2.1. 
Installation Of ECU Configuration Editor (ECU  Spectrum) ............................................... 13 
2.2. 
ECU Spectrum Input and Output Files ................................................................................. 20 
Chapter 3  Configuration Using ECU    Configuration Editor (ECU 
Spectrum)   ......................................................................................... 21
 

3.1. 
Creating New Project ............................................................................................................. 21 
3.2. 
Configuration .......................................................................................................................... 22 
3.2.1.  Parameter Configuration .............................................................................................. 24 
3.2.2.  Distinguish Between Containers .................................................................................. 24 
3.2.3.  Save Project................................................................................................................. 25 
3.2.4.  Validation ..................................................................................................................... 25 

3.3. 
Generate ECU Configuration Description ........................................................................... 26 
Chapter 4  Generation Tool .............................................................. 29 
4.1. 
ECU Configuration Description File .............................................................................................. 29 
4.2. 
Velocity template files .................................................................................................................. 29 
4.3. 
Configuration XML File .......................................................................................................... 29 
4.4. 
Usage ....................................................................................................................................... 29 
4.5. 
Tool Installation Requirements ............................................................................................. 30 
4.5.1.  Hardware Requirements .............................................................................................. 30 
4.5.2.  Software Requirements ................................................................................................ 31 
4.5.3.  Limitations .................................................................................................................... 31 

4.6. 
Tool Installation ...................................................................................................................... 31 
4.6.1.  Pre Requisite ............................................................................................................... 31 
4.6.2.  Installation Steps ......................................................................................................... 31 

4.7. 
Tool Un-Installation ................................................................................................................ 37 
4.8. 
Common Messages ............................................................................................................... 37 
4.8.1.  Error Messages ............................................................................................................ 37 
4.8.2.  Warning Messages ...................................................................................................... 39 
4.8.3.  Information Messages ................................................................................................. 39 

4.9. 
BSWMDT File .......................................................................................................................... 40 
4.10.  User Environment Settings ................................................................................................... 40 
Chapter 5  Application Example ...................................................... 43 
5.1. 
Folder Structure...................................................................................................................... 43 
5.2. 
Compiler, Linker and Assembler ......................................................................................... 43 
5.2.1.  Compiler ...................................................................................................................... 43 
5.2.2.  Linker ........................................................................................................................... 44 
5.2.3.  Assembler .................................................................................................................... 45 
5.3. 
Batchfile Description ............................................................................................................. 45 


 
5.4. 
Makefile Description .............................................................................................................. 45 
5.4.1.  App_<Msn>_<variant>_Sample.mak .......................................................................... 45 
5.5. 
Integrating The <MSN> Driver Component  With  Other Components ............................ 51 
5.6. 
Building The <MSN> Driver Component ............................................................................. 52 
5.6.1.  Targets Supported By The Sample Base Makefile ..................................................... 53 
Chapter 6  Support For Different Interrupt Categories .................. 55 
Chapter 7  GNU MAKE Environment ............................................... 57 
7.1. 
Build Process With GNUMAKE ............................................................................................. 57 
7.2. 
Build Process Without GNUMAKE ....................................................................................... 57 
Chapter 8  Load Binaries ................................................................. 61 
Chapter 9  Appendix......................................................................... 63 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
List Of Figures 
 
Figure 2-1 
Installation Initiation ........................................................................................................... 14 
Figure 2-2 
Splash Screen .................................................................................................................... 14 
Figure 2-3 
ECU Spectrum installation step 1....................................................................................... 15 
Figure 2-4 
ECU Spectrum installation step 2....................................................................................... 15 
Figure 2-5 
ECU Spectrum installation step 3 ...................................................................................... 16 
Figure 2-6 
ECU Spectrum installation step 4 ...................................................................................... 16 
Figure 2-7 
ECU Spectrum installation step 5....................................................................................... 17 
Figure 2-8 
ECU Spectrum installation step 6....................................................................................... 17 
Figure 2-9 
ECU Spectrum installation step 7....................................................................................... 18 
Figure 2-10 
ECU Spectrum installation step 8....................................................................................... 19 
Figure 2-11 
ECU Spectrum installation step 9....................................................................................... 19 
Figure 2-12 
ECU Spectrum Overview ................................................................................................... 20 
Figure 3-1 
Creating New Project ......................................................................................................... 22 
Figure 3-2 
Adding New Module Instance ............................................................................................ 23 
Figure 3-3 
GUI for Configuration ......................................................................................................... 23 
Figure 3-4 
Parameter Configuration .................................................................................................... 24 
Figure 3-5 
Distinguish Between Containers ........................................................................................ 25 
Figure 3-6 
Validation ........................................................................................................................... 26 
Figure 3-7 
Description File Generation ............................................................................................... 27 
Figure 4-1 
Generation Tool Overview ................................................................................................. 29 
Figure 4-2 
MCAL Generator installation step 1 ................................................................................... 31 
Figure 4-3 
MCAL Generator installation step 2 ................................................................................... 32 
Figure 4-4       MCAL Generator installation step 3 ................................................................................... 32 
Figure 4-5       MCAL Generator installation step 4 ................................................................................... 33 
Figure 4-6       MCAL Generator installation step 5 ................................................................................... 33 
Figure 4-7       MCAL Generator installation step 6 ................................................................................... 34 
Figure 4-8       MCAL Generator installation step 7 ................................................................................... 34 
Figure 4-9       MCAL Generator installation step 8 ................................................................................... 35 
Figure 4-10     MCAL Generator installation step 9 ................................................................................... 35 
Figure 4-11     MCAL Generator installation step 10 ................................................................................. 36 
Figure 4-12     MCAL Generator installation step 11 ................................................................................. 36 

 
 
 
 
 
 
List Of Tables 
 

Table 5-1 
Compiler, Linker And Assembler Version Details .............................................................. 43 
Table 5-2 
Compiler Options ............................................................................................................... 43 
Table 5-3 
Linker Options .................................................................................................................... 44 
Table 5-4 
Assembler Options ............................................................................................................ 45 
Table 6-1 
CAT1 and CAT2 Naming Convention ................................................................................ 55 
Table 6-2 
List of ISR Names that need to be configured and published in Os.h ....................................  
                        (CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver .............................. 56 
 
 

 
 
 


 
 
 
 
 
 
 
 
10 

 Introduction   
 
 
 
 
 
 
 
 
      Chapter 1
 
 
 
 
Chapter 1 
Introduction 
 
 
 
 
This document describes the information about installation, usage of ECU 
Configuration Editor (ECU Spectrum), MCAL Code Generator Tool and 
references to sections in the Component User Manuals that helps the user 
reference for building the executable. 
 
ECU Spectrum is a tool that dynamically generates GUI controls for specified 
AUTOSAR components according to ECU Configuration Parameter Definition 
File and generates ECU Configuration Description file complying with 
AUTOSAR standards. 
 
MCAL Code Generator Tool is a command line tool that accepts ECU 
Configuration Description File(s), BSWMDT File and Configuration XML File 
as input and generates the C source and header files based on the 
configuration of the module. 
11 

Chapter 1 
                                                                                                                      Introduction 
 
 
 
 
 
 
 
12 

ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
    Chapter 2 
 
 
 
 
Chapter 2 
ECU Configuration Editor (ECU 
 
Spectrum) 
 
 
 
 
2.1. 
Installation Of ECU Configuration Editor (ECU 
 
Spectrum) 
 
 
The Following procedure is to be followed for proper installation of the 
software: 
 
Copy all the files from the installation disk to a separate folder on to the hard 
disk of the computer on which the application is to be installed (recommended 
but not mandatory). Initialize the ‘setup.exe’ file (This can also be done by 
directly clicking on the same file in the installation disk). 
 
An Install Shield application is invoked which guides the user throughout the 
installation of the software. 
 
The ECU Spectrum installation Disk1 consists of the following files: 
 
• 
data1.cab 
 
• 
data1.hdr 
 
• 
data2.cab 
 
• 
engine32.cab 
 
• 
layout.bin 
 
• 
setup.bmp 
 
• 
setup.exe 
 
• 
setup.ibt 
 
• 
setup.ini 
 
• 
setup.inx 
 
• 
setup.skin 
 
 
The user is recommended to take backup of the installation disk before 
proceeding with the actual installation. Due to certain reasons if the installation 
procedure is aborted, the backup can be used. 
 
The installation procedure is divided into ten steps. The details of all the steps 
are given below. 
13 



 Chapter 2                                                                           ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
Step 1: 
 
 
 
 
 
 
 
Figure 2-1 
Installation Initiation 
 
Run ‘setup.exe’ by double clicking on the setup.exe icon. This operation shows 
the progress indication dialog as shown in the above Figure 2-1. After 
displaying above Figure 2-1, for few minutes ECU Spectrum splash screen will 
appear. 
 
 
 
 
Figure 2-2 
Splash Screen 
 
 
After displaying splash screen for few seconds following 'Preparing Setup' 
dialog box appears (Refer Figure 2-3). 
 
 
 
14 






ECU Configuration Editor (ECU Spectrum) 
 
 
 
      
 
   Chapter 2 
 
 
 
 
Figure 2-3 
ECU Spectrum installation step 1 
 
Step 2: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 2-4 
ECU S  pectrum installation step 2 
 
After completion of the above operation, another dialog box is displayed (Refer 
Figure 2-4) in order to get confirmation from the user to proceed with the 
installation. The user can cancel the installation of software by selecting 
‘Cancel’ button’. To proceed with the installation select ‘Next’ button. 
 
 
 
 
 
 
 
 
 
 
15 



 Chapter 2                                                                           ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
Step 3: 
 
 
 
Figure 2-5 
ECU Spectrum installation step 3 
 
 
On selecting ‘Next’ button in Step 2, a dialog box is invoked displaying the 
license agreement. If the terms and conditions of the agreement are 
acceptable then select ‘Yes’ button else select ‘No’ button to abort the 
installation. The user can select ‘Back’ button in order to modify previously 
made settings. (Refer Figure 2-5) 
 
 
Step 4:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
                                           
Figure 2-6 
ECU Spectrum installation step 4 
 
 

16 



ECU Configuration Editor (ECU Spectrum) 
 
 
 
      
 
   Chapter 2 
 
 
Step 5: 
 
‘Customer Information’ dialog is displayed. Enter the User Name, Company 
Name and Serial Number and click on ‘Next’ button to proceed for further 
installation procedure. (Refer Figure 2-6) 
 
 
 
Figure 2-7 
ECU Spectrum installation step 5 
 
Dialog box is displayed for user registration confirmation. Check the appeared 
user registration information, if yes click on ‘Yes’ button. (Refer Figure 2-7). If 
not click on ‘No’ and re-enter the user registration information. 
 
Step 6:
 
 
 
 
Figure 2-8 
ECU Spectrum installation step 6 
17 


 Chapter 2                                                                           ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
Next, a dialog box allowing the user to select the destination folder is 
displayed (Refer Figure 2-8). The default directory for installation selected by 
the Install shield is C:\Program Files\ECU Spectrum R3.0. However the user 
can select the folder for installation of his/her choice using the ‘Browse’ 
button. The user can cancel the installation of software by selecting 'Cancel' 
button and click on 'Next' button to proceed for further installation procedure. 
 
 
Step 7: 
 
 
 
 
Figure 2-9 
ECU Spectrum installation step 7 
 
Next, a dialog box allowing the user to select the program folder is displayed. 
By default, the name of the folder is ‘ECU Spectrum R3.0’ and the user is 
allowed to change the folder name. (Refer Figure 2-9) 
 
Select ‘Next’ button to continue the installation and ‘Cancel’ button to abort the 
installation. 
18 



ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
    Chapter 2
 
 
 
 
Step 8: 
 
 
 
 
Figure 2-10  ECU Spectrum installation step 8 
 
After selecting the appropriate folder for installation, the install wizard will 
display a dialog box displaying the status of the files being copied. (Refer 
Figure 2-10). 
 
The user is allowed to abort the installation by pressing ‘Cancel’ button. 
 
 
Step 9:
 
 
 
 
Figure 2-11  ECU Spectrum installation step 9 
 
After confirmation from the user for copying the files mentioned in Step 8, the 
install wizard will automatically install the ECU Spectrum application, based on  
 
 
19 

 Chapter 2                                                                           ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
the selections made by the user. After completion of the installation procedure, 
a dialog gets displayed to intimating the user about completion of the 
installation process. (Refer Figure 2-11). 
 
 
Step 10: Click on ‘Finish’ button to complete the installation process. 
 
 
2.2. 
ECU Spectrum Input and Output Files 
 
 
 
 
ECU Spectrum takes ECU Configuration Parameter Definition File(s) as input. 
It reads the definitions, provides a generic interface to edit values for all the 
configuration parameters and generates the ECU Configuration Description 
file(s) in XML format. It resolves relatively simple dependencies explicitly 
defined in the ECU Configuration Parameter Definition file. On the Plug-In 
side, the user can choose the MCAL Code Generator Tool executable for the 
individual components that takes ECU Configuration Description File as input 
and generates the required ‘C’ source and header files. 
 
 
 
 
 
 
 
. ONE 
AUTOSAR 
 
 
X L
 
 
 
AUTOSA
 
 
R XML 
PROJECT 
 
ECU 
SETTING FILE 
ECU 
SPECTRUM 
 
CONFIGURATI
 
ON 
 
 
PARAMETER 
 
 
DEFINITION 
AUTOSAR 
 
X L
M   
 
AUTOSA
MCAL 
R XML 
CODE 
 
GENERATOR 
ECU 
 
TOOLS 
DESCRIPTIO

 
 
C FILE 
C FILE 
 
 
HEADER 
AND 
SOURCE 
FILES
 
 
 
 
Figure 2-12  ECU Spectrum Overview 
 
 
 
20 

 Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
Chapter 3 
Configuration Using ECU    
Configuration Editor (ECU Spectrum) 
 
 
This section gives details about procedure for creating a new project, 
configuring the parameters, saving a project, validating the current GUI 
configuration and generating ECU Configuration Description file of ECU 
Spectrum. 
 
 
 
3.1. 
Creating New Project 
 
 
Creating a ‘New Project’ loads the modules from specified ECU Configuration 
Parameter Definition File into the Software. New Project is created using “File - 
> New Project” from the main menu. 
 
 
Steps to be followed: 
 
1.  Select “File -> New Project”. 
 
2.  Select the AUTOSAR Version. Default AUTOSAR version is 4.0.x. 
 
3.  Browse a valid Project Settings file name (of type ‘.one’). 
 
4.  Browse a valid ECU Configuration Parameter Definition File name (of type 
                                               ‘*.xml /*.arxml’). 
 
5.  Click on ‘OK’ button. 
 
6.  Follow step 4 to load more than one definition file. 
 
 
The modules available in the selected files get loaded into the software and it 
is saved in the specified Project Settings file location. Specified Project 
Settings File name is displayed on the title bar of the ECU Spectrum along with 
the respective AUTOSAR version. 
21 


 Chapter 3                                        Configuration Using ECU Configuration Editor (ECU Spectrum)
 
 
 
 
 
 
 
 
 
 
     
 
 
 
 
 
 
 
Figure 3-1 
Creating New Project 
 
The modules available in the selected files get loaded into the Software and it 
is saved in the specified Project Settings location. Specified Project Settings 
file name is displayed on the Title bar of the Software. 
 
 
 
3.2. 
Configuration 
 
 
 
 
Right click on the module in the 'Left Selection View', a popup menu having 
'New Module’ option is displayed. On selecting this option, the instance of the 
module is created. The ECU Spectrum will assign a short name to the newly 
created module automatically. On selecting the newly created module, controls 
are displayed in the 'Right Configuration View' for configuration. Edit the data 
and validate the current GUI configuration. Errors/Warnings/Messages is 
displayed in the ‘Message Info’ window, if any. 
 
The user can configure any number of modules, containers, parameters, and 
references depending on the Multiplicity specified in the ECU Configuration 
Parameter Definition File. 
 
Right clicking on the instance of the module in 'Left Selection View', a popup 
menu having ‘Insert Copy’ ,‘Delete’ ,’Expand’ and ’Collapse’ option is 
displayed. Using ’Insert Copy’, the copy of selected element with configured 
values is inserted. ‘Insert Copy’ option is displayed in the pop up menu based 
on the multiplicity.  Using ‘Delete’, user can delete the selected element. 
‘Expand’ is used to expand the selected element and ‘Collapse’ is used to 
22 



 Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
collapse the selected element. 
 
Existing Project Settings can be configured in following ways: 
 
1.  Right Click on the module and add an instance of the module. 
 
 
 
Figure 3-2 
Adding New Module Instance 
 
2.Click on the instance of the module, user will find a grid on right view for 
configuration. 
 
 
 
 
 
 
Figure 3-3 
GUI for Configuration 
23 


  Chapter 3 
 
 
       Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
3.2.1.  Parameter Configuration 
 
Short Name, Definition Type, Lower multiplicity, Upper multiplicity, Minimum 
value, Maximum value, Implementation config class, Implementation config 
variant,  Default value and Long Name are displayed in ‘Attributes’ grid  and 
Description of the parameter is displayed in the ’Description’ display area on 
click of the parameter in the ‘Right Configuration View’ as shown in the 
following figure. Configure the parameter and press ‘ENTER’ button. Following 
are the types of the parameters: 
 
 
 
 
Figure 3-4 
Parameter Configuration 
 
 
 
3.2.2.  Distinguish Between Containers 
 
On selecting the newly created module in the ‘Left Selection View’, controls are 
displayed in the 'Right Configuration View' for configuration. Name of the 
containers is displayed at the top of the ‘Right Configuration View’ as shown in 
the following figure. On selecting the container, Parameters and sub- 
containers is displayed in the grid control as shown in the following figure. 
24 


 Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
 
 
 
 
 
 
 
Figure 3-5 
Distinguish Between Containers 
 
 
 
3.2.3.  Save Project 
 
Using “File-> Save Project” menu item, current GUI configuration can be saved 
with specified Project Settings file name. 
 
3.2.4.  Validation 
 
The modules configuration can be checked for correctness and completeness 
in validation. Before generation of ECU Configuration Description, validate the 
configured values of the modules. Select “Project -> Validate” or press ‘F8’ key, 
25 


 Chapter 3 
 
 
       Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
a current GUI configuration is validated and list of Errors/Warnings/Messages 
is displayed in the ‘Message Info’ window, if any. 
 
 
 
Figure 3-6 
Validation 
 
 
 
3.3. 
Generate ECU Configuration Description 
 
 
This generates the ECU Configuration Description File, which contains the 
configured values for Parameters, Containers and Modules. The generated 
ECU Configuration Description File format will be compliant with the 
AUTOSAR ECU specification standards. After validation of the configured 
values, to generate the ECU Configuration Description follow the below steps: 
 
1.  Select “Generate -> ECU Configuration Description”. 
 
2.  Check the ‘Select all’ Check box. 
 
3.  Specify the ECU Configuration Description File name (of type '*.xml/ 
                                               *.arxml’). 
 
4.  Click ‘Generate’ button 
 
 
 
 
 
 
 
 
 
 
 
 
 
26 


 Configuration Using ECU Configuration Editor (ECU Spectrum)                                         Chapter 3 
 
 
 
 
 
 
 
 
 
Figure 3-7 
Description File Generation 
 
Successful generation message is displayed in the ‘Result’ display area. The 
ECU Configuration Description data for all modules is generated at the 
specified location. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27 

 Chapter 3 
 
 
       Configuration Using ECU Configuration Editor (ECU Spectrum) 
 
 
 
 
 
28 






 Generation Tool                  
 
 
 
 
 
 
                    Chapter 4 
 
 
 
 
 
Chapter 4 
Generation Tool 
 
 
The MCAL Generator Tool is a template based code generator. The template language is 
Velocity  Scripting.  The  template  parsing  is  done  by  Apache  Velocity  engine.  MCAL 
Generator  Tool  will  generate  the  configuration  source  files  for  the  module  and  their 
respective variant specified along with the command line arguments.  
 
 
                                                                                          
 
ECU Configuration 
 
Description File 
 
 
 
and BSWMDT File 
Output header files and 
 
 
MCAL    
source files 
 
Generator 
 
Velocity template 
 
files for <MSN> 
Tool 
 
 
 
 
Configuration XML 
File 

 
 
 

Figure 4-1 
Generation Tool Overview 
 
 
 
 
4.1. 
ECU Configuration Description File 
 
 
This file will contain WDG Driver specific configuration information. This file 
should be generated by AUTOSAR specified Configuration Editor. 
 
4.2. 
Velocity template files 
 
They are interpreted by the MCAL Generator Tool in order to provide 
user input validation and generate the final output file needed by the 
AUTOSAR configuration chain. They are the "logic" of the MCAL Code 
Generator Tool. 
 
 
4.3. 
Configuration XML File 
 
 
This file is used to specify which velocity template to use and their location        
and the name of the output file generated. 
4.4. 
Usage 
 
 
This section provides the information regarding usage of the Generation 
Tool. It also provides the syntax of the command line arguments (input 
filenames and options). 
 
 
Generation Tool executable is invoked as shown below. 
 
29 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
MCALGenerator.exe<space><Description_File_Path><space><Module_Name
><space><AR_Package><space><Template_Path><space>–
o<space>[Output_Path]<space>–e<space>[Ecu_Variant]<space> 
–ref<space>[Reference_Module]<space>[Reference_Description_XML_File] 
 
Where, 
 
1.  Description_File_Path: The path to the description ARXML file. 
 
2.   Module_Name:  The  name  of  the  module  for  which  the  code  has  to  be 
generated. 
 
3.  AR_Package:  The  AR-Package  name  as  specified  in  the  Description  file. 
While specifying the AR_Package, the full path of the AR_Package is to be 
specified. See the example for more clarity. 
 
4.  Template_Path: The path to the module configuration files for the specified 
module. This path should also   contain the code generation templates. 
 
5.  The  “Output_Path”  is  an  optional  argument  to  specify  the  location  for  the 
generated  source  files.  The  argument      should  be  preceded  with  optional 
argument identifier –o 
For example:  –o configcode this  will  generate the code  in a folder  named 
“configcode”. 
 
If the output path is not specified, the source files will be generated in the 
folder where the MCALGenerator.exe is kept. 
 
6.  The “Ecu_Variant” is an optional argument to specify the variant model. The 
argument should be preceded with optional argument identifier –e. 
For example: –e 701372.This will generate the code for the variant 701372 
 
7.  The “Reference_Module” and “Reference_Description_XML_File” is an 
optional argument to specify the reference module and its corresponding 
xml file. As per our earlier concept, we had the module whose 
configuration files have to be generated and its reference module in the 
same XML file. But now, based on our  new mechanism, we can have the 
module whose configuration files has to be generated and its reference 
module in the same XML file or we can have the reference modules in a 
different XML file. Both the description file as well as the reference file 
should have the same ARPACKAGE name. The argument should be 
preceded with an optional argument identifier -ref. 
For example: -ref 
Dem0"..\..external\X1X\common_platform\generic\stubs\4.0.3\Dem\config\Dem_<M
sn>.arxml" 
 
4.5. 
Tool Installation Requirements 
 
 
The minimum hardware and software requirements for proper installation of 
Module Specific Generation Tool is listed below. This ensures optimal 
performance of the Tool. 
 
4.5.1.  Hardware Requirements 
 
 
 
Processor 
Pentium/equivalent processor @ 500 MHz or greater 
 
Memory 
RAM 64MB or greater 
 
Hard Disk Drive 
500 MB or greater storage capacity 
 
 
30 
 


 Generation Tool                  
 
 
 
 
 
 
                    Chapter 4 
 
 
 
4.5.2.  Software Requirements 
 
Operating System 
Microsoft Windows Platform 
 
4.5.3.  Limitations 
 
Command Line characters are limited to 128 depending upon the operating 
system. 
 
4.6. 
Tool Installation 
 
The installation procedure of MCAL Generation Tool is provided in the 
section below 
 
4.6.1.  Pre Requisite 
 
Module Specific Generation Tool executable runs on Windows platforms only. 
 
4.6.2.  Installation Steps 
 
Run ‘MCALCodegenerator_Installer’ by double clicking on the 
MCALCodegenerator_Installer.exe icon. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-2 
MCAL Generator installation step 1 
 
 
 
 
 
 
 
 
 
 
31 



Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
Select the option to select install or remove or update the software 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-3 
MCAL Generator installation step 2 
 
 
Accept the software User Agreement 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-4 MCAL Generator installation step 3 
 
 
 

32 
 



 Generation Tool                  
 
 
 
 
 
 
                    Chapter 4 
 
 
 
Fill the User Information 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-5 MCAL Generator installation step 4 
 
 
Select the license file 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-6 MCAL Generator installation step 5 
 
 
 
33 



Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
The default directory for installation selected by the Install shield is 
C:\Renesas\CodeGenerator. However, the user can select the folder for installation of 
choice using the ‘Browse’ button.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-7 MCAL Generator installation step 6 
 
 
The license information based on the selected license file will be displayed. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Figure 4-8 MCAL Generator installation step 7 
34 
 



 Generation Tool                  
 
 
 
 
 
 
                    Chapter 4 
 
 
 
Click Install 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-9 MCAL Generator installation step 8  
 
Select the folder where the program shortcut to be placed 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-10 MCAL Generator installation step 9  
 
35 



Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-11 MCAL Generator installation step 10  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 4-12 MCAL Generator installation step 11 

 
Click on ‘Finish’ button to complete the installation process. 
36 
 

 Generation Tool                  
 
 
 
 
 
 
                    Chapter 4 
 
 
 
4.7. 
Tool Un-Installation 
 
 
To un-install, use the remove option in step 2 
 
4.8. 
Common Messages 
 
This section contains the list of error/warning/information messages 
 
which is common for AUTOSAR Renesas R3.2.2 and R4.0.3 X1x MCAL Driver 
module that is will be generated by the Generation Tool. 
 
4.8.1.  Error Messages 
 
ERR000001: File <File_Name> does not exist. 
 
This error occurs, if the input <File_Name> is not found. 
 
ERR000002: Name of the Generation Tool Configuration XML File is not 
given along with <-C/-CONFIG> option.
 
 
This error occurs, if the name of the Generation Tool Configuration XML File is 
not given along with <-C/-CONFIG> option. 
 
ERR000003: File <File name> is not as per XML standard. 
 
This error occurs, if the input <File name> is not as per XML standard. 
 
ERR000004: Cannot open the <Log file name> file. 
 
This error will occur, if unable to open the <Log file name> file. 
 
ERR000005: Name of output directory is not given along with <-O/- 
OUTPUT> option.
 
 
This error will occur, if the output directory name is not given along with <-O/- 
OUTPUT> option. 
 
ERR000006: Name of output directory is not given in OUTPUT-PATH tag 
in <File name>.
 
 
This error will occur, if the output directory is not given in OUTPUT-PATH tag in 
configuration file. 
 
ERR000007: The Generation Tool expects inputs. 
 
This error occurs, if the no option is provided in the command line and none of 
the option in the configuration file is set. 
 
ERR000008: The option <option> is not supported by the Generation 
Tool. The Generation Tool supports < -O/-OUTPUT, -Osrc , -Oinc, -H/-HELP,   -
L/-LOG, -C/-CONFIGFILE and -D/-DRYRUN>"   options.
 
 
This error will occur, if the invalid <option> is provided to the tool. 
 
ERR000009: Invalid output directory name <output directory name> as 
the file with same name exists.
 
 
This error will occur, if the <output directory name> already exists. 
 
ERR000010: Invalid output directory name <output directory name> 
Directory name should not contain any of \*\?\"\|\: characters.
 
 
This error will occur, if the <output directory name> path contains junk 
character. 
37 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
ERR000011: ECU Configuration Description File is not provided as input 
to the Generation Tool.
 
 
This error will occur, if the ECU Configuration Description File is not given in 
the command line or in configuration file. 
 
ERR000012: The input <File name> is not as per XML standard. Provide 
the ECU Configuration Description File as input on the command line.
 
 
This error will occur, if the ECU Configuration Description File is not as per 
XML standard. 
 
 
ERR000015: The 'device_name' tag should be present as child of 
'TRANSLATION-FILE-PATH'' tag in <File name>. 
 
This error occurs, if the device mentioned in ECU Configuration Description 
File is not present in 
 
'TRANSLATION-FILE-PATH’ tag in the <File name>. 
 
ERR000016: ‘DEVICE-FILE-PATH’ tag in <File name> is empty. 
 
This error occurs, if the translation file <File name> doesn’t have ‘DEVICE- 
FILE-PATH’ tags. 
 
ERR000017: The 'device_name’ tag should be present as child of 
‘DEVICE-FILE-PATH' tag in <File name>. 
 
This error occurs, if the device mentioned in ECU Configuration Description 
File is not present in 
 
‘DEVICE-FILE-PATH’ tag. 
 
ERR000018: Cannot create directory <output directory name>. 
 
This error occurs, if unable to create output directory <output directory 
name>. 
 
ERR000019: Cannot open <File name>. 
 
This error occurs, if unable to open <File name>. 
 
ERR000020: The macro label <macro label> should be unique in < 
translation file name> translation C Header File. 
 
This error occurs, if macro label is not unique in translation C Header File. 
 
ERR000021: The macro definition for <macro label> macro is not found 
in <translation file name> translation C Header File. The macro label 
format should be <label format>.
 
 
This error occurs, if macro definition is not found in translation C Header 
File. 
 
 
 
ERR000022: The macro value for <macro label> macro is empty in
 
<translation file name> translation C Header File. 
 
This error occurs, if macro label value is empty in translation C Header File. 
 
ERR000023: The macro definition for <macro value> macro is not found 
in input device specific C Header File(s).
 
 
This error occurs, if macro definition is not found in input device specific C 
38 
 

 Generation Tool                  
 
 
 
 
 
 
                    Chapter 4 
 
 
 
Header File(s). 
 
ERR000024: The macro value for <macro value> macro is empty in input 
device specific C Header File(s).
 
 
This error occurs, if macro value is empty in input device specific C Header 
File(s). 
 
ERR000025: Path <Configured Reference Path> provided for Bsw Module 
is incorrect.
 
 
This error occurs, if the reference provided for Bsw Module Component is 
incorrect. 
 
ERR000026: BSWMDT content is not present in the input file(s) for 
‘<Module Name>’ module. 
 
This error occurs, if the module specific BSWMDT content is not present in 
the input files. 
 
ERR000027: <MSN> BSWMDT File of either AUTOSAR R3.2 or R4.0 
should be given as input.
 
 
This error occurs, if the both R3.2 and R4.0 BSWMDT file given to the input to 
the generation tool. 
 
ERR000028: 'MODULE-DESCRIPTION-REF' element should be present in 
the description file of '<Module Name>' module.
 
 
This error occurs, if the MODULE-DESCRIPTION-REF element is not 
present module specific description file. 
 
ERR000029: AUTOSAR version of BSWMDT File and Module Description 
File is different. 
 
This error occurs, if the AUTOSAR version of the BSWMDT File and module 
description file is different. 
 
4.8.2.  Warning Messages 
 
WRN000001: As per AUTOSAR ECU Configuration Description File 
naming convention, the file extension should be '.arxml' for file.
 
 
This warning occurs, if ECU Configuration Description file having an 
extension other than ’.arxml’. 
 
4.8.3.  Information Messages 
 
INF000001: Tool Version: 
 
This is to display Tool Version for each execution of the tool. 
 
INF000002: Command line arguments: 
 
This is to display the command line arguments for each execution of the tool. 
 
INF000003: The valid inputs are provided below. 
 
This information occurs, if the command line option is not given. 
 
INF000004: Opened file <filename> at <time>. 
 
This information occurs, during opening the file. 
 
INF000005: Error(s) and Warning(s) detected. 
 
This information displays the number of errors and warnings. 
39 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
INF000006: Execution completed successfully. 
 
This information occurs, if the execution completed successfully. 
 
INF000007: Execution completed successfully with warnings. 
 
This information occurs, if the execution completed successfully with 
warnings. 
 
INF000008: Execution terminated due to command line errors. 
 
This information occurs, if the execution terminated due to command line 
errors. 
 
INF000009: Execution terminated due to error in the input file. 
 
This information occurs, if the execution terminated due to error in the input 
file. 
 
INF000010: Execution terminated due to error, during the structure 
generation in the output file.
 
 
This information occurs, if the execution terminated during structure 
generation in output file. 
 
4.9. 
BSWMDT File 
 
 
The BSWMDT File is the template for the Basic Software Module Description. 
Module specific Generation Tool uses “Common Published Information” from 
module specific BSWMDT file. BSWMDT file should not be updated manually 
since it is “Static Configuration” file. 
 
 
The required elements from BSWMDT File by module specific Generation 
Tool is as follows: 
 
BSW-MODULE-DESCRIPTION 
 
• 
MODULE-ID 
 
• 
BSW-IMPLEMENTATION 
 
• 
SW-VERSION 
 
• 
VENDOR-ID 
 
• 
AR-RELEASE-VERSION 
 
• 
VENDOR-API-INFIX 
 
In case of multiple driver support implementation, VENDOR-API-INFIX is 
mandatory. In case of single driver support implementation, VENDOR-
API- INFIX is not used. 
 
4.10.  User Environment Settings  
 
Edit and update user settings to SetEnv.bat file located at @ 
external\X1X\P1x-
C\common_family\Sample_Application\ghs\SetEnv.bat 
 
40 
 

 Generation Tool                  
 
 
 
 
 
 
                    Chapter 4 
 
 
 
Example 
Set MCAL Generator path 
SETMCAL_GEN_EXEC= 
C:\Renesas\CodeGenerator\code_generator\MCALGenerator.exe 
Set root folder 
 SET ROOT_FOLDER=U: 
Set GNU Make Path 
SET GNU_PATH="C:\Program Files (x86)\GnuWin32\bin" 
Set Compiler install directory 
 
SET COMPILER_INSTALL_DIR="C:\ghs\ comp_201517" 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41 

Chapter 4 
 
 
 
 
 
 
    
 
       Generation Tool 
 
 
 
 
 
42 
 

 Application Example                                                                                                                Chapter 5
 
 
 
 
 
 
 
 
 
 
     
 
Chapter 5 
Application Example 
 
 
5.1. 
Folder Structure 
 
 
Refer Section “Integration and Build Process” in the respective component 
User Manuals. 
 
 
5.2. 
Compiler, Linker and Assembler 
 
This section provides information about the details of Compiler, Linker and 
Assembler used for building the MCAL Driver Component. 
 
Table 5-1 
Compiler, Linker And Assembler 
Version Details 
 
Details 
Version 
Workbench Version 
Green Hills Multi V6.1.6 
Compiler Version 
GreenHills C V6.1.6 Compiler Version V2015.1.7 
Linker Version 
ELXR Version 2015.1.7 
Assembler Version 
EAST Version 2015.1.7 
 
In the batch file 
X1X/<MICRO_VARIANT>/common_family/Sample_Application/<compiler>/Se
tEnv.bat set the COMPILER_INSTALL_DIR="C:\ghs\comp_201517" according 
to the GHS installation path.  
 
5.2.1. Compiler 
 
The compiler switches used for building the MCAL Driver Component using 
 
Green Hills C Compiler versions are provided. 
 
 
                            Table 5-2 
Compiler Options 
 
Option 
Meaning 
-cpu=rh850g3m  
Specifies a particular rh850g3m core target 
 
processor 
-prepare_dispose 
Instructs compiler to use the prepare and dispose 
instructions for function prologue and epilogue 
-no_callt 
Prevents the compiler from using the ‘callt’ 
instruction even when compiling for V850E 
-sda=all 
Small data memory model allows access to 64KB 
RAM and 64KB ROM 
-reserve_r2 
Reserves r2 register for use by the user 
-gsize 
Controls use of the gsize utility to determine the 
-Osize 
siz
E e
na  o
blef t
s  h
o e
pt  
i o
m u
iztp
atiu
o t e
n f x
ore
  cu
siz ta
e  ble. 
-g 
Generates source level debugging information 
-Wundef 
Enables the warning that is issued for undefined 
symbols in preprocessor expressions 
43 

Chapter 5                                                                                                                Application Example                                                                       
 

 
 
 
 
 
   
Option 
Meaning 
-c 
Produces object file for each source file 
--short_enum 
Store enumerations in the smallest possible type. 
-Wshadow 
Controls a warning that is issued if the 
declaration of a local variable shadows the 
declaration of a variable of the same name 
declared at the global scope, or at an outer 
scope. 
-nofloatio 
Controls the use of floating-point in stdio 
operations. Off (-nofloatio) 
--prototype_errors 
Controls the treatment of functions that are 
referenced or called when no prototype has been 
provided. Errors (--prototype_errors) 
--diag_error 193 
Sets the specified diagnostics message to the 
level of error 
-dual_debug 
Enables the generation of DWARF, COFF, or 
BSD debugging information in the object file 
--no_commons 
Allocates uninitialized global variables to a 
section and initializes them to zero at program 
startup. 
-inline_prologue 
Forces the compiler to use inline code 
sequences.This option may adversely impact the 
size of the generated code, so it should only be 
used when necessary (for example, when the 
routines may not exist in memory yet). 
-
Do not save the CTPSW and CTPC registers in 
ignore_callt_state_in_inte interrupt routines generated by the compiler. 
rrupts 
-large_sda 
Generate 23-bit SDA relocations for load/store 
instructions- Increases the size of the SDA to 8 
MB. 
-shorten_loads 
Convert 23-bit SDA relocations to 16-bit in 
load/store instructions when possible 
-shorten_moves 
Convert 32 and 48-bit move relocations to 16-bit 
in move instructions when possible 
-delete 
Controls the removal from the executable of 
functions that are unused and unreferenced 
 
5.2.2. Linker 
 
The linker switches used for building the MCAL Driver Component using Green 
Hills Linker are provided. The memory placements can be done using the linker 
file. 
 
 
                           Table 5-3 
Linker Options 
 
Option 
Meaning 
Same as Compiler 

options 
 
 
 
 
44 
 

 Application Example                                                                                                               Chapter 5
 
 
 
 
 
 
 
 
     
5.2.3. Assembler 
 
The Assembler settings used for WDG Driver component is as follows: 
 
                          Table 5-4 
Assembler Options 
 
Option 
Meaning 
Same as Compiler 

options apart -c 
 
 
5.3. 
Batchfile Description 
 
Batch file is available in the folder 
X1X/<MICRO_VARIANT>/common_family/Sample_Application/<compiler> 
The file is: 
 
• SampleApp.bat 
 
Usage: 
SampleApp.bat Msn Variant Compile_Option 
Msn - Module Short Name to be generated e.g. Port, Can, Adc, All.. 
Variant - Device variant e.g. 701372 
Compile_Option - clean/build/generate. 
clean for clean 
build for incremental build 
generate for code generation    
Note: If Compile_Option is left blank, then batch will clean, generate and 
compile files. 
 
5.4. 
Makefile Description 
 
Makefile is available in the folder “X1X\< MICRO_VARIANT 
>\modules\<msn>\sample_application\make\<compiler>”.  
The Makefiles with the guidelines provided in AUTOSAR BSW Makefile 
Interface Specification, which enables easy integration with other components 
and the application. 
 
The files is: 
 
 
• App_<Msn>_<MICRO_VARIANT>Sample.mak  
(Contains the device specific instructions). 
 
 
5.4.1.  App_<Msn>_<variant>_Sample.mak 
 
############################################################## 
 
# Makefile to compile and build the Sample application with the AUTOSAR 
<MSN> # 
 
# Driver Component (For Test purposes only) 

 
# Compatible with GNU Make 3.81 for Win32.                                   # 
 
############################################################## 
 
 
45 

Chapter 5                                                                                                                Application Example                                                                       
 

 
 
 
 
 
   
############################################################## 
 
# Definitions of global environment variables 
   # 
 
############################################################## 
 
#Get name of the current application 
 
CURRENT_APPL = App_<Msn> 
 
 
# Get the project directory into variable "PROJECT_ROOT" 
 
PROJECT_ROOT = $(shell cd)\..\..\..\..\..\.. 
 
COMMON_SAMPLE_CORE_PATH =     
$(PROJECT_ROOT)\$(MICRO_FAMILY)\common_platform 
                                  \modules\<Msn>\sample_application 
                            
# Get the current working directory into variable "SAMPLE_ROOT_PATH" 
SAMPLE_ROOT_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules
<Msn>\sample_application\$(MICRO_SUB_VARIANT) 
 
# Get the current working directory into variable "STUBS" 
STUBS_PATH = 
$(PROJECT_ROOT)\$(MICRO_FAMILY) 
                                                                           \common_platform\generic 
                                  \stubs\$(AUTOSAR_VERSION) 
 
# Get current configuration path 
 
<MSN>_CONFIG_PATH = 
$(SAMPLE_ROOT_PATH)\$(AUTOSAR_VERSION) 
 
 
# Get ARXML path 
 
                                       ARXML_CONFIG_PATH =  $(PROJECT_ROOT) 
                                                                                  \$(MICRO_FAMILY)\$(MICRO_VARIANT) 
                                                                                  \common_family\generator 
 
# Get BSWMDT path 
 
<MSN>_BSWMDT_CONFIG_PATH = $(PROJECT_ROOT) 
                                                                                                    \$(MICRO_FAMILY) 
                                                                                                    \$(MICRO_VARIANT) 
                                                                                                    \modules\<Msn>                                                                                                          
\generator 
 
# Get current configuration file path 
 
<MSN>_CONFIG_FILE = $(MSN_CONFIG_PATH) \config 
                                         \App_<MSN>_$(MICRO_SUB_VARIANT)_ 
                                         $(DEVICE_NAME)_Sample.arxml 
 
                              # Path to ECUM Configuration File which is required for this module 
46 
 

 Application Example                                                                                                               Chapter 5
 
 
 
 
 
 
 
 
     
ECUM_CONFIG_PATH = $(STUBS_PATH)\EcuM 
 
ECUM_CONFIG_FILE = "$(ECUM_CONFIG_PATH)\xml\EcuM_Icu.arxml" 
endif 
 
# Path to BSWMDT Configuration File which is required for MSN Sample                   
Application 
 
                                         ifeq ($(AUTOSAR_VERSION), 3.2.2) 
                                        MSN_BSWMDT_CONFIG_FILE =                     
"$(MSN_BSWMDT_CONFIG_PATH)\R322_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml" 
                                         else 
                                         ICU_BSWMDT_CONFIG_FILE =          
"$(MSN_BSWMDT_CONFIG_PATH)\R403_$(MODULE_NAME)_$(MICRO_V
ARIANT)_BSWMDT.arxml" 
                                         endif 
                               
                                         # Version check for inter modules required 
                                        MSN_VERSION_CHECK_REQ = yes 
 
# Database to be linked together with the current application 
 
# Define 'no' to isolate database from the application 
 
<MSN>_DBASE_REQ = yes 
 
 
# Get the name of the SRECORD file 
 
 
                                        CURRENT_APPL_SRECORD = 
                                         $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample 
 
# Name of the database if generated separately 
 
<MSN>_DB = <Msn>_PBcfg 
 
 
############################################################## 
 
# Final executable 

 
############################################################## 
 
EXE = $(CURRENT_APPL)_ MICRO_ 
<SUB_VARIANT>_Sample.$(EXE_FILE_SUFFIX) 
LIBRARIES_TO_BUILD = 
OBJECTS_LINK_ONLY = 
 
OBJECT_OUTPUT_PATH  = $(SAMPLE_ROOT_PATH)\obj\ghs 
GENERATED_SOURCE_FILES = 
CC_FILES_TO_BUILD = 
 
CPP_FILES_TO_BUILD = 
47 

Chapter 5                                                                                                                Application Example                                                                       
 

 
 
 
 
 
   
ASM_FILES_TO_BUILD = 
 
 
CC_INCLUDE_PATH = 
CPP_INCLUDE_PATH = 
ASM_INCLUDE_PATH = 
 
 
PREPROCESSOR_DEFINES = 
 
 
LIBRARIES_LINK_ONLY = 
DIRECTORIES_TO_CREATE = 
DEPEND_GCC_OPTS = 
 
 
MAKE_CLEAN_RULES = 
MAKE_GENERATE_RULES = 
MAKE_COMPILE_RULES = 
MAKE_DEBUG_RULES = 
MAKE_CONFIG_RULES = 
MAKE_ADD_RULES = 
 
 
MAKE_DEBUG_RULES = 
MAKE_ CONFIG_RULES = 
MAKE_ADD_RULES = 
 
MAKE_DEBUG_RULES += debug_base_make 
 
STD_LIBRARY = 
 
LNKFILE = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<msn
>\sample_application\make\ghs\$(CURRENT_APPL)_$(MICRO_SUB_VARIA
NT)_$(DEVICE_NAME)_Sample.ld 
 
LNKFILE_DB = 
$(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\modules\<ms
n>\sample_application)\make\ghs\$(CURRENT_APPL)_$(MICRO_SUB_VARI
ANT)_$(DEVICE_NAME)_Sample_db.ld 
 
 
                           .PHONY: MAKE_CLEAN_RULES MAKE_GENERATE_RULES  
                           MAKE_COMPILE_RULES \ 
                           MAKE_DEBUG_RULES MAKE_CONFIG_RULES MAKE_ADD_RULES 
 
############################################################## 
 
# Modules to be included in the project 

 
############################################################## 
 
############################################################## 
# Sample Application 
48 
 

 Application Example                                                                                                               Chapter 5
 
 
 
 
 
 
 
 
     
 

 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_Defs.mak 
 
include 
$(COMMON_SAMPLE_CORE_PATH)\make\$(CURRENT_APPL)_Common_S 
ample_rules.mak 
 
 
SAMPLE_CORE_PATH = $(SAMPLE_ROOT_PATH) 
 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_defs.mak 
include 
$(SAMPLE_CORE_PATH)\make\$(CURRENT_APPL 
_$(MICRO_SUB_VARIANT)_Sample_rules.mak 
 
 
############################################################## 
 
############################################################## 
 
############################################################## 
 
 
# DET Module Core Path 
 

 
#DET_CORE_PATH = $(STUBS_PATH)\Det 
 
#include $(DET_CORE_PATH)\make\det_defs.mak 
 
#include $(DET_CORE_PATH)\make\det_rules.mak 
 
############################################################## 
 
############################################################## 
 
 
# OS Module Core Path 
 

 
OS_CORE_PATH = $(STUBS_PATH)\os 
 include $(OS_CORE_PATH)\make\os_defs.mak 
 include $(OS_CORE_PATH)\make\ os_rules.mak 
 ############################################################# 
 
                              
                              
                                          ############################################################## 
                                          # ECUM Module Core Path 
                                          # 
                                          ECUM_CORE_PATH = $(STUBS_PATH)\EcuM 
                                          include $(ECUM_CORE_PATH)\make\ecum_defs.mak 
                                          include $(ECUM_CORE_PATH)\make\ecum_rules.mak 
                                          ############################################################## 
 
 ############################################################## 
 
 # Scheduler Manager Module Core Path 
 
 # 
49 

Chapter 5                                                                                                                Application Example                                                                       
 

 
 
 
 
 
   
 
 ifeq ($(AUTOSAR_VERSION), 3.2.2) 
 SCHM_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(SCHM_CORE_PATH)\make\schm_defs.mak 
 else 
 RTE_CORE_PATH = $(STUBS_PATH)\SchM 
 include $(RTE_CORE_PATH)\make\rte_defs.mak 
 endif  
 ############################################################# 
 
 # <MSN> Driver Component 
 
 # 
 
<MSN>_CORE_PATH = 
 $(PROJECT_ROOT \$(MICRO_FAMILY)\  common_platform 
 \modules\<msn> 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_defs.mak  
 include $(<MSN>_CORE_PATH)\make\renesas _<msn>_check.mak 
 include $(<MSN>_CORE_PATH)\make\renesas_<msn>_rules.mak 
 
 
 ############################################################# 
 
 
############################################################## 
 
# Command to generate standalone database 

                             
$(MSN_DB).$(S_RECORD_SUFFIX):$(MSN_DB).$(OBJ_FILE_SUFFIX) 
$(LNKFILE_DB) 
@echo    ********************************************************************* 
                                         @echo Building the standalone database ...   
                                         $(DBLINKER) $(LNKFILE_DB) \ 
                                         "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(MAP_FILE_SUFFIX)" \ 
-o "$(OBJECT_OUTPUT_PATH)\$(MSN_DB).$(EXE_FILE_SUFFIX)" 
                                         @echo Generating Motorola S-Record file... 
                                         $(CONVERTER) $(SFLAGS)                                       
                                        
"$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(EXE_FILE_SUFFIX)" \ 
    
                              -o "$(OBJECT_OUTPUT_PATH)\$(ICU_DB).$(S_RECORD_SUFFIX)" 
                                          @echo Done ... 
 
############################################################## 
################## 
 
$(<MSN>_DB).$(S_RECORD_SUFFIX):$(<MSN>_DB).$(OBJ_FILE_SUFFIX 
) $(LNKFILE_DB) 
 
@echo ********************************************************************* 
 
@echo Building the standalone database ... 
 
$(DBLINKER) $(LNKFILE_DB) \ 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(OBJ_FILE_SUFFIX)" \ 
-map="$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(MAP_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" 
 
@echo Generating Motorola S-Record file... 
50 
 

 Application Example                                                                                                               Chapter 5
 
 
 
 
 
 
 
 
     
 
$(CONVERTER) $(SFLAGS) 
"$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(EXE_FILE_SUFFIX)" \ 
 
-o "$(OBJECT_OUTPUT_PATH)\$(<MSN>_DB).$(S_RECORD_SUFFIX)" 
 
@echo Done ... 
 
                              
     
############################################################### 
 
# End of the Base Make script                                                  # 
############################################################### 
 
5.5. 
Integrating The <MSN> Driver Component  With 
 
Other Components 
 
This section explains the procedure to integrate the <MSN>Driver Component 
with other BSW components and the application. 
 
Depending on the various configurations, the following modules are required to 
be integrated with the <MSN>Driver Component: 
 
• 
<MSN>Interface (Folder ‘Sample_Application’ where the sample 
application  for <MSN> exists. The variable ‘<MSN>_CORE_PATH’ 
and the corresponding module Makefile names must be suitably 
changed in the base Makefile) 
 
 
• 
Development Error Tracer (Folder ‘Det’ where the DET module files exist. 
The variable ‘DET_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
Scheduler Manager (Folder ‘SchM’ where the SCHM module exists. 
The variable ‘RTE_CORE_PATH’ and the corresponding module 
Makefile names must be suitably changed in the base Makefile) 
 
 
• 
MCU Interface (Folder ‘Mcu’ in the give example. The variables 
‘MCU_CONFIG_PATH’ and ‘MCU_CONFIG_FILE’ must be suitably 
changed in the module Makefile 
(Software_Source_Code\ssc\mak\renesas_<MSN>_rules.mak) and 
the base Makefile). 
 
 
All the above folders are given only as examples and they have to be 
replaced with actual component folders. It is assumed that every component 
has the corresponding module Makefiles. 
 
Apart from the above BSW components, few other folders are provided as 
mentioned below: 
 
• 
AUTOSAR Type definition Files (Folder ‘common\include’, where the 
header files containing standard definitions that are common to all 
components are placed. The variable ‘STUB_CORE_PATH’ and the 
corresponding module Makefile names must be suitably changed in the 
base Makefile) 
 
• 
RH850 specific Files (Folder ‘X1X\common_platform\generic\include’,where 
the header files that are common to all components but specific to Renesas 
51 

Chapter 5                                                                                                                Application Example                                                                       
 

 
 
 
 
 
   
V850 microcontroller are placed. The variable ‘ 
GENERIC_PLATFORM_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile) 
 
Compiler specific Files (Folder ‘compiler’, where the header files that are 
common to all components but specific to GreenHills Compiler are placed. 
The variable ‘COMPILER_PATH’ and the corresponding module Makefile 
names must be suitably changed in the base Makefile). 
 
5.6. 
Building The <MSN> Driver Component 
 
 
This section explains the procedure to build the <MSN>Driver Component for 
any given configuration. 
 
The <MSN> Driver Configuration Description file (.arxml) has to be given as 
input to the <MSN> Driver Generation Tool. The tool generates output files 
namely <Msn>_Lcfg.c, <Msn>_PBcfg.c, <Msn>_Cbk.h and <Msn>_Cfg.h. 
 
 
Following variables must be defined in the base Makefile described in 
Section 5.2.1 (Makefile Description) 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
SPECIFIC_APPL_ROOT_PATH: Directory where the <MSN> sample 
application exists. 
 
• 
OBJECT_OUTPUT_PATH: Directory where the module specific output 
files are generated. 
 
• 
STARTUP_<family>_CORE_PATH: Core path for the variant specific 
statup files exist. 
 
• 
STUB_CORE_PATH: Core path for the stub files exist. 
 
• 
COMPILER_PATH: Directory where the compiler files exist. 
 
• 
DEVICE_FILE_PATH: Directory where the device files exists. 
 
• 
MSN_CORE_PATH: Core path for the <MSN> Driver Component 
folder. 
 
• 
MSN_TOOL_PATH: Directory where the module specific tool exe exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_clean_generated_files: This target can be used to clean the 
configuration source and header files generated by the <MSN> Driver 
Generation Tool. 
 
• 
debug_<MSN>_makefile: This target can be used to print the debug 
information such as paths used by <MSN> Driver Component. 
 
• 
generate_<MSN>_config: This target can be used to invoke the <MSN> 
Driver Generation Tool which in turn takes the ECU Configuration 
Description files (App_<MSN>_<DEVICE_NAME>_Sample.arxml) as 
an input and generates the configuration source and header files. 
 
 
 
 
52 
 

 Application Example                                                                                                               Chapter 5
 
 
 
 
 
 
 
 
     
Following variables must be defined in the Module Makefile described in 
Section 5.2.1 (Makefile Description): 
 
• 
PROJECT_ROOT: Root directory where the projects for all components 
exist. 
 
• 
MSN_CONFIG_PATH: Configuration path for description file of the 
<MSN> Driver Component. 
 
• 
MSN_CONFIG_FILE: Name of the <MSN> Driver Component description 
file. 
 
• 
STUB_CONFIG_PATH: Configuration path for description file of the stub. 
 
• 
MCU_CONFIG_FILE:  Name of the MCU Driver Component description 
file. 
 
• 
ARXML_CONFIG_PATH: ARXML Configuration file path used for the 
 
 
 
        <MSN> Driver Component. 
 
• 
ARXML_CONFIG_FILE: ARXML Configuration file used for the <MSN> 
    Driver Component. 
 
• 
BSWMDT_CONFIG_PATH: Path for <MSN> BSWMDT file. 
 
• 
BSWMDT_CONFIG_FILE: Name of the <MSN> BSWMDT file. 
 
• 
GENERIC_STUB_PATH: Directory where the generic stub exist. 
 
• 
GENERIC_PLATFORM_PATH: Directory where the generic platform 
files exist. 
 
• 
CC_INCLUDE_PATH: Path variable where all the header files can be 
found by the compiler. 
 
• 
CC_FILES_TO_BUILD: Variable that contains the list of source files, to 
be compiled and linked. 
 
• 
<MSN>_DB: Name of the Post-build configuration file. 
 
The above mentioned variables must be used by the user to build the base 
Makefile. 
 
A sample base Makefile (App_<MSN>_ <MICRO_SUB_VARIANT> 
_Device_Sample.mak) has been provided with the product for reference. 
This file can be modified to suit the developer’s needs. 
 
The targets that are supported in the base Makefile enable the user in build 
and cleanup activities during/after the build process. They are listed below: 
 
 
5.6.1.  Targets Supported By The Sample Base Makefile 
 
5.6.1.1.  debug_base_make 
 
Invoking the Make utility and passing “debug_base_make” as a parameter 
prints all the variables that are used in the base Makefile. This can be used to 
print various paths and file names to see if they are correct. 
 
5.6.1.2.  clean_objs 
 
Invoking the Make utility and passing “clean_objs” as a parameter deletes all 
the object files from the output folder 
(“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT >\obj” in this case). 
 
 
53 

Chapter 5                                                                                                                Application Example                                                                       
 

 
 
 
 
 
   
5.6.1.3.  clean 
 
Invoking the Make utility and passing “clean” as a parameter deletes tool 
generated files in the configuration output folders 
(“X1X\<MICRO_VARIANT>\modules\<msn>\sample_application\< 
MICRO_SUB_VARIANT>\src” and 
 
“X1X\<MICRO_VARIANT>\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\include”in this case) 
 

5.6.1.4.  clean_all 
 
Invoking the Make utility and passing “clean_all” as a parameter deletes all 
files such as object file, list files and map files from the output folder 
(“X1X\< MICRO_VARIANT > 
          \modules\<msn>\sample_application\< MICRO_SUB_VARIANT         
>\obj\<compiler>” in this case). 
 
5.6.1.5.  generate_<msn>_config 
 
Invoking the Make utility and passing “generate_<MSN>_config” as a 
parameter invokes the <MSN> Driver Generation Tool. The tool takes the 
ECU Configuration Description File(s) (“X1X\< MICRO_VARIANT 
>\modules\<msn>\Sample_application\<MICRO_SUB_VARIANT>\ 
AUTOSAR_VERSION 
 
config\<MSN>_Sample_ <MICRO_SUB_VARIANT>\.arxml” as input and 
generates the output files in folders 
 
“X1X\< MICRO_VARIANT >\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \src” and 
 
“X1X\< MICRO_VARIANT >1\modules\<msn>\Sample_application\< 
MICRO_SUB_VARIANT>\ AUTOSAR_VERSION \include”). 
 
 
5.6.1.6.  App_<MSN>_< MICRO_SUB_VARIANT >_Sample.out 
 
Invoking the Make utility and passing “Sample.out” as a parameter invokes the 
compiler and linker sequentially. Then it generates the executable 
“App_<MSN>_<MICRO_SUB_VARIANT>_Sample.out”. 
 
5.6.1.7.  <Msn>_PBcfg.s37 
 
Invoking the Make utility and passing “<Msn>_PBcfg.s37” as a parameter 
invokes 
the compiler and linker sequentially and generates the Motorola S-Record file 
“<Msn>_PBcfg.s37” in the output folder. 
This scenario typically arises when post-build parameters are modified and 
only the database needs to be flashed into the device without disturbing the 
other ROM contents. 
 
54 
 

Support For Different Interrupt Categories           
 
 
 
 
     Chapter 6                                                                                       
 
 
 
 
 
 
 
 
 
 
     
 
 
 
Chapter 6  Support For Different Interrupt Categories 
 
 
 
The <MSN> Driver supports CAT1 and CAT2 interrupt categories: 
 
CAT1 
 
In  CAT1  type  of  interrupt  ISR  does  not  use  an  operating  system  service.  In 
practice, the OS does not handle these interrupts, and the interrupt handler is 
implemented  in  the  driver  code,  with  the  only  restriction  that  OS  services 
cannot be called. Typically, these are the fastest highest priority interrupts. 
 
CAT2 
 
In  CAT2 type  of  interrupt wherein the  ISR  is  handled by  the  system and  OS 
calls can be called from the handler. 
 
For CAT1 and CAT2, the selection of interrupt category is for each interrupt in 
the module. Individual MCAL module does not contain any option for interrupt 
category configuration. The user has to configure the ISR category in OS and 
also  to  use  the  right  MCAL  specified  name  and  MCAL  expects 
"ISR(INTERRUPT_NAME)" keyword defined in OS in case of CAT2. 
 
Notes  1.   The understanding is Os module does not publish short name handles for 
CAT1 OsIsr container. But it should be defined in the interrupt vector table 
by the OS. 
 
2.   The understanding is that Os module should publish short name handles 
for CAT2 OsIsr container according to ecuc_sws_2108 requirement by 
adding the Os_" pefix to the configured interrupt name. 
 
 
Reference between the <MSN> module and OS: 
 
<Msn> module's <Module>_Irq.c/h files include "Os.h" header file to obtain the 
interrupt  category  information  configured  in  the  OS.  Therefore  following  pre- 
processor  definitions  are  expected  to  be  published  in  Os.h  file  by  the  OS  in 
case of CAT2 or to be used in the interrupt vector table in case of CAT1. 
 
 
Table 6-1  CAT1 and CAT2 Naming Convention 
 
Interrupt Category 
Naming Convention 
CAT1 
<MCAL_INTERRUPT_NAME>_ ISR 
CAT2 
<MCAL_INTERRUPT_NAME>_CAT2_ISR 
CAT2 (In case the handles of 
Os_<MCAL_INTERRUPT_NAME>_CAT2_ISR 
the OsIsr container are 
generated without ‘Os_’ prefix 
by Os generation tool) 
 
 
55 

 Chapter 6                                                                           Support For Different Interrupt Categories 
 
 
 
MCAL in Stand Alone:
 
 
In  case  if  the  MCAL  modules  are  to  be  used   stand  alone  without  having 
standard Autosar Os module, the user has to prepare an Os.h stub file with the 
published  handles  only  for  those  interrupt  names  which  are  to  be  used  as 
CAT2. 
 
Table 6-2 
List of ISR Names that need to be configured and published in Os.h 
(CAT2) or used in the interrupt vector table (CAT1) for <MSN> Driver 
 
 
 
 
 
 
CAT2(In case the handles of the 
 
 
Sl. 
OsIsr container are generated 
CAT1 
CAT2 
No. 
without ‘Os_’ prefix by Os 
generation tool)
 

<MSN>n_SGm_ISR 
<MSN>n_SGm_CAT2_ISR 
Os_<MSN>n_SGm_CAT2_ISR 

<MSN>_DMA_CHxy_ISR 
<MSN>_DMA_CHxy_CAT2_ISR 
Os_<MSN>_DMA_CHxy_CAT2_IS 

 
Where 
 
‘n’ indicate HW Unit number 
 
‘m’ indicate SG Unit number 
 
‘xy’ indicate DMA channel Id number 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56 


 GNU MAKE Environment  
 
 
 
 
 
 
 
      Chapter 7 
 
 
Chapter 7 
GNU MAKE Environment 
 
Every component is delivered with the necessary Make scripts that are 
required to integrate the component with the application. The scripts are 
compatible with GNU Make version 3.81. 
 
 
All the delivered Makefiles have to be included in the project level base 
Makefile in order to build the component together with the application. Refer 
section “Integration and Build Process” of the respective component User 
Manuals for more information on the Makefile variables and their usage. 
 
 
 
7.1. 
Build Process With GNUMAKE 
 
 
When the batch file of certain application is built, the GNU Make utility will be 
searched by batch file. The GNU Make utility should be present in the default 
path specified by GNUMAKE\PATH variable. By making use of the GNU Make 
utility the batch file will be compiled. 
 
 
 
7.2. 
Build Process Without GNUMAKE 
 
 
If GNU Make utility is not present at the default path or present in some other 
directory the following procedure is followed to set the Environmental variable 
GNUMAKE\PATH. 
 
1.   Right click on “My Computer” select properties, user will find System 
Properties. 
 
 
57 



 Chapter 7  
 
 
 
 
 
 
 
     GNU MAKE Environment 
 
 
2.   In System Properties select “Advanced” option, user will find 
“Environmental Variables” at the bottom side of window. 
 
 
 
 
3.   Click on “Environmental Variables”, user will find “Environment Variables” 
window in that, select “New”. 
 
 
58 


 GNU MAKE Environment  
 
 
 
 
 
 
 
      Chapter 7 
 
 
 
4.   After step 3, user can find “New User Variable” window with “Variable 
name” and “Variable path” options which needs to be set, Variable name 
will be set as GNUMAKE and Variable path is the path of the directory 
where GNU Make utility is present and click ok. 
 
 
 
 
5.   After step 4, in “System Properties” window click “Apply” and then “Ok”. 
 
Remark  GNU Make utility version 3.81 must be separately downloaded and installed to 
use the Makefiles delivered along with the component. More information on the 
utility can be found at http://www.gnu.org/ 
 
 
 
 
 
 
 
 
59 

 Chapter 7  
 
 
 
 
 
 
 
     GNU MAKE Environment 
 
 
 
60 
 

 Load Binaries                                                                                                                           Chapter 8
 
 
 
 
 
 
 
 
 
 
     
 
 
Chapter 8 
Load Binaries 
 
 
 
 
Once the Executable or S-Record is generated using the project level base 
Makefile, it needs to be downloaded into the target using a Flash programmer. 
 
The user has to read the instructions provided in the Flash programmer’s User 
Manual thoroughly before using it. 
 
 
61 

  Chapter 8                                                 
 
 
 
 
            Load Binaries                                                                                                                                                                                                                                         
 
 
 
 
 
 
 
 
 
              
 
 
 
62 
 

 Appendix  
 
 
 
 
 
 
 
 
 
     Chapter 9                                                                                                                          
 
 
 
 
 
 
 
 
 
 
 
 
Chapter 9 
Appendix 
 
 
 
 
 
 
 
63 

 Chapter 9   
 
 
 
 
 
 
 
 
 
     Appendix 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64 
 

 
 
Revision History 
 
 
Sl.No.  Description 
Version 
Date 
1. 
Initial Version 
1.0.0 
15-Sep-2014 
2. 
The following changes are made : 
1.0.1 
 25-Apr-2016 
1.  Added section 5.2. Compiler, Linker and Assembler in 
 
Chapter 5. 
2.  Added section 5.3. Batch file Description in Chapter 5. 
3.  Supported device name changed throughout the document. 
4.  Added R-number to the document. 

The following changes are made: 
1.0.2 
17-Feb-2017 
1.  Added Section 4.10 – User Environment settings. 
2.  Removed Description of Translation XML file from Chapter 9 
3.  Updated Copyright year 
4.  Added example for reference in section 4.4 
5.  In Chapter 4 Figure 4-2 has been updated as per version 
change 
6.  Compiler Option Table updated  
7.  In Chapter 5 Section 5.4.1 Trxml changed to Arxml format 
8.  Chapter 9 Section 9.1 Configuration XML file remove since 
not relevant  
9.  Document name corrected in second last and last page. 
10.  Compiler options updated in the section 5.2 
 

The following changes are made: 
1.0.3 
09-May-2017 
1.  Updated R-number of the document. 
2.  Notice and copyright are updated. 
 
65 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for P1x-C MCAL Driver User' Manual 
Version 1.0.3 
 
Publication Date: Rev.1.01, May 09, 2017 
 
Published by: Renesas Electronics Corporation 
 



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



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Getting Started Document for P1x-C MCAL Driver 
 
User's Manual 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 R20UT3828EJ0101 
 
 
 

Document Outline


39 - Releasenotes_P1M-C_SPAL_R403_Ver4.02.00.D

Releasenotes_P1H-C_P1H-CE_FULL_R403_Ver4.01.00.001

41 - Releasenotes_P1M-C_SPAL_R403_Ver4.02.00.Ds

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Release Notes for P1M-C-OpenMarket / 
RH850:RENESAS_SW-AUTOSAR-P1M-C: MCAL 
Ver4.02.00.D 
Beta Quality 
1.1  Purpose: 
To deliver AUTOSAR R4.0.3 MCAL software for P1x-C Ver4.02.00.D release using the following 
inputs. 
 
        Device Manual:                    r01uh0517ej0100_rh850p1x-c_Open.pdf 
 
        Device File:  
                DF-RH850P1x-C-EE_E120b.zip 
 
        Operating Precautions:    R01TU0087ED0101_RH850P1M-C.pdf 
                                                   
        Modules supported:          ADC, FLS, MCU, SPI and WDG. 
1.2 
Package information 
Product   
RH850/P1x-C 
Variant 
P1M-C 
Product Release Version 
Ver4.02.00.D 
AUTOSAR Specification Version 
4.0.3 
Devices supported 
RH850 
P1M-C – R7F701373, R7F701374 
Release Date 
28-Feb-2017 
 
 
 
 
 
Page 1 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
1.3  Tools   
1.3.1  GHS 
Tool 
Version 
Options 
GreenHills 
Green Hills Multi 
-c -g -gsize -Wundef -Wshadow -nofloatio --short_enum 
Multi IDE – 
V6.1.6 Compiler 
--prototype_errors --diag_error 193 -dual_debug 
--no_commons -cpu=rh850g3m -Osize -prepare_dispose 
compiler 
Version 2015.1.7 
-inline_prologue -no_callt 
 
-ignore_callt_state_in_interrupts -sda=all -reserve_r2 
-large_sda -shorten_loads -shorten_moves -delete 
1.3.2  Configuration code generator 
Tool 
Version 
Options 
ECU Spectrum 
4.0.14 

1.3.3  Additional software 
Tool 
Version 
Options 
NA 


 
 
1.4  Generic Information 
1.4.1  Release Target 
Processor 
P1M-C - R7F701373, R7F701374 
Module 
Generic 
Module Overview User Manual 
R20UT3827EJ0100-AUTOSAR.pdf – V1.0.2 
Getting Started for P1x-C MCAL User 
R20UT3828EJ0100-AUTOSAR.pdf – V1.0.2 
Manual 
Date 
28-Feb-2017 
1.4.2  Release Items 
Filename 
Version 
Change Description 
Generator Files 
CommonHelper 
0.0.3 
Following changes are made in Ver4.02.00.D:- 
1. Updated macro IsBooleanParameterEnabledOrDisabled. 
2. Added macro IsBooleanNonMandateParameterEnabled. 
Common Files 
Page 2 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
ComStack_Types.h   
1.0.0 
No changes for release Ver4.02.00.D 
Std_Types.h   
1.0.1 
No changes for release Ver4.02.00.D 
rh850_Types.h 
1.0.1 
No changes for release Ver4.02.00.D 
Platform_Types.h   
1.0.0 
No changes for release Ver4.02.00.D 
Compiler Files 
Compiler.h 
1.0.1 
No changes for release Ver4.02.00.D 
Compiler_Cfg.h   
1.0.1 
No changes for release Ver4.02.00.D 
MemMap.h   
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Memory section of modules MCU, SPI, WDG and FLS are 
updated. 
Os.h   
1.0.1 
No changes for release Ver4.02.00.D 
Os.c   
1.0.0 
No changes for release Ver4.02.00.D 
Getting Started for P1x-C MCAL User Manual 
R20UT3828EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1. Added Section 4.10 – User Environment settings. 
2. Removed Description of Translation XML file from Chapter 

3. Updated Copyright year 
4. Added example for reference in section 4.4 
5. In Chapter 4 Figure 4-2 has been updated as per version 
change 
6. Compiler Option Table updated 
7. In Chapter 5 Section 5.4.1 Trxml changed to Arxml format 
8. Chapter 9 Section 9.1 Configuration XML file remove since 
not relevant 
9. Document name corrected in second last and last page 
Module Overview User Manual 
R20UT3827EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1. Updated section Configuration Parameter Dependency for 
GPT, ICU and PWM. 
2. Added Dem for ADC, PWM, PORT, DIO, SPI and GPT. 
3. Removed details regarding Dem from the section 3.1.16, 
ETH. 
4. Updated R number 
Page 3 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
1.4.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.00.D.xlsx 
1.4.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW09_2017.xlsx 
 
Page 4 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
1.5  Module Index 
 
2. ADC 
 
3. FLS 
 
4. MCU 
 
5. SPI 
 
6. WDG 
 
Page 5 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
2  ADC 
2.1  Target Info 
Processor 
P1M-C - R7F701373, R7F701374 
Module 
ADC 
Software Version 
V1.0.1 
Embedded User Manual 
R20UT3635EJ0100-AUTOSAR.pdf– V1.0.2 
Tool User Manual 
R20UT3636EJ0100-AUTOSAR.pdf – V1.0.2 
Date 
28-Feb-2017 
 
2.2  Release Items 
Filename 
Version 
Change Description 
P1x-C - Parameter Definition files 
R403_ADC_P1X-C.arxml 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Added Dem parameters ADC_E_DMA_FAILURE, 
ADC_E_INT_INCONSISTENT & 
ADC_E_REG_WRITE_VERIFY. 
2. Added parameters AdcEnableSelfDiag, AdcEnableAdTimer, 
AdcEnableBufferAllocation, AdcInterruptConsistencyCheck, 
AdcWriteVerify, AdcDmacWriteVerify, AdcPic2cWriteVerify, 
AdcPullDownPulseWidth, AdcUlmtLlmtErrIntEnable, 
AdcEnableAdTimerTriggMode, AdcTimerPeriod, 
AdcTimerPhaseDelay, AdcIdErrIntEnable, 
AdcParityErrIntEnable. 
3. Modified parameter AdcSelfDiagMode. 
4. Updated description of AdcChannelRangeSelect, 
AdcEnableChSelfDiag, AdcSelfDiagConvCktRef, 
AdcEnablePullUpPullDown, AdcSelfDiagPinLevel. 
5. Max value of parameters AdcChannelConvTime, 
AdcChannelResolution, AdcChannelSampTime and 
AdcHwTrigTimer updated. 
6. Upper Multiplicity of AdcExtMuxValue and 
AdcExtMuxDelayCounter modified. 
7. Modified LITERALS of AdcSelfDiagConvCktRef. 
8. Added DOC-REVISION in ADMIN-DATA. 
9. Removed parameter AdcHwUnitMaxChannelId, 
AdcHwUnitTotalConvTime. 
10. Copy right information updated. 
Page 6 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
11. Limit check option 'ADC_RANGE_NOT_BETWEEN' is 
removed from the parameter 'AdcChannelRangeSelect'. 
12. Support for device R7F701371 added. 
13. Added parameter AdcWriteVerifyErrorInterface. 
14. As per ARDAAAF-1363, Warranty Disclaimer updated 
15. Removed literals ADTIM3_SG3_SG4 and 
ADTIM4_SG3_SG4 from parameter AdcHwTrigger. 
BSWMDT 
R403_ADC_P1x-C_BSWMDT.arx
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
ml 
1. CAN-ENTER-EXCLUSIVE-AREA-REF tag is added. 
2. Warranty Disclaimer updated. 
3. Software patch version incremented.   
Source Code 
Adc.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
Adc_Irq.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
Adc_Private.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. PIC register implementation modified. 
3. Copyright information updated. 
4. Comments added for traceability. 
5. Removed Misra warning Msg(4:2892) from MISRA C Rule 
Violations. 
6. Added volatile to LpRunTimeData in APIs 
Adc_GroupCompleteMode, 
Adc_ConfigureGroupForConversion, 
Adc_HwEnableHardwareTrigger and Adc_ProcessQueue. 
Adc_Ram.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x branch. 
2. Added volatile to Adc_GpRunTimeData. 
3. Copyright information updated. 
Adc_Version.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x branch. 
2. Copyright information updated. 
Page 7 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Adc.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
Adc_Debug.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
Adc_Irq.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
Adc_PBTypes.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
4. Removed variable blExtMuxEnabled from structure 
STag_Adc_GroupConfigType. 
5. Removed ucHWTriggerType from structure 
STag_Adc_SgTriggType. 
Adc_Private.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
Adc_Ram.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
4. Added volatile to Adc_GpRunTimeData 
Adc_Types.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
4. Removed Unused Misra violation Msg(4:3453) from the 
file. 
Adc_RegWrite.h 
1.0.0 
Initial version 
Adc_Version.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1. File adapted from P1x V4.01.01 branch. 
2. Copyright information updated. 
3. Comments added for traceability. 
Page 8 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
P1x-C TCODE file for ADC 
Adc_Hardware_c 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Corrected the elements of array T_ADCF1 and 
DMA_BaseAddress. 
2. Copyright information updated. 
Adc_Hardware_h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Arrays ADC_BaseAddress and DMA_BaseAddress updated. 
2. Copyright information updated. 
Adc_Cfg_h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Added new macros : ADC_ENABLE_EXTERNAL_MUX, 
ADC_ENABLE_BUFFER_ALLOCATION, 
ADC_ENABLE_ERROR_INTERRUPT, 
ADC_ENABLE_SELF_DIAG_PIN_LVL, 
ADC_ENABLE_SELF_DIAG, 
ADC_ENABLE_SELF_DIAG_WIRE_BRK, 
ADC_WIRE_BRK_PIN_SELECT, 
ADC_ENABLE_ADTIMER, ADC_CONFIG_SETS, 
ADC_SG_UNITS, ADC_HW_UNITS, 
ADC_TOTAL_GROUPS, ADC_HW_TRIGG_GROUPS, 
ADC_DMA_UNIT_CONFIG, ADC_LIMIT_CHK_GROUPS, 
ADC_TOTAL_CHANNELS, ADC_SG_MAX_DMA_INDX, 
ADC_HW_UNIT_INDX, ADC_WRITE_VERIFY_ENABLE, 
ADC_DMAC_WRITE_VERIFY_ENABLE, 
ADC_PIC2C_WRITE_VERIFY_ENABLE, 
ADC_ENABLE_DIAGNOSTIC_SUPPORT, 
ADC_ALIGN_RIGHT_MASK, 
ADC_ALIGN_LEFT_MASK, ADC_HW_TRIGG_TYPE, 
ADC_ERRROR_NOTIFICATION, 
ADC_ERROR_INTERFACE_ENABLE, 
ADC_ERROR_INTERFACE 
ADC_INTERRUPT_CONSISTENCY_CHK. 
2. Copyright information updated 
3. Added macros AdcWriteVerify, AdcDmacWriteVerify, 
AdcUseWriteVerifyErrorInterface, AdcPic2cWriteVerify. 
4. Macro IsBooleanParameterEnabledOrDisabled is replaced 
with IsBooleanNonMandateParameterEnabled for 
non-mandatory parameters. 
Adc_Cbk_h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Generation of Call back function updated. 
2. Copyright information updated 
Page 9 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
3. Call back function added for 
AdcUseWriteVerifyErrorInterface. 
Adc_PBcfg_c 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Updated all structures. 
2. As per ticket ARDAAAF-1659, macro 
IsBooleanParameterEnabledOrDisabled is replaced with 
IsBooleanNonMandateParameterEnabled for non-mandatory 
parameters. 
3. Copyright information updated. 
Adc_Validate 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Validation for write verify is added. 
2. Macro IsBooleanParameterEnabledOrDisabled is replaced 
with IsBooleanNonMandateParameterEnabled for 
non-mandatory parameters. 
3. Added error code 158 and 161. 
P1x-C ADC Common Sample Application Source file   
App_ADC_Common_Sample.c 
1.0.0 
No changes for release in Ver4.02.00.D 
P1x-C ADC Common Sample Application Header file 
App_ADC_Common_Sample.h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Removed definition of AdcConfigSet0. 
P1x-C ADC Sample Application P1M-C Source file 
App_ADC_P1x-C_Sample.c 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1.  Added  function  select_the_Table_Reference  to  enable 
interrupt control registers. 
P1x-C ADC Sample Application P1M-C Header file 
App_ADC_Device_Sample.h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Added macro ADC_SET_TABLE_REF_METHOD for 
enabling interrupt control registers 
TargetMap.h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1.Changed the precompile switch 
ADC_ENABLE_ERROR_CHECK to 
ADC_ENABLE_ERROR_INTERRUPT   
P1x-C User Manual 
R20UT3635EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1. Added Table 4-10 ADC driver protected resources list. 
2. Updated Section 4.1 of Chapter 4. 
3. Updated Table 8-1 in Chapter 8. 
4. Updated Register details of section 6 in Table 6-1. 
5. Removed Section13.2 Complier, Linker, and Assembler. 
Page 10 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
6. Throughput, Stack depth and ROM/RAM details updated in 
section 13.3 
7. Device names updated in Chapter 13. 
8. .one and .html are removed 
R20UT3636EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1. Error messages added in section 10.1.1 Error Messages 
2. Warning messages added in section 10.1.2 Warning 
Messages 
3. Information messages added in section 10.1.3 Information 
Messages 
4. Section 9.3 User Environment Settings updated 
5. Removed Chapter 9 and Chapter 11 
6. Added Diagram Container Overview in Chapter 8 
 
2.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.00.D.xlsx 
 
2.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW09_2017.xlsx 
 
Page 11 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
3  FLS 
3.1  Target Info 
Processor 
P1M-C - R7F701373, R7F701374 
Module 
FLS 
Software Version 
V1.0.2 
Embedded User Manual 
R20UT3641EJ0100-AUTOSAR.pdf – V1.0.2 
Tool User Manual 
R20UT3642EJ0100-AUTOSAR.pdf – V1.0.2 
Date 
28-Feb-2017 
 
3.2  Release Items 
Filename 
Version 
Change Description 
P1x-C - Parameter Definition files 
R403_FLS_P1X-C.arxml 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                             
1.  The minimum range of parameter FlsErasedValue is 
modified.                         
2.  The device support for R7F701371 is added.                                                             
3.  The enumeration parameter FlsWriteVerify is updated and 
FlsInterruptConsistencyCheck and 
FLS_E_INT_INCONSISTENT parameters are removed           
4.  The Warranty Disclaimer description is corrected.                                                 
5.  Description of FlsWriteTime, FlsEraseTime are updated.                                                                           
6.  Default value of FlsNumberOfSectors is corrected 
7.  Maximum value of FlsSectorStartaddress corrected 
8.  FlsNumberOfSectors description updated                       
9.  FlsMaxWriteNormalMode parameter is fixed to 4 bytes. 
10. FlsMaxEraseNormalMode parameter is fixed to 64 bytes.                                                                           
11. FlsAcLocationErase parameter range is updated.                                           
12. Upper multiplicity of FlsSpiReference is updated to 1.                                   
13. Upper multiplicity of FlsSector updated to 3072.                                               
14. Parameter FlsFaciUnit removed.                                                                                   
BSWMDT 
R403_FLS_P1x-C_BSWMDT.arxml 
1.0.2 
Following change is made in Ver4.02.00.D:-                                                 
1.  Patch version is updated.                                                 
2.  Added critical section FLS_CODE_FLASH_DISABLED                                         
3.  Warranty Disclaimer updated. 
4.  'EXCLUSIVE-AREA' tag is removed from Fls_Read (), 
Fls_Suspend (), Fls_Resume () APIs.                               
Page 12 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
5.  'IS-SYNCHRONOUS tag' is updated for 
Fls_ReadImmediate () and Fls_MainFunction () APIs. 
6.  'CAN-ENTER-EXCLUSIVE-AREA-REFS' tag is added 
under 'BSW-SCHEDULABLE-ENTITY' tag.                       
7.  'EVENTS' class for the scheduled function is added.                                                                                   
8.  <IMPLEMENTED-ENTRY-REF> tag is added under 
'BSW-SCHEDULABLE-ENTITY' tag.   
9.  Device support for R7F701371 is added.                                                           
Source Code 
Fls.c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Fls_MainFunction API is updated. 
2.  Fls_Suspend API is modified to check current command. 
3.  Pre compile switchesare corrected,removed switch 
FLS_INTERRUPT_MODE. 
4.  Fls_Suspend API is modified. 
5.  Justification for QAC Warnings are added. 
6.  DET implementation is updated. 
7.  'FLS_UT_001' Tag added for the non-covered parts of the 
code. 
8.  Updated data type for "TargetAddressPtr" in Fls_Read 
and Fls_ReadImmediate APIs. 
Fls_Internal.c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                             
1.  Pre compile switches are corrected,removed switch 
FLS_INTERRUPT_MODE. 
2.  The APIs Fls_ProcessReadImm, Fls_InitiateWriteJob and 
Fls_InitiateBlankCheckJob are modified. 
3.  Added Fls_FastReadCheckECC API. 
4.  Check for FLS_FCU_REGBIT_FSTATR_FRDY is 
removed from Fls_InitiateWriteJob API. 
5.  Fls_InitiateEraseJob, 
Fls_PerformBlankCheckForReadOp, Fls_ClearIntReq 
function banner is updated. 
6.  The definition of Fls_MainRead API is corrected. 
7.  Fls_PerformBlankCheckForReadOp and 
Fls_TimeOutCheckAndProcessing are modified. 
8.  Missing comments are added. 
9.  Fls_MainErase is modified. 
10. Fls_InitiateEraseJob and Fls_InitiateBlankCheckJob APIs 
are modified. 
11. Fls_MainWrite is modified. 
Page 13 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
12. Register Write Verify Implementation is done for all 
registers. 
13. Justification for QAC Warnings are added. 
14. LulRegValue removed from Fls_InitiateWriteJob, 
Fls_InitiateEraseJob definition to fix Msg (3:3203) and 
misra violation Msg(4:2983). 
15. Added justifications for Msg (4:1290). 
16. DET implementation is updated. 
17. 'FLS_UT_002' Tag added for the non-covered parts of the 
code. 
18. Cleared the global status flag 
'Fls_GblJobSuspendRequest' in Fls_ProcessSuspend. 
19. Updated the macro FLS_FCU_ERR_TIMEOUT in 
InitiateBlankCheckJob, Fls_ProcessRead, 
Fls_TimeoutCheckAndProcessing APIs. 
  Fls_Private_Fcu.c 
1.0.1 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Pre compile switches are corrected. 
2.  Updated Fls_FcuCheckJobStatus function to invoke 
Fls_ProcessSuspend function for erase and write 
operations 
3.  Fls_FcuGetDFSize is updated. 
4.  Fls_FcuInitRAM function banner is updated. 
5.  Fls_FcuSwitchMode and Fls_FcuForcedStop APIs are 
modified. 
6.  Fls_FcuSwitchMode and Fls_FcuPerformBlankCheck 
APIs are modified. 
7.  Register write-verify is implemented for DFERSTC 
register in Fls_FcuDataCopy. 
8.  Register write-verify is implemented for all registers and 
FACI1 support is removed. 
9.  Justification for QAC Warnings are added. 
10. Critical section protection for Fls_FcuGetFWParam(), 
Fls_FcuCopytoRam() added. 
11. Fls_FcuCopytoRam, Fls_FcuSwitchBFlash, 
Fls_FcuClearCache and Fls_FcuGetFWParam are kept 
under FLS_START_SEC_PRIVATERAM_CODE 
memory section. 
12. Code comments updated. 
13. Removed switch operation #if 
(FLS_INTERRUPT_MODE == STD_OFF) 
Page 14 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
14. Fls_FcuClearStatus API is updated to remove error bit 
checking. 
15. Fls_FcuSwitchMode is improved to handle mode switch 
to user mode and P/E separately and 
Fls_FcuCheckSequencerStatus is added to check 
16. FENTRYR register to identify command lock state and 
Lddmode in Fls_FcuSwitchMode changed to constant. 
17. Removed variable declaration LusModeRegVal to fix 
Msg(3:3203) 
18. Added justification for qac warning (2:3892) 
19. LucLoopCount in Fls_FcuForcedStop API is updated to 
check for FRDY bit using 
FLS_FCU_FRDY_POOL_COUNT value. 
Fls_Ram.c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added Fls_GblJobSuspendRequest variable. 
2.  Pre compile switches are corrected. 
3.  Justification for QAC Warnings are added. 
Fls_Version.c 
1.0.1 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Pre compile switches are corrected. 
2.  QAC Warning (2:0553) is justified. 
Fls.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Return type of Fls_Suspend API is modified. 
2.  Pre compile switches are corrected. 
3.  Updated data type for "TargetAddressPtr" in Fls_Read 
and Fls_ReadImmediate APIs. 
Fls_Debug.h 
1.0.1 
Following changes are made in Ver4.02.00.D:-                                               
Pre compile switches are corrected. 
Fls_Internal.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Pre compile switches are corrected. 
2.  Added extern declaration for Fls_FastReadCheckECC 
API. 
3.  Declaration of Fls_PerformBlankCheckForReadOp is 
modified. 
4.  Missing comments are added. 
Fls_PBTypes.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Pre compile switches are corrected. 
2.  Write verification macros are moved to Fls_RegWrite.h 
3.  FACI1 supporting code parts are removed. 
4.  Added FLS_FCU_FRDY_POOL_COUNT macro. 
5.  Added type cast in macro definitions 
Page 15 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Fls_Private_Fcu.h 
1.0.1 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Pre compile switches are corrected. 
2.  Pre compile switch added for Fls_FcuCopytoRam (), 
Fls_FcuSwitchBFlash (), Fls_FcuClearCache (), 
Fls_FcuGetFWParam (). 
3.  Added Fls_FcuCheckSequencerStatus API declaration 
and Fls_FcuSwitchMode declaration updated. 
Fls_Ram.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added extern declaration of Fls_GblJobSuspendRequest 
variable. 
2.  Pre compile switches are corrected. 
3.  Memory class for Fls_GpConfigPtr corrected are 
corrected. 
4.  Added justification for qac warning msg(2:0862) 
Fls_Types.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Pre compile switches are corrected. 
2.  Register Write Verify macros are removed. 
Fls_Version.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
Pre compile switches are corrected. 
Fls_RegWrite.h 
1.0.0 
Initial Version 
P1x-C TCODE file for FLS 
Fls_PBcfg_c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  QAC Warnings are Justified. 
2.  Added justification for qac warning Msg(2:0862) 
3.  FlsJobEndNotification, FlsJobErrorNotification, 
FlsEccSedNotification and FlsEccDedNotification, 
FlsWriteVerifyErrorInterface are updated 
Fls_Hardware_c 
1.0.1 
Following changes are made in Ver4.02.00.D:-                                                 
1.  QAC Warnings are justified. 
2.  FACI1 related code removed 
Fls_Cbk_h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Extern declaration for user error interface function is 
added. 
2.  Validation for FlsJobEndNotification, 
FlsJobErrorNotification, FlsEccSedNotification and 
FlsEccDedNotification, FlsWriteVerifyErrorInterface are 
updated 
Fls_Cfg_h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added macro FLS_AR_VERSION. 
Page 16 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
2.  Comments for macros FLS_DF_POOL_SIZE, 
FLS_DF_TOTAL_SIZE and 
FLS_CPU_FREQUENCY_MHZ are improved. 
3.  Macro FLS_DF_TOTAL_BLOCKS generation is 
removed. 
4.  Macros FLS_WRITE_VERIFY, 
FLS_USE_WV_ERROR_INTERFACE are added. 
5.  Macro FACIFRTEINT is typecasted. 
6.  Validation for FlsJobEndNotification, 
FlsJobErrorNotification, FlsEccSedNotification and 
FlsEccDedNotification, FlsWriteVerifyErrorInterface are 
updated 
7.  Removed validation for parameter 
FLS_INTERRUPT_MODE 
8.  Macro FLS_DF_TOTAL_SIZE value calculation updated. 
9.  Removed Macro FACI_UNIT 
Fls_Hardware_h 
1.0.1 
Following changes are made in Ver4.02.00.D:-                                               
FACI1 related code removed. 
Fls_Validate 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Validation for uniqueness of FlsCallCycle parameter 
across multi config set is added. 
2.  Validation for device 701371 is added. 
3.  Validation for uniqueness of FlsTimeOutCountValue 
parameter across multi config set is added. 
4.  Validation for FlsWriteVerify and 
FlsWriteVerifyErrorInterface are added. 
5.  Validation for FlsJobEndNotification, 
FlsJobErrorNotification, FlsEccSedNotification and 
FlsEccDedNotification, FlsWriteVerifyErrorInterface are 
updated 
6.  ERR-31 is added to validate 'FlsNumberOfSectors' 
parameter. 
7.  ERR-32 is added to validate 
'FLS_E_REG_WRITE_VERIFY' parameter. 
8.  Validation for multiple configset added for 
FlsEccDedNotification, FlsEccSedNotification, 
FlsJobErrorNotification, 
FlsJobEndNotification,FlsNumberOfSectors, 
FlsSectorStartaddress. Also added validation for to check 
if the container FlsSector is added more than once in any 
Page 17 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
configset. For all these ERR_59_92_033 to 
ERR_59_92_037 were added. 
9.  Validation for FlsSectorStartaddress within the range and 
multiple of 64 added. 
10. Code Flash related validations and FlsSectorIndex 
validation removed 
P1x-C FLS Common Sample Application Source file 
App_FLS_Common_Sample.c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Sample script is updated for checking Fls_Suspend and 
Fls_Resume. 
2.  Updated data type for "TargetAddressPtr" in Fls_Read 
and Fls_ReadImmediate APIs. 
3.  Removed swith operation                                                 
#if (FLS_INTERRUPT_MODE == STD_ON) 
P1x-C FLS Common Sample Application Header file 
App_FLS_Common_Sample.h 
1.0.0 
No changes for release Ver4.02.00.D. 
P1x-C Sample Application P1M-C Source file 
App_FLS_P1x-C_Sample.c 
1.0.0 
No changes for release Ver4.02.00.D. 
P1x-C Sample Application P1M-C Header file 
App_FLS_Device_Sample.h 
1.0.0 
No changes for release Ver4.02.00.D. 
P1x-C User Manual 
R20UT3641EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  In chapter 4, section 4.2 Preconditions points are revised. 
2.  Table 4-2 is updated with Known Limitation in User 
Mode. 
3.  Table 4-1 is added to list protected resources in FLS 
driver. 
4.  Chapter 8 is updated with Stub files and Table 8-1 is 
updated. 
5.  In Chapter 6, Table 6-1 is updated with Register Files. 
6.  In chapter 13, added references for device 701371. 
7.  Chapter 12 and chapter 13.2 are updated with memory 
sections 
8.  In Chapter 4, section 4.3 Data Consistency is updated. 
9.  In Chapter 4.4 Deviation list updated. 
10. Updated Chapter 13.2.3 added Throughput for main 
function and updated with Fls_BlankCheck, Fls_Suspend, 
Fls_Resume API details in chapter 4.1. 
11. Updated Chapter 12 Memory Organization 
Page 18 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
12. Updated Chapter 6 with details of the register as per 
individual APIs. 
13. Chapter 13, Added Processor name along with Device 
variants. 
14. In section 4.5, Note added. 
15. In Chapter 12 memory organization updated and in 
chapter 13.2.1 memory usage updated. 
16. In chapter 4.1 General section updated with time timeout 
monitoring details and chapter 4.4 with timeout 
monitoring deviation details. 
R20UT3642EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  INF_59_092_001 is added in section 9.3 
2.  Chapter 1, Updated Introduction. 
3.  Section 2.1, Updated reference document details. 
4.  Chapter 3, Updated the Heading Code Generation 
Overview with MCAL Code Generator overview   
5.  Chapter 5, Updated description of output files. 
6.  Chapter 6, Added one more point in precautions. 
7.  Section 8.1, Updated Pre-Compile Configurable 
Parameters 
8.  Section 8.2, Updated Post Build Time Configurable 
Parameters 
9.  Chapter 4, Updated description of Input files. 
10. Removed chapter 9, MCAL Code Generator Tool 
11. Removed Chapter 11 - Notes,   
12. Replaced the words Tool, Generator Tool, FLS Driver 
Generator tool with MCAL Code Generator Tool in this 
document. 
13. Chapter 3, Added remark for common MCAL Code 
Generator Tool user manual. 
14. Updated Chapter 2, Chapter 3, Chapter 4 and Chapter 8 
for maintaining consistency.   
15. MCAL Code Generator Tool Overview to Code 
Generation Overview 
16. Removed parameters from Figure 8-1, Configuration 
Overview   
17. Removed Error Messages from chapter 9. 
18. Added Error Messages in Chapter 9. 
19. Removed parameters FlsInterruptConsistencyCheck and 
FlsFaciUnit from section 8.2 
Page 19 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
 
3.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.00.D.xlsx 
 
3.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW09_2017.xlsx 
 
Page 20 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
4  MCU 
4.1  Target Info 
Processor 
P1M-C - R7F701373, R7F701374 
Module 
MCU 
Software Version 
V1.1.0 
Embedded User Manual 
R20UT3651EJ0100-AUTOSAR.pdf – V1.0.2 
Tool User Manual 
R20UT3652EJ0100_AUTOSAR.pdf – V1.0.2 
Date 
28-Feb-2017 
4.2  Release Items 
Filename 
Version 
Change Description 
P1xC - Parameter Definition files 
R403_MCU_P1X-C.arxml 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Changed the type of the parameters 
McuClmxMonitoringClockAccuracy and 
McuClmxSamplingClockAccuracy(x =0..3,5) from 
integer to float. 
2.  Added boolean parameter McuRamSectorSetting. 
3.  Maximum value of the parameter McuResetReason is 
changed to 255. 
4.  Support for Clock Monitor CLMA4 is added for P1H-C 
and P1H-CE devices. 
5.  'McuInterruptConsistencyCheck' parameter is added in 
'McuGeneral container and 
'MCU_E_INT_INCONSISTENT' parameter is added 
'McuDemEventParameterRefs' container. 
6.  Parameters 'McuWriteVerify', 
'McuUseWriteVerifyErrorInterface', 
'McuWriteVerifyErrorInterface' and 
'MCU_E_REG_WRITE_VERIFY are added. 
7.  Parameters McuClma0SelfDiagnosticTest, 
McuClma1SelfDiagnosticTest, 
McuClma2SelfDiagnosticTest, 
McuClma3SelfDiagnosticTest, 
McuClma4SelfDiagnosticTest are added in 
McuGeneralConfiguration container, parameter 
'MCU_E_CLM_SELFDIAG_FAILURE' is added in 
'McuDemEventParameterRefs' container and removed all 
Page 21 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
the references to CLMA5 clock monitor. 
8.  Added parameter McuCvmSelfDiagnosticTest in 
McuGeneralConfiguration container and 
MCU_E_CVM_SELFDIAG_FAILURE in 
'McuDemEventParameterRefs' container. 
9.  Parameter McuEcmSelfDiagnosticTest is added in 
McuGeneralConfiguration container and 
MCU_E_ECM_SELFDIAG_FAILURE in 
'McuDemEventParameterRefs' container. 
10. Updated the warranty disclaimer description. 
11. Parameter McuLockStepSelfDiagnosticTest is added in 
McuGeneralConfiguration container and 
MCU_E_LOCKSTEP_SELFDIAG_FAILURE in 
'McuDemEventParameterRefs' container. 
12. Added parameters 'McuCvmDiagLockBit' and 
'McuCvmResetEnable'. 
13. Parameter 'McuEcmInitialNotification' added in all ECM 
Error Source containers. 
14. Replaced the <UPPER-MULTIPLICITY> tag    of the 
container McuResetReasonConf with 
<UPPER-MULTIPLICITY-INFINITE> 
15. Parameter 'McuMainOsciFrequency' is updated as 
enumeration type with values 16Mhz, 20Mhz and 24Mhz. 
16. Description and default value for the parameter 
'McuLoopCount' is updated.   
BSWMDT 
R403_MCU_P1x-C_BSWMDT.arxml 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Software minor version is updated.                       
2.  IS-SYNCHRONOUS tag updated as false for ISR 
functions. 
Source Code 
Mcu.c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Updated the list of used registers in the function banner of 
API's. 
2.  Added pre-compile switch 
MCU_RAM_SECTOR_SETTING_CONFIGURED for 
Mcu_InitRamSection API and added Local and Global 
RAM Error Initializations in function 
Mcu_ConfigureEcmRamErrors(). 
3.  Added function call Mcu_ConfigureEcmRamErrors() in 
Page 22 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Mcu_Init API when the parameter 
MCU_RAM_SECTOR_SETTING_CONFIGURED is 
configured as FALSE. 
4.  Added CLMA4 for all device variant except P1M-C 
devices. 
5.  Added the inclusion of Mcu_RegWrite.h and Macro 
functions 
MCU_MASKED_CHECK_WRITE_VERIFY_INIT and 
MCU_MASKED_CHECK_WRITE_VERIFY_RUNTIM
E are implemented. 
6.  Updated the wake up condition check in Mcu_SetMode() 
API for Dem Error reporting. 
7.  Write access to IMRm register is done using 
RH850_SV_MODE_IMR macros to meet the requirement 
EAAR_PN0034_FR_0067 and also included 
"rh850_Types.h". 
8.  Added the API Mcu_ClmaSelfDiagnosticTest and 
removed all the references to CLMA5. 
9.  Added the API Mcu_CvmSelfDiagnosticTest, 
Mcu_CvmNormalModeSetting and 
Mcu_CvmSelfDiagnosticSetting. 
10. Mcu_EcmResetReason API updated to add 
MCU_ECM_DELAY_TMR_OVF_RST. 
11. Delay timer overflow control register DTMCTL is 
enabled in Mcu_Init(). 
12. Added the API Mcu_LockStepSelfDiagnosticTest and 
‘Mcu_Init’ API is updated to invoke 
Mcu_LockStepSelfDiagnosticTest. 
13. Added function Mcu_ConfigureCvm and updated the 
switch case in Mcu_ResetReasonStore API for the 
addition of cases for Power on reset, Terminal reset and 
CVM reset. 
14. Added the API ‘Mcu_EcmErrorInitialNotification’ and 
also ‘Mcu_Init’ API is updated to invoke 
Mcu_EcmErrorInitialNotification. 
15. Added the UD IDs and requirements for achieving 
traceability. 
16. Justifications added for QAC MISRA violations & QAC 
Warnings Msg(4:2880), Msg(4:0400), Msg(2:3204) 
Msg(3:3203), Msg(4:2995), Msg(2:2741), Msg(2:3206), 
Page 23 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Msg(4:2992), Msg(4:2996) and Msg(0:2755). 
17. Added the APIs Mcu_ClearEcmErrorOutput, 
Mcu_EcmClearStatusRegister, 
Mcu_EcmSelfDiagnosticTest, Mcu_EcmPseudoErrorTest, 
Mcu_EcmZeroSelfTest and Mcu_EcmOneSelfTest. 
18. API Mcu_EcmReleaseErrorOutPin is added. 
19. Unreachable or bugs are pointed by added UT tags. eg : 
Start Tag MCU_UT_001 to Start Tag MCU_UT_008 and 
End with Tag MCU_UT_001 to End Tag MCU_UT_008 
correspondingly. 
20. DTMCTL and ECMnEPCFG registers updated with 
MCU_PROTECTEDWRITE32BIT macros for protected 
writing. 
Mcu_Irq.c 
 1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Delay timer overflow control register is enabled in 
MCU_FEINT_ISR and MCU_ECM_EIC_ISR. 
2.  Added the UD IDs and requirements for achieving 
traceability. 
3.  Justification added for QAC Warning Msg(0:2755) and 
Msg(2:2824). 
4.  Generated value 'MCU_NO_OF_ECM_INSTANCES' has 
been used to represent the total number of ECM instances 
to remove the ECM1 support for the P1M-C devices. 
5.  Unreachable code or bugs are pointed by adding UT tags. 
eg : Start Tag MCU_UT_004,Start Tag MCU_UT_009 
and End with End Tag MCU_UT_004 and End Tag 
MCU_UT_009 correspondingly. 
Mcu_Ram.c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added the UD IDs and requirements for achieving 
traceability. 
2.  Global variable Mcu_GulTestCompValue is added to 
access CMPTST0 value from global ram. 
3.  Volatile declaration is added for Mcu_GblRAMInitStatus. 
4.  Memory section for boolean variable is clubbed into one 
section. 
Mcu_Version.c 
1.0.1 
No changes for release Ver4.02.00.D. 
Mcu.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added pre-compile switch 
MCU_RAM_SECTOR_SETTING_CONFIGURED for 
Page 24 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Mcu_InitRamSection API. 
2.  Added memory mappings for functions. 
3.  Added UD IDs for traceability improvement. 
Mcu_Debug.h 
1.0.0 
No changes for release Ver4.02.00.D. 
Mcu_Irq.h 
1.0.1 
No changes for release Ver4.02.00.D. 
Mcu_PBTypes.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  The macro MCU_RAM_MASK0_VALUE and 
MCU_RAM_MASK1_VALUE are updated. 
2.  Added CLMA4 support for all the supported device 
variants and added the macro GETPEID. 
3.  Added structure Mcu_CLMASelfDiag and removed the 
CLMA5 clock monitoring elements from the 
Mcu_ClockSetting structure. 
4.  Added CVM SelfDiagnosis Support, changed the value of 
MCU_CVM_FACTOR_CLEAR and added the macro 
MCU_CVM_UNMASKED_ERROR_CHECK. 
5.  Macro MCU_NINETYTHREE is added. 
6.  Macro MCU_ECM_DELAY_TIMER_START, 
MCU_ECM_DELAY_TIMER_STOP_STS is added. 
7.  Macro MCU_LOCKSTEP_DUMMY_VALUE is added. 
8.  Added macros MCU_BIST_TER_POF_RST, 
MCU_BIST_TER_RST, 
MCU_CVM_DIAG_LOCK_MASK, 
MCU_CVMDE_WV_MASK, MCU_BIST_CVM_RST 
and MCU_BIST_CVM_TER_RST. 
9.  Structure Mcu_InitErrorNotification is added and 
Mcu_EcmSetting updated with ucEcmInitErrorCount. 
10. Added UD IDs for traceability improvement. 
11. Justification added for MISRA violation Msg(4:3458). 
12. Typecasting for macros 
MCU_ECM_DELAY_TIMER_STOP, 
MCU_ECM_DELAY_TIMER_START, 
MCU_ECM_DELAY_TIMER_STOP_STS, and 
MCU_ECM_STATIC_MODE is updated as 32 bit. 
Mcu_Ram.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Global variable Mcu_GulTestCompValue is added to 
access CMPTST0 value from global ram. 
2.  Added UD IDs for traceability improvement. 
3.  Volatile declaration is added for Mcu_GblRAMInitStatus. 
4.  Memory section for boolean variable is clubbed into one 
Page 25 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
section. 
Mcu_Types.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Structure Mcu_ConfigType is updated with 
MCU_CLMA4_RST. 
2.  Added pointer to Mcu_CLMASelfDiagTest element in 
Mcu_ConfigType structure and removed 
MCU_CLMA5_RST from Mcu_ConfigType structure. 
3.  Structure Mcu_ConfigType is updated with 
ucCvmDiagMask. 
4.  MCU_ECM_DELAY_TMR_OVF_RST added on 
enumeration Mcu_ResetType. 
5.  Renamed the variable ulCvmIndicationReg to 
ucCvmIndicationReg and changed the type to uint8. 
6.  Updated the structure Mcu_ConfigType with 
pErrorInitNotification callback function. 
7.  Added UD IDs and Requirements for traceability 
improvement. 
Mcu_Version.h 
1.0.1 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added UD IDs and Requirements for traceability 
improvement. 
P1x-C TCODE file for MCU 
Mcu_PBcfg_c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Included float values for the calculation of Clock Monitor 
values. 
2.  Added CLMA4 for all device variant except P1M-C 
device. 
3.  Added support for Mcu Interrupt Consistency Check. 
4.  Added support for Mcu Write Verify and added the 
inclusion of Cbk.h file. 
5.  Added support for CLMA Self Diagnosis Test and 
removed all the references of CLMA5 Clock Monitor. 
6.  Added support for CVM Self Diagnosis Test. 
7.  Added new structure Mcu_GstErrorInitNotification for 
ECM initial error notification. 
8.  Added support for parameters 
Mcu_CvmDiagLockBit,McuCvmResetEnable and 
removed the parameter McuCvmOutMaskDiag from the 
calculation of the CVMDEW Register value. 
9.  Parameter 'McuMainOsciFrequency' is updated as 
enumeration type with values 16Mhz, 20Mhz and 24Mhz. 
Page 26 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Mcu_Hardware_c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Structure tag is updated. 
2.  Structure element of Clma_BaseAddress (CLMA4) added 
for all device variant except P1M-C device. 
3.  Removed all the references to CLMA5. 
Mcu_Cfg_h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added pre-compile switch 
MCU_RAM_SECTOR_SETTING_CONFIGURED. 
2.  Added CLMA4 for all device variant except P1M-C 
device. 
3.  Added support for Mcu Interrupt Consistency Check. 
4.  Added support for Mcu Write Verify. 
5.  Added support for CLMA Self Diagnosis Test and 
removed all the references to CLMA5. 
6.  Added support for ECM Self Diagnosis. 
7.  Added support for CVM Self Diagnosis Test. 
8.  Added support for Compare Unit Start-up Self Diagnosis 
Test. 
9.  Added call back notification function for Initial ECM 
Errors. 
10. Total no of ECM units for P1x-C devices is generated 
using the macro MCU_NO_OF_ECM_INSTANCES. 
11. Generated parameter handler name for ModeSetting is 
updated. 
12. Typecast for MCU_ECM_ERROUT_MODE is updated 
as 32 bit. 
Mcu_Hardware_h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Structure tag is updated. 
2.  Structure instance of Clma_BaseAddress(CLMA4) added 
for all device variant except P1M-C device. 
3.  Added support for CLMA Self Diagnosis Test. 
4.  Added support for CVM Self Diagnosis Test. 
5.  Added support for Compare Unit Start-up Self Diagnosis 
Test. 
Mcu_Validate 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Validation is added for mandatory parameters. 
2.  Validation added for parameters McuExternalClock0 and 
McuExternalClock1 to verify if clock frequency exceeds 
20MHz. 
3.  Mcu Interrupt Consistency Check parameter is added to 
Page 27 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
validate. 
4.  Added support for Mcu Write Verify. 
5.  Added validation for the parameters 
McuEcmErrorMaskableInterrupt and 
McuEcmErrorNonMaskableInterrupt when the 
‘McuGetRamState’ API is true and added validation for 
the boolean parameter McuRamSectorSetting. 
6.  Added validation for CLMA Self Diagnosis Test and 
removed all the instances to CLMA5. 
7.  Added validation for ECM Self Diagnosis Test 
8.  Added validation for CVM Self Diagnosis Test. 
9.  Error messages 066 and 067 added for the validation of 
Compare Unit Start-up Self Diagnosis Test. 
10. Added validation for parameters 'McuCvmDiagLockBit' 
and 'McuCvmResetEnable'. 
11. Parameter 'McuMainOsciFrequency' is updated as 
enumeration type, validation and error ID 029 is updated. 
P1x-C Sample Application P1M-C Source file 
App_MCU_P1x-C_Sample.c 
1.0.0 
No changes for release Ver4.02.00.D. 
P1x-C Sample Application P1M-C Header files 
App_MCU_Device_Sample.h 
1.0.0 
No changes for release Ver4.02.00.D 
TargetMap.h 
1.0.0 
No changes for release Ver4.02.00.D 
P1x-C User Manual 
R20UT3651EJ0100_AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
 
1.  Removed Section 13.1 “Compiler Linker and Assembler”. 
2.  Updated Section 4.4 to add note on User Mode. 
3.  Chapter 6 “Register Details” is updated. 
4.  Added critical section details table in section 4.3 
5.  Chapter 14 “Release Details” is updated. 
6.  Chapter 8 is updated for Stub C Header files and added 
the description of the stub files in Table 8-1. 
7.  Updated the Table 4-1 Supervisor Mode and User Mode 
Details. 
8.  Updated Table 6-1 and Table 11-2 
9.  Section 4.6 register write verify has added. 
10. Chapter 5 Architecture Details is updated. 
11. Section 7.1 Services Provided by MCU driver component 
to user is updated. 
12. Section MCU driver generation tool has updated with 
Mcu_Cbk.h header file in chapter 8. 
Page 28 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
13. Section 13.2.1 is updated with 701371 series. 
14. Device name R7F701370A, R7F701371 and R7F701372, 
updated in chapter13. 
15. Section 4.1 updated with forethought on ‘McuLoopCount’ 
parameter. 
16. Os.c and SchM_Mcu.c are added in the stub files and their 
descriptions are included in Table 8-1 
17. Updated Table 4-1 Supervisor Mode and User Mode 
Details. 
18. Section 13.2.2 is updated with other device options. 
19. Section 4.1 updated with general thought regarding 
CLMA4 support. 
R20UT3652EJ0100_AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  The type of the parameters 
McuClm0MonitoringClockAccuracy, 
McuClm1MonitoringClockAccuracy, 
McuClm2MonitoringClockAccuracy, 
McuClm3MonitoringClockAccuracy, 
McuClm0SamplingClockAccuracy, 
McuClm1SamplingClockAccuracy, 
McuClm2SamplingClockAccuracy and 
McuClm3SamplingClockAccuracy are changed from 
integer to float in section 8.1.1 
2.  In section 10.1, error messages ERR_59_101_017 to 
ERR_59_101_067 are added and ERR_59_101_029 is 
updated. 
3.  In section 8.1.1, parameters 
McuClm4MonitoringClockAccuracy, 
McuClm4SamplingClockAccuracy, 
McuInterruptConsistencyCheck, 
McuUseWriteVerifyErrorInterface, 
McuWriteVerifyErrorInterface, McuWriteVerify, Clma 
Self Diagnosis, McuCvmSelfDiagnosticTest, 
McuEcmSelfDiagnosticTest and 
McuLockStepSelfDiagnosticTest are added. 
4.  Updated section 8.1.2 post build configuration 
parameters. 
5.  Removed Translation XML File from Definition. 
6.  Updated Chapters 1,3,4,5,6,7 by rephrasing Tool and 
Page 29 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
MCU Driver Generation Tool with MCAL Code 
Generator Tool 
7.  Removed Chapter 9 Generation Tool Options, Chapter-10 
Notes. 
8.  Updated Chapter 3 with a remark for common MCAL 
Code Generator Tool user manual 
9.  Renamed the Chapter 3 heading as Code Generation 
Overview. 
10. Chapter-4 description rephrased and Flow chart in chapter 
3 updated. 
11. Updated parameter McuMainOsciFrequency in table 8-2 
as enumeration type. 
12. ERR_59_101_026 and ERR_59_101_027 are removed. 
 
4.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.00.D.xlsx 
4.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW09_2017.xlsx 
 
 
Page 30 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
5  SPI 
5.1  Target Info 
Processor 
P1M-C - R7F701373, R7F701374 
Module 
SPI 
Software Version 
V2.0.0 
Embedded User Manual 
R20UT3659EJ0100-AUTOSAR.pdf – V1.0.2 
Tool User Manual 
R20UT3660EJ0100-AUTOSAR.pdf – V1.0.2 
Date 
28-Feb-2017 
5.2  Release Items 
Filename 
Version 
Change Description 
P1x-C - Parameter Definition files 
R403_SPI_P1X-C.arxml 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1.  New parameter SpiInternalErrorBufferSize is added in 
General container for internal error buffer size 
configuration as a part of FUSA implementation. 
2.  New parameters SpiLoopBackSelfTest,SpiECCSelfTest are 
added in General container and 
SPI_E_LOOPBACK_SELFTEST_FAILURE, 
SPI_E_ECC_SELFTEST_FAILURE are added in 
SpiDemEventParameterRefs container as a part of 
AR_PN0063_FSR_0202 and AR_PN0063_FSR_0209 
implementation. 
3.  New parameter SpiInterruptConsistencyCheck is added in 
SpiGeneral container and SPI_E_INT_INCONSISTENT is 
added in SpiDemEventParameterRefs container as a part of 
EAAR_PN0034_FSR_0008 implementation. 
4.  New parameters SpiCSIHWriteVerify is added in 
SpiGeneral container and SPI_E_REG_WRITE_VERIFY is 
added in SpiDemEventParameterRefs container as a part of 
EAAR_PN0034_FSR_0002 implementation. 
5.  New parameter SpiDMAWriteVerify is added in SpiGeneral 
container as a part of EAAR_PN0034_FSR_0002 
implementation. 
6.  New parameters Spi_UseWriteVerifyErrorInterface and 
SpiWriteVerifyErrorInterface are added in SpiGeneral 
container as a part of EAAR_PN0034_FSR_0003 and 
EAAR_PN0034_FSR_0004 implementation. 
Page 31 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
7.  New parameters SpiClockFrequencyRef is added in 
SpiExternalDevice container as a part of 
AR_PN0063_FR_0009 implementation. 
8.  Descriptions of following parameters are updated- 
SpiBaudrate, SpiCsHoldTiming, SpiBroadcastingPriority, 
SpiMemoryModeSelection, SpiCsSelection, 
SpiJobEndNotification and SpiBaudrateRegisterSelect. 
9.  Updated Warranty Disclaimer description. 
10. The description for parameter 'SpiTimeClk2Cs' as per 
Autosar SWS. 
11. Updated the lower multiplicity of container 
'SpiMemoryMode' to one. 
12. Port pin values removed from parameter SpiPortPinSelect. 
BSWMDT 
R403_SPI_P1x-C_BSWMDT.arxml 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                         
1.  SW-MAJOR-VERSION is updated.                                         
2.  Missing entities are updated in BswCalledEntity and 
MODULE-ENTRY container.     
3.  <IMPLEMENTED-ENTRY-REF> tag updated for 
<BSW-SCHEDULABLE-ENTITY> of 
Spi_MainFunction_Handling.                                             
4.  Software Major version updated.                                   
5.  Removed exclusive area parameter 
'SPI_CHIP_SELECT_PROTECTION'.                   
6.  IS-SYNCHRONOUS tag updated as false for ISR 
functions.         
Source Code 
Spi.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                         
1.  All APIs are updated with changing/adding description and 
QAC messages. 
2.  New public APIs "Spi_GetErrorInfo" and "Spi_SelfTest" 
are added for internal Diagnosis. 
3.  Spi_MainFunction_Handling is updated to exit 
functionality if the driver is uninitialized. 
4.  MISRA violation START and END msgs for Msg(2:3204) 
is added at respective places. 
5.  Added NULL pointer check for 
Spi_GpConfigPtr->pStatusArray and 
Spi_GpConfigPtr->pStsValueArray in the function 
Spi_AsyncTransmit. 
Page 32 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
6.  Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements at 
respective places. 
7.  Unit testing activity, compilation warning removed in the 
Api Spi_Init, when level delivered is configured as zero and 
HW priority is enabled. 
8.  Software Major version updated. 
9.  Updated Spi_SelfTest API to perform the 
Spi_GddDriverStatus busy check even when DET is off. 
10. Updated Spi_ReadIB API to put the accessing of 
Spi_GpConfigPtr->pChannelIBRead under correct 
pre-compile. 
11. Copyright information updated. 
12. Added untraced requirements. 
Spi_Driver.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                         
1.  All APIs are updated with changing/adding description and 
QAC messages. 
2.  As part of Write-verify implementation, added APIID as 
argument for the required functions. 
3.  The following new functions are created: Spi_StaticInit, 
Spi_LoopBackSelfTest, Spi_EccSelfTest, 
Spi_CsihStaticInit, Spi_CsihLoopBackSelfTest, 
Spi_EccAllZeroTest, Spi_EccAllOneTest, 
Spi_EccWalkOneTest, Spi_EccTwoBitTest, 
Spi_InitDetCheck, Spi_SeqJobChannelInit, 
Spi_InitiateSyncTransmit, Spi_SyncProcessData, 
Spi_GetCurrentRxData, Spi_SetEojAndCsriBits, 
Spi_SyncRegSettings, 
Spi_CsihTxDataAndErrorProcessing, 
Spi_GetCurrentRxData, Spi_CheckRegEmpty, 
Spi_CheckErrorInt, Spi_ReportErrorInSyncTx, 
Spi_StoreErrorInfo, Spi_AsyncDetCheck, 
Spi_AsyncInDirAccOrFifoMod, Spi_ProcessTransmission, 
Spi_ProcessChannelInFifoMod, 
Spi_ProcessChannelInDualOrTxMod, 
Spi_ProcessChannelInDirAccMod, 
Spi_AsyncChannelRegSettings, Spi_GetTxRegValue, 
Spi_FifoWriteData, Spi_CfgRegSettings, 
Spi_ProcessDirectAcessData, Spi_ProcessCsihData, 
Spi_ProcessExtendedData, Spi_ProcessFifoData, 
Spi_CheckAndInvokeTxIsr, Spi_CheckAndInvokeRxIsr, 
Page 33 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Spi_ProcessDualBufferData, Spi_ReceiveCsihData, 
Spi_ProcesSeqInDualOrTxMod,Spi_ChkCancelReqForSeq 
and Spi_ReceiveChannelPropSame. 
4.  Removed the functions 'Spi_HWActivateCS' and 
'Spi_HWDeActivateCS' since these functions are used only 
for CSIG hardware. 
5.  Removed Deactivate chip select from DeInit since 
functionality is used only for CSIG hardware. 
6.  In Spi_CsihStaticInit API the parameter 'LpHWUnitInfo' 
and add new parameter 'LddHWUnit'. 
7.  Global variable 'Spi_GusDataAccess' has been split into 
variables 'Spi_GusSynDataAccess' and 
'Spi_GusAsynDataAccess' for Synchronous and 
Asynchronous transmission respectively. 
8.  Updated register write verification implementation as per 
the proposed template. 
9.  RH850_SV_MODE_ICR_AND is added for 
'pErrorIntCntlAddress' and 'pTxCancelIntCntlAddress' in 
Spi_HWDisableInterrupts function. 
10. In order to update all CSIHnCFGx registers for all 
configured chip selects, do-while loop is added in function 
Spi_CsihStaticInit, Spi_CfgRegSettings and 
Spi_SeqJobChannelInit. 
11. MISRA violation START and END Msgs for Msg(4:0715) 
is added at respective places. 
12. Spi_HWInit and Spi_HWDeInit functions are updated. 
13. Updated Spi_HWWriteIB to set memory mode as Tx only 
or Dual buffer in register CSIHnMCTL0 before writing into 
CSIHnTX0W and CSIHnMRWP0 to avoid setting of bits 
which are prohibited in other memory modes. 
14. Added NULL pointer check for 
Spi_GpConfigPtr->pStatusArray and 
Spi_GpConfigPtr->pStsValueArray in 
Spi_TransmitCancelISR and Spi_ChkCancelReqForSeq 
functions. 
15. Updated functions Spi_HWMainFunction_Handling and 
Spi_CheckAndInvokeTxIsr for direct access mode. 
16. Removed DMA_TYPE_ONE related code implementation, 
since P1H-C supports DMA of DMA_TYPE_TWO only. 
17. Invoked Spi_CheckErrorInt function after reception to 
Page 34 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
check for errors in Spi_GetCsihRxData function. 
18. Check is updated in functions Spi_ProcessCsihData and 
Spi_ProcessChannelInDirAccMod in such a way that bit 
CSIHnEOJ will be set only if blEDLEnabled is 
SPI_FALSE. 
19. In API 'Spi_CsihStaticInit' is updated for CSRI bit is 
masked for FIFO Mode when number of buffers is greater 
than 128 and in API 'Spi_ProcessFifoData' is updated to 
reset PWR bit. 
20. Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements at 
respective places. 
21. Spi_TxDmaConfig function has been updated. 
22. As part of Unit testing activity, Compilation warning 
removed in Spi_ProcessCsihData When 32 bit data width 
and High priority HW are enabled. 
23. As part of Unit testing activity, UT ID TAGs 'SPI_UT_xxx' 
are added for the uncovered parts of the code. 
24. In Spi_CsihStaticInit API the parameter 'LpHWUnitInfo' 
removed and added new parameter 'LddHWUnit'. 
25. In order to avoid QAC warning, updated API's - 
Spi_HWDeInit, Spi_ProcessCsihData and 
Spi_InitiateJobTx. 
26. In Spi_ReportErrorInSyncTx API error buffer updated with 
Hardware unit Index. 
27. In Spi_CsihStaticInit API 'SPI_SET_SLIT' masking 
updated. 
28. Updated Spi_ProcessChannelInFifoMod, Spi_DmaISR 
Spi_ProcessFifoData and Spi_TxDmaConfig functions for 
permitting more than 128 bytes of data when DMA is 
enabled in FIFO mode. 
29. Updated Spi_HWTransmitSyncJob and 
Spi_InitiateSyncTransmit APIs to update configuration 
register. 
30. Initialize the register CSIHnMCTL0 with configured 
memory mode in Spi_CsihStaticInit API. 
31. Added untraced requirements. 
Spi_Irq.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  Interrupt consistency check is implemented. 
2.  MISRA warnings justified and placed START and END 
Page 35 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Msg tags at respective places. 
3.  Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements at 
respective places. 
4.  Memory accessing for interrupt consistency is corrected in 
the Api SPI_CSIH1_TIR_ISR. 
5.  Corrected the compilation issue in the Api 
SPI_DMA15_ISR. 
6.  Type cast added for all interrupt consistency checking in all 
ISR Apis. 
7.  Copyright information is updated. 
Spi_Ram.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  Spi_GstCommErrorInfo and Spi_GucBufferIndex are added 
for internal Diagnosis implementation. 
2.  Declaration of global variable 'Spi_GusDataAccess' has 
been split into variables 'Spi_GusSynDataAccess' and 
'Spi_GusAsynDataAccess' for Synchronous and 
Asynchronous transmission respectively. 
3.  START and END msgs for Msg(2:2022) and Msg(2:3211) 
are added at the respective places. 
4.  New Global Variable 'Spi_GblCSRIMask' to check CSRI 
Mask Status of CSIH hardware units is added. 
5.  Declarations of following variables were updated with 
volatile qualifier - Spi_GstFifoCurrentCommData, 
Spi_GstCommErrorInfo, Spi_GblQueueStatus, 
Spi_GaaHighPriorityCommRequest, 
Spi_GaaHighPriorityCommActive, 
Spi_GaaHighPriorityCommRequestAtIdle, 
Spi_GaaHighPrioritySequence, Spi_GddQueueIndex, 
Spi_GblInitiateJobTx, Spi_GucHwUnitStatus, 
Spi_GucBufferIndex, Spi_GusAllQueueSts, 
Spi_GusAsynDataAccess, Spi_GddDriverStatus, 
Spi_GucHWFifoBufferSts and Spi_GddDmaData. 
6.  Updated memclass and memory sections for all the 
variables. 
Spi_Scheduler.c 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  All the API's are adapted from P1x. 
2.  In order to update status as 'SPI_JOB_QUEUED' of all jobs 
which are pushed in to job queue, updated 
Spi_PushWhenQueueNotEmpty and 
Page 36 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Spi_PushRemainingJobsToQueue functions. 
3.  Fixed/Justified MISRA warnings. 
4.  Added NULL pointer check for 
Spi_GpConfigPtr->pStatusArray and 
Spi_GpConfigPtr->pStsValueArray in 
Spi_ProcessCancelledSequence and 
Spi_ProcessCompletedSequence functions. 
5.  Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements at 
respective places. 
6.  Unit testing activity UT ID TAGs 'SPI_UT_xxx' are added 
for the uncovered parts of the code. 
7.  Copyright information updated. 
8.  Added untraced requirements. 
Spi_Version.c 
1.0.1 
No changes for release Ver4.02.00.D. 
Spi.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  New public APIs "Spi_GetErrorInfo" and "Spi_SelfTest" 
are added for internal Diagnosis. 
2.  For implementation of Self_Test functionality as User 
API,SPI_SELFTEST_SID, SPI_ALL_SELF_TEST, 
SPI_ECC_SELF_TEST and 
SPI_LOOP_BACK_SELF_TEST are added. 
3.  Updated memory section declaration for 
Spi_GstConfiguration. 
4.  Copyright information is updated. 
Spi_Driver.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  As part of Write-verify implementation, added APIID as 
argument for the required functions. 
2.  Extern function declaration for the following API's added : 
Spi_StaticInit, Spi_CsihStaticInit, Spi_LoopBackSelfTest, 
Spi_CsihLoopBackSelfTest, Spi_EccSelfTest, 
Spi_EccAllZeroTest, Spi_EccAllOneTest, 
Spi_EccWalkOneTest, Spi_EccTwoBitTest, 
Spi_InitDetCheck, Spi_SeqJobChannelInit, 
Spi_InitiateSyncTransmit, Spi_SyncProcessData, 
Spi_GetCurrentRxData, Spi_SetEojAndCsriBits, 
Spi_SyncRegSettings, 
Spi_CsihTxDataAndErrorProcessing, 
Spi_GetCurrentRxData, Spi_CheckRegEmpty, 
Spi_CheckErrorInt, Spi_ReportErrorInSyncTx, 
Page 37 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Spi_StoreErrorInfo, Spi_AsyncDetCheck, 
Spi_AsyncInDirAccOrFifoMod, Spi_ProcessTransmission, 
Spi_ProcessChannelInFifoMod, 
Spi_ProcessChannelInDualOrTxMod, 
Spi_ProcessChannelInDirAccMod, 
Spi_AsyncChannelRegSettings, Spi_GetTxRegValue, 
Spi_FifoWriteData, Spi_CfgRegSettings, 
Spi_ProcessDirectAcessData, Spi_ProcessCsihData, 
Spi_ProcessExtendedData, Spi_ProcessFifoData, 
Spi_CheckAndInvokeTxIsr, Spi_CheckAndInvokeRxIsr, 
Spi_ProcessDualBufferData, 
Spi_ProcesSeqInDualOrTxMod,Spi_ChkCancelReqForSeq, 
Spi_ReceiveCsihData and Spi_ReceiveChannelPropSame 
3.  Removed function declaration for Spi_ProcessChannel. 
4.  Removed the function declarations for 'Spi_HWActivateCS' 
and 'Spi_HWDeActivateCS' since these functions are used 
only for CSIG hardware. 
5.  In Spi_CsihStaticInit API the parameter 'LpHWUnitInfo' 
removed and added new parameter 'LddHWUnit' 
Spi_Irq.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  Added macro 'SPI_EIC_EIMK_MASK' and IC register 
addresses were defined for all hardware units to implement 
interrupt consistency checks. 
2.  Copyright information is updated. 
Spi_LTTypes.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  Added SPI_IB_MODE Macro, structures and macros 
required for self test are added. 
2.  New macro 'SPI_CSIH_CLR_STS_FLAGS' is added to 
access to the register CSIHnSTCR0. 
3.  The macros 'SPI_LOOPBACK_ENABLE', 
'SPI_LOOPBACK_CNTRL2_VALUE', 
'SPI_LOOPBACK_CSIH_CNTRL2_VALUE', 
'SPI_LOOPBACK_DLS_SETTING', 
'SPI_LOOPBACK_CSIH_BRS0_VALUE', 
'SPI_LOOPBACK_DATA', 'SPI_LOOPBACK_ERROR' 
are added for self test functionality. 
4.  New macro SPI_OVE_ERR_CLR, SPI_PE_ERR_CLR, 
SPI_OFE_ERR_CLR, SPI_DCE_ERR_CLR added to clear 
the status bit. 
Page 38 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
5.  Added new element 'pEccBaseAddress' in the structure 
STag_Spi_HWUnitInfo. 
6.  Added usBufferCount to the Spi_FifoCurrentCommData. 
7.  Added macros SPI_CTL_32BIT_REG_VAL, 
SPI_CTL_16BIT_REG_DEINIT,SPI_CTL_8BIT_REG_M
ASK, SPI_CTL2_16BIT_REG_DEINIT, 
SPI_MCTL0_16BIT_REG_DEINIT,SPI_DMA_DEINIT. 
8.  To avoid QAC warning macros were updated with size 
extension. 
9.  Macros SPI_DMA_HARDWARE_TRIGGER and 
SPI_DMA_DRS_MLE_MASK were added. 
10. Changed the memory section declaration for 
Spi_GaaJobResult and Spi_GaaSeqResult from 
SPI_START_SEC_VAR_NO_INIT_8 to 
SPI_START_SEC_VAR_NO_INIT_UNSPECIFIED. 
11. Copyright information is updated. 
Spi_PBTypes.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  Created STag_Spi_DataFlag and STag_Spi_JobDetails 
structure. 
2.  Since P1H-C supports DMA of DMA_TYPE_TWO only, 
so Removed structure related to DMA_TYPE_ONE. 
3.  Critical section protection Macro added. 
4.  Added the parameter blCSRIMasked to Spi_GstJobConfig 
structure. 
5.  Updated the memory sections of following global arrays - 
Spi_GaaSeqStatusBitArray, Spi_GaaChannelIBWrite and 
Spi_GaaChannelIBRead. 
Spi_Ram.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  Spi_GstCommErrorInfo and Spi_GucBufferIndex are added 
for internal Diagnosis implementation. 
2.  Extern declaration of global variable 'Spi_GusDataAccess' 
has been split into variables 'Spi_GusSynDataAccess' and 
'Spi_GusAsynDataAccess' for Synchronous and 
Asynchronous transmission respectively. 
3.  Extern declaration for new Global Variable 
'Spi_GblCSRIMask' to check CSRI Mask Status of CSIH 
hardware units is added. 
4.  Extern declarations of following variables were updated 
with volatile qualifier - Spi_GstFifoCurrentCommData, 
Page 39 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Spi_GstCommErrorInfo, Spi_GblQueueStatus, 
Spi_GaaHighPriorityCommRequest, 
Spi_GaaHighPriorityCommActive, 
Spi_GaaHighPriorityCommRequestAtIdle, 
Spi_GaaHighPrioritySequence, Spi_GddQueueIndex, 
Spi_GblInitiateJobTx, Spi_GucHwUnitStatus, 
Spi_GucBufferIndex, Spi_GusAllQueueSts, 
Spi_GusAsynDataAccess, Spi_GddDriverStatus, 
Spi_GucHWFifoBufferSts and Spi_GddDmaData. 
5.  Updated memclass and memory sections for all the 
variables. 
Spi_Scheduler.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
Function declaration added for 
Spi_PushRemainingJobsToQueue, 
Spi_ProcessCancelledSequence, 
Spi_ProcessCompletedSequence, 
Spi_PushInterruptableSeqJobs and Spi_PopRemainingJobs 
functions. 
Spi_Types.h 
2.0.0 
Following changes are made in Ver4.02.00.D:- 
1.  As part of Write-verify user interface implementation, 
updated the macros for calling the error notification 
function when SPI_USE_WV_ERROR_INTERFACE is 
ON and also added macros for writing in to status clear 
registers. 
2.  Structures and macros required for self-test are added. 
3.  Created macros SPI_TX and SPI_RX. Added macro 
definitions, used as an offset value to perform the interrupt 
consistency checks. 
4.  Created file Spi_RegWrite.h to move all the macros related 
to register write functionality. 
5.  Added the macros SPI_TX_ONLY_MODE_SET, 
SPI_DUAL_BUFFER_MODE_SET, 
SPI_CHECK_BUFFER_MODE. 
6.  Macro 'SPI_ONE_TWENTY_EIGHT' is added for 128. 
7.  Following new enum tages were added - 
Spi_JobResultType and Spi_SeqResultType. 
Spi_RegWrite.h 
1.0.0 
Initial Version 
Spi_Version.h 
1.0.1 
No changes for release Ver4.02.00.D. 
P1x-C TCODE file for SPI 
Page 40 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Spi_Lcfg_c 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1.  Condition for generating element 'pEccBaseAddress' in 
'Spi_GstHWUnitInfo' structure is updated. 
2.  QAC Warning section is updated and START and END tag 
for Msg(2:3211), Msg(2:3132) and Msg(2:3674) are added 
at respective places. 
3.  Software Major version updated. 
4.  Path dependency of job is removed for the checking of 
'blIsSynchronous' in structure 'Spi_GstHWUnitInfo'. 
5.  Changed the memory section declaration for 
Spi_GaaJobResult and Spi_GaaSeqResult from 
SPI_START_SEC_VAR_NO_INIT_8 to 
SPI_START_SEC_VAR_NO_INIT_UNSPECIFIED. 
Spi_PBcfg_c 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
 
1.  QAC Warning section is updated and START and END tag 
 
for Msg(2:3211), Msg(2:3132) and Msg(2:3674) are added 
at respective places. 
2.  Check added for non mandatory parameters generation - 
SpiJobEndNotification in Spi_GstJobConfig array 
generation and SpiSeqEndNotification in 
Spi_GstSeqConfig array generation. 
3.  Software Major version updated. 
4.  Information messages INFO_59_83_002 and 
INFO_59_83_003 were added. 
5.  Updated the check for the generation of array 
'Spi_GaaSeqStatusBitArray'. 
6.  Generation handling of 'blHWUnitDmaMode' in structure 
'Spi_GstJobConfig' updated. 
7.  Short name dependency for 'SpiChannel', 
'SpiExternalDevice' and 'SpiJob' were corrected. 
8.  Generation handling of 'ddBufferIndex' in structure 
'Spi_GstChannelConfig' updated. 
9.  Added the generation handling of parameter 
'blCSRIMasked' in 'Spi_GstJobConfig' structure. 
10. Updated the generation handling of parameter 
'ulMainCtl1Value' in 'Spi_GstJobConfig' structure. 
11. Updated the memory sections of following global arrays - 
Spi_GaaSeqStatusBitArray, Spi_GaaChannelIBWrite and 
Spi_GaaChannelIBRead. 
Page 41 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
12. Update the generation handling of parameter 'aaChipSelect' 
in 'Spi_GstConfiguration' structure. 
13. Updated the generation handling of parameter 
'ucChannelBufferType' in 'Spi_GstChannelConfig' 
structure. 
Spi_Hardware_c 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1.  Structure tag for Ecc_BaseAddress is added. 
2.  QAC Warning START and END Msgs for Msg(2:3211) is 
added at respective places. 
Spi_Cbk_h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1.  As part of Write-verify user interface implementation, 
updated the template to add the generation of 
SPI_WV_ERROR_NOTIFICATION and added Dem.h 
header file. 
2.  Check added for following non mandatory parameters 
generation - SpiJobEndNotification, SpiSeqEndNotification 
and SpiWriteVerifyErrorInterface. 
3.  Check updated for following parameters generation- 
SpiSeqStartNotification and SpiSeqEndNotification. 
4.  Software major version updated. 
Spi_Cfg_h 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1.  As part of Write-verify user interface implementation, 
following pre compiler macros and error notifications are 
added: SPI_WRITE_VERIFY, 
SPI_DMA_WRITE_VERIFY, 
SPI_USE_WV_ERROR_INTERFACE, 
SPI_E_REG_WRITE_VERIFY and 
SPI_ERROR_NOTIFICATION 
2.  As part of implementation of the Self_Test functionality, 
following pre compiler macros and error notifications are 
added: SPI_LOOPBACK_SELFTEST, 
SPI_ECC_SELFTEST, SPI_SELF_TEST_API, 
SPI_E_LOOPBACK_SELFTEST_FAILURE and 
SPI_E_ECC_SELFTEST_FAILURE 
3.  Pre compiler macro 
'SPI_INTERRUPT_CONSISTENCY_CHECK' and DEM 
error 'SPI_E_INT_INCONSISTENT' is added to implement 
interrupt consistency checks. 
4.  EIC register addresses are defined for all hardware units to 
Page 42 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
implement interrupt consistency checks. 
5.  Updated the macro name SPI_WRITE_VERIFY to 
SPI_CSIH_WRITE_VERIFY and renamed the parameters 
SpiWriteVerify and SpiDmaWriteVerify to 
SpiCSIHWriteVerify and SpiDMAWriteVerify respectively. 
6.  Check added for following non mandatory parameters 
generation - SpiInternalErrorBufferSize, 
Spi_UseWriteVerifyErrorInterface and 
SpiWriteVerifyErrorInterface. 
7.  Conditional check for the macro generation 
'SPI_INTERNAL_RW_BUFFERS' updated. 
8.  Handling of 'CSIHX interrupt switches' updated. 
9.  The generation of Tx channel DMA ISR disabled. 
Spi_Hardware_h 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
Global variable declaration for structure tag Ecc_BaseAddress 
is added. 
Spi_Validate 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                               
1.  Validation added for repeated Jobs configured same 
sequence in Dual Buffer / Tx Only Mode with error 
message ERR_59_83_065. 
2.  Validation added for Jobs configured same sequence as 
Dual Buffer / Tx Only Mode are have same SpiHwUnit 
with error message ERR_59_83_066. 
3.  Validation added for number of Jobs configured same 
hardware unit as Dual Buffer / Tx Only Mode are exceeded 
with error message ERR_59_83_067 and ERR_59_83_068. 
4.  Validation added for Channel width configured for any 
channel not with in the permitted range with error message 
ERR_59_83_069. 
5.  Validation added for Hardware units configured in DMA 
container are repeated with error message ERR_59_83_081. 
6.  Validation added for Hardware units configured in DMA 
container are configured for at least one job with error 
message ERR_59_83_070. 
7.  Validation added for following parameter are configured 
same number in multiple configsets: Sequences, Jobs, 
Channels, External Devices and DMA with error message 
ERR_59_83_072, ERR_59_83_073, ERR_59_83_007, 
ERR_59_83_074 and ERR_59_83_082. 
Page 43 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
8.  Validation added for following parameter are configured 
same value in multiple configsets: SpiChannelType in 
container SpiChannel and SpiHWUnit in container 
SpiExternalDevices with error message ERR_59_83_006, 
and ERR_59_83_075. 
9.  Validation added for values of following parameter are 
configured are according to C syntax – 
SpiSeqStartNotification, SpiSeqEndNotification and 
SpiJobEndNotification with error message 
ERR_59_83_024, and ERR_59_83_076. 
10. Validation added for SpiSeqEndNotification in 
Synchronous Jobif SpiSyncSeqEndNotificationEnable is 
Disabled with error message ERR_59_83_077. 
11. Validation added for SpiSeqStartNotification, 
SpiSeqEndNotification and SpiJobEndNotification are 
unique with error messages ERR_59_83_083, 
ERR_59_83_079 and ERR_59_83_077. 
12. Validation added for Spi_UseWVErrorInterface and 
SpiWVErrorNotification with error messages 
ERR_59_83_084 and ERR_59_83_085. 
13. Validation added for SpiClockFrequencyRef is configured 
and has correct value with error messages ERR_59_83_086 
and ERR_59_83_087. 
14. Validation added for SpiLoopBackSelfTest and 
SPI_E_LOOPBACK_SELFTEST_FAILURis configured 
and has correct value with error messages ERR_59_83_088 
and ERR_59_83_089. 
15. Validation added for SpiECCSelfTest and 
SPI_E_ECC_SELFTEST_FAILURE    is configured and 
has correct value with error messages ERR_59_83_090 and 
ERR_59_83_091. 
16. Validation added for SpiInterruptConsistencyCheck and 
SPI_E_INT_INCONSISTENT is configured and has 
correct value with error messages ERR_59_83_092 and 
ERR_59_83_093. 
17. Validation added for SpiCSIHWriteVerify, 
SpiDMAWriteVerify and SPI_E_REG_WRITE_VERIFY is 
configured and has correct value with error messages 
ERR_59_83_094 and ERR_59_83_095. 
18. Validation added for repeated dem path configured in 
Page 44 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
container SpiDemEventParameterRefswith error messages 
ERR_59_83_096. 
19. Write verify parameter updated as SpiCSIHWriteVerify, 
SpiDMAWriteVerify, SpiWriteVerifyErrorInterface and 
Spi_UseWriteVerifyErrorInterface. 
20. Validation for HW property check added with error message 
ERR_59_83_097. 
21. Validation for DMA check in Level delivered added with 
error message ERR_59_83_106. 
22. Validation for mandatory parameter added with error 
message ERR_59_83_004. 
23. Validation for device check added with error message 
ERR_59_83_104. 
24. To implement AR_PN0063_FSR_0213 updated with error 
messages ERR_59_83_098. 
25. To implement INFO_59_83_002 message, new macro 
'Power' added to calculate power of number. 
26. Short name dependency for "SpiChannel", 
"SpiExternalDevice" and "SpiJob" were corrected. 
27. Validation added for baud rate calculations with error 
messages ERR_59_83_107, ERR_59_83_108 and 
ERR_59_83_109. 
28. Validation for 'SpiLevelDelivered' and 
'SpiHwUnitSynchronous' added with error message 
ERR_59_83_110. 
29. Validation for CSL pin selection added with error message 
ERR_59_83_111. 
30. Removed the error message ERR_59_83_005. 
31. Copyright information is updated 
P1x-C SPI Common Sample Application Source file 
App_SPI_Common_Sample.c 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
Global buffer size updated. 
P1x-C SPI Common Sample Application Header file 
App_SPI_Common_Sample.h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1.  Removed the macro 'SPI_CSIH0' 
2.  Copyright information updated. 
P1x-C Sample Application P1M-C Source file 
App_SPI_P1x-C_Sample.c 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1. Copyright information updated 
Page 45 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
P1x-C Sample Application P1M-C Header file 
App_SPI_Device_Sample.h 
1.0.1 
Following changes are made in Ver4.02.00.D:- 
1. Updated macro details. 
TargetMap.h 
1.0.0 
No changes for release Ver4.02.00.D. 
P1x-C User Manual 
R20UT3659EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1.  Removed Section 13.2, Compiler, Linker and Assembler. 
2.  In section 4.3, Note about entries for User mode 
dependency of Critical Section added. 
3.  In section 4.5, Critical section details are updated by adding 
Table 4-6. 
4.  In section 4.1, Note added regarding the DMA access for 
local RAM area. 
5.  In section 12, Memory Organization is updated by adding 
information about SPI_START_SEC_CODE_FAST. 
6.  Section 6, Register access details are updated. 
7.  Updated section 13.2.1 Sample Application Structure to add 
details about Spi_GetErrorInfo API. 
8.  Added Spi_GetErrorInfo API in section 11.1 under Related 
API(s) corresponding to the error SPI_E_UNINIT. 
9.  Section 3 updated R number in remarks. 
10. Folder Structure updated in the section 3.1.1. 
11. Table 4-4 User mode and Supervisory mode is updated. 
12. Section 8 updated for file information. 
13. Section 9 updated for R number. 
14. Table 10-1 updated with API name. 
15. Memory, Throughput and stack depth Details are updated in 
section 13.3. 
16. Release details updated in section 14. 
17. Chapter 13, Added Processor name along with Device 
variants. 
18. Figure 12-1 SPI Driver Component Driver Organization has 
been updated in Chapter 12. 
19. Removed traces of .one and .html from the section 13.2 
Sample Application. 
R20UT3660EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:- 
1.  Introduction updated in section 1. 
2.  Updated Chapters 1,3,4,5,6,7 by rephrasing Tool and SPI 
Driver Generation Tool with MCAL Code Generator Tool 
3.  Precaution and remark updated in section 6. 
Page 46 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
4.  User Configuration Validation information updated in 
section 7. 
5.  Notes updated in section 11. 
6.  Remarks added in section 3. 
7.  Table header name updated in Table 8.1 and Table 8.2. 
8.  Removed Section 9.1 Common Messages. 
9.  Error messages and information messages updated in the 
section 9.1 and 9.3. 
10. Removed Chapter 9 SPI Driver Generation Tool Options, 
Chapter-11 Notes. 
11. Chapter 3, Added remark for common MCAL Code 
Generator Tool user manual. 
12. Chapter 3, Updated Figure 3-2 Flowchart of MCAL Code 
Generator Tool. 
13. Chapter 3, Renamed chapter name MCAL Code Generator 
Tool Overview to Code Generation Overview. 
14. Removed parameters from Figure 8-1, Configuration 
Overview. 
 
5.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.00.D.xlsx 
5.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW09_2017.xlsx 
 
 
Page 47 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
6  WDG 
6.1  Target Info 
Processor 
P1M-C - R7F701373, R7F701374 
Module 
WDG 
Software Version 
V1.0.2 
Embedded User Manual 
R20UT3661EJ0100-AUTOSAR.pdf – V1.0.2 
Tool User Manual 
R20UT3662EJ0100-AUTOSAR.pdf – V1.0.2 
Date 
28-Feb-2017 
6.2  Release Items 
Filename 
Version 
Change Description 
P1x-C - Parameter Definition files 
R403_WDG_DriverA_P1X-C.arxml  1.0.2 
Following changes are made in Ver4.02.00.D:-                                                                                                                               
1.  Added parameters WdgInterruptConsistencyCheck, 
WdgUseWriteVerifyErrorInterface, 
WdgWriteVerifyErrorInterface and WdgWriteVerify.         
2.  Added WdgExternalConfiguration container. 
3.  Removed the parameters WdgRegReadBackEnable and 
WDG_E_READBACK_FAILURE. 
4.  WdgClkSettingsSlow and WdgClkSettingsFast value name 
and description are made in-line with the device user 
manual. 
R403_WDG_DriverB_P1X-C.arxml 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                                                                                               
1.  Added parameters WdgInterruptConsistencyCheck, 
WdgUseWriteVerifyErrorInterface, 
WdgWriteVerifyErrorInterface and WdgWriteVerify.         
2.  Added WdgExternalConfiguration container. 
3.  Removed the parameters WdgRegReadBackEnable and 
WDG_E_READBACK_FAILURE. 
4.  WdgClkSettingsSlow and WdgClkSettingsFast value name 
and description are made in-line with the device user 
manual.   
BSWMDT 
R403_WDG_P1x-C_BSWMDT.arx
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                                                                                               
ml 
1.  Software patch version is updated. 
Source Code 
Wdg_59_DriverA.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
Page 48 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
2.  Comments added for traceability. 
3.  QAC and MISRA warnings are fixed/Justified. 
4.  usSlowTimeValue, 
usFastTimeValue, DefaultTimeValue and 
Wdg_59_DriverA_GusTiggerCounter are changed to 
ulSlowTimeValue, ulFastTimeValue, ulDefaultTimeValue and 
Wdg_59_DriverA_GulTiggerCounter respectively. 
5. QAC warning tag corrected. 
Wdg_59_DriverA_Irq.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  QAC and MISRA warnings fixed/Justified. 
4.  Wdg_59_DriverA_GusTiggerCounter is changed to uint32. 
5.  Added MISRA warning description and changed compiler 
switch condition check format. 
Wdg_59_DriverA_Private.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  QAC and MISRA warnings fixed/Justified. 
4.  Changed compiler switch condition check format. 
Wdg_59_DriverA_Ram.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  QAC and MISRA warnings fixed/Justified. 
4.  Variable Wdg_59_DriverA_GusTiggerCounter and 
Wdg_59_DriverA_GddDriverState are declared volatile. 
5.  Wdg_59_DriverA_GusTiggerCounter is changed to uint32. 
Wdg_59_DriverA_Version.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  QAC and MISRA warnings fixed/Justified. 
Wdg_59_DriverB.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  QAC and MISRA warnings fixed/Justified. 
4.  usSlowTimeValue, 
usFastTimeValue,DefaultTimeValue and 
Wdg_59_DriverB_GusTiggerCounter are changed to 
ulSlowTimeValue,ulFastTimeValue,DefaultTimeValue 
and Wdg_59_DriverB_GulTiggerCounter respectively. 
5. QAC warning tag corrected. 
Page 49 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
Wdg_59_DriverB_Irq.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  QAC and MISRA warnings fixed/Justified. 
4.  Wdg_59_DriverB_GusTiggerCounter is changed to uint32. 
5.  Added MISRA warning description and changed compiler 
switch condition check format. 
Wdg_59_DriverB_Private.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  QAC and MISRA warnings fixed/Justified. 
4.  Changed compiler switch condition check format. 
Wdg_59_DriverB_Ram.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  QAC and MISRA warnings fixed/Justified. 
3.  Variable Wdg_59_DriverB_GusTiggerCounter and 
Wdg_59_DriverB_GddDriverState are declared volatile. 
4.  Wdg_59_DriverB_GusTiggerCounter is changed to uint32. 
Wdg_59_DriverB_Version.c 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Comments added for traceability. 
2.  QAC warnings Justified. 
Wdg_59_DriverA.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  Protected all the macros defined by appending U, UL 
accordingly. 
Wdg_59_DriverA_Debug.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
Wdg_59_DriverA_Irq.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
Wdg_59_DriverA_PBTypes.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  Critical memory section macros are added. 
4.  Macro WDG_59_DRIVERA_DBTOC_VALUE updated to 
avoid QAC warning. 
5.  QAC and MISRA warnings fixed/Justified. 
6.  Macro value WDG_59_DRIVERA_COUNTER_ZERO 
Page 50 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
changed to UL. 
7.  Protected all the macros defined by appending U, UL 
accordingly. 
Wdg_59_DriverA_Private.h 
2.0.0 
Following change is made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
Wdg_59_DriverA_Ram.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Variable Wdg_59_DriverA_GusTiggerCounter and 
Wdg_59_DriverA_GddDriverState declared volatile. 
2.  Variable Wdg_59_DriverA_GusTiggerCounter is changed 
to Wdg_59_DriverA_GulTiggerCounter. 
Wdg_59_DriverA_RegWrite.h 
1.0.0 
Initial Version. 
Wdg_59_DriverA_Types.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  Type of SlowTimeValue, FastTimeValue, 
InitTimerCountValue, DefaultTimeValue are changed to 
uint32. 
Wdg_59_DriverA_Version.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
Wdg_59_DriverB.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  Protected all the macros defined by appending U, UL 
accordingly. 
Wdg_59_DriverB_Debug.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
Wdg_59_DriverB_Irq.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
Wdg_59_DriverB_PBTypes.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  Critical memory section macros are added. 
4.  Macro WDG_59_DRIVERB_DBTOC_VALUE updated to 
avoid QAC warning. 
5.  QAC and MISRA warnings fixed/Justified. 
6.  Macro value WDG_59_DRIVERB_COUNTER_ZERO 
Page 51 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
changed to UL. 
7.  Protected all the macros defined by appending U, UL 
accordingly. 
Wdg_59_DriverB_Private.h 
2.0.0 
Following change is made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
Wdg_59_DriverB_Ram.h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Variable Wdg_59_DriverB_GusTiggerCounter and 
Wdg_59_DriverB_GddDriverState declared volatile. 
2.  Variable Wdg_59_DriverB_GusTiggerCounter is changed 
to Wdg_59_DriverB_GulTiggerCounter. 
Wdg_59_DriverB_RegWrite.h 
1.0.0 
Initial Version. 
Wdg_59_DriverB_Types.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
3.  Type of SlowTimeValue, FastTimeValue, 
InitTimerCountValue, DefaultTimeValue are changed to 
uint32. 
Wdg_59_DriverB_Version.h 
2.0.0 
Following changes are made in Ver4.02.00.D:-                                                 
1.  File adapted from P1x. 
2.  Comments added for traceability. 
P1x-C TCODE file for WDG 
Wdg_Hardware_c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Typedef declarations for structure is followed as per the 
coding guidelines. 
Wdg_PBcfg_c 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Precision of time value has been updated with values to be 
in microseconds for better accuracy. 
2.  Memory section in the global data has been changed from 
      SEC_DBTOC_DATA_UNSPECIFIED to 
        SEC_CONFIG_DATA_UNSPECIFIED. 
3.  Updated WdgClkSettingsFast/Slow parameters value 
extraction in accordance with the new naming convention. 
4.  Type of InitTimerCountValue, DefaultTimeValue and 
SlowTimeValue is changed to uint32. 
Wdg_Cfg_h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Replaced the Register ReadBack with WDG Write Verify. 
2.  Added the macro WDG_USE_WV_ERROR_INTERFACE, 
WDG_E_REG_WRITE_VERIFY and 
WDG_E_INT_INCONSISTENT. 
Page 52 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
3.  WDG_59_${PaName}_E_MODE_FAILED_REPORTING 
and 
WDG_59_${PaName}_E_DISABLE_REJECTED_REPOR
TING are added for reporting DEM Errors. 
Wdg_Hardware_h 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Typedef declarations for structure is followed as per the 
coding guidelines. 
Wdg_Cbk_h 
1.0.0 
Initial Version. 
Wdg_Validate 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Added Reference Parameter Check for 
WDG_E_MODE_FAILED, and validation of 
WdgWriteVerify. 
2.  Added ERR_59_102_041 for the Parameter 
WDG_E_INT_INCONSISTENT. 
P1x-C WDG Common Sample Application Source file 
App_WDG_Common_Sample.c 
1.0.0 
No changes for release Ver4.02.00.D.                                               
P1x-C WDG Common Sample Application Header file 
App_WDG_Common_Sample.h 
1.0.0 
No changes for release Ver4.02.00.D.                                               
P1x-C Sample Application P1M-C Source file 
App_WDG_P1x-C_Sample.c 
1.0.0 
No changes for release Ver4.02.00.D.                                               
P1x-C Sample Application P1M-C Header file 
App_WDG_Device_Sample.h 
1.0.0 
No changes for release Ver4.02.00.D.                                               
TargetMap.h 
1.0.0 
No changes for release Ver4.02.00.D.                                               
P1x-C User Manual 
R20UT3661EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  Section 13.2.4 Precautions is added. 
2.  Chapter 8 stub C header file is replaced with the port 
specific C header files and added the stub files. 
3.  Added a ‘Note’ and updated the table 'Supervisor mode 
And User mode’ details. 
4.  Section 13.2.1, naming convention of 
WdgClkSettingsFast and WdgClkSettingsSlow values are 
changed. 
5.  Section 13.2 Memory and Throughput updated. 
6.  R-number updated for the document. 
7.  Device name updated. 
8.  Section 13.1 Compiler, Linker and Assembler removed. 
9.  Updated Section 4.3 for Critical section details and added 
table WDG Driver Protected Resources List. 
Page 53 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
10.   Reference for .one and .html are removed. 
11. In Section 4.7 updated Note to Note2 and added Note1. 
12. Added new errors in Table 11-2 DEM Errors Of WDG 
Driver Component and added Notes to Table 11-2 and 
Table 11-1. 
13. Updated Section 8 with a Note. 
14. Updated Content of Section 13.2.4. 
R20UT3662EJ0100-AUTOSAR.pdf 
1.0.2 
Following changes are made in Ver4.02.00.D:-                                                 
1.  In section 8.1.2, replaced the old naming convention with 
TWO_POWOF_9_ DIVBY_ WDGCLK and 
TWO_POWOF_9_ DIVBY_ WDGCLK. 
2.  R-number updated for the document. 
3.  In section 9.1, ERR_59_102_003, ERR_59_102_007, 
ERR_59_102_034, ERR_59_102_041, ERR_59_102_042, 
ERR_59_102_045, ERR_59_102_046, ERR_59_102_047, 
ERR_59_102_048, ERR_59_102_052 & ERR_59_102_054 
are removed. 
4.  In section 9.1, ERR_59_102_013, ERR_59_102_014, 
ERR_59_102_015, ERR_59_102_016, ERR_59_102_018, 
ERR_59_102_019, ERR_59_102_020, ERR_59_102_021, 
ERR_59_102_022, ERR_59_102_023, ERR_59_102_024, 
ERR_59_102_025, ERR_59_102_026 & ERR_59_102_039 
are added. 
5.  In section 9.3, INFO_59_102_103 & INFO_59_102_104 are 
added. 
6.  Removed chapters Section 9 Generation Tool Options, 
Section11 Notes and replaced the phrases Tool, Generator 
Tool, WDG Driver Generator tool with MCAL Code 
Generator Tool in this document. 
7.  Updated Reference Document details in Chapter 2. 
8.  Figure 3-2 of Chapter 3 is updated and added Remark in the 
same chapter. 
9.  Updated chapter 6 by adding two more points. 
10. Updated Figure 8-1, Table 8-1 and Table 8-2 in chapter 8. 
11. Figure 3-2 is renamed from Flow-Diagram of MCAL Code 
Generator Tool to Flow-Diagram of Code Generation. 
12. Updated section 9.1 Error Messages with new errors 
ERR_59_102_040, ERR_59_102_041, ERR_59_102_042, 
ERR_59_102_043. 
Page 54 of 55 

      Renesas Electronics 
                                Release Date: 28/02/2017 
 
13. Table 8-2 updated with WdgDemEventParameterRefs. 
 
6.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.00.D.xlsx 
6.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW09_2017.xlsx 
 
 
Page 55 of 55 

Document Outline


42 - Releasenotes_P1M-C_SPAL_R403_Ver4.02.01.D

ElectricPowerSteering_RH850_BMW_FAAR_WE_website/content/en/docs/RenesasMcalSuprt/doc/P1MC/4.02.01.D/Releasenotes_P1M-C_SPAL_R403_Ver4.02.01.D

44 - Releasenotes_P1M-C_SPAL_R403_Ver4.02.01.Ds

Renesas Electronics 
Release Date: 30/June/2017 
Release Notes for RENESAS RH850/P1M-C 
RENESAS_SW-AUTOSAR-P1M-C: MCAL Ver4.02.01.D 
Beta Quality 
1.1  Purpose 
To deliver AUTOSAR R4.0.3 MCAL software for P1M-C Ver4.02.01.D release using the 
following inputs. 
Device Manual:  
r01uh0517ej0121-rh850p1x-c_Open.pdf 
Device File: 
 
DF-RH850P1x-C-EE_V121_1.zip 
Operating Precautions:   R01TU0087ED0103_RH850P1M-C.pdf 
Modules supported: 
DIO and PORT 
1.2  Package information 
Product 
RH850/P1x-C 
Variant 
P1M-C 
Product Release Version 
Ver4.02.01.D 
AUTOSAR Specification Version 
R4.0.3 
Device tested on 
R7F701372 
Devices supported 
R7F701373, R7F701374 
Release Date 
30-June-2017 
 
1.3  Tools 
1.3.1  GHS 
Tool 
Version 
Options 
Green Hills Multi 
multi_616 
X1X/common_platform/generic/compiler/4.0.3/gh
Compiler: 2015.1.7 
s/make/ghs_rh850_r4.0.3_defs.mak 
Executor Version: 
V2.21.00.06  
Page 1 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
850eserv2 Version: V2.030 
1.3.2  Configuration code generator 
Tool 
Version 
Options 
ECU Spectrum 
4.0.14 
- 
1.3.3  Additional software 
Tool 
Version 
Options 
AMDC 
1.0.13 

MCAL Gen 
2.06.03 

QAC source code Analyser 
8.1.1-R 

1.4  Generic Information 
1.4.1  Release Target 
Processor 
R7F701373, R7F701374 
Module 
Generic 
Getting Started Document for P1x-C MCAL Driver 
R20UT3828EJ0101-AUTOSAR.pdf – V1.0.3 
AUTOSAR Modules Overview 
R20UT3827EJ0101-AUTOSAR.pdf – V1.0.3 
Date 
30-June-2017 
1.4.2  Release Items 
Filename 
Version 
Change Description 
Common Files 
ComStack_Types.h 
1.0.0 
No change for release Ver4.02.01.D 
Std_Types.h 
1.0.1 
No change for release Ver4.02.01.D 
Platform_Types.h 
1.0.0 
No change for release Ver4.02.01.D 
rh850_Types.h 
1.0.1 
No change for release Ver4.02.01.D 
Compiler Files 
Following changes are made in Ver4.02.01.D: 
MemMap.h 
1.0.4 
1.  As per ARDAAAF-2059, 
Page 2 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
PREFIX and INIT POLICY are modified for the 
memory sections of RAMTST module. 
2.  As per ARDAAAF-2175, Removed unwanted memory section 
RAMTST_START_SEC_CODE_FAST and added memory section 
RAMTST_59_RENESAS_START_SEC_APPL_CODE for 
RAMTST 
module. 
3.  As per ARDAAAF-2053, NOININT sections are changed as 
NO_INIT and FR_59_RENESAS_START_SEC_DBTOC_DATA_ 
UNSPECIFIED has been changed as FR_59_RENESAS_START_ 
SEC_DBTOC_DATA_UNSPECIFIED. 
4.  As per ARDAAAF-2177, following sections are removed 
FR_59_RENESAS_START_SEC_VAR_NO_INIT_BOOLEAN 
FR_59_RENESAS_STOP_SEC_VAR_NO_INIT_BOOLEAN 
FR_59_RENESAS_START_SEC_VAR_FAST_BOOLEAN 
FR_59_RENESAS_STOP_SEC_VAR_FAST_BOOLEAN 
FR_59_RENESAS_START_SEC_VAR_8 
FR_59_RENESAS_STOP_SEC_VAR_8 
FR_59_RENESAS_START_SEC_VAR_NO_INIT_8 
FR_59_RENESAS_STOP_SEC_VAR_NO_INIT_8 
FR_59_RENESAS_START_SEC_VAR_FAST_8 
FR_59_RENESAS_STOP_SEC_VAR_FAST_8 
FR_59_RENESAS_START_SEC_VAR_16 
FR_59_RENESAS_STOP_SEC_VAR_16 
FR_59_RENESAS_START_SEC_VAR_FAST_16 
FR_59_RENESAS_STOP_SEC_VAR_FAST_16 
FR_59_RENESAS_START_SEC_VAR_32 
FR_59_RENESAS_STOP_SEC_VAR_32 
FR_59_RENESAS_START_SEC_VAR_FAST_32 
FR_59_RENESAS_STOP_SEC_VAR_FAST_32 
FR_59_RENESAS_START_SEC_VAR_NO_INIT_UNSPECIFIED 
FR_59_RENESAS_STOP_SEC_VAR_NO_INIT_UNSPECIFIED 
FR_59_RENESAS_START_SEC_VAR_POWER_ON_INIT_UNSP
ECIFIED 
FR_59_RENESAS_STOP_SEC_VAR_POWER_ON_INIT_UNSPE
CIFIED 
Page 3 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
FR_59_RENESAS_START_SEC_VAR_FAST_UNSPECIFIED 
FR_59_RENESAS_STOP_SEC_VAR_FAST_UNSPECIFIED 
FR_59_RENESAS_START_SEC_CONFIG_VAR_NO_INIT_UNS
PECIFIED 
FR_59_RENESAS_STOP_SEC_CONFIG_VAR_NO_INIT_UNSP
ECIFIED 
FR_59_RENESAS_START_SEC_CONST_BOOLEAN 
FR_59_RENESAS_STOP_SEC_CONST_BOOLEAN 
FR_59_RENESAS_START_SEC_CONST_8 
FR_59_RENESAS_STOP_SEC_CONST_8 
FR_59_RENESAS_START_SEC_CONST_16 
FR_59_RENESAS_STOP_SEC_CONST_16 
FR_59_RENESAS_START_SEC_CONFIG_CONST_UNSPECIFI
ED 
FR_59_RENESAS_STOP_SEC_CONFIG_CONST_UNSPECIFIE

FR_59_RENESAS_START_SEC_DBTOC_CONFIG_CONST_UN
SPECIFIED 
FR_59_RENESAS_STOP_SEC_DBTOC_CONFIG_CONST_UNS
PECIFIED 
FR_59_RENESAS_START_SEC_CODE 
FR_59_RENESAS_STOP_SEC_CODE 
FR_59_RENESAS_START_SEC_STATIC_CODE 
FR_59_RENESAS_STOP_SEC_STATIC_CODE 
FR_59_RENESAS_START_SEC_CODE_FAST 
FR_59_RENESAS_STOP_SEC_CODE_FAST 
5.  As per ARDAAAF-2050, NOINIT sections are changed as 
NO_INIT, PREFIX are added, 
ETH_59_RENESAS_START_SEC_DBTOC_DATA_UNSPECIFIE

has been changed as ETH_59_RENESAS_START_SEC_DATA_ 
UNSPECIFIED, ETH_59_START_SEC_APPL_CODE to 
ETH_59_RENESAS_START_SEC_CODE_FAST and following 
ROM 
memory tag updated: 
ETH_PUBLIC_CODE_ROM 
ETH_PRIVATE_CODE_ROM 
ETH_BUFFER_CODE_ROM 
Page 4 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
6.  As per ARDAAAF-2174, following sections are removed 
ETH_59_START_SEC_VAR_NOINIT_BOOLEAN 
ETH_59_START_SEC_VAR_FAST_BOOLEAN 
ETH_59_START_SEC_VAR_8 
ETH_59_START_SEC_VAR_FAST_8 
ETH_59_START_SEC_VAR_NOINIT_16 
ETH_59_START_SEC_VAR_FAST_16 
ETH_59_START_SEC_VAR_NOINIT_32 
ETH_59_START_SEC_VAR_FAST_32 
ETH_59_START_SEC_CONFIG_VAR_NOINIT_UNSPECIFIED 
ETH_59_START_SEC_CONST_BOOLEAN 
ETH_59_START_SEC_CONST_8 
ETH_59_START_SEC_CONST_16 
ETH_59_START_SEC_CONST_32 
ETH_59_START_SEC_SCHEDULER_CODE 
ETH_59_STOP_SEC_VAR_NOINIT_BOOLEAN 
ETH_59_STOP_SEC_VAR_FAST_BOOLEAN 
ETH_59_STOP_SEC_VAR_8 
ETH_59_STOP_SEC_VAR_FAST_8 
ETH_59_STOP_SEC_VAR_NOINIT_16 
ETH_59_STOP_SEC_VAR_FAST_16 
ETH_59_STOP_SEC_VAR_NOINIT_32 
ETH_59_STOP_SEC_VAR_FAST_32 
ETH_59_STOP_SEC_CONFIG_VAR_NOINIT_UNSPECIFIED 
ETH_59_STOP_SEC_CONST_BOOLEAN 
ETH_59_STOP_SEC_CONST_8 
ETH_59_STOP_SEC_CONST_16 
ETH_59_STOP_SEC_CONST_32 
ETH_59_STOP_SEC_SCHEDULER_CODE 
7.  As per ARDAAAF-2178, following sections are removed 
FLSTST_START_SEC_VAR_BOOLEAN 
FLSTST_START_SEC_VAR_NOINIT_BOOLEAN 
FLSTST_START_SEC_VAR_FAST_BOOLEAN 
FLSTST_START_SEC_VAR_8 
FLSTST_START_SEC_VAR_NOINIT_8 
Page 5 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
FLSTST_START_SEC_VAR_FAST_8 
FLSTST_START_SEC_VAR_16 
FLSTST_START_SEC_VAR_NOINIT_16 
FLSTST_START_SEC_VAR_FAST_16 
FLSTST_START_SEC_VAR_NOINIT_32 
FLSTST_START_SEC_VAR_FAST_32 
FLSTST_START_SEC_VAR_FAST_UNSPECIFIED 
FLSTST_START_SEC_CONFIG_VAR_NOINIT_UNSPECIFIED 
FLSTST_START_SEC_SCHEDULER_CODE 
FLSTST_START_SEC_BUFFER_CODE 
FLSTST_STOP_SEC_VAR_BOOLEAN 
FLSTST_STOP_SEC_VAR_NOINIT_BOOLEAN 
FLSTST_STOP_SEC_VAR_FAST_BOOLEAN 
FLSTST_STOP_SEC_VAR_8 
FLSTST_STOP_SEC_VAR_NOINIT_8 
FLSTST_STOP_SEC_VAR_FAST_8 
FLSTST_STOP_SEC_VAR_16 
FLSTST_STOP_SEC_VAR_NOINIT_16 
FLSTST_STOP_SEC_VAR_FAST_16 
FLSTST_STOP_SEC_VAR_NOINIT_32 
FLSTST_STOP_SEC_VAR_FAST_32 
FLSTST_STOP_SEC_VAR_FAST_UNSPECIFIED 
FLSTST_STOP_SEC_CONFIG_VAR_NOINIT_UNSPECIFIED 
FLSTST_STOP_SEC_SCHEDULER_CODE 
FLSTST_STOP_SEC_BUFFER_CODE 
8.  As per ARDAAAF-2052, 
PREFIX and INIT POLICY are modified for the 
memory sections of FLSTST module. 
9.  As per ARDAAAF-2055, 
PREFIX and INIT POLICY are modified for the 
memory sections of LIN module. 
10.  As per ARDAAAF-2176, 
LIN_START_SEC_DBTOC_DATA_UNSPECIFIED 
LIN_STOP_SEC_DBTOC_DATA_UNSPECIFIED was removed. 
11.  As per ARDAAAF-2473, 
Page 6 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
SPI_59_RENESAS_START_SEC_PUBLIC_CODE, 
SPI_59_RENESAS_START_SEC_PRIVATE_CODE and 
SPI_59_RENESAS_START_SEC_CODE_FAST were updated. 
Compiler.h 
1.0.1 
No change for release Ver4.02.01.D 
Compiler_Cfg.h 
1.0.2 
No change for release Ver4.02.01.D 
Common Stubs 

Stub files required to run the sample application of the driver. 
Getting Started MCAL Driver User Manual 
R20UT3828EJ0101-
1.0.3 
No change for release Ver4.02.01.D 
AUTOSAR.pdf 
Module Overview User Manual 
R20UT3827EJ0101-
1.0.3 
No change for release Ver4.02.01.D 
AUTOSAR.pdf 
1.4.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the Fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.01.D.xlsx 
1.4.4  Known Issues 
ID 
Description 
NA 
Please refer to the Known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW26_2017.xlsx 
Page 7 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
1.5  Module Index 
DIO 
 
PORT 
 
Page 8 of 15 


Renesas Electronics 
Release Date: 30/June/2017 
  DIO 
2.1  Target Info 
Processor 
R7F701373, R7F701374. 
Module 
DIO 
Software Version 
1.0.4 
Embedded User Manual 
R20UT3639EJ0102-AUTOSAR.pdf – V1.0.4 
Tool User Manual 
R20UT3640EJ0102-AUTOSAR.pdf – V1.0.4 
Date 
30-June-2017 
2.2  Release Items 
File 
Version 
Change Description 
Configuration Files 
R403_DIO_P1X-C_73.arxml 
1.0.1 
1. As per ARDAAAF-2241,                             
   DioChannelId and DioPortOffset ranges corrected. 
2. As per ARDAAAF-2475, updated description for     
   DioMaskedWritePortApi and DioPortName            
R403_DIO_P1X-C_74.arxml 
1.0.1 
1. As per ARDAAAF-2241,                             
   DioChannelId and DioPortOffset ranges corrected. 
2. As per ARDAAAF-2475, updated description for     
   DioMaskedWritePortApi and DioPortName            
Generation Files 
R403_DIO_P1x-C_BSWMDT.arxml 
1.0.4 
SW-PATCH-VERSION is updated. 
Source Files 
Dio.c 
2.0.2 
1. As per ARDAAAF-2475, 
a. Added access direction(Read/Write) for global 
variables    in the function banner of all API's. 
b. Added one space between if and opening parenthesis 
and added a space after comma in the argument list of 
the  macro 
DIO_CHECK_WRITE_VERIFY_RUNTIME inside 
the Dio_FlipChannel API to correct the style format. 
c. Corrected the alignment in Dio_WritePort API and 
in  revision history banner. 
d. Renamed Dio_SpConfigPtr to Dio_GpConfigPtr. 
e. Requirement IDs EAAR_PN0061_FR_0018 and  
EAAR_PN0061_FR_0020 renamed as per new            
MRS tag 1.7. 
Page 9 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
f. Unwanted QAC messages removed. 
2. As per ARDAAAF-2510, UT Tag "DIO_UT_001" 
added for the uncovered parts of the code. 
Dio_Ram.c 
1.0.4 
As per ARDAAAF-2475, 
a. Updated the QAC justification message for 
   Msg(2:3211). 
b. Corrected the alignment in revision history banner. 
c. Renamed Dio_SpConfigPtr to Dio_GpConfigPtr. 
Dio_Version.c 
1.0.3 
As per ARDAAAF-2475, Corrected the alignment in 
revision history banner. 
Dio.h 
1.0.4 
As per ARDAAAF-2475, Corrected the alignment in 
revision history banner. 
Dio_Debug.h 
1.0.3 
As per ARDAAAF-2475, Corrected the alignment in 
revision history banner. 
Dio_RegWrite.h 
1.0.2 
 As per ARDAAAF-2475, 
 a. Unused macro DIO_WV_DISABLE is removed. 
b. Added one space after if condition to correct the 
style format. 
 c. Corrected the alignment of revision history banner. 
Dio_PBTypes.h 
1.0.4 
As per ARDAAAF-2475, 
a. Added one space after the closing brace of structure 
inside the union Dio_PortData. 
b. Corrected the alignment in revision history banner. 
Dio_Ram.h 
1.0.3 
As per ARDAAAF-2475, 
a. Corrected the alignment in revision history banner. 
b. Renamed Dio_SpConfigPtr to Dio_GpConfigPtr. 
Dio_Version.h 
1.0.3 
As per ARDAAAF-2475, Corrected the alignment in 
revision history banner. 
Dio_Hardware_c 
1.0.4 
As per ARDAAAF-2475, 
a. Updated the QAC justification message for 
Msg(2:3211). 
b. Corrected the alignment in revision history banner. 
Dio_Hardware_h 
1.0.4 
As per ARDAAAF-2475, Corrected the alignment in 
revision history banner. 
Dio_Cfg_h 
1.0.4 
1. As per ARDAAAF-2414, unwanted macros 
   DIO_MAXNOOFPORT, 
DIO_MAXNOOFCHANNEL,            and 
   DIO_INVALID_CHANNEL_GROUP are removed. 
2. As per ARDAAAF-2475, 
   a. Corrected the alignment in revision history banner. 
   b. Removed the unused macro 
   DIO_PNOT_OFFSET_NONJTAG. 
Dio_Cbk_h 
1.0.2 
As per ARDAAAF-2475, Corrected the alignment in 
revision history banner. 
Page 10 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
Dio_Lcfg_c 
1.0.3 
As per ARDAAAF-2475, 
a. Updated the QAC justification message 
   for Msg(2:3211). 
b. Corrected the alignment in revision history 
   banner. 
Dio_PBcfg_c 
1.0.4 
1. As per ARDAAAF-2414, unwanted macro 
   DIO_INVALID_CHANNEL_GROUP are removed. 
2. As per ARDAAAF-2475, 
   a. Updated the QAC justification message 
      for Msg(2:3211). 
   b. Corrected the alignment in revision history 
      banner. 
Dio_Validate 
1.0.3 
As per ARDAAAF-2475, 
a. Corrected the alignment in revision history banner. 
b. Corrected the description of error message 
   ERR_59_120_023. 
Sample Application Files 
App_DIO_P1x-C_Sample.c 
1.0.2 
 No change for release Ver4.02.01.D.       
App_DIO_Device_Sample.h 
1.0.2 
No change for release Ver4.02.01.D.       
User Manual Files 
R20UT3639EJ0102-AUTOSAR.pdf 
1.0.4 
The following changes are made: 
1. Path of the PDF and Sample Application is updated 
in     
section 13.2. 
2. Updated section 13.3 with latest memory 
consumption, stack  depth and throughput details. 
3. Updated the R number of the Tool User Manual in 
Chapter 3         
and Chapter 9. 
4. Software version in the chapter 14 is updated. 
R20UT3640EJ0102-AUTOSAR.pdf 
1.0.4 
1. Updated Table 8 1 to change the parameter type and  
parameter range of the parameter DioWriteVerify'. 
2. Updated R number of the Component User Manual 
in Chapter 6 
2.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the Fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.01.D.xlsx 
 
Page 11 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
2.4  Known Issues 
ID 
Description 
NA 
Please refer to the Known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW26_2017.xlsx 
 
Page 12 of 15 


Renesas Electronics 
Release Date: 30/June/2017 
  PORT 
3.1  Target Info 
Processor 
R7F701373, R7F701374. 
Module 
PORT 
Software Version 
1.0.4 
Embedded User Manual 
R20UT3653EJ0101-AUTOSAR.pdf – V1.0.4 
Tool User Manual 
R20UT3654EJ0101-AUTOSAR.pdf – V1.0.4 
Date 
30-June-2017 
3.2  Release Items 
File 
Version 
Change Description 
Configuration Files 
R403_PORT_P1X-C_73.arxml 
1.0.2 
No change for release Ver4.02.01.D 
R403_PORT_P1X-C_74.arxml 
1.0.1 
No change for release Ver4.02.01.D. 
Generation Files 
R403_PORT_P1x-C_BSWMDT.arxml 
1.0.4 
Following change made 
1. SW-VERSION tag is updated. 
Source Files 
Port.c 
1.0.4 
As part of ARDAAAF-2484, following changes are 
made: 1. Alignment and Spacing updated as per coding 
guidelines. 
2. LucReturnValue is initialized in 
Port_SetPinDirection, Port_SetPinMode, 
Port_SetPinDefaultMode, 
Port_SetPinDefaultDirection. 
3. LulPortDirectionLucMid, LucDnfaIndex, 
LucNoOfRegs, LucFclaIndex, LucFclaCTLindex 
initialized with PORT_ZERO. 
4. MISRA warning (4:2962) removed. 
5. Lucsize variable name changed to LucSize. 
Port_Ram.c 
1.0.3 
No change for release Ver4.02.01.D.                  
Port_Version.c 
1.0.2 
No change for release Ver4.02.01.D 
Port.h 
1.0.4 
As part of ARDAAAF-2484, following change made: 
1. Alignment and spacing corrected.. 
Page 13 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
Port_Debug.h 
1.0.1 
No change for release Ver4.02.01.D 
Port_PBTypes.h 
1.0.4 
As part of ARDAAAF-2484, following changes are 
made: 
1. Unused macros removed. 
2. Alignment and spacing corrected. 
3. Filter switch added for Port_GstFCLARegs and 
Port_GstDNFARegs. 
4. Removed array index from Port_HardwareReg 
array. 
Port_Ram.h 
1.0.3 
No change for release Ver4.02.01.D 
Port_Types.h 
1.0.3 
As part of ARDAAAF-2484, following change made: 
1.PORT_ESDD_UD_113 added for 
Port_Pin_Direction union 
Port_Version.h 
1.0.1 
No change for release Ver4.02.01.D 
Port_RegWrite.h 
1.0.2 
As part of ARDAAAF-2484, following change made: 
1. Spelling of replaced corrected in Msg(4:3453). 
CommonHelper 
0.0.3 
No change for release Ver4.02.01.D 
Port_Hardware_c 
1.0.2 
No change for release Ver4.02.01.D 
Port_Hardware_h 
1.0.2 
No change for release Ver4.02.01.D 
Port_Cfg_h 
1.0.3 
No change for release Ver4.02.01.D 
Port_Cbk_h 
1.0.1 
No change for release Ver4.02.01.D 
Port_PBcfg_c 
1.0.3 
No change for release Ver4.02.01.D 
Port_Validate 
1.0.3 
No change for release Ver4.02.01.D 
config.xml 

No change for release Ver4.02.01.D 
Sample Application Files 
App_PORT_P1x-C_Sample.c 
2.0.0 
No change for release Ver4.02.01.D 
App_PORT_Device_Sample.h 
2.0.0 
No change for release Ver4.02.01.D 
User Manual Files 
R20UT3653EJ0102-AUTOSAR.pdf 
1.0.4 
Following changes are made 
1. Memory and Throughput details updated in chapter 
13. 
2. R-Number updated. 
R20UT3654EJ0102-AUTOSAR.pdf 
1.0.4 
Following changes are made 
1. R-Number updated. 
3.3  Fixed Issues 
ID 
Description 
Page 14 of 15 

Renesas Electronics 
Release Date: 30/June/2017 
NA 
Please refer to the Fixed issues list as shared from Renesas 
Ref. P1xC_FixedIssues_Ver4.02.01.D.xlsx 
3.4  Known Issues 
ID 
Description 
NA 
Please refer to the Known issues list as shared from Renesas 
Ref. P1xC_OpenMarket_KnownIssues_CW26_2017.xlsx 
 
Page 15 of 15 

Document Outline


45 - Releasenotes_P1x_FULL_R403_Ver4.00.04

1

47 - Releasenotes_P1x_FULL_R403_Ver4.00.04s

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Release Notes for RENESAS RH850/P1x: 
RENESAS_SW-AUTOSAR-P1x: MCAL Ver4.00.04 
QM Beta Quality 
1.1  Purpose: 
To deliver AUTOSAR R4.0.3 MCAL software for P1x V4.00.04 release using the following inputs. 
 
        Device Manual:                    r01uh0436ej0070_rh850p1x.pdf 
 
        Device File:  
                DF-RH850P1M-EE_V100.zip 
 
        Operating Precautions:    R01TU0069ED0200_RH850.pdf 
                                                   
        Flash Libraries:   
        RENESAS_FCL_RH850_T01E_V2.00.exe 
                                              RENESAS_FDL_RH850_T01E_V2.00.exe 
 
        Modules supported:          ADC, CAN, DIO, FLS, FLSTST, FR, GPT, ICU, MCU, PORT, PWM,         
                                                          RAMTST, SPI, WDG. 
Page 1 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
1.2  Package information 
Product   
RH850/P1x 
Variant 
P1M 
Product Release Version 
Ver4.00.04 
AUTOSAR Specification Version 
4.0.3 
Device tested on 
P1M - R7F701310   
Devices supported 
R7F701304   
R7F701305 
R7F701310 
R7F701311 
R7F701312   
R7F701313   
R7F701314   
R7F701315   
R7F701318 
R7F701319   
R7F701320   
R7F701321   
R7F701322   
R7F701323   
Release Date 
08-June-2015 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 2 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
1.3  Tools   
1.3.1  GHS 
Tool 
Version 
Options 
GreenHills 
Green Hills Multi 
-Ospace -g -cpu=rh850g3k -gsize   
Multi IDE – 
V6.1.4 Compiler 
-prepare_dispose -sda=all -passsource   
compiler 
Version 2013.5.5 
-Wundef -no_callt -reserve_r2   

--short_enum -fsoft --prototype_errors   
Patches : 
--diag_error 193 -dual_debug -large_sda   
P2, P9, P12, P13, 
--no_commons -shorten_loads   
P14 
-shorten_moves -Wshadow -nofloatio   
-ignore_callt_state_in_interrupts -delete   
-inline_prologue 
1.3.2  Configuration code generator 
Tool 
Version 
Options 
ECU Spectrum 
4.0.14 

1.3.3  Additional software 
Tool 
Version 
Options 
NA 


 
 
Page 3 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
1.4  Generic Information 
1.4.1  Release Target 
Processor 
P1M - R7F701310 
Module 
Generic 
Date 
08-June-2015 
1.4.2  Release Items 
Filename 
Version 
Change Description 
P1x_translation.h   
1.0.6 
File updated for FLS and CAN macros. 
ComStack_Types.h   
1.0.1 
No change 
Std_Types.h   
1.0.1 
No change 
rh850_Types.h 
1.0.4 
No change 
Platform_Types.h   
1.0.1 
No change 
Compiler.h 
1.0.3 
No change 
Compiler_Cfg.h   
1.0.5 
No change 
MemMap.h   
1.0.6 
No change 
NvM_Types.h   
1.0.1 
No change 
Os.h   
1.0.1 
No change 
Os.c   
1.0.2 
No change 
GettingStarted_MCAL_Drivers_X1x.
1.0.5 
No change 
pdf 
AUTOSAR_Modules_Overview.pdf 
1.0.7 
No change 
1.4.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
 
 
 
 
 
 
 
 
Page 4 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
 
1.5  Module Index 
 
ADC 
 
CAN 
 
DIO 
 
FLS 
 
FLSTST 
 
FR 
 
GPT 
 
ICU 
 
MCU 
 
PORT 
 
PWM 
 
RAMTST 
 
SPI 
 
WDG 
 
 
 
 
 
 
 
 
Page 5 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
2  ADC 
2.1  Target Info 
Processor 
P1M - R7F701310 
Module 
ADC 
Date 
08-June-2015 
2.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_ADC_P1M_04_05_12_13_20
1.0.5 
As part of Px4 V4.00.04 Release, following changes 
_21.arxml 
are made                                                                                     
1. As per mantis #24237, Parameter                               
AdcUseHwContiScanMode is added in AdcGroup container.                                                                           
2. As per mantis #27411, PDF name is modified.         
3. Copyright information is updated.                             
R403_ADC_P1M_10_11_14_15_18
1.0.6 
As part of Px4 V4.00.04 Release, following changes 
_19_22_23.arxml 
are made                                                                                     
1. As per mantis #24237, Parameter                           
AdcUseHwContiScanMode is added in AdcGroup container.                                                                           
2. As per mantis #27411, PDF name is modified.         
3. Copyright information is updated.                         
BSWMDT 
R403_ADC_P1x_BSWMDT.arxml 
1.0.4 
As part of P1x V4.00.04 Release, following changes are made:                                                                                   
1. Software version is updated.                     
2. As per mantis #26305, critical section name   
'RAMDATA_PROTECTION' is changed to                       
'ADC_RAMDATA_PROTECTION'.                                             
3. Copyright information is updated.                             
Source Code 
Adc.c 
1.7.7 
As part of P1x V4.00.04 Release, following changes are made: 
1. NULL check is added for 'PtrToSamplePtr' in 
Adc_GetStreamLastPointer() API. 
2. As per mantis #26305, critical section name 
'RAMDATA_PROTECTION' is changed to 
'ADC_RAMDATA_PROTECTION'. 
3. MISRA violation is updated. 
Adc_Irq.c 
1.3.4 
No change 
Page 6 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Adc_Private_ADCD_ADCB.c 
1.0.7 
As part of P1x V4.00.04 Release, following changes are made: 
1. As per mantis #24936 Redundant compilation switches are 
corrected in Adc_GroupCompleteMode() API. 
2. As per mantis #25801, 'Track and Hold'    implementation is 
corrected to match with the flow diagram in the HW User 
manual. 
3. As per mantis #26305, critical section name     
'RAMDATA_PROTECTION' is changed to 
'ADC_RAMDATA_PROTECTION'. 
4. As per mantis #25842, position of critical section exit is 
corrected in Adc_GroupCompleteMode API. 
5. As per mantis #24237, software re-triggering is implemented 
for continuous conversion for software triggered groups. 
6. As per mantis #27488, HW triggered One-shot conversion is 
corrected to avoid conversion of more than one stream in one 
HW trigger. 
7. As per mantis #26324, volatile declaration    is added for 
variables storing register values. 
8. MISRA violation is updated. 
9. As per mantis #27334, redundant variables and double 
assignments are removed. 
10. As per mantis #27186, index calculation of the array 
'Adc_GpRunTimeData' is corrected to avoid out of bound 
access. 
Adc_Ram.c 
1.5.3 
No change   
Adc_Version.c 
1.1.3 
No change   
Adc.h 
1.5.5 
No change 
 
Adc_Debug.h 
1.0.2 
No change 
Adc_Irq.h 
1.0.9 
No change 
Adc_PBTypes_ADCD_ADCB.h 
1.0.5 
As part of P1x V4.00.04 Release, following changes are made: 
1. As per mantis #25801, 'Track and Hold' implementation is 
corrected to match with the flow diagram in the HW Usermanual.   
2. As per mantis #26331, element names are corrected in union 
'UInt'. 
3. As per mantis #26324, volatile declaration is added for 
variables storing register values. 
Adc_Private.h 
1.4.6 
As part of P1x V4.00.04 Release, following changes are made:   
1. Compiler switches are corrected for the API 
Adc_SearchnDelete(). 
Page 7 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Adc_Ram.h 
1.5.3 
No change 
Adc_Types.h 
1.7.4 
No change 
Adc_Version.h 
1.1.1 
No change 
Tool Executable 
Adc_ADCD_ADCB.exe 
1.3.2 
Tool exe updated for tool code changes. 
Adc_ADCD_ADCB.cfgxml 
1.0.1 
No change 
X1x Common Sample Application Source file 
App_ADC_Common_Sample.c 
1.1.9 
No change for P1x V4.00.04 release. 
X1x Common Sample Application Header file 
App_ADC_Common_Sample.h 
1.0.4 
No change for P1x V4.00.04 release. 
P1x Sample Application P1M Source file 
App_ADC_P1M_Sample.c 
1.0.1 
No change for P1x V4.00.04 release. 
P1x Sample Application P1M Header file 
App_ADC_Device_Sample.h 
1.0.2 
No change for P1x V4.00.04 release. 
P1x User Manual 
AUTOSAR_ADC_Component_Use
1.0.4 
The following changes are done.   
rManual.pdf 
1. Chapter 2 is updated for reference document.   
2. Section 3.1 is updated for folder section.   
3. Section 4.1 is updated for usage guidelines.   
4. In chapter 13, P1M supported devices are added.   
5. Section 13.1 is updated for translation header file and 
parameter definition files.   
6. Section 13.2 is updated for sample application structure and 
building sample application.   
7. Section 13.3 is updated for memory and throughput details.   
8. Chapter 14 is updated for version of ADC Driver component. 
9. Range of ChannelId is corrected in sections 10.3.1 and 10.3.2.   
10. Channel Mapping is corrected in section 10.3.3. 
11. Table 13-2 is updated for CAT-2 ERROR ISR.   
AUTOSAR_ADC_Tool_UserManu
1.0.4 
1. Error message ERR123140 is added. 
al.pdf 
2. Section 2.1 Reference Documents are updated to add PDF 
reference. 
3. List of mandatory parameters is updated in section 8.1. 
2.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 8 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
3  CAN 
3.1  Target Info 
Processor 
P1M - R7F701310   
Module 
CAN 
Date 
08-June-2015 
3.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_CAN_P1M_04_05_10_to_15.arxml 
1.0.4 
As part of P1x V4.00.04 release, following changes are 
 
made. 
 
1. As per mantis #27411, renamed file. 
 
2. Updated File version and copyright information. 
3. As per mantis #24428, added a parameter 
'CanWakeupFunctionalityAPI' under CanGeneral 
container. 
R403_CAN_P1M_18_to_23.arxml 
1.0.2 
As part of P1x V4.00.04 release, following changes are 
 
made. 
 
1. As per mantis #27411, renamed file. 
 
2. Updated File version and copyright information. 
 
3. As per mantis #24428, added a parameter 
'CanWakeupFunctionalityAPI' under CanGeneral 
container. 
BSWMDT 
R403_CAN_P1x_BSWMDT.arxml 
1.0.4 
As part of V4.00.04 P1x release, following changes are 
made 
1. Device Support Added for R7F701304, R7F701305, 
R7F701313, R7F701318, R7F701319, R7F701320, 
R7F701321, R7F701322, and R7F701323. 
2. Software version information is updated. 
3. Copyright information is updated. 
Source Code 
Can.c 
  1.2.12 
As part of P1x V4.00.04 release, following changes are 
made, 
1. As per mantis #27644, 
RH850_SV_MODE_IMR_WRITE_ONLY (16, 
LpWupIntMaskReg, (LpPCController->usWupIntMask)); 
is changed to RH850_SV_MODE_IMR_AND (16, 
Page 9 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
LpWupIntMaskReg, (LpPCController->usWupIntMask)); 
for the proper masking of IMR register. 
Can_Int.c 
  1.1.6 
No change 
Can_Irq.c 
  1.1.8 
No change 
Can_MainServ.c 
  1.2.8 
No change 
Can_ModeCntrl.c 
  1.2.9 
No change 
Can_Ram.c 
1.1.2 
No change 
Can_RamTest.c 
1.0.4 
No change 
Can_Version.c 
1.0.6 
No change 
Can_Wakeup.c 
1.0.14 
As part of P1x V4.00.04 release, Following change is 
made 
1. Access to Can_CheckWakeup() API is made under the 
compiler switch condition 
#if(CAN_CHECKWAKEUP_API == STD_ON). 
Can_Write.c 
1.0.17 
No change 
Can_Wakeup_Int.c 
1.0.1 
As part of P1x V4.00.04 release, following changes are 
made, 
1. As per mantis #27642, removed unused parameter 
'LucController' from 'CanEnableWakeUp' function 
definition. 
2. As per mantis #27641, 'DNFA2EN' register handling 
modified. 
Can.h 
1.0.11 
No change 
Can_Debug.h 
1.0.3 
No change 
Can_Init.h 
1.0.2 
No change 
Can_Int.h 
1.0.2 
No change 
Can_Irq.h 
1.0.8 
No change 
Can_MainServ.h 
1.0.3 
No change 
Can_ModeCntrl.h 
1.0.5 
No change 
Can_PBTypes.h 
1.0.9 
No change 
Can_PCTypes.h 
1.0.11 
No change 
Can_Ram.h 
1.0.6 
No change 
Can_RamTest.h 
1.0.3 
No change 
Can_RegStruct.h 
1.0.3 
No change 
Can_Tgt.h 
1.0.12 
No change 
Can_Types.h 
1.0.9 
No change 
Can_Version.h 
1.0.7 
No change 
Can_Wakeup.h 
1.0.5 
As part of P1x V4.00.04 release, Following change is 
made 
Page 10 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
1. Can_CheckWakeup() API is made under the compiler 
switch condition #if(CAN_CHECKWAKEUP_API == 
STD_ON). 
Can_Write.h 
1.0.3 
No change 
Tool Executable 
Can_X1x.exe 
1.2.11 
As per mantis #24579 and #24428 BswConfigValidate.pm, 
BswIm.pm, BswHdr.pm, BswConfig.pm are updated. 
Can_X1x.cfgxml 
1.0.0 
No Change 
X1x Sample Application Source file 
App_CAN_Common_Sample.c 
1.0.11 
As part of P1x V4.00.04 release, Following change 
is made 
1. Can_CheckWakeup() call is made under pre compiler 
switch #if(CAN_CHECKWAKEUP_API == STD_ON). 
X1x Sample Application header file 
App_CAN_Common_Sample.h 
1.0.2 
No change 
P1x Sample Application P1M Source file 
App_CAN_P1M_Sample.c 
1.0.1 
No change 
P1x Sample Application P1M header file 
App_CAN_Device_Sample.h 
1.0.0 
No change 
P1x User Manual 
AUTOSAR_CAN_Component_UserMa
1.0.3 
Following changes are made. 
nual.pdf 
1. Updated ‘Chapter 2 Reference Documents’. 
2. Added a ‘Note’ in Chapter 4 , Forethoughts. 
3. Chapter 13 is updated for adding new devices support. 
4. Chapter 14 is updated for Release Details. 
5. Section 13.3 is updated with Memory, Stack Usage and       
Throughput details for 144 pin device 701310. 
6. Added ISR Throughput details in section 13.3. 
7. Chapter 13, section 13.2 compiler, linker, and assembler 
options removed. 
AUTOSAR_CAN_Tool_UserManual.pdf   
1.0.2 
Following change is made   
 
1. Updated ‘Section 2.1 Reference documents’.   
2. In Section 8.1, ERR080075 to ERR080080 are added.   
3. In Section 8.3, INF080007 to INF080010 are added.   
3.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 11 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
4  DIO 
4.1  Target Info 
Processor 
P1M - R7F701310 
Module 
DIO 
Date 
08-June-2015 
4.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_DIO_P1M_04_05_12_13_20_
1.0.3 
Following changes are made :       
21.arxml 
1. File renamed from R403_DIO_P1M_701304_701305_   
701312_701313_701320_701321.arxml to                         
R403_DIO_P1M_04_05_12_13_20_21.arxml    as    per mantis 
#27411.                                                                       
2. Parameter DioPortName is updated with portgroups   
pin information 
R403_DIO_P1M_10_11_14_15_18_
1.0.4 
Following changes are made:                                                   
19_22_23.arxml 
1. File is renamed from R403_DIO_P1M_701310_701311_   
701314_701315_701318_701319_701322_701323.arxml to 
R403_DIO_P1M_10_11_14_15_18_19_22_23.arxml as per 
mantis #27411. 
BSWMDT 
R403_DIO_P1x_BSWMDT.arxml 
1.0.4 
Following changes are made:                                                     
1. Environment section is updated for new devices. 
2. Copyright information is updated.                             
Source Code 
Dio.c 
1.0.21 
No change 
Dio_Ram.c 
1.0.7 
No change 
Dio_Version.c 
1.0.6 
No change 
Dio.h 
1.0.11 
No change 
Dio_Debug.h 
1.0.3 
No change 
Dio_LTTypes.h 
1.0.14 
No change 
Dio_PBTypes.h 
1.0.12 
No change 
Dio_Ram.h 
1.0.10 
No change 
Dio_Version.h 
1.0.8 
No change 
Tool Executable 
Dio_X1x.exe 
1.0.16 
No change 
Dio_X1x.cfgxml 
1.0.1 
No change 
Page 12 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
P1x Sample Application P1M Source file 
App_DIO_P1M_Sample.c 
1.0.4 
No change 
P1x Sample Application P1M header file 
App_DIO_Device_Sample.h 
1.0.4 
Following changes are made: 
1. Updated to support new devices 701318, 701319, 701320, 
701321, 701322, 701323 
2. Copyright information is updated. 
P1x User Manual 
AUTOSAR_DIO_Component_User
1.0.6 
Following changes are made: 
Manual.pdf 
1. Chapter 2 reference documents section is updated. 
2. Chapter 3 section 3.1.1 is updated for new devices. 
3. Chapter 4 section 4.1 General is updated and a note is added 
regarding interrupt vector (.c) file 
4. 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.3.1 Sample application structure is updated for new devices 
13.3.2 Building sample application section is updated 
13.4 Memory and throughput details are updated for 144 pin 
devices. 
AUTOSAR_DIO_Tool_UserManual
1.0.2 
Section 2.1 Reference documents section is updated with the 
.pdf 
parameter definition file names. 
4.3  Known Issues 
 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 13 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
5  FLS 
5.1  Target Info 
Processor 
P1M - R7F701310 
Module 
FLS 
Date 
08-June-2015 
5.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_FLS_P1M_04_05.arxml 
1.1.1 
As part of P1x V4.00.04 Release,   
1. As per mantis #24538, parameter 'FlsCancelTime'   
is added in FlsPublishedInformation container.   
2. As per mantis #24538, parameter 'FlsCFCancelTime' is added 
in FlsCodeFlash container.   
3. As per mantis #23970, description of parameters 
'FlsEraseTime', 'FlsWriteTime', 'FlsBlankCheckTime' and 
'FlsReadTime' are updated.                                                                                   
4. As per mantis #27411, filename is updated.       
5. Updated file version and copyright information. 
R403_FLS_P1M_10_to_15.arxml 
1.1.1 
As part of P1x V4.00.04 Release,   
1. As per mantis #24538, parameter 'FlsCancelTime' is added in 
FlsPublishedInformation container.   
2. As per mantis #24538, parameter 'FlsCFCancelTime'                                                       
is added in FlsCodeFlash container. 
3. As per mantis #23970, description of parameters   
'FlsEraseTime', 'FlsWriteTime', 'FlsBlankCheckTime' and 
'FlsReadTime' are updated.                                                                                                                                 
4. As per mantis #27411, filename is updated.   
5. Updated file version and copyright information. 
R403_FLS_P1M_18_to_23.arxml 
1.0.1 
As part of P1x V4.00.04 Release,   
1. As per mantis #24538, parameter 'FlsCancelTime' is added in 
FlsPublishedInformation container. 
2. As per mantis #24538, parameter 'FlsCFCancelTime'                                                       
is added in FlsCodeFlash container. 
3. As per mantis #23970, description of parameters 
'FlsEraseTime', 'FlsWriteTime', 'FlsBlankCheckTime' and 
'FlsReadTime' are updated.                                                                                                                                   
Page 14 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
4. As per mantis #27411, filename is updated. 
5. Updated file version and copyright information. 
BSWMDT   
R403_FLS_P1x_BSWMDT.arxml 
1.0.4 
As part of P1x V4.00.04 release, following changes are made:                                                                                       
1. Updated software version.   
2. Updated file version and copyright information. 
Source Code 
Fls.c 
1.3.9 
As part of P1x V4.00.04 release, following changes are made: 
1. As per mantis #28186, section 
DRIVERSTATE_DATA_PROTECTION is renamed to 
FLS_DRIVERSTATE_DATA_PROTECTION. 
2. Updated file version. 
Fls_Irq.c 
1.0.2 
No change 
Fls_Internal.c 
1.3.6 
No change 
Fls_Ram.c 
1.2.5 
No change 
Fls_Version.c 
1.1.0 
No change 
Fls.h 
1.3.5 
No change   
Fls_Debug.h 
1.0.1 
No change 
Fls_Internal.h 
1.3.2 
No change   
Fls_Irq.h 
1.0.1 
No change   
Fls_PBTypes.h 
1.5.3 
No change   
Fls_Ram.h 
1.2.5 
No change   
Fls_Types.h 
1.3.5 
No change   
Fls_Version.h 
1.1.1 
No change 
Tool Executable 
Fls_X1x.exe 
1.3.6 
No change 
Fls_X1x.cfgxml 
1.0.0 
No change 
X1x Sample Application source file 
App_FLS_Common_Sample.c 
1.1.9 
No change 
X1x Sample Application header file 
App_FLS_Common_Sample.h 
1.0.2 
No change 
P1x Sample Application P1M Source file 
App_FLS_P1M_Sample.c 
1.0.0 
No change 
P1x Sample Application P1M header file 
App_FLS_Device_Sample.h 
1.0.1 
No change 
P1x User Manual 
AUTOSAR_FLS_Component_User
 1.0.5 
The following changes are made:   
Manual.pdf 
1. Chapter 2: Reference document is updated   
Page 15 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
2. As part of device support activity for R7F701304, 
R7F701305, R7F701313, R7F701315, R7F701318 to 
R7F701323 updated sections 3.1.1, 13.1.1, 13.1.2, 13.3.1.   
3. Updated version number and copyright year.   
4. Updated section 13.4 for memory and throughput.   
5. Removed section Compiler, Linker and Assembler in 
Chapter13.   
6. Removed Test_Application_P1x.trxml path from Section 
3.1.1.   
7. Section 4.1 is updated for adding note in Forethoughts.   
8. Chapter 12 is updated.   
9. Section 4.2. Preconditions is updated.   
10. Updated Tables 4-2 and 4-3 in Section 4.5.   
11. Chapter 14: Release Detail is updated for FLS Driver 
Version   
AUTOSAR_FLS_Tool_UserManual
 1.0.3 
The following changes are made:   
.pdf 
• Pdf name and version are updated in Section 2.1   
• Added parameters FlsCancelTime and FlsCFCancelTime in the 
list of mandatory parameters in Section 8.1.   
• The description of error ERR092029 is updated in Section 8.1.   
• Updated version number and copyright year.   
5.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
Page 16 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
6  FLSTST 
6.1  Target Info 
Processor 
P1M - R7F701310 
Module 
FLSTST 
Date 
08-June-2015 
6.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_FLSTST_P1M_04_05.arxml 
1.0.3 
As part of P1x V4.00.04 development activity the following 
changes are made:                                           
1. As per mantis #27411, file name changed to 
R403_FLSTST_P1M_04_05.arxml                                     
2. Copyright information updated.                               
3. ADMIN-DATA updated.                                                     
R403_FLSTST_P1M_10_to_15.arx
1.0.3 
As part of P1x V4.00.04 development activity the following 
ml 
changes are made:                                           
1. As per mantis #27411, file name changed to 
R403_FLSTST_P1M_10_to_15.arxml                               
2. Copyright information updated.                               
3. ADMIN-DATA updated.                                                     
R403_FLSTST_P1M_18_to_23.arx
1.0.1 
As part of P1x V4.00.04 development activity the   
ml 
following changes are made:                                             
1. As per mantis #27411, file name changed to     
R403_FLSTST_P1M_18_to_23.arxml                                 
2. Copyright information updated.                                 
3. ADMIN-DATA updated.                                                       
BSWMDT   
R403_FLSTST_P1x_BSWMDT.arx
1.0.3 
As part of P1x V4.00.04 development activity the         
ml 
following changes are made:                                                   
1. Environment section updated to add device 
support 
2. Copyright information updated.                                       
Source Code 
FlsTst.c 
1.0.6 
No change 
FlsTst_Ram.c 
1.0.3 
No change 
FlsTst_Version.c 
1.0.1 
No change 
Page 17 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
FlsTst.h 
1.0.4 
No change 
FlsTst_Debug.h 
1.0.0 
No change 
FlsTst_PBTypes.h 
1.0.3 
No change 
FlsTst_Ram.h 
1.0.4 
No change 
FlsTst_Types.h 
1.0.2 
No change 
FlsTst_Version.h 
1.0.0 
No change 
Tool Executable 
FlsTst_X1x.exe 
1.0.4 
No change 
FlsTst_X1x.cfgxml 
1.0.0 
No change 
X1x Sample Application source file 
App_FLSTST_Common_Sample.c 
1.0.1 
No change 
X1x Common Sample Application header file 
App_FLSTST_Common_Sample.h 
1.0.0 
No change 
P1x Sample Application P1M Source file 
App_FLSTST_P1M_Sample.c 
1.0.0 
No change 
P1x Sample Application P1M header file 
App_FLSTST_Device_Sample.h 
1.0.1 
No change 
P1x User Manual 
AUTOSAR_FLSTST_Component_
1.0.5 
As part of P1x V4.00.04 following changes are 
UserManual.pdf 
made:   
1. Section 4.1 is updated by adding forethought 
2. Section 13.2 for compiler, linker and assembler 
options is removed 
3. Sections 13.3.1, Section 13.3.2, Section 13.3.3 are 
updated with RAM/ROM details and throughput 
details 
4. Section 13 and Section 13.1.1 are updated by 
adding the new devices supported by the translation 
header 
5. Section 13.1.2 is updated with the renamed pdf 
files used 
6. Section 13.2.1 is updated by adding the sample 
applications added for the new devices 
7. Section 13.2.2 is updated by adding the new 
devices supported. 
AUTOSAR_FLSTST_SA_Test_Pro
1.0.1 
No change. 
cedure.pdf 
AUTOSAR_FLSTST_Tool_UserMa
1.0.3 
As part of P1x 4.00.04 the following changes are 
nual.pdf 
made: 
Page 18 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Reference documents section is updated. 
6.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
Page 19 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
7  FR 
7.1  Target Info 
Processor 
P1M - R7F701310   
Module 
FR 
Date 
08-June-2015 
7.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_FR_P1M_04_05_10_to_15_1
1.0.4 
As per the PRD, 
8_to_23.arxml 
1. Devices R7F701318, R7F701319, R7F701320, R7F701321, 
R7F701322 and R7F701323 are added in 'FrDeviceName' 
parameter and in environment section and devices which are not in 
scope is removed. 
2. As per Mantis #27411, The file name has been changed to 
R403_FR_P1M_04_05_10_to_15_18_to_23 from 
R403_FR_P1M_701300_701301_701304_701305_701308_to_7
01323 
3. As per Mantis #27728, Max, Min and default value of following 
parameters FrOutputPtrTableAddress, FrFifoPtrTableAddress 
and FrInputPtrTableAddress are modified. 
BSWMDT   
R403_Fr_P1x_BSWMDT.arxml 
1.0.2 
As part of P1x V4.00.04 Maintenance activity, 
1. Software version information is updated. 
2. Module ID is Changed to 81 
3. Environment Section is updated to add all 
Supported devices of P1M. 
Source Code 
Fr_59.c 
1.0.4 
No change 
Fr_59_Internal.c 
1.0.4 
No change 
Fr_59_Version.c     
1.0.1 
No change 
Fr_59_Ram.c 
1.0.2 
No change 
Fr_59_Debug.h 
1.0.1 
No change 
Fr_59_GeneralTypes.h 
1.0.1 
No change 
Fr_59_Internal.h 
1.0.3 
As  part  of  P1x_V4.00.04  maintenance  activity,  As  per  mantis 
#27460, following API's are declared as extern. 
1.  Fr_Input_Queue_Halt(),  Fr_User_Request_Input_Transfer(), 
Fr_User_Request_Output_Transfer. 
Page 20 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Fr_59_PBTypes.h 
1.0.3 
No change 
Fr_59_Ram.h 
1.0.2 
No change 
Fr_59_Types.h 
1.0.1 
No change 
Fr_59_Version.h       
1.0.1 
No change 
Fr_59.h 
1.0.3 
No change 
Tool Executable 
Fr_X1x.exe 
1.0.4 
No change 
Fr_X1x.cfgxml 
1.0.0 
Initial Version. 
X1x Common Sample Application Source file for node1 
App_FR_Common_Sample.c 
1.0.1 
No change 
X1x Common Sample Application Source file for node2 
App_FR_Common_Sample.c 
1.0.1 
No change 
X1x Common Sample Application header file for node1 
App_FR_Common_Sample.h 
1.0.1 
No change 
X1x Common Sample Application header file for node2 
App_FR_Common_Sample.h 
1.0.1 
No change 
P1x Sample Application P1M Source file for node1 
App_FR_P1M_Sample.c 
1.0.2 
No change 
P1x Sample Application P1M Source file for node2 
App_FR_P1M_Sample.c     
1.0.2 
No change 
P1x Sample Application P1M header file for node1 
App_FR_Device_Sample.h 
1.0.2 
No change 
P1x Sample Application P1M header file for node2 
App_FR_Device_Sample.h 
1.0.2 
No change 
P1x User Manual 
AUTOSAR_FR_Component_User
1.0.3 
Following changes are made: 
Manual.pdf 
1.  Chapter 2 Reference Documents updated. 
2.  Chapter 1, 8, 12 and Sections 3.1.1, 4.2, 4.5, 10.3, 13.2.1, 
13.3.3 Updated the file names by adding vender id. 
3.  Section 13.2.1.    Sample Application Structure updated by                                                       
adding the sample application configuration for supported 
devices. 
4.  Memory and Throughput details updated in section 13.2. 
5.  Chapter 14 Release Details updated. 
6.  Copyright information updated. 
7.  Removed Compiler and Linker options. 
AUTOSAR_FR_Tool_UserManual.
 1.0.4 
Following changes are made:   
pdf 
1. File names of Fr_PBcfg.c and Fr_Cfg.h renamed to 
Fr_59_PBcfg.c and Fr_59_Cfg.h.   
Page 21 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
2. Copyright information updated   
7.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
Page 22 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
8  GPT 
8.1  Target Info 
Processor 
P1M - R7F701310 
Module 
GPT 
Date 
08-June-2015 
8.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_GPT_P1M_04_05_12_13_20_21.arx
1.0.1 
As part of P1x V4.00.04 development activity the 
ml 
following changes are made:                                           
1. As per mantis #27411, file name changed 
to 
R403_GPT_P1M_04_05_12_13_20_21.ar
xml                   
2. Copyright information updated.                               
3. ADMIN-DATA updated.                                                     
R403_GPT_P1M_10_11_14_15_18_19_22_
1.0.6 
As part of P1x V4.00.04 development 
23.arxml 
activity the 
following changes are made:                                           
1. As per mantis #27411, file name changed 
to       
R403_GPT_P1M_10_11_14_15_18_19_2
2_23.arxml       
2. Copyright information updated.                               
3. ADMIN-DATA updated.                                                                                                         
BSWMDT 
R403_GPT_P1x_BSWMDT.arxml 
1.0.4 
No change   
Source Code 
Gpt.c 
1.0.17 
No change   
Gpt_Irq.c 
1.0.8 
No change   
Gpt_LLDriver.c 
1.0.19 
No change   
Gpt_Ram.c 
1.0.4 
No change   
Gpt_Version.c 
1.0.3 
No change   
Gpt.h 
1.0.5 
No change   
Gpt_Debug.h 
1.0.3 
No change   
Gpt_Irq.h 
1.0.7 
No change   
Gpt_LLDriver.h 
1.0.5 
No change   
Page 23 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Gpt_PBTypes.h 
1.0.14 
No change   
Gpt_Ram.h 
1.0.4 
No change   
Gpt_RegReadBack.h 
1.0.1 
No change   
Gpt_Types.h 
1.0.5 
No change   
Gpt_Version.h 
1.0.4 
No change   
Tool Executable 
Gpt_X1x.exe 
1.1.6 
No change   
Gpt_X1x.cfgxml 
1.0.0 
No change   
X1x Common Sample Application Source file 
App_GPT_Common_Sample.c 
1.0.5 
No change 
X1x Common Sample Application header file 
App_GPT_Common_Sample.h 
1.0.3 
No change 
P1x Sample Application P1M Source file 
App_GPT_P1M_Sample.c 
1.0.1 
No change 
P1x Sample Application P1M header file 
App_GPT_Device_Sample.h 
1.0.1 
No change 
P1x User Manual 
AUTOSAR_GPT_Component_UserManua
1.0.5 
Following changes are made:   
l.pdf 
1. Added note in chapter4 Forethoughts.   
2. Removed Compiler Assembler and linker option.   
3. Updated copyright information.   
4. Updated chapter 13 to add additional device support.   
5. Updated throughput and memory details. 
AUTOSAR_GPT_Tool_UserManual.pdf 
1.0.5 
Following changes are made:   
• Updated copyright information.   
• Updated reference section with new PDF name.   
8.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 24 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
9  ICU 
9.1  Target Info 
Processor 
P1M - R7F701310 
Module 
ICU 
Date 
08-June-2015 
9.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_ICU_P1M_04_05_12_13_20
1.0.1 
 As per    mantis issue #27411, following changes has been 
_21.arxml 
made:                                                                                   
1. PDF renamed as 
R403_ICU_P1M_04_05_12_13_20_21.arxml 
2. Copyright information is updated. 
R403_ICU_P1M_10_11_14_15_18
1.1.2 
 As per    mantis issue #27411, following changes has been 
_19_22_23.arxml 
made:                                                                                   
1. PDF renamed as 
R403_ICU_P1M_04_05_12_13_20_21.arxml 
2. Copyright information is updated. 
BSWMDT File 
R403_ICU_P1x_BSWMDT.arxml 
1.0.2 
No change   
Source Code 
Icu.c 
1.5.5 
No change   
Icu_Irq.c 
1.2.0 
No change   
Icu_LLDriver.c 
1.6.6 
No change   
Icu_Ram.c 
1.1.4 
No change   
Icu_Version.c 
1.0.4 
No change   
Icu.h 
1.4.4 
No change   
Icu_Debug.h 
1.0.1 
No change   
Icu_Irq.h 
1.1.1 
No change   
Icu_LLDriver.h 
1.3.4 
No change   
Icu_PBTypes.h 
1.5.5 
No change   
Icu_Ram.h 
1.1.4 
No change   
Icu_Types.h 
1.1.2 
No change   
Icu_Version.h 
1.0.3 
No change   
Tool Executable 
Icu_X1x.exe 
1.4.6 
No change 
Page 25 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Icu_P1x.cfgxml 
1.0.0 
No change 
X1x Common Sample Application Source file 
App_ICU_Common_Sample.c 
1.3.4 
No change 
P1x    Sample Application Source file 
App_ICU_P1M_Sample.c 
1.0.4 
As a part of P1x V4.00.04 release corrected 
Port_Init() for Device 701310. 
X1x Common Sample Application Header file 
App_ICU_Common_Sample.h 
1.0.2 
No change 
P1x Sample Application Header file 
App_ICU_Device_Sample.h 
1.0.0 
No change 
P1x User Manual 
AUTOSAR_ICU_Component_User
1.0.7 
Following changes are made: 
Manual.pdf 
  1.  Chapter  2  Reference  documents  are  updated  for  version           
change. 
2.  Chapter  4  is  updated  for  information  regarding  Interrupt 
vector table. 
3. Section 13.1.1 is updated for adding new devices.   
4. Section 13.1.1 is updated for names of PDF.   
5.  Section  13.2  Compiler,  Linker  and  Assembler  section  is 
removed.   
6.  Section  13.2  is  updated  for  parameter  definition  file  and 
sample application configuration files of all P1M devices.   
7. Section 13.3 Memory and Throughput details are updated 
AUTOSAR_ICU_Tool_UserManual
1.0.4 
Following changes are made: 
.pdf 
Parameter  definition  file  names  and  versions  are  updated  in 
section 2.1. 
9.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 26 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
10  MCU 
10.1 Target Info 
Processor 
P1M - R7F701310 
Module 
MCU 
Date 
08-June-2015 
10.2 Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_MCU_P1M_04_05.arxml 
1.1.4 
1. As per Mantis #26418, Description of "McuResetReason" 
parameter is to   
"The parameter represents the different type of reset that a Micro 
supports. This parameter is referenced by the parameter 
EcuMResetReason in the ECU State manager module, 
MCU_SW_RESET."   
2. As per Mantis #27411, The file name has been changed to                               
R403_MCU_P1M_04_05 from 
R403_MCU_P1M_701304_701305 
3. Local RAM range corrected to 4273864704 to 4273995775     
R403_MCU_P1M_10_to_15_18_to_
1.0.1 
1. As per Mantis #26418, Description of "McuResetReason" 
23.arxml 
parameter is to   
"The parameter represents the different type of    reset that a 
Micro supports. This parameter is referenced by the parameter 
EcuMResetReason in the ECU State manager module, 
MCU_SW_RESET." 
2. As per Mantis #27411,    The file name has been changed to                               
R403_MCU_P1M_10_to_15_18_to_23 from   
R403_MCU_P1M_701310_to_701315_7013018_to_7013023. 
BSWMDT 
R403_MCU_P1x_BSWMDT.arxml 
1.0.5 
Updated SW-VERSION for changes in Source code 
Source Code 
Mcu.c 
1.0.6 
1. As per mantis #26418 ,following change is made: 
MCU_SW_RST is corrected with name MCU_SW_RESET , 
MCU_WDT_RST is corrected with name 
MCU_WATCHDOG_RESET,                                                         
MCU_POWER_ON_CLEAR_RST is corrected with name 
MCU_POWER_ON_RESET 
2. Added code comments as per MO Review in Mantis                                                           
Page 27 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
#27515 
3. Justifications for QAC warnings Msg(4:0857), Msg(4:2983), 
Msg(4:4499), Msg(4:2991), Msg(4:2982),                                                 
Msg(4:2992), Msg(4:2996), Msg(4:0400). 
Mcu_Irq.c 
1.0.6 
1. Added code comments as per MO Review in Mantis                                                       
#27515 
2. Added justification for MISRA warning Msg(4:3138) 
3. Added compiler switch, #ifndef 
Os_MCU_FEINT_CAT2_ISR and #ifndef 
MCU_FEINT_CAT2_ISR for MCU_FENMI_ENTRY and 
MCU_FENMI_LEAVE as per mantis #27723 
Mcu_Ram.c 
1.0.4 
Added code comments as per MO Review in Mantis    #27515 
Mcu_Version.c 
1.0.2 
No changes 
Mcu.h 
1.0.3 
1. Added code comments as per MO Review in Mantis #27515 
2. Added Justification for MISRA Violation:                                               
START Msg(4:3412) 
Mcu_Debug.h 
1.0.2 
Added code comments as per MO Review in Mantis                               
#27515 
Mcu_Irq.h 
1.0.2 
1.Added code comments as per MO Review in Mantis    #27515 
2.Removed _Interrupt_ from MCU_FEINT_ISR 
Mcu_PBTypes.h 
1.0.4 
Added code comments as per MO Review in Mantis    #27515 
Mcu_Ram.h 
1.0.4 
Added code comments as per MO Review in Mantis    #27515 
Mcu_Types.h 
1.0.4 
1.As per mantis #26418 ,following change is made:                                                           
MCU_SW_RST is corrected with name MCU_SW_RESET , 
MCU_WDT_RST is corrected with name 
MCU_WATCHDOG_RESET ,                                                           
MCU_POWER_ON_CLEAR_RST is corrected with name 
MCU_POWER_ON_RESET 
2. Added code comments as per MO Review in Mantis    #27515 
Mcu_Version.h 
1.0.1 
Added code comments as per MO Review in Mantis    #27515 
Tool Executable 
Mcu_P1x.exe 
1.1.1 
Updated for Ver4.0004 release 
Mcu_P1x.cfgxml 
1.0.0 
No change 
P1x Sample Application P1M Source file 
App_MCU_P1M_Sample.c 
1.0.3 
As per mantis #27723, the following change is made, 
1. Removed #pragma intvect MCU_FEINT_ISR 0x000000E0. 
P1x Sample Application P1M header file 
App_MCU_Device_Sample.h 
1.0.2 
No change 
Page 28 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
P1x User Manual 
AUTOSAR_MCU_Component_Use
1.0.5 
Following changes are made:   
rManual.pdf 
1. New section, “4.7 Callout API” added to chapter 4.   
2. Information regarding Interrupt vector table is added to 
“Section 4.1 General”.   
3. As part of device support activity for R7F701304, R7F701305, 
R7F701313, R7F701315, R7F701318 to R7F701323 updated 
sections 3.1.1, 13.1, 13.2.   
4. Removed section Compiler,Linker and Assembler in 
Chapter13.   
5. Updated section 13.3 for memory and throughput   
6. Copyright information has been changed to 2015   
AUTOSAR_MCU_Tool_UserManu
1.0.3 
The following changes are made:   
al.pdf 
• Pdf name and version are updated in Section 2.1   
• Updated version and copyright year.   
10.3 Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
 
Page 29 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
11  PORT 
11.1  Target Info 
Processor 
P1M - R7F701310 
Module 
PORT 
Date 
08-June-2015 
11.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_PORT_P1M_04_05.arxml 
1.0.1 
As per mantis 27411,27777,26630 following changes                                       
are made   
1. File name changed to R403_PORT_P1M_04_05.arxml 
from R403_PORT_P1M_701304_701305.arxml   
2. Copyright information is updated.     
3. Parameter 'PortIpControl' is removed from 
PortGroup0,PortGroup2 PortPin4,PortGroup3 
PortPin11,14,PortGroup4 PortPin2-4 and    PortGroup5 
PortPin5-14   
4. Parameters 'PortInputSelection', 'PortUnlimitedCurrentControl',                                       
'PortDriveStrengthControl' and 
'PortOpenDrainControl_Expansion' are removed from PortPin4 of 
PortGroupJtag0. 
R403_PORT_P1M_10_11_14_15.ar
1.0.4 
As per mantis 27411,27777,26630 following changes    are made:                                                                                       
xml 
1. File name changed from   
R403_PORT_P1M_701310_701311_701314_701315.arxml 
to R403_PORT_P1M_10_11_14_15.arxml.   
2. Copyright information is updated.   
3. Parameter 'PortInputSelection' is removed from                                                       
PortPin0 of PortGroup0 and PortPin4 of PortGroupJtag0.                                                                     
4. Parameters 'PortInputSelection', 'PortUnlimitedCurrentControl',                                       
'PortDriveStrengthControl' and 
'PortOpenDrainControl_Expansion' are removed from PortPin4 of 
PortGroupJtag0 
5. Parameter 'PortIpControl' is removed from   
PortGroup0,PortGroup3 PortPin11,14, PortGroup4 PortPin2-4 
and    PortGroup5 PortPin5-15. 
R403_PORT_P1M_12_13.arxml 
1.0.2 
As per mantis 27411,27777,26630 following changes are made:                                                                                       
1. File name changed from 
Page 30 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
R403_PORT_P1M_701312_701313.arxml to 
R403_PORT_P1M_12_13.arxml 
2. Copyright information is updated.     
3. Parameter 'PortIpControl' is removed from 
PortGroup0,PortGroup1 PortPin1,PortGroup3 
PortPin11,14,PortGroup4 PortPin2-4 and PortGroup5 
PortPin0,5-14. 
4. Parameter 'PortInputSelection' is removed from 
PortGroup2 PortPin3,6,8,PortGroup3 PortPin3 
5. Parameters 'PortInputSelection', 'PortUnlimitedCurrentControl',                                       
'PortDriveStrengthControl' and 
'PortOpenDrainControl_Expansion' are removed from 
PortPin4 of PortGroupJtag0. 
R403_PORT_P1M_18_19_22_23.ar
1.0.1 
As per mantis 27411,27777,26630 following changes are made:                                                                                       
xml 
1. File name changed from 
R403_PORT_P1M_701318_701319_701322_701323.arxml    to   
R403_PORT_P1M_18_19_22_23.arxml. 
2. Copyright information is updated.     
3. Parameters 'PortInputSelection',   
'PortUnlimitedCurrentControl',    'PortDriveStrengthControl' and                                       
'PortOpenDrainControl_Expansion' are removed from PortPin4 of 
PortGroupJtag0   
4. Parameter 'PortIpControl' is removed from 
PortGroup0,PortGroup3 PortPin5,11,14, PortGroup4 PortPin2-4 
and    PortGroup5 PortPin5-14           
R403_PORT_P1M_20_21.arxml 
1.0.1 
As per mantis 27411,27777,26630 following changes                                           
are made:       
1. File name changed from   
R403_PORT_P1M_701320_701321.arxml to 
R403_PORT_P1M_20_21.arxml.     
2. Copyright information is updated.     
3. Parameter 'PortIpControl' is removed from 
PortGroup0,PortGroup2 PortPin0,PortGroup3 
PortPin11,14,PortGroup4 PortPin2-4 and PortGroup5 PortPin5-14   
4. Parameter 'PortInputSelection' is removed from PortGroup0 
PortPin10,PortGroup3 PortPin13. 
5. Parameters 'PortInputSelection', 'PortUnlimitedCurrentControl',                                       
'PortDriveStrengthControl' and 
'PortOpenDrainControl_Expansion' are removed from 
PortPin4 of PortGroupJtag0. 
Page 31 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
BSWMDT 
R403_PORT_P1x_BSWMDT.arxml 
1.0.3 
As per mantis #27419 following changes are made: 
1. Environment section is updated to add P1x devices   
2. Copyright information is updated.     
Source Code 
Port.c 
1.5.9 
No change 
Port_Ram.c 
1.0.3 
No change   
Port_Version.c 
1.0.2 
No change 
 
Port.h 
1.5.3 
No change 
Port_Debug.h 
1.0.1 
No change 
Port_Types.h 
1.3.1 
No change 
 
Port_PBTypes.h 
1.4.7 
No change 
Port_Ram.h 
1.0.1 
No change 
Port_Version.h 
1.0.5 
No change 
Tool Executable 
Port_X1x.exe 
1.3.12 
Tool updated for P1x Ver4.00.04 release. 
Port_X1x.cfgxml 
1.0.0 
No change 
P1x Sample Application P1M Source file 
App_PORT_P1M_Sample.c 
1.0.4 
No change 
P1x Sample Application P1M header file 
App_PORT_Device_Sample.h 
1.0.1 
No change 
P1x User Manual 
AUTOSAR_PORT_Component_Us
1.0.5 
Following changes are made:   
erManual.pdf 
1. Section 1.1 Document Overview is updated.   
2. Chapter 2 Reference documents are updated for version change.   
3. Chapter 4 is updated for information regarding Interrupt vector 
table.   
4. Chapter 6 Port_SetPinMode is updated.   
5. Section 10.2.4 Port_PinModeType is updated.   
6. Section 13.1.1 is updated for adding new devices.   
7. Section 13.2 Compiler, Linker and Assembler section is 
removed.   
8. Section 13.2 is updated for parameter definition file and sample 
application configuration files of all P1M devices.   
9. Section 13.3 Memory and Throughput details are updated.   
AUTOSAR_PORT_Tool_UserManu
1.0.5 
Following changes are made:   
al.pdf 
1.  Parameter  Definition  file  names  and  versions  are  updated  in 
section 2.1. 
Page 32 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
2. Error message ERR124018 is added in section 8.1.   
11.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 33 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
12  PWM 
12.1  Target Info 
Processor 
P1M - R7F701310 
Module 
PWM 
Date 
08-June-2015 
12.2  Release Items 
Filename 
Version 
Change Description 
P1x Parameter Definition file 
R403_PWM_P1M_04_05_12_13_2
1.0.1 
As part of P1x V4.00.04 Maintenance Activity, the following 
0_21.arxml 
changes are done. 
1. As per mantis #27411, the file names are changed and file 
version is updated. 
2. Copyright information is updated. 
3. Admin Data is updated. 
R403_PWM_P1M_10_11_14_15_1
1.0.3 
As part of P1x V4.00.04 Maintenance Activity,the following 
8_19_22_23.arxml 
changes are done. 
1. As per mantis #27411, the file names are changed and file 
version is updated. 
2. Copyright information is updated. 
3. Admin Data is updated. 
BSWMDT File 
R403_PWM_P1x_BSWMDT.arxml 
1.0.3 
No change 
Source Code 
Pwm.c 
1.6.7 
No change 
Pwm_Irq.c 
1.2.1 
No change 
Pwm_LLDriver.c 
1.6.9 
No change 
Pwm_Ram.c 
1.3.8 
No change 
Pwm_Version.c 
1.0.4 
No change 
Pwm.h 
1.4.6 
No change 
Pwm_Debug.h 
1.0.1 
No change 
Pwm_Irq.h 
1.2.0 
No change 
Pwm_LLDriver.h 
1.4.4 
No change 
Pwm_PBTypes.h 
1.4.9 
No change 
Pwm_Ram.h 
1.3.8 
No change 
Pwm_Types.h 
1.5.5 
No change 
Pwm_Version.h 
1.0.5 
No change 
Page 34 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Tool Executable 
PWM_X1x.exe 
1.6.5 
No change 
Pwm_X1x.cfgxml 
1.0.0 
No change 
X1x Sample Application Source file 
App_PWM_Common_Sample.c 
1.4.4 
No change 
X1x Sample Application header file 
App_PWM_Common_Sample.h 
1.0.3 
No change 
P1x Sample Application P1M Source file 
App_PWM_P1M_Sample.c 
1.0.3 
No change 
P1x Sample Application P1M Header file 
App_PWM_Device_Sample.h 
1.0.1 
No change 
P1x User Manual 
AUTOSAR_PWM_Component_Us
1.0.3 
As part of V4.00.04 P1x Maintenance Activity,Following changes 
erManual.pdf 
are made.   
1. Chapter 2 is updated for referenced documents version. 
2. Updated Section 3.1.1 and section 13.1.1 for adding the device 
names. 
3. Section 13.3.1 is updated for name of the parameter    definition 
file and additional devices. 
4. Section 13.4 is updated for ROM/RAM usage, Stack Depth and 
Throughput details. 
5. Section 4.1 is updated to add notes for the file 
“Interrupt_VectorTable.c” and the API 
“Pwm_SetChannelOutput”. 
6. In Section 13, The Compiler,Linker and Assembler options    are   
removed. 
7. Section 4.6, Table 4-2, Remarks is updated for the 
Set_TriggerDealy API.   
8. In Section 4.1, a note is updated for the ‘The counter of    master 
channel’. 
AUTOSAR_PWM_Tool_UserManu
1.0.3 
As part of V4.00.04 P1x Maintenance Activity, 
al.pdf 
following changes are made: 
1. Chapter 2 ‘Reference’ is updated for the name and version of               
the parameter definition files. 
2. Error message ERR000019 is added in section 8.1   
12.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 35 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
13  RAMTST 
13.1  Target Info 
Processor 
P1M - R7F701310 
Module 
RAMTST 
Date 
08-June-2015 
13.2  Release Items 
Filename 
Version 
Change Description 
P1x Parameter Definition file 
R403_RAMTST_P1M_04_05.arxml 
1.0.1 
As per mantis 25915 following changes are made:           
1. File name changed to R403_RAMTST_P1M_04_05.arxml 
from R403_RAMTST_P1M_701304_701305.arxml.                 
2. LOWER-MULTIPLICITY of   
RamTstDemEventParameterRefs container and 
RAMTST_E_RAM_FAILURE parameter    is updated.                                                                             
R403_RAMTST_P1M_10_to_15_1
1.0.3 
As per mantis 25915 , following changes are made :   
8_to_23.arxml 
1. LOWER-MULTIPLICITY of   
RamTstDemEventParameterRefs container and 
RAMTST_E_RAM_FAILURE parameter    is updated.                                                                             
2. File name changed from                                   
R403_RAMTST_P1M_701310_to_701315_701318                 
_to_701323.arxml to                                                           
R403_RAMTST_P1M_10_to_15_18_to_23.arxml                     
BSWMDT 
R403_RAMTST_P1x_BSWMDT.ar
1.0.4 
No change   
xml 
Source Code 
RamTst.c 
1.1.4 
No change   
RamTst.h 
1.1.3 
No change   
RamTst_RegReadBack.h 
1.0.1 
No change   
RamTst_Types.h 
1.1.2 
No change   
Tool Executable 
RamTst_X1x.exe 
1.0.8 
No change   
  RamTst_X1x.cfgxml 
1.0.0 
No change   
X1x Sample Application source file 
App_RAMTST_Common_Sample.c 
1.0.1 
No change   
X1x Sample Application header file 
App_RAMTST_Common_Sample.h 
1.0.0 
No change   
Page 36 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
P1x Sample Application P1M Source file 
App_RAMTST_P1M_Sample.c 
1.0.2 
No change   
P1x Sample Application P1M header file 
App_RAMTST_Device_Sample.h 
1.0.1 
No change   
P1x User Manual 
AUTOSAR_RAMTST_Component
1.0.3 
As part of P1x V4.00.04 activity following changes are made:   
_UserManual.pdf 
1. In chapter 2, Reference documents updated.   
2. Chapter 3, section 3.3.1 Folder structure updated.   
3. Chapter 13 supporting device name updated, also section   
13.1.1 updated.   
4. Chapter 13, section 13.2 compiler, linker, and assembler   
options removed.   
5. Chapter 13, section 13.2 Sample Application updated.   
6. Chapter 13, section 13.3 Memory And Throughput Details                                                             
updated.   
AUTOSAR_RAMTST_Tool_User
1.0.3 
Following changes are made: 
Manual.pdf 
1.Updated chapter 2 by adding new PDF reference. 
13.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
Page 37 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
14  SPI 
14.1  Target Info 
Processor 
P1M - R7F701310 
Module 
SPI 
Date 
08-June-2015 
14.2  Release Items 
Filename 
Version 
Change Description 
P1x Parameter Definition file 
R403_SPI_P1M_04_05_12_13_20_
1.0.5 
As per mantis #27411,following changes are made         
21.arxml 
1. File has been renamed to reduce file name length. 
2. Updated Copyright information. 
R403_SPI_P1M_10_11_14_15_18_
1.0.5 
As per mantis #27411,following changes are made         
19_22_23.arxml 
1. File has been renamed to reduce file name length. 
2. Updated Copyright information. 
BSWMDT File 
R403_SPI_P1x_BSWMDT.arxml 
1.0.6 
Following changes are made:   
1. Software version information is updated.               
2. Updated copyright information. 
Source Code 
Spi.c 
1.5.6 
No change   
Spi_Driver.c 
1.4.4 
Following changes are made 
1. As per mantis #27771, Spi_ReceiveISR API is updated to 
remove compilation warning. 
2. As per mantis #27772, Spi_HwInit API is updated for 32 bit 
DMA settings. 
Spi_Irq.c 
1.2.8 
No change   
Spi_Ram.c 
1.2.8 
No change   
Spi_Scheduler.c 
1.2.12 
No change   
Spi_Version.c 
1.0.6 
No change   
Spi.h 
1.1.5 
No change   
Spi_Driver.h 
1.2.9 
No change   
Spi_Irq.h 
1.2.3 
No change   
Spi_LTTypes.h 
1.2.11 
As per mantis #27772, definition for 
SPI_DMA_32BIT_RX_SETTINGS and 
SPI_DMA_32BIT_TX_SETTINGS are added. 
Spi_PBTypes.h 
1.2.11 
No change   
Spi_Ram.h 
1.2.8 
No change   
Page 38 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
Spi_Scheduler.h 
1.2.4 
No change   
Spi_Types.h 
1.2.7 
No change   
Spi_Version.h 
1.0.6 
No change   
Tool Executable 
Spi_X1x.exe 
1.2.12 
No change   
Spi_X1x.cfgxml 
1.0.0 
No change   
X1x Common Sample Application Source file 
App_SPI_Common_Sample.c 
1.0.7 
As part of P1x V4.00.04 Release activity, 
1. Removed all device specific macros. 
2. Test Application is updated to make it common across all family   
X1x Common Sample Application header file 
App_SPI_Common_Sample.h 
1.0.5 
As part of P1x V4.00.04 Release activity, 
1. Removed all device specific macros. 
2. Test Application is updated to make it common across all family   
P1x Sample Application P1M Source file 
App_SPI_P1M_Sample.c 
1.0.3 
As part of P1x V4.00.04 development activity, following changes 
are made: 
1. Corrected port settings and chip select settings for master for 
701310 external loopback testing. 
2. Updated slave register settings. 
3. Updated Copyright information. 
P1x Sample Application P1M header file 
App_SPI_Device_Sample.h 
1.0.2 
As part of P1x V4.00.04 development activity, following   
changes are made: 
1. Modified for 701310 external loopback testing. 
2. Updated slave register settings. 
3. Updated Copyright information 
P1x User Manual 
AUTOSAR_SPI_Component_User
1.0.6 
Following changes are made : 
Manual.pdf 
1. Updated Chapter 2 ‘Reference Documents’ to correct the name 
and version of device manual. 
2. Information regarding Interrupt vector table has been provided 
in section 4.1 ‘General’. 
3. In Chapter 13, ’P1M Specific Information’ P1M 4.0.3 supported 
devices are updated. 
4. Table 13-1 PDF information updated for P1M 4.0.3 supported 
devices.   
5. Section 13.1.1 has been updated to include the translation 
header file for all P1M 4.0.3 supporting devices. 
Page 39 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
6. Updated section 13.3.1 ‘Sample Application Structure’ to add 
all the supported devices for P1M 4.0.3. 
7. Updated section 13.3.2 ‘Building the Sample Application’ to 
add configuration details for the device 701310. 
8. Updated section 13.4 ‘Memory and Throughput’ for the device 
R7F701310. 
9. Updated chapter 14 ‘Release Details’ to correct the SPI driver 
version. 
10. Removed section ‘Compiler, Linker and Assembler’ from 
chapter 13. 
11.  Added  macros  SPI_DMA_32BIT_TX_SETTINGS  and     
SPI_DMA_32BIT_RX_SETTINGS  in  Chapter  6  ‘Registers 
Details’. 
AUTOSAR_SPI_Tool_UserManual.
1.0.7 
Following changes are made:   
pdf 
1. Updated section 2.1 ‘Reference Documents’ to correct the name 
and version of Parameter Definition Files.   
2. Section 8.1 and Section 8.2 is modified for removing warning 
and adding error message (WRN083001 to ERR083122). 
14.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 40 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
15  WDG 
15.1  Target Info 
Processor 
P1M - R7F701310 
Module 
WDG 
Date 
08-June-2015 
15.2  Release Items 
Filename 
Version 
Change Description 
P1x - Parameter Definition files 
R403_WDG_P1M_04_05_10_to_15
1.0.3 
As part of P1x V4.00.04 development activity the 
_18_to_23.arxml 
following changes are made: 
1. As per mantis #27411, file name changed to 
R403_WDG_P1M_04_05_10_to_15_18_to_23.arxml 
2. Copyright information updated. 
3. ADMIN-DATA updated. 
BSWMDT 
R403_WDG_P1x_BSWMDT.arxml 
1.0.3 
No change   
Source Code 
Wdg_59_DriverA.c 
1.0.12 
No change   
Wdg_59_DriverA_Irq.c 
1.0.8 
No change   
Wdg_59_DriverA_Private.c 
1.0.5 
No change   
Wdg_59_DriverA_Ram.c 
1.0.5 
No change   
Wdg_59_DriverA_Version.c 
1.0.4 
No change   
Wdg_59_DriverA.h 
1.0.6 
No change   
Wdg_59_DriverA_Debug.h 
1.0.1 
No change   
Wdg_59_DriverA_Irq.h 
1.0.5 
No change   
Wdg_59_DriverA_PBTypes.h 
1.0.8 
No change   
Wdg_59_DriverA_Private.h 
1.0.3 
No change   
Wdg_59_DriverA_Ram.h 
1.0.5 
No change   
Wdg_59_DriverA_RegReadBack.h 
1.0.0 
No change   
Wdg_59_DriverA_Types.h 
1.0.4 
No change   
Wdg_59_DriverA_Version.h 
1.0.5 
No change   
Tool Executable 
Wdg_X1x.exe 
1.0.17 
No change   
Wdg_X1x.cfgxml 
1.0.0 
No change   
X1x Common Sample Application Source file 
App_WDG_Common_Sample.c 
1.0.10 
No change   
Page 41 of 42 

Renesas Electronics 
 
Release Date: 08/06/2015 
 
X1x Common Sample Application header file 
App_WDG_Common_Sample.h 
1.0.4 
No change   
P1x Sample Application P1M Source file 
App_WDG_P1M_Sample.c 
1.0.3 
No change   
P1x Sample Application P1M header file 
App_WDG_Device_Sample.h 
1.0.2 
No change   
P1x User Manual 
AUTOSAR_WDG_Component_Us
1.0.4 
Following changes are made: 
erManual.pdf 
1. Updated Chapter 4.1 to add notes. 
2. Updated Chapter 13 to add new device support. 
3. Removed sections for Compiler, Linker and Assembler. 
4. Updated Chapter 13.3 with memory and throughput details. 
5. Updated copyright information. 
AUTOSAR_WDG_Tool_UserManu
1.0.2 
Following changes are made:   
al.pdf 
1. Updated Chapter 2 to add PDF reference. 
2. Updated copyright information. 
15.3  Known Issues 
ID 
Description 
1. 
Please refer KnownIssues_P1x_R403_2015_CW23.pdf 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 42 of 42 

Document Outline


48 - Releasenotes_P1x_SPAL_R403_Ver4.01.01.D

Releasenotes_P1x_SPAL_R403_Ver4.01.01.D

50 - Releasenotes_P1x_SPAL_R403_Ver4.01.01.Ds

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Release Notes for RENESAS RH850/P1x: 
RENESAS_SW-AUTOSAR-P1x: MCAL Ver4.01.01.D 
Beta Quality 
1.1  Purpose: 
To deliver AUTOSAR R4.0.3 MCAL software for P1x Ver4.01.01.D release using the following 
inputs. 
 
        Device Manual:                    r01uh0436ej0111_rh850p1x.pdf 
 
        Device File:  
                DF-RH850P1M-EE_V120.zip 
 
        Operating Precautions:    R01TU0069ED0300_RH850.pdf 
                                                   
        Modules supported:          DIO, FLS, MCU, PORT, SPI and WDG. 
Page 1 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
1.2 
Package information 
Product   
RH850/P1x 
Variant 
P1M 
Product Release Version 
Ver4.01.01.D 
AUTOSAR Specification Version 
4.0.3 
Device tested on 
P1M - R7F701310   
Devices supported 
RH850/P1M 
R7F701304   
R7F701305 
R7F701310 
R7F701311 
R7F701312   
R7F701313   
R7F701314   
R7F701315   
R7F701318 
R7F701319   
R7F701320   
R7F701321   
R7F701322   
R7F701323   
Release Date 
31-Oct-2016 
 
Additional to the above list, the following derivatives (with ICU-S units) are also supported: 
 
ICU-S Devices supported 
R7F701364 
R7F701365 
R7F701362 
R7F701363 
R7F701366 
R7F701367 
 
 
 
 
 
 
 
Page 2 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
As there was no impact on MCAL identified due to the ICU-S unit, Renesas recommends to use the below equivalent 
devices part number without ICU-S unit, during MCAL configuration, instead of the actual device part number with 
ICU-S unit: 
 
Device (with ICU-S Support) 
Equivalent device(w/o ICU-S support) 
R7F701364                                     
R7F701320 
R7F701365                                     
R7F701321 
R7F701362 
R7F701318 
R7F701363 
R7F701319 
R7F701366 
R7F701322 
R7F701367 
R7F701323 
 
1.3  Tools   
1.3.1  GHS 
Tool 
Version 
Options 
GreenHills 
Green Hills Multi 
-c -Osize -g -cpu=rh850g3m -gsize -prepare_dispose 
Multi IDE – 
V6.1.6 Compiler 
-inline_prologue -sda=all -Wundef -no_callt -reserve_r2 
--short_enum --prototype_errors --diag_error 193 
compiler 
Version 2015.1.7 
-dual_debug -large_sda --no_commons -shorten_loads 
 
-shorten_moves -Wshadow -nofloatio 
-ignore_callt_state_in_interrupts -delete 
1.3.2  Configuration code generator 
Tool 
Version 
Options 
NA 


1.3.3  Additional software 
Tool 
Version 
Options 
NA 


 
Page 3 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
1.4  Generic Information 
1.4.1  Release Target 
Processor 
P1M - R7F701310 
Module 
Generic 
Module Overview User Manual 
R20UT3752EJ0100-AUTOSAR.pdf – V1.0.9 
Getting Started for P1x MCAL User 
R20UT3753EJ0100-AUTOSAR.pdf – V1.0.7 
Manual 
Date 
31-Oct-2016 
1.4.2  Release Items 
Filename 
Version 
Change Description 
Generator Files 
P1x_translation.h   
1.0.7 
  No changes for release Ver4.01.01.D 
Common Files 
ComStack_Types.h   
1.0.1 
  No changes for release Ver4.01.01.D 
Std_Types.h   
1.0.1 
  No changes for release Ver4.01.01.D 
rh850_Types.h 
1.0.4 
No changes for release Ver4.01.01.D 
Platform_Types.h   
1.0.1 
No changes for release Ver4.01.01.D 
Compiler Files 
Compiler.h 
1.0.5 
No changes for release Ver4.01.01.D 
Compiler_Cfg.h   
1.0.5 
No changes for release Ver4.01.01.D 
MemMap.h   
1.0.9 
  Following changes are made in Ver4.01.01.D:- 
1.  Removed unwanted memory sections. Also corrected the 
section name of .FLS_CFG_DATA_UNSPECIFIED for 
FLS module. 
2.  Removed unwanted memory sections of MCU module. 
3.  Memory section _NOINIT_ changed to _NO_INIT_ to 
follow initialization policy of variables for FLS module. 
4.  Memory section _NOINIT_ changed to _NO_INIT_ to 
follow initialization policy of variables for MCU module. 
5.  Removed unwanted memory section 
SPI_START_SEC_VAR_BOOLEAN for SPI module. 
6.  Memory section _NOINIT_ changed to _NO_INIT_ to 
follow initialization policy of variables for WDG module. 
7.  Removed unwanted memory sections of WDG module. 
8.  Memory section _NOINIT_ changed to _NO_INIT_ to 
follow initialization policy of variables for SPI module. 
Page 4 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
9.  Memory section _NOINIT_ changed to _NO_INIT_ to 
follow initialization policy of variables for DIO module. 
10. Removed unwanted memory sections of DIO module. 
11. Removed unwanted memory sections of PORT module. 
12. Memory section _NOINIT_ changed to _NO_INIT_ to 
follow initialization policy of variables for PORT module. 
Os.h   
1.0.1 
No changes for release Ver4.01.01.D 
Os.c   
1.0.2 
No changes for release Ver4.01.01.D 
RUCG Tool 
RUCG.exe 
1.1 
No changes for release Ver4.01.01.D 
Getting Started for P1x MCAL User Manual 
R20UT3752EJ0100-AUTOSAR.pdf 
1.0.7 
  Following changes are made in Ver4.01.01.D:- 
1.  Chapter 2 and 3 removed to make the document 
independent of any specific tool. 
2.  Autosar version 3.2.2 version check removed from section 
3.2.1. 
Module Overview User Manual 
R20UT3753EJ0100-AUTOSAR.pdf 
1.0.9 
  Following changes are made in Ver4.01.01.D:- 
1.  R-Number has been update. 
2.  Table 3-12 alignment is corrected. 
RUCG Tool User Manual 
R20UT3754EJ0100-AUTOSAR.pdf 
1.1.2 
Following change is made in Ver4.01.01.D:- 
1. R-Number corrected for the document 
1.4.3  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1x_AR4.0_KnownIssues_CW43_2016.xlsx. 
Page 5 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
1.5  Module Index 
 
DIO 
 
FLS 
 
MCU 
 
PORT 
 
SPI 
 
WDG 
 
 
 
 
 
 
 
 
 
Page 6 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
2  DIO 
2.1  Target Info 
Processor 
P1M - R7F701310 
Module 
DIO 
Software Version 
1.0.11 
Embedded User Manual 
R20UT3708EJ0100-AUTOSAR.pdf – V1.0.9 
Tool User Manual 
R20UT3709EJ0100-AUTOSAR.pdf – V1.0.5 
Date 
31-Oct-2016 
2.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_DIO_P1M_04_05_12_13_20_
1.0.5 
Following changes are made in Ver4.01.01.D:- 
21.arxml 
1.  As per EAAR_PN0034_FSR_0001, the Container 
DioDemEventParameterRefs and Dem error 
DIO_E_REG_WRITE_VERIFY are added.   
2.  As per EAAR_PN0034_FSR_0002, the enum parameter 
DioWriteVerify is added.   
3.  As per EAAR_PN0034_FSR_0003, the parameter 
DioUseWVErrorInterface is added. 
4.  As per EAAR_PN0034_FSR_0004, the callback function is 
introduced in Dio_Cbk.h file. 
5.  Corrected warranty disclaimer description.   
R403_DIO_P1M_10_11_14_15_18_
1.0.6 
Following changes are made in Ver4.01.01.D:- 
19_22_23.arxml 
1.  As per EAAR_PN0034_FSR_0001, the Container 
DioDemEventParameterRefs and Dem error 
DIO_E_REG_WRITE_VERIFY are added.   
2.  As per EAAR_PN0034_FSR_0002, the enum parameter 
DioWriteVerify is added. 
3.  As per EAAR_PN0034_FSR_0003, the parameter 
DioUseWVErrorInterface is added. 
4.  As per EAAR_PN0034_FSR_0004, the callback function is 
introduced in Dio_Cbk.h file. 
5.  Corrected warranty disclaimer description. 
BSWMDT   
R403_DIO_P1x_BSWMDT.arxml 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  Software patch version is updated.   
2.  Module entries and Exclusive area tags are added for all 
Page 7 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Called entities.   
3.  Corrected warranty disclaimer description. 
Source Code 
Dio.c 
1.0.23 
Following changes are made in Ver4.01.01.D:- 
1.  File Dio_Cbk.h is included.   
2.  The macro DIO_REG_WRITE and 
DIO_REG_WRITE_VERIFY_RUNTIME are introduced 
in APIs Dio_WritePort, Dio_WriteChannel, 
Dio_FlipChannel,Dio_WriteChannelGroup, 
Dio_MaskedWritePort.   
3.  Dio_GetVersionInfo API is added. 
4.  Removed MISRA justifications for 4:4397.   
5.  Removed dead code.   
6.  'DIO_UT_001' Tag added for the non-covered parts of the 
code.   
7.  DET Pre compile check is removed from "LddPortLevel = 
DIO_ZERO" in Dio_ReadPort.   
8.  Variable LunPSRContent is initialized as DIO_ZERO in 
Dio_WriteChannel API.   
9.  'DIO_ESDD_UD_XXX' and Req ID Tags are added.   
10. Variable "LddPortModeLevel" is renamed as 
"LulPortModeLevel". 
11. Inclusion of "Dio_Cbk.h" is removed as part of acceptance. 
Dio_Ram.c 
1.0.9 
Following changes are made in Ver4.01.01.D:- 
1.  Removed dead code.   
2.  Memory sections SEC_VAR_NOINIT_UNSPECIFIED and 
SEC_VAR_NOINIT_16 changed to 
SEC_VAR_NO_INIT_UNSPECIFIED and 
SEC_VAR_NO_INIT_16. 
Dio_Version.c 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
1.  Removed dead code.   
2.  Errors related to Dem version check is added. 
3.  MISRA justification for Msg (2:0553) is added. 
Dio.h 
1.0.13 
Following changes are made in Ver4.01.01.D:- 
1.  The macro Dio_GetVersionInfo changed to API.   
2.  Removed MISRA justifications for 4:3458.   
3.  Removed dead code. 
Dio_Debug.h 
1.0.4 
Following change is made in Ver4.01.01.D:- 
1.  Removed dead code. 
Page 8 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Dio_PBTypes.h 
1.0.14 
Following change is made in Ver4.01.01.D:- 
1.  Typecasting added for macro "DIO_DBTOC_VALUE". 
Dio_Ram.h 
1.0.12 
Following changes are made in Ver4.01.01.D:- 
1.  Removed dead code. 
2.  Memory sections SEC_VAR_NOINIT_UNSPECIFIED and 
SEC_VAR_NOINIT_16 changed to 
SEC_VAR_NO_INIT_UNSPECIFIED and 
SEC_VAR_NO_INIT_16 
Dio_RegWrite.h 
1.0.0 
Initial Version 
Dio_Version.h 
1.0.9 
Following change is made in Ver4.01.01.D:- 
1.  Removed dead code. 
DLL executable code for DIO configuration generation 
Dio_X1x.dll 
1.0.18 
Following change is made in Ver4.01.01.D:-   
1.  Tool .dll updated for tool code changes. 
Dio_X1x.cfgxml 
1.0.1 
No changes for release Ver4.01.01.D 
X1x Common Sample Application Source file 
App_DIO_P1M_Sample.c 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  Return type of Dio_ReadChannel function is corrected to 
Dio_LevelType. 
2.  PMCSR2 register is added to Port_Init function. 
X1x Common Sample Application header file 
App_DIO_P1M_Sample.h 
1.0.6 
Following change is made in Ver4.01.01.D:- 
1.  Removed pre-compile option for Version information #if 
(DIO_AR_VERSION == 
DIO_AR_HIGHER_VERSION). 
P1x User Manual 
R20UT3708EJ0100-AUTOSAR.pdf 
1.0.9 
Following changes are made in Ver4.01.01.D:- 
1.  Updated section 4.4 Deviation list 
2.  Updated section 13.3. Memory and throughput details. 
3.  Added a ‘Note’ below the table 'Supervisor mode and User 
mode details'. 
4.  Updated section 13.2, removed reference to .one and .html 
files 
5.  Updated Chapter 6 ‘Register Details’. 
6.  Updated section 4.3 Data consistency by adding Table 4-1 
Dio driver protected resources list. 
7.  R Number updated. 
8.  Updated Chapter 14 ‘Release Details’. 
9.  Updated Chapter 12 ‘Memory Organization’. 
Page 9 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
10. Chapter 8 is updated for Dio_RegWrite.h in C Header files 
and Std_Types.h added to Stub files. 
11. Clock frequency mentioned in section 13.3.3 is changed to 
80 MHz.   
12. Updated section 4.2 Preconditions. 
13. Updated section 3.1.1 Folder Structure. 
R20UT3709EJ0100-AUTOSAR.pdf 
 1.0.5 
Following changes are made in Ver4.01.01.D:- 
1.  Chapter 8.1 Error Messages updated. 
2.  Chapter 2.1 Reference Documents version details are 
updated. 
3.  Chapter 3, Figure 3-1 is updated. 
4.  Chapter 5, Table 5-1 is updated. 
5.  R-Number updated. 
6.  Table headers added for Table 8.1 
2.3  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1x_AR4.0_KnownIssues_CW43_2016.xlsx. 
 
 
 
Page 10 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
3  FLS 
3.1  Target Info 
Processor 
P1M - R7F701310 
Module 
FLS 
Software Version 
V1.0.3 
Embedded User Manual 
R20UT3710EJ0100-AUTOSAR.pdf – V1.0.3 
Tool User Manual 
R20UT3711EJ0100-AUTOSAR.pdf – V1.0.7 
Date 
31-Oct-2016 
3.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_FLS_P1M_04_05_10_to_15.arx
1.1.5 
Following changes are made in Ver4.01.01.D:-   
ml 
1.  Updated name of FlsWriteVerify parameter values as per 
requirement EAAR_PN0034_FSR_0002.                           
2.  Updated ADMIN-DATA section.                                               
3.  Updated default value of parameter                         
'FlsDevErrorDetect' to TRUE.                                             
4.  Updated the description of the parameters               
'FlsSuspendTime' and 'FlsCancelTime' that these     
parameters are not used for implementation.               
5.  Devices R7F701304, R7F701305 are added in 
'FlsDeviceName' parameter.                                                                                 
6.  Updated description of parameter 
'FlsUseWVErrorInterface'.                                                   
7.  Corrected warranty disclaimer description.                                     
8.  Updated upper multiplicity tag and value of parameter 
FlsSpiReference.                                                                     
9.  Minimum value of "FlsErasedValue" is changed to '0'.                                                                                 
10. FlsMaxWriteNormalMode parameter is fixed to 4 bytes.                                                                                     
11. Updated upper multiplicity value of parameter "FlsSector".           
R403_FLS_P1M_18_to_23.arxml 
1.0.5 
Following changes are made in Ver4.01.01.D:-                                   
1.  Updated name of FlsWriteVerify parameter values as per 
requirement EAAR_PN0034_FSR_0002,                           
2.  Updated ADMIN-DATA section.                                               
3.  Updated default value of parameter 'FlsDevErrorDetect' to 
TRUE.                                             
4.  Updated the description of the parameters 
Page 11 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
'FlsSuspendTime' and 'FlsCancelTime' that these 
parameters are not used for implementation.               
5.  Updated description of parameter 
'FlsUseWVErrorInterface'.                                                   
6.  Corrected warranty disclaimer description.                                     
7.  Updated upper multiplicity tag and value of parameter 
FlsSpiReference.                                                                     
8.  Minimum value of "FlsErasedValue" is changed to '0'.                               
9.  FlsMaxWriteNormalMode parameter is fixed to 4 bytes.                                                                                     
10. Updated upper multiplicity value of parameter "FlsSector".             
BSWMDT   
R403_FLS_P1x_BSWMDT.arxml 
1.0.8 
Following changes are made in Ver4.01.01.D:-   
1.  Updated software version.                                                 
2.  Updated file version.                                                         
3.  Tag <EXECUTION-CONTEXT> is updated as 
UNSPECIFIED for all APIs other than Fls_MainFunction.                 
4.  Tag <IS-SYNCHRONOUS> is updated for 
Fls_MainFunction and Fls_ReadImmediate.                     
5.  Tag CAN-ENTER-EXCLUSIVE-AREA-REF is added for 
BswInterruptEntity.                                                             
6.  Corrected warranty disclaimer description.                                                     
7.  The tag EVENTS and IMPLEMENTED-ENTRY-REF are 
added for scheduled function Fls_Mainfunction.                           
8.  Added tag CAN-ENTER-EXCLUSIVE-AREA-REF for 
Fls_MainFunction.                                                         
9.  Added critical section FLS_CODE_FLASH_DISABLED                                     
Source Code 
Fls.c 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  To reduce exceeding metrics values, APIs 
Fls_Write,Fls_BlankCheck,    Fls_Cancel and Fls_Erase 
divided to Fls_WriteInternal, Fls_BlankCheckInternal,   
Fls_CancelInternal and Fls_EraseInternal respectively. 
2.  Critical section protection is added for IMR register in 
Fls_Cancel. 
3.  The pointer analysis tags are added. 
4.  Removed dead code. 
5.  Initialized variable 'Fls_GulTimeOutCounter' with 
FLS_TIMEOUT_INIT_VALUE macro. 
6.  Address boundary check and alignment check modified in 
Fls_Erase, Fls_Write, Fls_BlankCheck, 
Page 12 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Fls_ReadImmediate, Fls_Compare and Fls_Read APIs. 
7.  Pre-compile switch for DET is made inside the condition 
check. 
8.  Return value check is added in Fls_Erase, Fls_Write and 
Fls_BlankCheck APIs. 
9.  File "Fls_RegWrite.h" is included. 
10. Updated register write verify implementation. 
11. Removed register write verify for IMR register. 
12. Placed the constant value on the left side of the comparison 
operator. 
13. QAC warning START and END msgs for Msg (2:3204) are 
removed as this warning is fixed and added justification for 
misra warning 4:0857. 
14. Updated data type for "TargetAddressPtr" in Fls_Read and 
Fls_ReadImmediate APIs. 
15. Parameter "LenMode" check is added. 
16. Corrected naming convention of variables as per 
requirement EAAR_PN0084_NR_0066. 
17. Added justification for QAC warning Msg (2:1475). 
18. Updated "registers used" in function banner of Fls_Cancel 
and Fls_Resume. 
19. QAC warning Msg (2:3416) and Misra warning Msg 
(4:3415) are added at the respective places. 
20. Added requirement which is missed to trace in code. 
21. Incorrect requirements trace removed. 
Fls_Irq.c 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Critical section protection is added for IMR register in 
FLS_FLENDNM_ISR function. 
2.  Included header file SchM_Fls.h. 
3.  The pointer analysis tags are added. 
4.  Modified the code to skip execution of ISR if the 
consistency check fails. 
5.  Removed dead code. 
6.  Added QAC Warning START and END tag. 
7.  File "Fls_RegWrite.h" is included. 
8.  Updated register write verify implementation. 
9.  Removed register write verify for IMR register. 
10. Placed the constant value on the left side of the comparison 
operator. 
11. QAC warning START and END msgs for Msg (4:0857) 
Page 13 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
removed as this warning is fixed. 
12. Corrected naming convention of variables as per 
requirement EAAR_PN0084_NR_0066. 
13. Updated "registers used" in function banner of 
FLS_FLENDNM_ISR. 
Fls_Internal.c 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Added functions Fls_WriteInternal, 
Fls_BlankCheckInternal,Fls_CancelInternal, 
Fls_EraseInternal,Fls_SetStartEndAddr. 
2.  Critical section protection added in 
Fls_TimeOutCheckAndProcessing and 
Fls_ProcessJobResult functions for IMR register. 
3.  Declaration of 'LpFACIRegPtr' is made inside a 
pre-compile switch FLS_TIMEOUT_MONITORING in 
Fls_InitiateWriteJob and Fls_InitiateEraseJob. 
4.  Added check (FLS_COMMAND_WRITE! = 
Fls_GstBackUpVar.GucGenCommand) in Fls_MainWrite 
(). 
5.  The pointer analysis tags are added. 
6.  UT ID Tag added for the uncovered parts of the code. 
7.  Removed dead code. 
8.  Condition check for time-out status is added in 
Fls_ProcessJobResult, Fls_ProcessRead, and 
Fls_TimeOutCheckAndProcessing functions. 
9.  Replaced assignment of local variable 'LenStatus' with 
FLS_FCU_ERR_TIMEOUT macro in 'Fls_ProcessCancel' 
function. 
10. File "Fls_RegWrite.h" is included. 
11. Updated status check in Fls_InitiateBlankCheckJob (). 
12. Fls_FcuInit () is relocated to Fls_Private_Fcu.c file. 
13. Enabling of flash memory software protection in 
Fls_ProcessRead () is moved to 
Fls_PerformBlankCheckForReadOp (). 
14. In Fls_PreFcuInitCheck () updated reporting of DEM to 
report failure of both FACI and DF ECC control registers. 
15. Renamed function Fls_FcuSuspendCheck () as 
Fls_SuspendPreCheck (). 
16. Updated register write verify implementation. 
17. Removed register write verify for IMR register. 
18. Corrected naming convention of variables as per 
Page 14 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
requirement EAAR_PN0084_NR_0066. 
19. Placed the constant value on the left side of the comparison 
operator. 
20. QAC warning START and END msgs for Msg (4:2742), 
Msg (2:1252) and Msg (4:2880) are removed as these 
warnings are fixed and justification for misra warning 
4:0857 is added. 
21. Corrected type-casting of second argument in 
Fls_FcuPerformBlankCheck function. 
22. Updated "registers used" in function banner of 
ls_ProcessJobResult, Fls_EraseInternal, 
Fls_TimeOutCheckAndProcessing, 
Fls_BlankCheckInternal and Fls_WriteInternal. 
23. Added “volatile” where ever pBufferAddress and 
pTempBufferAddress are typecasted to avoid MISRA 
violation. 
24. Added requirement which is missed to trace in code. 
25. Justification for misra warning 4:2984 is added. 
Fls_Private_Fcu.c 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Removed dead code. 
2.  Replaced assignment of local variable 'LenStatus' with 
FLS_FCU_ERR_TIMEOUT macro if time-out occurs in 
Fls_FcuSwitchMode and Fls_FcuForcedStop functions. 
3.  Removed setting of local variable 'LenStatus' with macro 
FLS_FCU_ERR_INTERNAL from 
Fls_FcuPerformBlankCheck function. 
4.  File "Fls_RegWrite.h" is included. 
5.  Fls_FcuInit () is relocated to this file. 
6.  Updated register write verify implementation. 
7.  Placed the constant value on the left side of the comparison 
operator. 
8.  QAC Warning START and END msgs for Msg (4:1853) 
and Msg (4:1851) are added at the respective places. 
9.  Added critical section protection for the firmware storage 
area switching in Fls_FcuGetFWParam and 
Fls_FcuCopytoRam functions. 
10. Typecasting for "Fls_FcuDfSize" is removed from function 
"Fls_FcuPrepareEnvironment". 
11. Corrected type-casting of second argument in 
Fls_FcuPerformBlankCheck function. 
Page 15 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
12. Corrected naming convention of variables as per 
requirement EAAR_PN0084_NR_0066. 
13. SYNCP instruction is added before SYNCI in 
Fls_FcuClearCache(). 
14. Register write verify is done for FENTRYR register. 
Fls_Ram.c 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Removed dead code. 
2.  Global variables which are accessed in ISR is declared as 
Volatile. 
Fls_Version.c 
1.0.1 
Following change is made in Ver4.01.01.D:-   
1. Removed dead code. 
Fls.h 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Removed dead code. 
2.  Updated data type for "TargetAddressPtr" in Fls_Read and 
Fls_ReadImmediate APIs. 
Fls_Debug.h 
1.0.1 
Following change is made in Ver4.01.01.D:-   
1. Removed dead code. 
Fls_Internal.h 
1.0.2 
Following changes are made in Ver4.01.01.D:-   
1.  Added external declarations of Fls_CancelInternal, 
Fls_SetStartEndAddr, Fls_ProcessReadImmInternal, 
Fls_WriteInternal, Fls_BlankCheckInternal, 
Fls_EraseInternal. 
2.  Removed dead code. 
3.  Renamed function Fls_FcuSuspendCheck () as 
Fls_SuspendPreCheck (). 
4.  Moved declaration of Fls_FcuInit function to 
Fls_Private_Fcu.h. 
Fls_Private_Fcu.h 
1.0.2 
Following changes are made in Ver4.01.01.D:-   
1.  Removed dead code. 
2.  Relocated declaration of Fls_FcuInit function to this file. 
3.  Corrected type-casting of second argument in 
Fls_FcuPerformBlankCheck" function. 
Fls_Irq.h 
1.0.1 
Following change is made in Ver4.01.01.D:-   
1.  Removed dead code. 
Fls_PBTypes.h 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Updated name of FlsWriteVerify macros as per 
requirement EAAR_PN0034_FSR_0002. 
2.  Removed dead code. 
3.  Added 'FLS_TIMEOUT_INIT_VALUE' macro. 
4.  Write-verify macros are moved to Fls_RegWrite.h. 
Page 16 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
5.  Removed MISRA warning Msg (4:3412) from MISRA list 
of deviations. 
Fls_Ram.h 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Removed dead code. 
2.  Global variables which are accessed in ISR is declared as 
Volatile. 
3.  Removed MISRA warning Msg (4:0828) from MISRA list 
of deviations. 
Fls_RegWrite.h 
1.0.0 
Initial Version 
Fls_Types.h 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Updated name of FlsWriteVerify macros as per 
requirement EAAR_PN0034_FSR_0002. 
2.  Removed dead code. 
3.  Write-verify macros are moved to Fls_RegWrite.h. 
4.  Corrected naming convention of variables in structures 
Fls_GstVarProperties and Fls_FcuDataType as per 
requirement EAAR_PN0084_NR_0066. 
5.  Global variables which are accessed in ISR is declared as 
Volatile. 
Fls_Version.h 
1.0.1 
Following change is made in Ver4.01.01.D:-   
1.  Removed dead code. 
DLL executable code for FLS configuration generation 
Fls_X1x.dll 
1.3.10 
Following change is made in Ver4.01.01.D:-   
1.  Tool .dll updated for tool code changes. 
Fls_X1x.cfgxml 
1.0.0 
No changes for release Ver4.01.01.D 
X1x Common Sample Application Source file 
App_FLS_Common_Sample.c 
1.1.13 
Following changes are made in Ver4.01.01.D:-   
1.  APIs Fls_Suspend and Fls_Resume are added. 
2.  Removed 'MddLoopCount' and 'MddLoopCount1' as it is 
not required. 
3.  Parameter for callback function EccSedNotification and 
EccDedNotification are updated. 
4.  The callback WriteVerifyErrorReport are added. 
5.  Added pre-compile switch for Fls_SetMode, Fls_Resume 
and Fls_Suspend APIs. 
6.  Pre-compile switch FLS_INTERRUPT_MODE == 
STD_ON is used for function IVMethod_Init (void). 
X1x Common Sample Application header file 
App_FLS_Common_Sample.h 
1.0.2 
No changes for release Ver4.01.01.D 
Page 17 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
P1x Sample Application P1M Source file 
App_FLS_P1M_Sample.c 
1.0.1 
No changes for release Ver4.01.01.D 
P1x Sample Application P1M header file 
App_FLS_P1M_Sample.h 
1.0.2 
Following changes are made in Ver4.01.01.D:-   
1.  The file Fls_Cbk.h is included for callback 
WriteVerifyErrorReport. 
2.  Updated copyright information. 
P1x User Manual 
R20UT3710EJ0100-AUTOSAR.pdf 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  Added precondition items about critical protection and 
transient hardware faults in chapter 4.2 ‘Precondition’. 
2.  Updated Chapter 14 ‘Release Details’. 
3.  Added a ‘Note’ below the table 'Supervisor mode and User 
mode details'. 
4.  Updated Chapter 13.3 ‘Memory and Throughput’. 
5.  In chapter 8, heading changed to "The Stub C header files:" 
and missing stub files are added. 
6.  Table 4-1 is added to list protected resources in FLS driver 
7.  Section 13.2 reference to .one and .html files are removed 
8.  Note added in section 13.2.1 ISR function. 
9.  Description added for the FLS Driver Component Files. 
10. Updated Chapter 6 ‘Register Details’ to add IMR register 
details. 
11. Merged parameter definition files in sections 13.1.3 and 
13.2.1 
12. Added new header file ‘Fls_RegWrite.h’ in section 3.1.1 
and section 8. 
13. Updated R-Number 
14. Chapter 12 is updated for the modification of Memory   
sections 
15. Updated section 4 ‘Forethoughts’ 
16. Updated the table ‘Development and Production Errors’ to 
add Fls_SetMode API under DET 
‘FLS_E_PARAM_CONFIG’ 
17. Updated chapter 12 Memory Organization. 
18. Updated section 13.1.2 Services Provided by FLS Driver 
Component to the User. 
R20UT3711EJ0100-AUTOSAR.pdf 
1.0.7 
Following changes are made in Ver4.01.01.D:-   
1.  Updated section 2.1 Reference Documents to correct the 
Page 18 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
file name and version of parameter definition files. 
2.  Updated R Number                                                                                                                                           
3.  Removed not used mandatory parameters from section 8.1 
4.  Error message ERR092041 is added in section 8.1 
5.  Table headers are added 
6.  Info message INF092001 is updated. 
3.3  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1x_AR4.0_KnownIssues_CW43_2016.xlsx. 
Page 19 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
4  MCU 
4.1  Target Info 
Processor 
P1M - R7F701310 
Module 
MCU 
Software Version 
V1.0.7 
Embedded User Manual 
R20UT3720EJ0100-AUTOSAR.pdf– V1.0.8 
Tool User Manual 
R20UT3721EJ0100-AUTOSAR.pdf– V1.0.7 
Date 
31-Oct-2016 
4.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_MCU_P1M_04_05.arxml 
1.1.8 
Following changes are made in Ver4.01.01.D:- 
1.  As per general requirements, Mcu_UseWVErrorInterface 
and McuWVErrorNotification parameters are added and 
changed McuWriteVerify to enumeration parameter 
2.  Added parameter McuCvmDiagLockBit under 
McuModuleConfiguration 
3.  <UPPER-MULTIPLICITY-INFINITE> tag corrected by 
<UPPER-MULTIPLICITY> for 
McuRamSectorSettingConf and McuClockReferencePoint. 
4.  McuRamSectorSettingConf upper multiplicity value 
updated to 255. 
5.  As per REE MO comment, removed parameter 
McuResetControllerStartUpTest and added 
McuStartUpSWResetTest and McuStartUpECMResetTest 
in General container. 
6.  Warranty disclaimer updated. 
7.  <UPPER-MULTIPLICITY> tag of McuResetReasonConf 
container changed to 
<UPPER-MULTIPLICITY-INFINITE>, also its value 
changed to true from 1. 
8.  <UPPER-MULTIPLICITY> tag of 
McuClockReferencePoint container changed to 
<UPPER-MULTIPLICITY-INFINITE>. 
R403_MCU_P1M_10_to_15_18_to_
1.0.5 
Following changes are made in Ver4.01.01.D:- 
23.arxml 
1.  As per general requirements, Mcu_UseWVErrorInterface 
Page 20 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
and McuWVErrorNotification parameters are added and 
changed McuWriteVerify to enumeration parameter   
2.  Added parameter McuCvmDiagLockBit under 
McuModuleConfiguration   
3.  <UPPER-MULTIPLICITY-INFINITE> tag corrected by 
<UPPER-MULTIPLICITY> for 
McuRamSectorSettingConf and 
McuClockReferencePoint.   
4.  McuRamSectorSettingConf upper multiplicity value 
updated to 255.   
5.  As per REE MO comment, removed parameter 
McuResetControllerStartUpTest and added 
McuStartUpSWResetTest and 
McuStartUpECMResetTest in General container.   
6.  Warranty disclaimer updated.   
7.  <UPPER-MULTIPLICITY> tag of McuResetReasonConf 
container changed to 
<UPPER-MULTIPLICITY-INFINITE>, also its value 
changed to true from   
8.  <UPPER-MULTIPLICITY> tag of 
McuClockReferencePoint container changed to 
<UPPER-MULTIPLICITY-INFINITE>. 
BSWMDT 
R403_MCU_P1x_BSWMDT.arxml 
1.0.9 
Following changes are made in Ver4.01.01.D:- 
1.  Software Version is updated.   
2.  Warranty disclaimer updated.   
3.  BswCalledEntity_11 added for Mcu_GetVersionInfo   
4.  VARIABLE_PROTECTION renamed to 
MCU_VARIABLE_PROTECTION as per MO 
comments.   
Source Code 
Mcu.c 
1.0.9 
Following changes are made in Ver4.01.01.D:- 
1.  Mcu_CvmNormalModeSetting API added to meet 
software metrics requirements. 
2.  Added Write verify for all registers and updated the 
macro MCU_REG_WRITE_VERIFY. 
3.  Updated API Mcu_HWInit and Mcu_ConfigureCvm 
4.  Updated API Mcu_ClmaSelfDiagnosticTest 
5.  As per REE MO review comments, 
a)  Changed function name Mcu_HardWareInit to 
Page 21 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Mcu_HWInit 
b)  Moved global variables Mcu_GblDriverStatus, 
Mcu_GblResetStatusSaved, 
Mcu_GulMcuSavedResfStatus, 
Mcu_GulLastResetReasonStatus to Mcu.c file. 
c)  Updated function Mcu_ConfigureEcm and 
Mcu_ClearEcmErrorOutput. 
d)  Added functions Mcu_StartUPEcmTest and 
Mcu_StartUPSwTest 
6.  Warranty disclaimer updated. 
7.  Design requirement IDs added and trace IDs removed. 
8.  VARIABLE_PROTECTION renamed to 
MCU_VARIABLE_PROTECTION. 
9.  MISRA messages 2992, 2996,2880,2983,4499 removed 
and added 4391,0317,1881,3218. 
10. Updated Mcu_ConfigureCvm for verifying cvm self diag 
locking functionality. 
11. UT ID TAG added for the non-covered parts of the code. 
12. As per safety analysis updated function 
Mcu_ConfigureEcmDelayTimer by adding critical 
section and updated Mcu_CvmNormalModeSetting for 
correct status checking. 
13. Unmapped design requirements mapped. 
14. Updated write verification of RESF registers. 
15. Following MISRA warnings messages added: 
Msg(4:2986), Msg(4:2983). 
Mcu_Irq.c 
1.0.9 
Following changes are made in Ver4.01.01.D:- 
1.  Removed some of the MISRA violations. 
2.  MISRA violations and QAC warnings are separated. 
3.  Mcu_IrqHandling and Mcu_IrqRamHandling are merged. 
4.  As per REE MO review comment modified 
MCU_ECM_EIC_ISR for interrupt consistency check. 
5.  Warranty disclaimer updated. 
6.  Updated Mcu_IrqHandling for correcting the clearing of 
ECM status registers 
7.  Design requirement IDs, MCU_ESDD_UD_xxx Ids 
added and trace IDs removed. 
Mcu_Ram.c 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  Removed unwanted declaration of Mcu_GpRamSetting. 
2.  2 Memory section _NOINIT_ changed to _NO_INIT_ to 
Page 22 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
follow initialization policy of variables. 
3.  Moved global variables Mcu_GblDriverStatus, 
Mcu_GblResetStatusSaved, 
Mcu_GulMcuSavedResfStatus, 
Mcu_GulLastResetReasonStatus to Mcu.c file. 
4.  Warranty disclaimer updated. 
5.  Design requirement IDs, MCU_ESDD_UD_xxx Ids 
added and trace IDs removed. 
6.  Volatile declaration is added for Mcu_GblRAMInitStatus. 
7.  QAC warning Message 0862 justification added. 
8.  Unmapped design requirements mapped. 
Mcu_Version.c 
1.0.4 
Following changes are made in Ver4.01.01.D:- 
1.  Warranty disclaimer updated. 
2.  Design requirement IDs, MCU_ESDD_UD_xxx Ids 
added and trace IDs removed. 
Mcu.h 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  Added Write verify for all registers and updated the 
macro MCU_REG_WRITE_VERIFY. 
2.  Corrected order of variable declarations. 
3.  Warranty disclaimer updated. 
4.  Moved Write verify macros to Mcu_RegWrite.h file. 
5.  Design requirement IDs, MCU_ESDD_UD_xxx Ids 
added and trace IDs removed. 
6.  The value of MCU_ISR_SID updated. 
Mcu_Debug.h 
1.0.3 
Following changes are made in Ver4.01.01.D:- 
1.  Warranty disclaimer updated. 
2.  Copyright year updated. 
3.  Design requirement IDs, MCU_ESDD_UD_xxx Ids 
added and trace IDs removed. 
Mcu_Irq.h 
1.0.3 
Following changes are made in Ver4.01.01.D:- 
1.  Warranty disclaimer updated. 
2.  Design requirement IDs, MCU_ESDD_UD_xxx Ids 
added and trace IDs removed. 
3.  Copyright year updated. 
Mcu_PBTypes.h 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
1.  The macro MCU_CVM_DIAG_MASK is updated. 
2.  Warranty disclaimer updated. 
3.  Design requirement IDs, MCU_ESDD_UD_xxx Ids 
added and trace IDs removed. 
4.  Added macro MCU_CVM_DIAG_LOCK_MASK 
Page 23 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
5.  Added macro MCU_BURAM_SIGN_INIT 
Mcu_Ram.h 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  Removed unwanted declaration of Mcu_GpRamSetting. 
2.  Warranty disclaimer updated. 
3.  Design requirement IDs, MCU_ESDD_UD_xxx Ids added 
and trace IDs removed. 
4.  Volatile declaration is added for Mcu_GblRAMInitStatus. 
Mcu_RegWrite.h 
1.0.0 
Initial Version 
Mcu_Types.h 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
1.  Warranty disclaimer updated. 
2.  Design requirement IDs, MCU_ESDD_UD_xxx Ids added 
and trace IDs removed. 
Mcu_Version.h 
1.0.2 
Following changes are made in Ver4.01.01.D:- 
1.  Warranty disclaimer updated. 
2.  Design requirement IDs, MCU_ESDD_UD_xxx Ids added 
and trace IDs removed. 
3.  Copyright year updated. 
DLL executable code for MCU configuration generation 
Mcu_P1x.dll 
1.1.4 
Following change is made in Ver4.01.01.D:-   
1.  Tool .dll updated for tool code changes. 
Mcu_P1x.cfgxml 
1.0.0 
No changes for release Ver4.01.01.D 
P1x Sample Application P1M Source file 
App_MCU_P1M_Sample.c 
1.0.5 
Following change is made in Ver4.01.01.D:- 
1.  Removed ECMMESSTR0 check in MI and NMI 
notification function as it is getting cleared in 
Mcu_IrqHandling. 
P1x Sample Application P1M Header file 
App_MCU_P1M_Sample.h 
1.0.3 
No changes for release Ver4.01.01.D 
P1x User Manual 
R20UT3720EJ0100-AUTOSAR.pdf 
1.0.8 
Following changes are made in Ver4.01.01.D:- 
1.  Chapter 4 section 4.1 General 5 points added.   
2.  Section 4.4 a Note is added below the table 'Supervisor 
mode and User mode details'.   
3.  Table 4-1 MCU Driver Protected Resources List added in 
section 4.3 Data consistency.   
4.  VARIABLE_PROTECTION changed to 
MCU_VARIABLE_PROTECTION in section 4.3 Data 
consistency.   
5.  Chapter 6 Register details are updated.   
Page 24 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
6.  Section 3.1.1 Folder structure, chapter 8 C header file 
section, Table 8-1 updated by adding Mcu_RegWrite.h.   
7.  DEM error for register write verify added in Table 11-2 
DEM Errors of MCU Driver Component.   
8.  Chapter 12 Memory Organization updated to follow 
initialization policy.   
9.  Section 13.2 reference to .one and .html files are removed.   
10. Note added in section 13.2.1 ISR function.   
11. Added new section 13.3.4 Critical section details.   
12. R Number updated.   
13. Section 13.3 updated with throughput values.   
14. Chapter 4 forethoughts section updated by adding points 
for STATIC tag and for multiple invoke of Mcu_Init 
multiple times. 
15. Chapter 14 release details updated.   
R20UT3721EJ0100-AUTOSAR.pdf 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
 
1.  Errors ERR101051, ERR101052 added in section 8.1.   
2.  R number updated.   
3.  ERR101005, ERR101049 description updated.   
4.  McuCvmDiagLockBit added in McuModuleConfiguration 
container under Table 8-1. 
5.  Reference document version updated.   
4.3  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1x_AR4.0_KnownIssues_CW43_2016.xlsx 
 
Page 25 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
5  PORT 
5.1  Target Info 
Processor 
P1M - R7F701310 
Module 
PORT 
Software Version 
V1.5.3 
Embedded User Manual 
R20UT3722EJ0100-AUTOSAR.pdf – V1.0.8 
Tool User Manual 
R20UT3723EJ0100-AUTOSAR.pdf – V1.0.8 
Date 
31-Oct-2016 
5.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_PORT_P1M_04_05.arxml 
1.0.4 
Following changes are made in Ver4.01.01.D:-                                                 
1.  Parameters PortWriteVerify, PortWriteVerifyErrorInterface, 
PortUseWriteVerifyErrorInterface and 
PORT_E_REG_WRITE_VERIFY are added. 
2.  TAUD0TCKEN0_DNFCKS108C is added for the 
parameter PortClockSource1 
3.  Literal of the parameter PortPinInitialMode is updated for 
the pins Portgroup0:Pin10_Pin13, Portgroup2:Pin0_Pin5, 
Portgroup1:Pin4, Portgroup3:Pin7_Pin10, 
Portgroup4:Pin1_Pin2, Portgroup5:Pin1_Pin10. 
PortGroupJtag0:Pin3_Pin4_Pin5. 
4.  Default value of the parameters PortPinDirection and 
PortOpenDrainControl_Expansion are updated for 
Portgroup0:Pin10. 
5.  The parameter PortSamplingClockFrequency in all digital 
filter group container is updated to mention about all the 
pre-scalars. The parameter PortDigitalFilterModeSelection 
is added in all digital filters,PortDigitalFilterClockSelection 
in PortFilterGroupConfig container.   
6.  Warranty Disclaimer is updated.   
7.  Upper Multiplicity of PortContainer and PortPin is changed 
to 1. 
8.  Default value of the parameter PortLoopTimeout is updated 
to 5. 
9.  Parameter 'PortDriveStrengthControl' is renamed to 
Page 26 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
PortOutputDriveStrength and the parameter 
'PortUnlimitedCurrentControl' is removed from all portpins. 
R403_PORT_P1M_12_13.arxml 
1.0.5 
Following changes are made in Ver4.01.01.D:-                                                                                     
1.  Parameters PortWriteVerify, PortWriteVerifyErrorInterface, 
PortUseWriteVerifyErrorInterface and 
PORT_E_REG_WRITE_VERIFY are added. 
2.  TAUD0TCKEN0_DNFCKS108C is added for the 
parameter PortClockSource1 
3.  Literal of the parameter PortPinInitialMode is updated for 
the pins Portgroup0:Pin10_Pin13, Portgroup2:Pin0, 
Portgroup3:Pin10_Pin14, Portgroup4:Pin1_Pin2, 
Portgroup5:Pin1_Pin10, Portgroup1:Pin4. 
PortGroupJtag0:Pin3_Pin4_Pin5. 
4.  Default value of the parameters PortPinDirection and 
PortOpenDrainControl_Expansion are updated for 
Portgroup0:Pin10. 
5.  The parameter PortSamplingClockFrequency in all digital 
filter group container is updated to mention about all the 
pre-scalars.The parameter PortDigitalFilterModeSelection 
is added in all digital filters, 
PortDigitalFilterClockSelection in PortFilterGroupConfig 
container. 
6.  Warranty Disclaimer is updated. 
7.  Upper Multiplicity of PortContainer and PortPin is changed 
to 1. 
8.  Default value of the parameter PortLoopTimeout is updated 
to 5. 
9.  Parameter 'PortDriveStrengthControl' is renamed to 
PortOutputDriveStrength and the parameter 
'PortUnlimitedCurrentControl' is removed from all portpins. 
R403_PORT_P1M_18_19_22_23.ar
1.0.4 
Following changes are made in Ver4.01.01.D:- 
xml 
1.  Parameters PortWriteVerify, PortWriteVerifyErrorInterface, 
PortUseWriteVerifyErrorInterface and 
PORT_E_REG_WRITE_VERIFY are added. 
2.  TAUD0TCKEN0_DNFCKS108C is added for the 
parameter PortClockSource1 
3.  Literal of the parameter PortPinInitialMode is updated for 
the pins Portgroup0:Pin7_Pin9_to_Pin14, Portgroup2:Pin0, 
Portgroup3:Pin10_Pin14, Portgroup4:Pin1_Pin2_Pin7, 
Page 27 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Portgroup5:Pin1_Pin3_Pin11_Pin12_Pin14_Pin15, 
Portgroup1:Pin4, PortGroupJtag0:Pin3_Pin4_Pin5. 
4.  Default value of the parameters PortPinDirection and 
PortOpenDrainControl_Expansion are updated for 
Portgroup0:Pin10. 
5.  The parameter PortSamplingClockFrequency in all digital 
filter group container is updated to mention about all the 
pre-scalars. The parameter PortDigitalFilterModeSelection 
is added in all digital filters,PortDigitalFilterClockSelection 
in PortFilterGroupConfig container. 
6.  Warranty Disclaimer is updated. 
7.  Upper Multiplicity of PortContainer and PortPin is changed 
to 1. 
8.  Default value of the parameter PortLoopTimeout is updated 
to 5. 
9.  Parameter 'PortDriveStrengthControl' is renamed to 
PortOutputDriveStrength and the parameter 
'PortUnlimitedCurrentControl' is removed from all portpins. 
R403_PORT_P1M_20_21.arxml 
1.0.4 
Following changes are made in Ver4.01.01.D:- 
1.  .Parameters PortWriteVerify, PortWriteVerifyErrorInterface, 
PortUseWriteVerifyErrorInterface and 
PORT_E_REG_WRITE_VERIFY are added. 
2.  TAUD0TCKEN0_DNFCKS108C is added for the 
parameter PortClockSource1 
3.  Literal of the parameter PortPinInitialMode is updated for 
the pins Portgroup0:Pin10_Pin13, Portgroup2:Pin0, 
Portgroup3:Pin10_Pin14, Portgroup4:Pin1_Pin2, 
Portgroup5:Pin1_Pin10, Portgroup1:Pin4. 
PortGroupJtag0:Pin3_Pin4_Pin5. 
4.  Default value of the parameters PortPinDirection and 
PortOpenDrainControl_Expansion are updated for 
Portgroup0:Pin10. 
5.  The parameter PortSamplingClockFrequency in all digital 
filter group container is updated to mention about all the 
pre-scalars.The parameter PortDigitalFilterModeSelection 
is added in all digital filters,PortDigitalFilterClockSelection 
in PortFilterGroupConfig container. 
6.  Warranty Disclaimer is updated. 
7.  Upper Multiplicity of PortContainer and PortPin is changed 
Page 28 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
to 1. 
8.  Default value of the parameter PortLoopTimeout is updated 
to 5. 
9.  Parameter 'PortDriveStrengthControl' is renamed to 
PortOutputDriveStrength and the parameter 
'PortUnlimitedCurrentControl' is removed from all portpins. 
R403_PORT_P1M_10_11_14_15.ar
1.0.7 
Following changes are made in Ver4.01.01.D:- 
xml 
1.  Parameters PortWriteVerify, PortWriteVerifyErrorInterface, 
PortUseWriteVerifyErrorInterface and 
PORT_E_REG_WRITE_VERIFY are added. 
2.  TAUD0TCKEN0_DNFCKS108C is added for the 
parameter PortClockSource1 
3.  Literal of the parameter PortPinInitialMode is updated for 
the pins Portgroup0:Pin7_Pin9_to_Pin14, PortGroup1:Pin4, 
PortGroup2:Pin0, Portgroup3:Pin10_Pin14, 
Portgroup4:Pin1_Pin2_Pin7, 
Portgroup5:Pin1_Pin3_Pin11_Pin12_Pin15 
PortGroupJtag0:Pin3_Pin4_Pin5. 
4.  Default value of the parameters PortPinDirection and 
PortOpenDrainControl_Expansion are updated for 
Portgroup0:Pin10. 
5.  The parameter PortSamplingClockFrequency in all digital 
filter group container is updated to mention about all the 
pre-scalars.The parameter PortDigitalFilterModeSelection 
is added in all digital filters,PortDigitalFilterClockSelection 
in PortFilterGroupConfig container. 
6.  Warranty Disclaimer is updated. 
7.  Upper Multiplicity of PortContainer and PortPin is changed 
to 1. 
8.  Default value of the parameter PortLoopTimeout is updated 
to 5. 
9.  Parameter 'PortDriveStrengthControl' is renamed to 
PortOutputDriveStrength and the parameter 
'PortUnlimitedCurrentControl' is removed from all portpins. 
BSWMDT 
R403_PORT_P1x_BSWMDT.arxml 
1.0.6 
Following changes are made in Ver4.01.01.D:-                                                                                     
1.  SW-VERSION is updated 
2.  BSW-CALLED-ENTITY and BSW-MODULE-ENTRY is 
added 
Page 29 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
3.  Warranty Disclaimer is updated. 
Source Code 
Port.c 
1.5.12 
Following changes are made in Ver4.01.01.D:- 
1.  Internal functions Port_HWInitConfig, 
Port_OpenDrainCtrlRegInit,Port_DriveUnivCtrlRegInit, 
Port_PinModeDetCheck,Port_OutputLevelInvRegInit, 
Port_PinDirectionDetCheck, 
Port_PinModeHWRegSet,Port_PinModeCtrlRegSet, 
Port_PinModeFuncRegSet,Port_PinDefModeFuncRegSet 
and Port_PinDefModeDetCheck are added for software 
metrics improvement. 
2.  PORT_DEM_ERROR_DETECT macro has been removed. 
3.  All Apis are updated to implement the Fusa requirements 
EAAR_PN0034_FSR_0001,0002,0003 and 0004 
4.  Function Port_SetInitialValue is removed. 
5.  MISRA warning 4:4397 is removed. 
6.  QAC warning messages are given under separate section 
and all the warning messages are re-numbered. 
7.  Port_GetVersionInfo is implemented as a function. 
8.  usDNFAEN is changed to ucDNFAENL in the function 
Port_FilterConfig. 
9.  Enter and Exit of critical section protection is corrected in 
Port_SetPinDefaultDirection API. 
10. Accessing the pointer LulOsBaseAddress before 
initialization is corrected in Port_InitConfig () function. 
11. .PORT_UT_001 Start and End tags are removed from 
Port_RefreshPortInternal and Port_InitConfig after Unit 
testing. 
12. ASR3.2.2 version information is removed and the functions 
Port_FilterConfig, 
Port_DriveUnivCtrlRegInit,Port_SetPinDirection, 
Port_OutputLevelInvRegInit, Port_GetVersionInfo 
Port_InitConfig and Port_OpenDrainCtrlRegInit are 
updated. 
13. Unit design ID and requirement tags are added at applicable 
places. 
14. Return type of Port_InitConfig is made Std_ReturnType. 
Port_Init () is updated. Protected registers inside the 
functions Port_OutputLevelInvRegInit, 
Page 30 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Port_SetPinDirection, Port_DriveUnivCtrlRegInit, 
Port_OpenDrainCtrlRegInit are written using the macro 
Port_ProtectedWrite. 
Port_Ram.c 
1.0.5 
Following changes are made in Ver4.01.01.D:-   
1.  The name of the MISRA violation section is changed to 
QAC Warning 
2.  ASR3.2.2 version information is removed. 
3.  Unit design ID and requirement tags are added at applicable 
places. 
Port_Version.c 
1.0.5 
Following changes are made in Ver4.01.01.D:-   
1.  ASR3.2.2 version information is removed 
2.  Unit design ID and requirement tags are added at applicable 
places. 
3.  Included Port_PBTypes.h file to avoid the QAC warning 
(2.3313) in Port_Types.h file. 
Port.h 
1.5.6 
Following changes are made in Ver4.01.01.D:-   
1.  Macro declaration of Port_GetVersionInfo is replaced with 
function declaration and PORT_E_PARAM_POINTER 
macro is added 
2.  Unwanted Misra violations are removed. 
3.  ASR3.2.2 version information is removed 
4.  Unit design ID and requirement tags are added at 
applicable places. 
5.  Macro Port_ProtectedWrite is added. 
Port_Debug.h 
1.0.2 
Following change is made in Ver4.01.01.D:- 
1.  Requirement tags are added at applicable places. 
Port_PBTypes.h 
1.4.9 
Following changes are made in Ver4.01.01.D:-   
1.  Macro PORT_DEM_ERROR_DETECT has been 
removed 
2.  Macros PORT_SIXTEEN, PORT_SET_BYTE, 
PORT_SET_WORD and PORT_SET_LONG_WORD are 
added. 
3.  Macro PORT_DBTOC_VALUE is modified for removing 
MISRA violation 4:4397. 
4.  Unwanted Misra violations are removed. 
5.  usDNFAEN is changed to ucDNFAENL in typedef 
Port_DNFARegs. 
6.  ASR3.2.2 version information, macros 
PORT_IOHOLD_MASK ,PORT_IOHOLD_CLEAR, the 
Page 31 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
structure declaration Port_EDCRegs and the external 
variables related to analog,input,alpha ports are 
removed.Port_GroupType is updated to remove the enum 
values related to Alphabetic,Analog and Input ports 
7.  Unit design ID and requirement tags are added at 
applicable places. 
8.  PORT_DNF_CLK_SRC_AVAILABLE switch is removed 
for the structure STag_Port_DNFCKSRegs to avoid 
MISRA violation. 
Port_Ram.h 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  ASR3.2.2 version information is removed. 
2.  Requirement tags are added at applicable places. 
Port_RegWrite.h 
1.0.0 
Initial Version 
Port_Types.h 
1.3.3 
Following changes are made in Ver4.01.01.D:-   
1.  ASR3.2.2 version information, structure members 
pPortEDCRegs,ucNoOfEDCRegs, 
ucNoOfNumRestoredRegs, ucNoOfAlphaRestoredRegs, 
ucNoOfAnalogRestoredRegs and members related to 
analog,input,alpha ports inside Port_ConfigType are 
removed. 
2.  Unit design ID and requirement tags are added at 
applicable places. 
Port_Version.h 
1.0.6 
Following changes are made in Ver4.01.01.D:-   
1.  ASR3.2.2 version information is removed 
2.  Requirement tags are added at applicable places. 
DLL executable code for PORT configuration generation 
port_X1x.dll 
1.3.14 
Following change is made in Ver4.01.01.D:-   
1.  Tool .dll updated for tool code changes. 
Port_X1x.cfgxml 
1.0.0 
No changes for release Ver4.01.01.D 
P1x Sample Application P1M Source file 
App_PORT_P1M_Sample.c 
1.0.6 
Following change is made in Ver4.01.01.D:-   
1.  Check value for PINV3 register after 
Port_SetPinDirection () call is updated. 
P1x Sample Application P1M Header file 
App_PORT_P1M_Sample.h 
1.0.1 
No changes for release Ver4.01.01.D 
P1x User Manual 
R20UT3722EJ0100-AUTOSAR.pdf 
1.0.8 
Following changes are made in Ver4.01.01.D:-   
1.  Chapter 1 Introduction is updated. 
2.  Chapter 4.1 General is updated with DFMEA findings. 
Page 32 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
3.  The point regarding digital filter time delay has been 
removed and the information on Port_GetVersionInfo is 
updated in 4.5 Deviation list. 
4.  Chapter 5 Architecture Details is updated with the 
information on Port_GetVersionInfo. 
5.  Chapter 7 is updated with the information on PORT Driver 
features. 
6.  Chapter 8 is updated to add the information about 
Port_Cbk.h file. 
7.  Table 11-2 is updated to add the DEM error 
PORT_E_REG_WRITE_VERIFY. 
8.  Table 11-1 is updated to add the DET error 
PORT_E_PARAM_POINTER. 
9.  Chapter 14 Release Details is updated with Port Driver 
Software version. 
10. Section 4.3 is updated with note on critical section. 
11. Chapter 8 PORT Driver Component Header and Source File 
Description is updated for adding stub files. 
12. Chapter 6 Register details is updated. 
13. Section 13.2.1 and section 13.2.2 are updated. 
14. Chapter 3 and 9 are updated with R-Numbered Tool User 
manual name. 
15. Version of R-number is updated at the end of document. 
16. Memory section NOINIT_RAM_UNSPECIFIED is 
updated to NO_INIT_RAM_UNSPECIFIED in Figure 
12-1, Table 13-2 and 13-3. 
17. Added precondition items about critical protection and 
transient hardware faults in chapter 4.2 ‘Precondition’ and 
worst case duration value is updated as Note in Chapter 4.4 
Data Consistency. 
18. Section 10.2.1 Port_ConfigType is updated. 
19. Port_RegWrite.h added for the section 3.1.1, chapter 8 and 
Table 8-1. 
20. Table 4-2 PORT Driver Protected Resources List added in 
the section 4.4. 
21. Reference document updated in chapter 2. 
22. In Page 6 definitions section is updated. 
23. In Page 6 definitions section is updated. 
24. Chapter 14 is updated for PORT driver component version 
information. 
Page 33 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
25. Chapter 13.3 updated for ROM/RAM Usage, Stack Depth 
and Throughput Details. 
26. Critical section value updated in the Table 4-2. 
27. Preconditions updated in section 4.2. 
28. Port Pin level inversion information is updated in 4.5 
Deviation list. 
29. Section 4.1.General is updated with the information on 
keyword STATIC. 
30. Deviation regarding the parameter PortPinlevelValue of 
JTag PortPin is added in the section 4.5.Deviation List. 
R20UT3723EJ0100-AUTOSAR.pdf 
1.0.8 
Following changes are made in Ver4.01.01.D:-   
1.  Parameter definition file name versions are updated in 
section 2.1 
2.  Port_Cbk.h information added in the chapter 1, 3 and 5. 
3.  Error message ERR124019 to ERR124027 are added in 
section 8.1. 
4.  R number is updated at end of the document. 
5.  Warning message WRN124003 removed from section 8.2. 
6.  Table number is added for table present in Chapter 8.1 Error 
Messages. 
7.  Parameter definition file name versions are updated in 
section 2.1 
8.  Parameters PortDriveStrengthControl and 
PortUnlimitedCurrentControl are removed and 
PortOutputDriveStrength is added to the Table 8.1 
5.3  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1x_AR4.0_KnownIssues_CW43_2016.xlsx. 
 
Page 34 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
6  SPI 
6.1  Target Info 
Processor 
P1M - R7F701310 
Module 
SPI 
Software Version 
V1.6.4 
Embedded User Manual 
R20UT3726EJ0100-AUTOSAR.pdf – V1.0.10 
Tool User Manual 
R20UT3727EJ0100-AUTOSAR.pdf – V1.0.11 
Date 
31-Oct-2016 
6.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_SPI_P1M_04_05_12_13_20_2
1.0.7 
Following changes are made in Ver4.01.01.D:-   
1.arxml 
 
1.  Write-verify user interface implementation, added 
Spi_UseWriteVerifyErrorInterface, 
SpiWriteVerifyErrorInterface parameters in SpiGeneral 
container. 
2.  Updated the description of the parameter 
SpiJobEndNotification as part of review. 
3.  Warranty disclaimer is updated. 
4.  Write verification functionality updated to support 
enumeration parameter. 
5.  Renamed the parameters SpiWriteVerify and 
SpiDmaWriteVerify to SpiCSIGHWriteVerify and 
SpiDMAWriteVerify. 
6.  Updated the upper multiplicity of the containers 
SpiJobAssignment and SpiExternalDevice. 
R403_SPI_P1M_10_11_14_15_18_1
1.0.7 
Following changes are made in Ver4.01.01.D:-   
9_22_23.arxml 
 
1.  Write-verify user interface implementation, added 
Spi_UseWriteVerifyErrorInterface, 
SpiWriteVerifyErrorInterface parameters in SpiGeneral 
container. 
2.  Updated the description of the parameter 
SpiJobEndNotification as part of review. 
3.  Warranty disclaimer is updated. 
4.  Write verification functionality updated to support 
enumeration parameter. 
5.  Renamed the parameters SpiWriteVerify and 
Page 35 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
SpiDmaWriteVerify to SpiCSIGHWriteVerify and 
SpiDMAWriteVerify. 
6.  Updated the upper multiplicity of the containers 
SpiJobAssignment and SpiExternalDevice. 
BSWMDT   
R403_SPI_P1x_BSWMDT.arxml 
1.0.10 
Following changes are made in Ver4.01.01.D:-   
1.  Interrupt category updated for BswInterruptEntity_3. 
2.  Entry reference updated for BswInterruptEntity_46 from 
SPI_DMA04_ISR to SPI_DMA04_CAT2_ISR for category 
CAT-2. 
3.  BSW-CALLED-ENTITY section is added. 
4.  CAN-ENTER-EXCLUSIVE-AREA-REF tags are updated 
for BSW-CALLED-ENTITY and 
BSW-INTERRUPT-ENTITY. 
5.  Warranty disclaimer section updated. 
6.  The tag EVENTS and IMPLEMENTED-ENTRY-REF are 
added for scheduled function Spi_MainFunction_Handling. 
7.  Software version information is updated. 
Source Code 
Spi.c 
1.5.10 
Following changes are made in Ver4.01.01.D:-   
1.  Updated Spi_SyncTransmit function as part of metrics 
improvement activity. 
2.  As part of Write-verify implementation, added APIID as 
argument for Spi_StaticInit, Spi_InternalWriteIB 
Spi_HWCancel functions. 
3.  Updated Spi_SetAsyncMode and Spi_GetErrorInfo functions 
to fix DFMEA findings. 
4.  Updated Spi_GetErrorInfo API to perform the checking if 
SPI driver is initialized or not. 
5.  Removed the compiler switch #if 
(SPI_MAX_CSIH_HW_INDEX!= SPI_ONE) from Spi_Init 
API. 
6.  Added NULL pointer check for 
Spi_GpConfigPtr->pStatusArray in Spi_Init and 
Spi_AsyncTransmit APIs. 
7.  Fixed QAC and MISRA warning. 
8.  Added the justifications for the pointers as part of pointer 
analysis activity. 
9.  Spi_GetErrorInfo and Spi_SetAsyncMode    APis are 
updated to do range check for input parameters 
Page 36 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
10. Spi_AsyncTransmit API is updated for start sequence 
notification. 
11. Spi_GetVersionInfo API is implemented as a function 
12. Removed AR 3.2.2 related version checks and removed the 
switch #if(SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION) 
13. Updated the check for maximum buffer size based on user 
configured value in function Spi_GetErrorInfo. 
14. Updated the function header with the list of used registers, 
global variables and function invoked. 
15. A check for driver status is added in Spi_SelfTest API for 
calling the Spi_StaticInit function as part of testing activity. 
16. Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements in 
respective places. 
17. Added conditional check against the LenReturnValue in 
Spi_SetupEB API for the DET check 
SPI_E_PARAM_LENGTH. 
18. Updated the function Spi_SelfTest to return the correct status 
when invalid mode is passed as an input parameter. 
19. Removed the unwanted multiple declaration of the local 
variable LucVar. 
20. Updated Spi_SelfTest API to perform the 
Spi_GddDriverStatus busy check even when DET is off. 
21. Updated Spi_ReadIB API to put the accessing of 
Spi_GpConfigPtr->pChannelIBRead under correct 
pre-compile switch. 
22. Added untraced requirements. 
Spi_Irq.c 
1.2.11 
Following changes are made in Ver4.01.01.D:-   
1.  Magic numbers are replaced with the Macro names. 
2.  Updated the ISR's to not to perform any operation in case of 
interrupt  consistency  error  as  part  of  fixing  assessment 
comments. 
3.  SPI_DMA08_ISR  and  SPI_DMA09_ISR  has  been  updated 
to replace the octal digit with correct macro. 
4.  Removed  the  ISRs  related  CSIGn(n=  1  to  7)  since  P1x 
hardware  supports  only  CSIG0  hardware  unit  and  removed 
AR 3.2.2 related version checks 
5.  Updated  the  function  header  with  the  list  of  used  registers, 
global variables and function invoked. 
6.  Added  UD  ID's  'SPI_ESDD_UD_xxx'  and  Requirements  in 
Page 37 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
respective places. 
7.  Updated SPI_DMA15_ISR function 
8.  Updated  SPI_CSIH1_TIR_ISR  function  to  get  the  correct 
address. 
9.  Updated all Error isr functions to clear the pending interrupts 
after Spi_ComErrorISR execution. 
Spi_Driver.c 
1.4.8 
Following changes are made in Ver4.01.01.D:-   
1.  Software metrics improvement, following changes are made: 
a.  Spi_ReceiveDirectAcessData is called from 
Spi_ReceiveISR. 
b.  Spi_ProcesSeqInDualOrTxMod is called from 
Spi_ProcessSequence. 
c.  Spi_CheckAndInvokeTxIsr and 
Spi_CheckAndInvokeRxIsr are is called from 
Spi_HWMainFunction_Handling. 
d.  Spi_SetEojAndCsriBits & Spi_SetEojBit are called from 
Spi_SyncProcessData. 
e.  Spi_ProcessTransmission is called from 
Spi_AsyncInDirAccOrFifoMod. 
f.  Spi_GetTxRegValue is called from 
Spi_ProcessChannelInDirAccMod. 
g.  Spi_CfgRegSettings is called from 
Spi_AsyncChannelRegSettings. 
h.  Renamed functions and return types as per the coding 
standards. 
2.  As part of Write-verify user interface implementation, added 
APIID to the macros for writing to registers and added 
macros for writing in to status clear registers. 
3.  Updated the functions Spi_DmaISR, Spi_CsihStaticInit to 
support DMA functionality for High priority hardware 
sequences in Tx-Only mode. 
4.  Removed unused local variables from the 
Spi_ProcessCsigData function. 
5.  Updated the functions Spi_CsigLoopBackSelfTest and 
Spi_CsihLoopBackSelfTest for adding the hardware error 
check in loop back mode. 
6.  Start sequence notification is removed from 
Spi_ProcesSeqInDualOrTxMod function and added in 
Spi_ProcessTransmission function. 
7.  MBS bit of register CSIGnCTL0 is set to one while setting 
Page 38 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
PWR bit for CSIG HW unit in the function 
Spi_HWTransmitSyncJob. 
8.  Setting of global variable Spi_GblSyncTx is moved from 
Spi_InitiateSycTransmit function to 
Spi_HWTransmitSyncJob function for correctly updating the 
registers for next job when channel properties are same. 
9.  Condition checking for last job is added before decrementing 
the local variable LpJobList in Spi_CsihStaticInit function. 
10. RH850_SV_MODE_ICR_AND is added for 
'pErrorIntCntlAddress' and 'pTxCancelIntCntlAddress' in 
Spi_HWDisableInterrupts function. For 
'pTxCancelIntCntlAddress', RH850_SV_MODE_ICR_AND 
is added for CSIH hardware unit only. 
11. Global variable 'Spi_GusDataAccess' has been split into 
variables 'Spi_GusSynDataAccess' and 
'Spi_GusAsynDataAccess' for Synchronous and 
Asynchronous transmission respectively. 
12. Null Pointer check is added for pPortGrpRegAddress in 
Spi_HWDeActivateCS and Spi_HWActivateCS function. 
13. In order to update all CSIHnCFGx registers for all 
configured chip selects, do-while loop is added in function 
Spi_CsihStaticInit, Spi_CfgRegSettings and 
Spi_SeqJobChannelInit. 
14. Spi_HWTransmitSyncJob function has been updated to 
replace LblDemReported with LenReturnValue to improve 
the code quality. 
15. Updated functions Spi_HWMainFunction_Handling and 
Spi_CheckAndInvokeTxIsr for direct access mode. 
16. Added NULL pointer check for 
Spi_GpConfigPtr->pStatusArray in Spi_TransmitCancelISR 
and Spi_ChkCancelReqForSeq functions. 
17. Spi_ProcessCsihData function has been updated to set EOJ 
bit. 
18. Spi_EccSelfTest API has been updated to add against the 
LenReturnValue in the while loop that checks against the 
maximum HW unit configured. 
19. Spi_TxDmaConfig function has been updated. 
20. Fixed QAC and MISRA warning. 
21. Updated the function Spi_ProcessChannelInDirAccMod 
22. Updated the functions Spi_ProcessChannelInFifoMod and 
Page 39 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Spi_AsyncChannelRegSettings for handling high priority 
hardware sequences. 
23. Updated Spi_ProcessChannelInDirAccMod function to add 
the conditional check if ((SPI_FALSE == 
LpJobConfig->blHWUnitDmaMode) || (SPI_ONE < 
LddNoOfBuffers)). 
24. Removed AR 3.2.2 related version checks and 
DMA_TYPE_ONE related code implementation since P1M 
supports DMA of DMA_TYPE_TWO only and removed the 
switch #if (SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION) and GPIO_CS check if 
CSIH is configured in Spi_HWDeInit function. 
25. Updated Spi_DmaISR function to support high priority 
sequences when TX only mode is configured. 
26. Updated the functions Spi_ProcessFifoData and 
Spi_ProcessChannelInFifoMod for handling 128 bytes FIFO 
data. 
27. .Updated the function header with the list of used registers, 
global variables and function invoked. 
28. Spi_HWInit,Spi_HWDeInit functions are updated. 
29. Updated Spi_HWWriteIB to set memory mode as Tx only or 
Dual buffer in register CSIHnMCTL0 before writing into 
CSIHnTX0W and CSIHnMRWP0 to avoid setting of bits 
which are prohibited in other memory modes. 
30. Updated Spi_EccAllOneTest,Spi_EccAllZeroTest, 
Spi_EccWalkOneTest and Spi_EccTwoBitTest. 
31. Invoked Spi_CheckErrorInt function after reception to check 
for errors in Spi_GetCsigRxData and Spi_GetCsihRxData 
functions. 
32. Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements in 
respective places. 
33. Updated register write verification implementation. 
34. UT ID TAGs 'SPI_UT_xxx' are added for the non-covered 
parts of the code. 
35. Updated Spi_ProcessChannelInFifoMod, 
Spi_ProcessFifoData, Spi_DmaISR and Spi_TxDmaConfig 
functions for permitting more than 128 bytes of data when 
DMA is enabled in FIFO mode. 
36. Updated Spi_CsihStaticInit and Spi_SyncRegSettings to 
remove the compiler switches before the CSIHnMCTL0 
Page 40 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
registers are updated so that in direct access mode also, the 
register shall get updated with the generated value which is 
0. 
37. As part of safety analysis, updated the write verification of 
registers involving OR/AND operations. 
38. As part of safety analysis, updated the function 
Spi_ProcessCsihData to remove the setting of EOJ bit and 
corrected the condition check in Spi_ProcessExtendedData 
function. 
39. MISRA C RULE VIOLATION section is updated for 
(4:2995). 
40. Spi_HWDeInit is updated for the variables LpHWUnitInfo 
and LpMainOsBaseAddr are initialized inside the while loop, 
so that the addresses will be updated for each hardware unit. 
41. Updated Spi_FifoReadData function. 
42. Updated Spi_ComErrorISR function. 
43. Updated Spi_ProcessCsihData function. 
44. Updated Spi_InitiateJobTx and Spi_ReceiveISR functions to 
add the pre compile check for Internal buffers. 
45. Updated Spi_ComErrorISR function to handle the other 
sequences when an error is reported. 
46. In Spi_TxDmaConfig function, DMA Trigger factor is set as 
hardware trigger for all cases except FIFO mode and when 
number of buffers to be transmitted is one. 
47. Added null pointer check before accessing 
pTxCancelImrAddress and pTxCancelIntCntlAddress in 
Spi_HWInit, Spi_HWDeInit and Spi_HWDisableInterrupts 
functions. 
48. Removed the dead code "if(SPI_FALSE == 
LpCurrentCommData->blTxEDL)" present in 
Spi_ProcessCsihData function and removed the code related 
to CSIH HW Unit regarding the setting of loop back mode in 
CSIHnCTL1 register in Spi_CsigLoopBackSelfTest 
function. 
49. Updated Spi_HWDeInit function to correct the values 
written to status clear registers. 
50. Added untraced requirements. 
51. Corrected mask value SPI_CSIHMCTL0_MASK_1 to 
SPI_CSIHMCTL0_MASK in Spi_HWWriteIB function and 
updated the mask value while performing the write 
Page 41 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
verification for CSIGnCTL1 register. 
52. Updated Spi_CheckAndInvokeTxIsr and 
Spi_HWMainFunction_Handling to correct the invocation of 
Spi_ReceiveISR in case of direct access mode. 
Spi_Ram.c 
1.2.11 
Following changes are made in Ver4.01.01.D:-   
 
1.  Declaration of global variable 'Spi_GusDataAccess' has been 
split into variables 'Spi_GusSynDataAccess' and 
'Spi_GusAsynDataAccess' for Synchronous and 
Asynchronous transmission respectively. 
2.  Removed AR 3.2.2 related version checks and memory 
section definitions. 
3.  Updated INIT policy of memory sections from NOINIT to 
NO_INIT. 
4.  Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements in 
respective places. 
5.  Added volatile qualifier for global variables. 
Spi_Scheduler.c 
1.2.15 
Following changes are made in Ver4.01.01.D:-   
1.  Spi_PushWhenQueueNotEmpty is called from 
Spi_PushInterruptableSeqJobs. 
2.  Arguments are updated for Spi_PopRemainingJobs function. 
3.  Start sequence notification is removed from 
Spi_PopRemainingJobs function. 
4.  Variable LddJobCount is replaced with a new variable 
LddJobCountVal in Spi_PushRemainingJobsToQueue 
function for the condition check as LddJobCount is used 
later for filling Spi_GddQueueIndex. 
5.  In order to update status as 'SPI_JOB_QUEUED' of all jobs 
which are pushed in to job queue, updated 
Spi_PushWhenQueueNotEmpty and 
Spi_PushRemainingJobsToQueue functions. 
6.  Added condition in the function Spi_PopFromQueue to 
avoid error while transmission of more than one job from a 
single sequence. 
7.  Added NULL pointer check for 
Spi_GpConfigPtr->pStatusArray in 
Spi_ProcessCompletedSequence and 
Spi_ProcessCancelledSequence functions. 
8.  Fixed QAC and MISRA warnings. 
9.  Removed AR 3.2.2 related version checks and removed the 
switch #if (SPI_AR_VERSION == 
Page 42 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
SPI_AR_HIGHER_VERSION). 
10. Updated the function header with the list of used registers, 
global variables and function invoked 
11. Added UD ID's 'SPI_ESDD_UD_xxx' and Requirements in 
respective places. 
12. UT ID TAGs 'SPI_UT_xxx' are added for the non-covered 
parts of the code. 
13. MISRA Warnings are fixed in Spi_PushToQueue function. 
14. Added untraced requirements. 
Spi_Version.c 
1.0.7 
Following changes are made in Ver4.01.01.D:-   
1.  Added UD ID's 'SPI_ESDD_UD_xxx' in respective places. 
2.  Updated Copyright information. 
Spi.h 
1.1.8 
Following changes are made in Ver4.01.01.D:-   
 
1.  Added SID for Spi_GetErrorInfo API as part DFMEA fixing. 
2.  Removed the macro function definition 
Spi_GetVersionInfo() API and added the extern declaration 
of Spi_GetVersionInfo() API. 
3.  Removed AR 3.2.2 related version checks and removed the 
switch #if(SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION) 
Spi_Driver.h 
1.2.12 
Following changes are made in Ver4.01.01.D:-   
1.  Function declarations are added for newly added functions. 
2.  As part of Write-verify implementation, added APIID as 
argument for the required functions. 
3.  Fixed QAC and MISRA warning. 
4.  Spi_CfgRegSettings function is made available when High 
priority hardware is enabled. 
5.  Removed AR 3.2.2 related version checks and removed the 
switch #if(SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION) 
Spi_Irq.h 
1.2.5 
Following changes are made in Ver4.01.01.D:-   
1.  Removed AR 3.2.2 related version checks and also removed 
the extern declaration of CSIGn HW unit ISR functions. (n = 
1 to 7). 
2.  Updated Copyright information. 
Spi_LTTypes.h 
1.2.14 
Following changes are made in Ver4.01.01.D:-   
1.  Updated the type of MACRO definitions to fix QAC 
warnings. 
2.  Updates the value of SPI_LOOPBACK_DLS_SETTING 
macro for specify the parity and added macro 
Page 43 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
SPI_LOOPBACK_ERROR. 
3.  Macro SPI_SET_MBS is added to set MBS bit of register 
CSIGnCTL0 is set to one. 
4.  Updated macro definitions to fix QAC warnings. 
5.  Removed AR 3.2.2 related version checks, removed the the 
switch #if (SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION) and removed macros related 
to DMA_TYPE_ONE. 
6.  Updated INIT policy of memory sections from NOINIT to 
NO_INIT. 
7.  Removed unnecessary macro (SPI_HUNDRED). 
8.  Added macros SPI_CTL_32BIT_REG_VAL, 
SPI_CTL_16BIT_REG_DEINIT, 
SPI_CTL_8BIT_REG_MASK 
SPI_CTL2_16BIT_REG_DEINIT, 
SPI_MCTL0_16BIT_REG_DEINIT, and 
SPI_DMA_DEINIT. 
9.  Removed unused type definition of STag_Spi_BitPattern. 
10. Updated the macro value 
ECC_CTL_ECER1F_ECER2F_CLEAR. 
11. Added macros SPI_CFG_REG_COUNT, 
SPI_BRS_REG_COUNT. 
12. Added mask values for registers. 
13. Removed the compiler switches above the structure element 
usCSIHMCTL0 for generation of its address in all memory 
modes. 
14. Macros SPI_DMA_HARDWARE_TRIGGER and 
SPI_DMA_DRS_MLE_MASK are added. 
15. Renamed SPI_STCR0_VAL to SPI_CSIH_STCR0_VAL and 
added SPI_CSIG_STCR0_VAL. 
16. Removed the macro SPI_CSIHMCTL0_MASK_1 and added 
SPI_CSIG_CTLREG_MASK. 
Spi_PBTypes.h 
1.2.14 
Following change is made in Ver4.01.01.D:-   
1.  Added the parameter blCSRIMasked to Spi_GstJobConfig 
structure. 
Spi_Ram.h 
1.2.11 
Following changes are made in Ver4.01.01.D:-   
1.  Added justification for the QAC warning MISRA warnings. 
2.  Extern declaration of global variable 'Spi_GusDataAccess' 
has been split into variables 'Spi_GusSynDataAccess' and 
'Spi_GusAsynDataAccess' for Synchronous and 
Page 44 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Asynchronous transmission respectively. 
3.  Removed AR 3.2.2 related version checks, removed the 
switch #if (SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION). 
4.  Updated INIT policy of memory sections from NOINIT to 
NO_INIT. 
5.  Added volatile qualifier for global variables 
Spi_RegWrite.h 
1.0.0 
Initial version 
Spi_Scheduler.h 
1.2.6 
Following changes are made in Ver4.01.01.D:-   
1.  Added function declarations for newly added functions as 
part of metrics improvement. 
2.  Removed AR 3.2.2 related version checks, removed the 
switch #if (SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION). 
Spi_Types.h 
1.2.10 
Following changes are made in Ver4.01.01.D:-   
1.  MISRA justifications are added. 
2.  As part of Write-verify user interface implementation, 
updated the macros for calling the error notification function 
when SPI_USE_WV_ERROR_INTERFACE is ON and also 
added macros for writing in to status clear registers. 
3.  Updated macro definitions to fix QAC warnings. 
4.  Added SPI_DMAUNIT_EIGHT and SPI_DMAUNIT_NINE 
macros. 
5.  Removed AR 3.2.2 related version checks, removed the the 
switch #if (SPI_AR_VERSION == 
SPI_AR_HIGHER_VERSION). 
6.  Write verification functionality updated to support 
enumeration parameter. 
7.  Added the macros SPI_TX_ONLY_MODE_SET, 
SPI_DUAL_BUFFER_MODE_SET, 
SPI_CHECK_BUFFER_MODE. 
8.  Created file Spi_RegWrite.h to move all the macros related 
to register write functionality. 
9.  Changed the type defines of Spi_AsyncModeType, 
Spi_JobResultType and Spi_SeqResultType to enumeration. 
10. Updated pre compile switches for the declaration of 
Spi_GaaChannelIBWrite. 
Spi_Version.h 
1.0.7 
Following changes are made in Ver4.01.01.D:-   
1.  Removed AR 3.2.2 related version checks, removed the 
switch #if (SPI_AR_VERSION == 
Page 45 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
SPI_AR_HIGHER_VERSION). 
2.  Updated copyright information. 
DLL executable code for ICU configuration generation 
Spi_X1x.dll 
1.2.16 
Following change is made in Ver4.01.01.D:-   
1.  Tool .dll updated for tool code changes. 
Spi_X1x.cfgxml 
1.0.0 
No changes for release Ver4.01.01.D 
X1x Common Sample Application Source file 
App_SPI_Common_Sample.c 
1.0.8 
Following changes are made in Ver4.01.01.D:-   
1.  Invoked Spi_GetErrorInfo API. 
2.  Updated Copyright information. 
3.  Include  file  name  updated  from  App_Spi_Device_Sample.h 
to App_Spi_P1M_Sample.h. 
X1x Common Sample Application header file 
App_SPI_Common_Sample.h 
1.0.5 
No changes for release Ver4.01.01.D 
P1x Sample Application P1M Source file 
App_SPI_P1M_Sample.c 
1.0.4 
Following changes are made in Ver4.01.01.D:-   
1.  Include  file  name  updated  from  App_Spi_Device_Sample.h 
to App_Spi_P1M_Sample.h. 
2.  Updated Copyright information. 
3.  PIPC register has been set for CSIG0 HW unit. 
P1x Sample Application P1M header file 
App_SPI_P1M_Sample.h 
1.0.3 
Following changes are made in Ver4.01.01.D:-   
1.  File name is changed from App_SPI_Device_Sample.h to 
App_SPI_P1M_Sample.h 
2.  Added definition of CSIG0_PIPC5_VAL and SPI_PIPC5 
3.  Updated copyright information. 
P1x User Manual 
R20UT3726EJ0100-AUTOSAR.pdf 
1.0.10 
Following changes are made in Ver4.01.01.D:-   
1.  Software patch version is updated in Chapter 14. 
2.  Section 4.1 is updated for adding the notes as part of 
requirement analysis. 
3.  Section 4.3, User mode and Supervisor mode details are 
updated for Spi_SetAsyncMode. 
4.  Tables, figures links and numbering is corrected. 
5.  Stub header files heading is updated and missing header files 
are added. 
6.  Section 13.3.1, sample application file structure is updated 
and Section 13.3.2, Building sample application is updated. 
7.  Updated Table 6-1 to rename global variable 
Page 46 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
‘Spi_GusDataAccess’ as ‘Spi_GusSynDataAccess’ or 
‘Spi_GusAsynDataAccess’ for synchronous and 
asynchronous transmission respectively. 
8.  Updated section 13.3.1 Sample Application Structure to add 
details about Spi_GetErrorInfo API. 
9.  Added Spi_GetErrorInfo API in section 11.1 under Related 
API(s) corresponding to the error SPI_E_UNINIT. 
10. Updated 4.1 ‘General’ to add a caution regarding usage of 
buffers for transmission/reception during DMA operation. 
11. Updated Chapter 12 to correct the INIT policy of memory 
sections from NOINIT to NO_INIT. 
12. Chapter 13.1.3 ISR Function “Interrupt Handler” table is 
updated with note. 
13. Updated 4.1 ‘General’ to add the information regarding the 
number of buffers to be configured in Direct Access or FIFO 
mode when DMA is configured. 
14. Chapter 6, Register access details are updated. 
15. Spi_GetErrorInfo details have been added. Chapter 4, 5 and 
7 are updated for the same. 
16. Section 4.2 Preconditions and Section 4.5 Data Consistency 
is updated for information about critical section protection. 
17. Chapter 6, Register access details are updated. 
18. Updated Table 4-1 for information regarding user mode and 
supervisor mode. 
19. Section 3.1.1 is updated to add the header file 
Spi_RegWrite.h as part of implementing the register write 
functionality. 
20. Section 4.3, a note is added regarding the critical section 
usage. 
21. Spi_RegWrite.h is added to the folder structure in the section 
3.1.1. 
22. Chapter 11 is updated for the API details of the DET and 
DEM errors. 
23. Updated Section 10.2 to add details regarding 
Spi_CommErrorType, Spi_HWErrorsType, 
Spi_SelfTestType and Spi_ReturnStatus type definitions. 
24. Chapter 13.3 updated for ROM/RAM Usage, Stack Depth 
and Throughput Details. 
R20UT3727EJ0100-AUTOSAR.pdf 
 1.0.11 
Following changes are made in Ver4.01.01.D:-   
1.  ERR083127 error message is updated. 
Page 47 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
2.  Error messages ERR083129 and ERR083130 are added. 
3.  R-number is updated. 
4.  Removed the error messages ERR083109, ERR083110, 
ERR083111, ERR083113, ERR083115, ERR083116, 
ERR083114 and ERR083112 and updated the error 
description of ERR083108. 
5.  Added information message INF083010. 
6.  Updated error description of ERR083066. 
7.  Renamed the macros SpiWriteVerify and 
SpiDmaWriteVerify to SpiCSIGHWriteVerify and 
SpiDMAWriteVerify. 
8.  Removed the warning message WRN083080. 
9.  Table numbers are added for tables present in Chapter 8. 
10. Updated error description of ERR083016 and ERR083017. 
6.3  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1x_AR4.0_KnownIssues_CW43_2016.xlsx. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 48 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
7  WDG 
7.1  Target Info 
Processor 
P1M - R7F701310 
Module 
WDG 
Software Version 
V1.0.11 
Embedded User Manual 
R20UT3728EJ0100-AUTOSAR.pdf – V1.0.7 
Tool User Manual 
R20UT3729EJ0100-AUTOSAR.pdf – V1.0.5 
Date 
31-Oct-2016 
7.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_WDG_P1M_04_05_10_to_15_1
1.0.4 
Following changes are made in Ver4.01.01.D:- 
8_to_23.arxml 
1.  Parameters are added, WdgWriteVerify, 
WdgUseWriteVerifyErrorInterface,                               
WdgWriteVerifyErrorInterface,                                     
WdgInterruptConsistencyCheck,                                     
WDG_E_INT_INCONSISTENT and                                                   
WDG_E_REG_WRITE_VERIFY.               
2.  Copyright information updated.                                   
3.  ADMIN-DATA updated.                                                         
4.  Default value of parameter WdgDisableAllowed is 
changed to false and description updated.                                                       
5.  Description for container WdgExternalConfiguration is 
updated.                       
6.  Warranty Disclaimer description is updated.                                                   
7.  WDG_E_TRIGGER_TIMEOUT             
parameter in container WdgDemEventParameterRefs   
is removed as P1X do not support NMI mode. 
BSWMDT   
R403_WDG_P1x_BSWMDT.arxml 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  BSW-CALLED-ENTITY added for AUTOSAR API   
Wdg_GetVersionInfo                   
2.  Software patch version is updated.                               
3.  CAN-ENTER-EXCLUSIVE-AREA-REF is updated.                   
4.  Warranty Disclaimer description is updated.                                                     
5.  BSW-MODULE-ENTRY added for AUTOSAR APIs                                                                           
Page 49 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Source Code 
Wdg_59_DriverA.c 
1.0.14 
Following changes are made in Ver4.01.01.D:- 
1.  New Header file "Wdg_59_DriverA_RegWrite.h" is 
included to support Write verify functionality. 
2.  New macros WDG_59_DRIVERA_REG_WRITE , 
WDG_59_DRIVERA_REG_WRITE_VERIFY_INIT and 
WDG_59_DRIVERA_REG_WRITE_VERIFY_RUNTI
ME are added. 
3.  Wdg_59_DriverA_GetVersionInfo API is added 
4.  Wdg_59_DriverA_SetMode API is updated to add pre 
compile check to enable or disable E_MODE_FAILED and 
E_DISABLE_REJECTED DEM reporting. 
5.  Wdg_59_DriverA_SetMode, 
Wdg_59_DriverA_SetTriggerCondition and 
Wdg_59_DriverA_Init APIs are updated to remove 
implementation of 
'WDG_59_DRIVERA_DISABLE_ALLOWED' macro. 
6.  Wdg_59_DriverA_GetVersionInfo and 
Wdg_59_DriverA_Init APIs are updated to add proper 
justifications for pointer usage. 
7.  Wdg_59_DriverA_Trigger API is removed as it is 
applicable in Autosar lower version only, dead code 
removed 
8.  Wdg_59_DriverA_SetMode and 
Wdg_59_DriverA_SetTriggerCondition APIs are updated 
where usFastTimeValue and usSlowTimeValue are used 
to calculate Trigger counter and the check if these time 
values will be ZERO is removed. 
9.  Wdg_59_DriverA_Init API is updated to add DET 
reporting for WDG_E_PARAM_POINTER. 
10. 'WDG_ESDD_UD_XXX' and Req ID Tags are added. 
11. Wdg_59_DriverA_SetMode API is updated for updating 
Wdg_59_DriverA_GusTiggerCounter value. 
12. Requirements are mapped to code. 
Wdg_59_DriverA_Irq.c 
1.0.10 
Following changes are made in Ver4.01.01.D:- 
1.  WDG_59_DRIVERA_TRIGGERFUNCTION_ISR 
function is updated to add   
WDG_59_DRIVERA_INTERRUPT_CONSISTENCY 
_CHECK. 
2.  WDG_59_DRIVERA_ERROR_ISR 
Page 50 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
API is updated to add pre compile check to enable or 
disable E_MODE_FAILED DEM reporting. 
3.  Function 
WDG_59_DRIVERA_TRIGGERFUNCTION_ISR is 
updated with WDG_59_DRIVERA_E_DRIVER_STATE 
DET reporting and WDG driver state updation. 
4.  Function 
WDG_59_DRIVERA_ERROR_ISR is removed and 
WUFC 
register check is removed from 
WDG_59_DRIVERA_TRIGGERFUNCTION_ISR 
function, other dead code removed. 
5.  Added QAC warning justification for Msg (2:3892). 
6.  UD ID requirement tags added. 
7.  Function 
WDG_59_DRIVERA_TRIGGERFUNCTION_ISR is 
updated to remove uint16 typecast from 
WDG_59_DRIVERA_ZERO macro. 
8.  Requirements are mapped to code. 
Wdg_59_DriverA_Private.c 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
1.  New Header file "Wdg_59_DriverA_RegWrite.h" and 
rh850_Types.h included to support Write verify 
functionality. 
2.  New API Wdg_59_DriverA_SetModeDetCheck added. 
3.  Wdg_59_DriverA_TriggerFunc API updated to 
implement write verify, Read back functionality is 
removed as it is not supported. 
4.  Wdg_59_DriverA_InitDetCheck API is updated to 
remove NULL_PTR DET check. 
5.  Added QAC warning justification for Msg (2:3227) and 
Msg (2:2814). 
6.  Dead code removed. 
7.  UT ID TAG added for the non-covered parts of the code 
8.  'WDG_ESDD_UD_XXX' and Req ID Tags are added. 
9.  Wdg_59_DriverA_InitDetCheck API is updated to add 
uint16 typecast to WDG_59_DRIVERA_ZERO macro. 
10. Requirements are mapped to code. 
11. Wdg_59_DriverA_InitDetCheck and 
Wdg_59_DriverA_SetModeDetCheck API updated to 
remove compilation warning and UT ID TAG. 
Page 51 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
Wdg_59_DriverA_Ram.c 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
1.  READBACK_OPTION related code segment is removed. 
2.  Dead code is removed. 
3.  Memory section SEC_VAR_NOINIT_UNSPECIFIED 
and SEC_VAR_NOINIT_16 are renamed to 
SEC_VAR_NO_INIT_UNSPECIFIED and 
SEC_VAR_NOINIT_16. 
4.  'WDG_ESDD_UD_XXX' and Req ID Tags are added. 
5.  Variable type for Wdg_59_DriverA_GusTiggerCounter is 
changed from uint16 to uint32. 
6.  Variable Wdg_59_DriverA_GusTiggerCounter and 
Wdg_59_DriverA_GddDriverState declared volatile. 
7.  Requirements are mapped to code. 
Wdg_59_DriverA_Version.c 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  'WDG_ESDD_UD_XXX' and Req ID Tags are added. 
2.  Requirements are mapped to code. 
Wdg_59_DriverA.h 
1.0.8 
Following changes are made in Ver4.01.01.D:- 
1.  Added new DET macro, 
WDG_59_DRIVERA_E_PARAM_POINTER 
2.  Macro implementation of function 
Wdg_59_DriverA_GetVersionInfo is removed. 
3.  New macro 
WDG_59_DRIVERA_TRIGGERFUNCTION_ISR_ID is 
added to support DEM reporting from WDG servicing 
routine. 
4.  Lower version related code is removed. 
5.  'WDG_ESDD_UD_XXX' and Req ID Tags are added. 
6.  Requirements are mapped to code. 
Wdg_59_DriverA_Debug.h 
1.0.1 
  No changes for release Ver4.01.01.D 
Wdg_59_DriverA_Irq.h 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  Added macro 
WDG_59_DRIVERA_INTWDT_EIC_ADDR to support 
interrupt consistency check. 
2.  Copyright information is updated. 
3.  Lower version related code is removed. 
4.  'WDG_ESDD_UD_XXX' and Req ID Tags are added.   
5.  Requirements are mapped to code. 
Wdg_59_DriverA_PBTypes.h 
1.0.10 
Following changes are made in Ver4.01.01.D:- 
1.  Added macro 
WDG_59_DRIVERA_WDTAMD_MASK, 
Page 52 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
WDG_EIC_EIMK_MASK, 
WDG_59_DRIVERA_WDTAWDTE_MASK, 
WDG_59_DRIVERA_WDTAEVAC_MASK and 
removed macros related to READBACK functionality. 
2.  WDG_59_DRIVERA_THOUSAND macro is added to 
convert microseconds to milliseconds. 
3.  Lower version related code is removed. 
4.  Value for WDG_59_DRIVERA_ZERO, 
WDG_59_DRIVERA_THOUSAND updated. 
5.  Requirements are mapped to code. 
Wdg_59_DriverA_Private.h 
1.0.5 
Following change is made in Ver4.01.01.D:- 
1.  Requirements are mapped to code.   
Wdg_59_DriverA_Ram.h 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
1.  Lower version related code is removed. 
2.  Memory section 
SEC_VAR_NOINIT_UNSPECIFIED and 
SEC_VAR_NOINIT_16 are renamed to 
SEC_VAR_NO_INIT_UNSPECIFIED and 
SEC_VAR_NO_INIT_16. 
3.  Variable type for Wdg_59_DriverA_GusTiggerCounter is 
changed from uint16 to uint32. 
4.  Variable Wdg_59_DriverA_GusTiggerCounter and 
Wdg_59_DriverA_GddDriverState declared volatile. 
5.  Requirements are mapped to code. 
Wdg_59_DriverA_RegWrite.h 
1.0.0 
Initial Version 
Wdg_59_DriverA_Types.h 
1.0.5 
Following changes are made in Ver4.01.01.D:- 
1.  Structure STag_Wdg_59_DriverA_ConfigType is updated 
to remove element usDefaultTimeValue. 
2.  Copyright information is updated. 
3.  Lower version related code is removed. 
4.  'WDG_ESDD_UD_XXX' and Req ID Tags are added. 
5.  Variable type for usInitTimerCountValue, 
usSlowTimeValue and usFastTimeValue changed from 
uint16 to uint32. 
6.  Requirements are mapped to code. 
Wdg_59_DriverA_Version.h 
1.0.6 
Following changes are made in Ver4.01.01.D:- 
1.  Lower version related code is removed. 
2.  Copyright information is updated. 
3.  Requirements are mapped to code. 
Page 53 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
DLL executable code for WDG configuration generation 
Wdg_X1x.dll 
1.0.20 
Following change is made in Ver4.01.01.D:- 
1.  Tool .dll updated for tool code changes. 
Wdg_X1x.cfgxml 
1.0.0 
No changes for release Ver4.01.01.D 
X1x Common Sample Application Source file 
App_WDG_Common_Sample.c 
1.0.11 
Following changes is made in Ver4.01.01.D:- 
1.  Dead codes are removed. 
X1x Common Sample Application header file 
App_WDG_Common_Sample.h 
1.0.5 
No changes for release Ver4.01.01.D 
P1x Sample Application P1M Source file 
App_WDG_P1M_Sample.c 
1.0.5 
Following change is made in Ver4.01.01.D:- 
1. Notification function is added for successful compilation 
P1x Sample Application P1M header file 
App_WDG_P1M_Sample.h 
1.0.3 
No changes for release Ver4.01.01.D 
P1x User Manual 
R20UT3728EJ0100-AUTOSAR.pdf 
1.0.7 
Following changes are made in Ver4.01.01.D:- 
1.  Section 3.1.1 is updated to add 
Wdg_59_DriverA_RegWrite.h and remove 
Wdg_59_DriverA_RegReadBack.h file 
2.  Section 4.4 is updated for State diagram of WDG Driver. 
3.  Section 4.6 Deviation List is updated. 
4.  Section 4.8 Register Read-Back is changed to Register 
Write-verify. 
5.  Chapter 8 is updated to add 
Wdg_59_DriverA_RegWrite.h and remove 
Wdg_59_DriverA_RegReadBack.h file. Also add 
Wdg_59_DriverA_Cbk.h under generated file. 
6.  Table 8-1 is updated for Wdg_59_DriverA_RegWrite 
and Wdg_59_DriverA_Cbk.h and stub files. 
7.  Section 10.2.1 is updated to remove element 
usDefaultTimeValue. 
8.  Table 11.2 is updated to add new DEM errors. 
9.  Removed *.html and *.one files from section 13.2. 
10. Chapter 6 Register Details is updated. 
11. Chapter 12 Memory section is updated. 
12. Section 13.1.1 ISR Function Mapping Interrupt Vector 
Table is updated with note. 
13. Added a ‘Note’ below the table 'Supervisor mode and 
User mode details.         
Page 54 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
14. Table 11.1 is updated to add the DET error 
WDG_59_DRIVERA_E_PARAM_POINTER 
15. Chapter 14 Release details is updated with WDG Driver. 
16. Chapter 3 and 9 are updated with R-Numbered Tool User 
manual name. 
17. Version of R-number is updated at the end of document. 
18. Section 13.3 Memory and throughput Values are 
updated. 
19. Section 4.2 and 4.3 is updated with critical section 
information. 
20. Section 4.6 General is updated. 
21. Chapter 12 is updated to remove 
NO_INIT_RAM_16BIT and add 
NO_INIT_RAM_32BIT. 
R20UT3729EJ0100-AUTOSAR.pdf 
 1.0.5 
Following changes are made in Ver4.01.01.D:- 
1.  Chapters 1,3 and 5 are updated to add new output file 
Wdg_59_DriverA_Cbk.h 
2.  Updated Chapter 8.1, error message ERR102005 for new 
Dem parameters and removed ERR102009. 
3.  ERR102004 is updated to add new parameters under 
container WdgGeneral. 
4.  ERR102012 error message is updated, ERR102017 is 
deleted as READBACK feature is no longer supported. 
5.  Added new error IDs ERR102020, ERR102021 and 
ERR102022. 
6.  Chapter 8.3 is updated to add information messages 
INF102003 and INF102004. 
7.  Updated Chapter 2 to add PDF version. 
8.  Section 8.2 is updated to add new warning message 
WRN102002. 
9.  Table headers adder for Table 8.1 and Table 8.2 
7.3  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1x_AR4.0_KnownIssues_CW43_2016.xlsx. 
 
 
 
 
 
Page 55 of 56 

Renesas Electronics 
 
Release Date: 31/10/2016 
 
 
 
 
 
 
 
 
 
Page 56 of 56 

Document Outline


51 - Releasenotes_P1x_SPAL_R403_Ver4.02.01.D

Releasenotes_P1x_SPAL_R403_Ver4.02.01.D

53 - Releasenotes_P1x_SPAL_R403_Ver4.02.01.Ds

Renesas Electronics 
 
Release Date: 24/02/2017 
 
Release Notes for RENESAS RH850/P1x: 
RENESAS_SW-AUTOSAR-P1x: MCAL Ver4.02.01.D 
MP Quality 
1.1  Purpose: 
To deliver AUTOSAR R4.0.3 MCAL software for P1x Ver4.02.01.D release using the following 
inputs. 
 
        Device Manual:                    r01uh0436ej0130-rh850p1x.pdf 
 
        Device File:  
                DF-RH850P1M-EE_V120.zip 
 
        Operating Precautions:    R01TU0069ED0300_RH850.pdf 
                                                   
        Modules supported:          DIO, FLS, MCU, PORT, SPI and WDG. 
 
 
 
 
 
 
 
 
Note: In case of integration of this product into safety related applications please contact Renesas for 
additional safety related work products. 
 
Page 1 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
1.2 
Package information 
Product   
RH850/P1x 
Variant 
P1M 
Product Release Version 
Ver4.02.01.D 
AUTOSAR Specification Version 
4.0.3 
Device tested on 
P1M - R7F701318 
P1M - R7F701310 
Devices supported 
RH850/P1M 
R7F701310 
R7F701311 
R7F701314   
R7F701315   
R7F701318 
R7F701319   
R7F701322   
R7F701323   
Release Date 
24-Feb-2017 
 
Additional to the above list, the following derivatives (with ICU-S units) are also supported: 
 
ICU-S Devices supported 
R7F701362 
R7F701363 
R7F701366 
R7F701367 
 
As there was no impact on MCAL identified due to the ICU-S unit, Renesas recommends to use the below equivalent 
devices part number without ICU-S unit, during MCAL configuration, instead of the actual device part number with 
ICU-S unit: 
 
Device (with ICU-S Support) 
Equivalent device(w/o ICU-S support) 
R7F701362 
R7F701318 
R7F701363 
R7F701319 
R7F701366 
R7F701322 
R7F701367 
R7F701323 
 
Page 2 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
1.3  Tools   
1.3.1  GHS 
Tool 
Version 
Options 
GreenHills 
Green Hills Multi 
-c -Osize -g -cpu=rh850g3m -gsize -prepare_dispose 
Multi IDE – 
V6.1.6 Compiler 
-inline_prologue -sda=all -Wundef -no_callt -reserve_r2 
--short_enum --prototype_errors --diag_error 193 
compiler 
Version 2015.1.7 
-dual_debug -large_sda --no_commons -shorten_loads 
 
-shorten_moves -Wshadow -nofloatio 
-ignore_callt_state_in_interrupts -delete 
1.3.2  Configuration code generator 
Tool 
Version 
Options 
ECU Spectrum 
4.0.14 

1.3.3  Additional software 
Tool 
Version 
Options 
NA 


 
1.4  Generic Information 
1.4.1  Release Target 
Processor 
P1M - R7F701318 
Module 
Generic 
Module Overview User Manual 
R20UT3752EJ0101-AUTOSAR.pdf – V1.0.10 
Getting Started for P1x MCAL User 
R20UT3753EJ0101-AUTOSAR.pdf – V1.0.8 
Manual 
Date 
24-Feb-2017 
1.4.2  Release Items 
Filename 
Version 
Change Description 
Generator Files 
P1x_translation.h   
1.0.8 
Following changes are made in Ver4.02.01.D:     
1.  Updated supported devices list in 'Environment'. 
2.  Updated copyright information. 
Common Files 
ComStack_Types.h   
1.0.1 
  No changes for release Ver4.02.01.D 
Std_Types.h   
1.0.1 
  No changes for release Ver4.02.01.D 
Page 3 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
rh850_Types.h 
1.0.4 
No changes for release Ver4.02.01.D 
Platform_Types.h   
1.0.1 
No changes for release Ver4.02.01.D 
Compiler Files 
Compiler.h 
1.0.5 
No changes for release Ver4.02.01.D 
Compiler_Cfg.h   
1.0.5 
No changes for release Ver4.02.01.D 
MemMap.h   
1.0.10 
  Following changes are made in Ver4.02.01.D:- 
1.  Copyright information is updated. 
2.  Memory section 
FLS_START_SEC_PRIVATERAM_CODE and 
FLS_STOP_SEC_PRIVATERAM_CODE added for FLS 
module. 
Os.h   
1.0.1 
No changes for release Ver4.02.01.D 
Os.c   
1.0.2 
No changes for release Ver4.02.01.D 
RUCG Tool 
RUCG.exe 
1.1 
No changes for release Ver4.02.01.D 
 
Getting Started for P1x MCAL User Manual 
R20UT3753EJ0101-AUTOSAR.pdf 
1.0.8 
  Following changes are made in Ver4.02.01.D:- 
1.  Added R-number. 
2.  Updated Notice and copyright information. 
Module Overview User Manual 
R20UT3752EJ0101-AUTOSAR.pdf 
1.0.10 
  Following changes are made in Ver4.02.01.D:- 
1.  New section 3.4 added for Deviation List. 
2.  Updated section 3.2 ‘RH850 Macros Definition’ for adding 
explanation regarding usage and modification of macros. 
3.  Updated R-Number. 
4.  Updated notice and copyright information. 
5.  Removed 3.2.2 related information from Chapter 2 
‘Reference Documents’ and ‘Definitions’. 
6.  Corrected page numbers 
RUCG Tool User Manual 
R20UT3754EJ0101-AUTOSAR.pdf 
1.1.3 
Following change is made in Ver4.02.01.D:- 
1. Updated notice and copyright information. 
2. Updated R Number. 
Page 4 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
1.4.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1M_FixedIssues_Ver4.02.01.D.xlsx. 
1.4.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1M_KnownIssues_QM_CW08_2017.xlsx. 
Page 5 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
1.5  Module Index 
 
DIO 
 
FLS 
 
MCU 
 
PORT 
 
SPI 
 
WDG 
 
 
 
 
 
 
 
 
 
Page 6 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
2  DIO 
2.1  Target Info 
Processor 
P1M - R7F701318 
Module 
DIO 
Software Version 
1.0.12 
Embedded User Manual 
R20UT3708EJ0101-AUTOSAR.pdf – V1.0.10 
Tool User Manual 
R20UT3709EJ0101-AUTOSAR.pdf – V1.0.6 
Date 
24-Feb-2017 
2.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_DIO_P1M_04_05_12_13_20_
1.0.6 
Following changes are made in Ver4.02.01.D:- 
21.arxml 
1.  For Requirement TPS_ECUC_06004, ADMIN-DATA 
section is updated.   
2.  Updated Copyright information. 
R403_DIO_P1M_10_11_14_15_18_
1.0.7 
Following changes are made in Ver4.02.01.D:- 
19_22_23.arxml 
1.  For Requirement TPS_ECUC_06004, ADMIN-DATA 
section is updated.   
2.  Updated Copyright information. 
BSWMDT   
R403_DIO_P1x_BSWMDT.arxml 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  Corrected Service ID of API Dio_Init to decimal value. 
2.  Copyright information is updated. 
3.  Software patch version is updated. 
Source Code 
Dio.c 
1.0.24 
Following changes are made in Ver4.02.01.D:- 
1.  Removed unnecessary Requirement tag 
'EAAR_PN0034_FR_0017' and corrected requirement 
'DIO140' in Dio_WritePort. 
2.  Copyright information is updated. 
3.  Added inclusion of "Dio_RegWrite.h". 
Dio_Ram.c 
1.0.9 
No changes for release Ver4.02.01.D 
Dio_Version.c 
1.0.7 
No changes for release Ver4.02.01.D 
Dio.h 
1.0.14 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to 'DIO_H_00x :'. 
2.  Inclusion of "Dio_RegWrite.h" is removed and numeric 
Page 7 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
values are appended with 'U' for macro definitions. 
3.  Copyright information is updated.   
Dio_Debug.h 
1.0.5 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to 'DIO_H_00x :'. 
2.  Copyright information is updated. 
Dio_PBTypes.h 
1.0.15 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to 'DIO_H_00x :'. 
2.  Numeric values are appended with 'U' for macro 
definitions. 
3.  Copyright information is updated. 
Dio_Ram.h 
1.0.13 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to 'DIO_H_00x :'. 
2.  Copyright information is updated   
Dio_RegWrite.h 
1.0.1 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to 'DIO_H_00x :'. 
2.  Copyright information 'Copyright(c) 2017' corrected to 
'Copyright(c) 2016-2017'. 
3.  Removed macro 'DIO_DEM_TYPE' 
Dio_Version.h 
1.0.10 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to 'DIO_H_00x :'. 
2.  Included "Dem.h" file. 
3.  Copyright information is updated. 
DLL executable code for DIO configuration generation 
Dio_X1x.dll 
1.0.19 
Following change is made in Ver4.02.01.D:-   
1.  Tool .dll updated for tool code changes. 
Dio_X1x.cfgxml 
1.0.2 
Following changes are made in Ver4.02.01.D:- 
1.  A new filter option, <FILTER-RENESAS> is added to 
handle multiple module instances 
2.  Copyright information updated 
P1x Sample Application P1M Source file 
App_DIO_P1M_Sample.c 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  Sample application is updated as per requirement 
EAAR_PN0061_NR_0006. 
2.  Copyright Information updated. 
3.  Updated Sample application for checking all ports, 
channels and channel groups. 
P1x Sample Application P1M Header file 
App_DIO_P1M_Sample.h 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  Sample application is updated as per requirement 
Page 8 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
EAAR_PN0061_NR_0006. 
2.  Copyright Information updated. 
3.  Updated Sample application for checking all ports, 
channels and channel groups. 
P1x User Manual 
R20UT3708EJ0101-AUTOSAR.pdf 
1.0.10 
Following changes are made in Ver4.02.01.D:- 
1.  Section 10.3 Function Definitions updated. 
2.  Updated Chapter 11 Development and Production Errors. 
3.  Abbreviations and Acronyms updated. 
4.  Chapter 2 ‘Reference section’ updated. 
5.  R Number updated. 
6.  Updated Driver Version Details in Chapter 14 ‘Release 
Details’. 
7.  Updated section 13.3 ‘Memory and Throughput’. 
8.  Updated chapter 4 ‘Forethoughts’. 
9.  Updated notice and copyright information. 
10. Modified Figure 5-2 in chapter 5. 
R20UT3709EJ0101-AUTOSAR.pdf 
 1.0.6 
Following changes are made in Ver4.02.01.D:- 
1.  R Number updated. 
2.  Updated notice and copyright information 
3.  Updated Abbreviations and Acronyms 
4.  Page numbers corrected. 
5.  Updated chapter 2 References. 
2.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1M_FixedIssues_Ver4.02.01.D.xlsx. 
2.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1M_KnownIssues_QM_CW08_2017.xlsx. 
 
 
 
Page 9 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
3  FLS 
3.1  Target Info 
Processor 
P1M - R7F701318 
P1M - R7F701310 
Module 
FLS 
Software Version 
V1.0.4 
Embedded User Manual 
R20UT3710EJ0101-AUTOSAR.pdf – V1.0.4 
Tool User Manual 
R20UT3711EJ0101-AUTOSAR.pdf – V1.0.8 
Date 
24-Feb-2017 
3.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_FLS_P1M_04_05_10_to_15.arx
1.1.6 
Following changes are made in Ver4.02.01.D:-   
ml 
1.  For Requirement TPS_ECUC_06004, ADMIN-DATA 
section is updated. 
2.  Updated Copyright information.   
R403_FLS_P1M_18_to_23.arxml 
1.0.6 
Following changes are made in Ver4.02.01.D:-   
1.  For Requirement TPS_ECUC_06004, ADMIN-DATA 
section is updated. 
2.  Updated Copyright information.   
BSWMDT   
R403_FLS_P1x_BSWMDT.arxml 
1.0.9 
Following changes are made in Ver4.02.01.D:-   
1.  Updated software patch version. 
2.  Updated Copyright information. 
3.  The tag IMPLEMENTED-ENTRY-REF is moved after 
MINIMUM-START-INTERVAL tag in scheduled function 
Fls_Mainfunction.Also multiple EXCLUSIVE-AREAS 
tags are removed from inside 
BSW-INTERNAL-BEHAVIOR section. 
4.  Decimal values are given to the Service ID's of the API's 
Fls_ReadImmediate,Fls_BlankCheck,Fls_Suspend, 
Fls_Resume and Fls_GetVersionInfo. 
Source Code 
Fls.c 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Elements of structure "Fls_GstVarProperties" are renamed. 
2.  Copyright information is updated.   
3.  Call of Fls_TimeOutCheckAndProcessing() is moved into 
Page 10 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
the command switch case for erase, write and blank check. 
4.  Removed unnecessary mapping of requirements 
AR_PN0040_FR_0017 and EAAR_PN0034_FR_0017. 
5.  Message tag for Msg(4:0857) added in AUTOSAR release 
version information and Fls_Init API. 
Fls_Irq.c 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Elements of structure "Fls_GstVarProperties" are renamed. 
2.  Copyright information is updated. 
3.  Justification for Misra warning 4:0857 is added. 
Fls_Internal.c 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Copyright information is updated. 
2.  Elements of structure "Fls_GstVarProperties" are renamed. 
3.  Message tag for Msg (4:0857) added in 
Fls_InitiateWriteJob API. 
4.  Fls_ProcessCancel, Fls_TimeOutCheckAndProcessing, 
Fls_ProcessRead and Fls_ProcessJobResult APIs are 
improved to report FLS_FCU_ERR_INTERNAL in case 
of malfunctioning of Fls_FcuSwitchMode API. 
5.  Global variable Fls_GblTimeOutMonitor is cleared in 
functions Fls_ProcessJobResult,Fls_ProcessSuspend and 
Fls_CancelInternal APIs. Also 
Fls_TimeOutCheckAndProcessing is modified regarding 
DET report in case of timeout error. 
6.  Message tag for Msg (4:0857) added in AUTOSAR release 
version information and Fls_PreFcuInitCheck API. 
Fls_Private_Fcu.c 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Fls_FcuSwitchMode API is updated for Write-Verify 
implementation of FENTRYR register. 
2.  Copyright information is updated. 
3.  Fls_FcuSwitchMode is improved to handle mode switch to 
USER and mode switch to P/E separately and 
Fls_FcuCheckSequencerStatus is added to check 
FENTRYR register to identify command lock state. 
4.  Fls_FcuForcedStop is updated to check for CMDLK bit. 
5.  Fls_FcuCopytoRam 
Fls_FcuSwitchBFlash,Fls_FcuClearCache and 
Fls_FcuGetFWParam APIs are moved to new memory 
section FLS_START_SEC_PRIVATERAM_CODE. 
6.  Elements of structure "Fls_GstVarProperties" are renamed. 
7.  Message tags for Msg (4:0303) added in 
Page 11 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
Fls_FcuSwitchBFlash API and Msg (4:1290) in 
Fls_FcuSwitchMode API. Justification for Msg(4:0857) 
added and message tags added for 
Fls_FcuPrepareEnvironment and Fls_FcuForcedStop APIs. 
8.  Removed unnecessary mapping of requirement 
AR_PN0072_FR_0017. 
9.  Fls_FcuClearStatus API is updated to remove error bit 
checking. 
10. Added unit design ID in the API 
Fls_FcuCheckSequencerStatus. 
11. Fls_FcuForcedStop API is updated to check for FRDY bit 
using FLS_FCU_FRDY_POOL_COUNT value. 
12. UT ID Tag FLS_UT_002 added for the uncovered parts of 
the code during Unit Testing. 
Fls_Ram.c 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Fls_GbIntrRqstFlag changed to Fls_GblIntrRqstFlag. 
2.  Copyright information is updated. 
3.  Comments added to justify usage of Global variables. 
Fls_Version.c 
1.0.1 
No changes for release Ver4.02.01.D 
Fls.h 
1.0.3 
No changes for release Ver4.02.01.D 
Fls_Debug.h 
1.0.1 
No changes for release Ver4.02.01.D 
Fls_Internal.h 
1.0.2 
No changes for release Ver4.02.01.D 
Fls_Private_Fcu.h 
1.0.3 
Following changes are made in Ver4.02.01.D:-   
1.  Added Fls_FcuCheckSequencerStatus API declaration. 
2.  Copyright information is updated. 
3.  Fls_FcuCopytoRam 
Fls_FcuSwitchBFlash,Fls_FcuClearCache and 
Fls_FcuGetFWParam APIs are moved to new memory 
section FLS_START_SEC_PRIVATERAM_CODE. 
Fls_Irq.h 
1.0.2 
Following changes are made in Ver4.02.01.D:-   
1.  Switch FLS_INTERRUPT_MODE is added for declaration 
of Interrupt FLS_FLENDNM_ISR. 
2.  Copyright information is updated. 
Fls_PBTypes.h 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Added FLS_FCU_FRDY_POOL_COUNT macro. 
2.  Copyright information is updated. 
3.  Updated memclass of 
Fls_GulTempBuffer.Fls_GblSuspendStatus is removed as 
there is no usage. 
Page 12 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
4.  Value of the macro 
FLS_FCU_REGBIT_FASTAT_CMDLK is typecasted to 
uint8 
Fls_Ram.h 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Fls_GbIntrRqstFlag changed to Fls_GblIntrRqstFlag. 
2.  Copyright information is updated. 
3.  Comments added to justify usage of Global variables. 
Fls_RegWrite.h 
1.0.1 
Following changes are made in Ver4.02.01.D:-   
1.  Copyright information is updated. 
2.  Macro banner for FLS_REG_WRITE_VERIFY_INIT is 
updated. 
Fls_Types.h 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Elements of structure "Fls_GstVarProperties" are renamed. 
2.  Copyright information is updated. 
Fls_Version.h 
1.0.1 
No changes for release Ver4.02.01.D 
DLL executable code for FLS configuration generation 
Fls_X1x.dll 
1.3.11 
Following change is made in Ver4.02.01.D:-   
1.  Tool .dll updated for tool code changes. 
Fls_X1x.cfgxml 
1.0.1 
Following changes are made in Ver4.02.01.D:-   
1.  A new filter option, <FILTER-RENESAS> is added to 
handle multiple module instances.   
2.  Copyright information is updated. 
X1x Common Sample Application Source file 
App_FLS_Common_Sample.c 
1.1.14 
Following changes are made in Ver4.02.01.D:-   
1.  Ghs section FLS_SAMPLE_CODE_RAM changed to 
FLS_SAMPLE_CODE_ROM 
2.  Copyright information is updated. 
3.  Test script is updated for Delay function 
X1x Common Sample Application header file 
App_FLS_Common_Sample.h 
1.0.3 
Following changes are made in Ver4.02.01.D:-   
1.  Copyright information is updated. 
2.  Macro FLS_TEN is added to optimize testing 
P1x Sample Application P1M Source file 
App_FLS_P1M_Sample.c 
1.0.1 
No changes for release Ver4.02.01.D 
P1x Sample Application P1M header file 
App_FLS_P1M_Sample.h 
1.0.2 
No changes for release Ver4.02.01.D 
P1x User Manual 
R20UT3710EJ0101-AUTOSAR.pdf 
1.0.4 
Following changes are made in Ver4.02.01.D:-   
1.  Updated Table for Abbreviations and Acronyms to remove 
Page 13 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
unused Abbreviations/ Acronyms. 
2.  Updated Chapter 2 Reference Documents. 
3.  3. Updated section 4.1 ‘General’ to add information about 
Read, Read Immediate, Suspend and Resume operations. 
4.  Updated section 4.2 ‘Preconditions’ to add information 
about BlankCheck operation. 
5.  Updated Chapter 3 and Chapter 9 to rename the FLS 
Driver Generation Tool reference document. 
6.  Updated Section 13.3.1 with ROM/RAM usage values. 
7.  Updated Section 13.3.3 ‘Throughput Details’ to add Note 
under Table 13-6 Throughput Details of the APIs and 
updated the Throughput details. 
8.  Updated section 12 ‘Memory Organization’ to remove 
unused memory segments and their descriptions. 
9.  Updated Chapter 14 for FLS Driver Software version. 
10. Updated notice, address and copyright information’s. 
11. Version of R-number is updated at the end of document. 
12. Updated Section 7.1 to add Cautions. 
13. Updated Section 10.3 with the details of Fls_Resume API. 
R20UT3711EJ0101-AUTOSAR.pdf 
1.0.8 
Following changes are made in Ver4.02.01.D:-   
1.  Abbreviation and Acronyms list is updated. 
2.  Updated Section 2.1 for Document versions. 
3.  Table headers are updated in section 8.1 to specify correct 
ERR Ids. 
4.  Updated R Number. 
5.  Updated notice, address and copyright information’s. 
6.  Error message ERR092033 is added in section 8.1. 
3.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1M_FixedIssues_Ver4.02.01.D.xlsx. 
3.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1M_KnownIssues_QM_CW08_2017.xlsx. 
Page 14 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
4  MCU 
4.1  Target Info 
Processor 
P1M - R7F701318 
Module 
MCU 
Software Version 
V1.0.8 
Embedded User Manual 
R20UT3720EJ0101-AUTOSAR.pdf– V1.0.9 
Tool User Manual 
R20UT3721EJ0101-AUTOSAR.pdf– V1.0.8 
Date 
24-Feb-2017 
4.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_MCU_P1M_04_05.arxml 
1.1.9 
Following change is made in Ver4.02.01.D:- 
1.  Description of McuLoopCount is updated 
R403_MCU_P1M_10_to_15_18_to_
1.0.6 
Following change is made in Ver4.02.01.D:- 
23.arxml 
1.  Description of McuLoopCount is updated 
BSWMDT 
R403_MCU_P1x_BSWMDT.arxml 
1.0.10 
Following changes are made in Ver4.02.01.D:- 
1.  Software Version is updated.   
2.  Fixed all AMDC rule violations. 
Source Code 
Mcu.c 
1.0.10 
Following changes are made in Ver4.02.01.D:- 
1.  Updated Mcu_Init for initialisation of Global variables. 
2.  Removed multiple declarations in same line from 
Mcu_HWInit. 
3.  Removed justification for MISRA Msg(4:0857) and 
Msg(4:3218) and updated Mcu_StartUPTest for fixing 
MISRA warnings. 
4.  Modified naming of local variable in function 
Mcu_GetResetRawValue. 
5.  Declaration of local variables are changed for using 
macros. 
6.  Updated macros MCU_PROTECTEDWRITE and 
MCU_PROTECTEDWRITERETNONE as per naming 
convention. 
7.  Values move to LHS during comparison and proper 
spacing provided as per coding guidelines. 
Mcu_Irq.c 
1.0.10 
Following changes are made in Ver4.02.01.D:- 
Page 15 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
1.  Declaration of local variables are changed for using 
macros. 
2.  Updated macros MCU_PROTECTEDWRITE and 
MCU_PROTECTEDWRITERETNONE as per naming 
convention. 
Mcu_Ram.c 
1.0.6 
No changes for release Ver4.02.01.D 
Mcu_Version.c 
1.0.4 
No changes for release Ver4.02.01.D 
Mcu.h 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to MCU_H_00x. 
2.  Corrected macros MCU_PROTECTEDWRITE and 
MCU_PROTECTEDWRITERETNONE as per naming 
convention. 
Mcu_Debug.h 
1.0.4 
Following change is made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to MCU_H_00x. 
Mcu_Irq.h 
1.0.4 
Following change is made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to MCU_H_00x. 
Mcu_PBTypes.h 
1.0.8 
Following changes are made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to MCU_H_00x. 
2.  Removed macros MCU_CLMA0_DELAY_CNT, 
MCU_CLMA1_DELAY_CNT, 
MCU_CLMA2_DELAY_CNT and 
MCU_CLMA3_DELAY_CNT as these are not used. 
Mcu_Ram.h 
1.0.7 
Following change is made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to MCU_H_00x. 
Mcu_RegWrite.h 
1.0.1 
Following changes are made in Ver4.02.01.D:- 
1.  Added justification for MISRA Msg(4:0857). 
2.  Added subfix for macros. 
Mcu_Types.h 
1.0.8 
Following change is made in Ver4.02.01.D:- 
1.  Rrequirement tag 'implements' changed to MCU_H_00x. 
Mcu_Version.h 
1.0.3 
Following change is made in Ver4.02.01.D:- 
1.  Requirement tag 'implements' changed to MCU_H_00x. 
DLL executable code for MCU configuration generation 
Mcu_P1x.dll 
1.1.5 
Following change is made in Ver4.02.01.D:-   
1.  Tool .dll updated for tool code changes. 
Mcu_P1x.cfgxml 
1.0.1 
Following changes are made in Ver4.02.01.D:- 
1.  A new filter option, <FILTER-RENESAS> is added to 
handle multiple module instances.           
2.  Copyright information updated. 
Page 16 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
P1x Sample Application P1M Source file 
App_MCU_P1M_Sample.c 
1.0.6 
Following change is made in Ver4.02.01.D:- 
1.  Corrected macros MCU_PROTECTEDWRITE as per 
naming convention. 
P1x Sample Application P1M Header file 
App_MCU_P1M_Sample.h 
1.0.3 
No changes for release Ver4.02.01.D 
P1x User Manual 
R20UT3720EJ0101-AUTOSAR.pdf 
1.0.9 
Following changes are made in Ver4.02.01.D:- 
1.  Abbreviations and Acronyms updated. 
2.  Chapter 14, Release Details updated. 
3.  Updated R number, Notice and Copyright information. 
4.  Section 13.3 Memory and Throughput Details updated.   
R20UT3721EJ0101-AUTOSAR.pdf 
1.0.8 
Following changes are made in Ver4.02.01.D:- 
 
1.  Updated Abbreviations and Acronyms. 
2.  Updated Error ERR101044. 
3.  Updated R number. 
4.  Updated Notice and Copyright information. 
4.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1M_FixedIssues_Ver4.02.01.D.xlsx. 
4.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1M_KnownIssues_QM_CW08_2017.xlsx. 
 
 
Page 17 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
5  PORT 
5.1  Target Info 
Processor 
P1M - R7F701318 
Module 
PORT 
Software Version 
V1.5.4 
Embedded User Manual 
R20UT3722EJ0101-AUTOSAR.pdf – V1.0.9 
Tool User Manual 
R20UT3723EJ0101-AUTOSAR.pdf – V1.0.9 
Date 
24-Feb-2017 
5.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_PORT_P1M_04_05.arxml 
1.0.5 
Following changes are made in Ver4.02.01.D:                                                 
1.  Parameter    PortPinLevelValue is removed from 
PortGroupJtag0:Pin2 and PortPinLevelValue, 
PortPullUpOption,PortPullDownOption, 
PortInputBufferControl,PortBiDirectionControl are 
removed from PortGroupJtag0:Pin4 
2.  Copyright information is updated 
3.  ADMIN-DATA section updated as per the requirement 
TPS_ECUC_06004 
R403_PORT_P1M_12_13.arxml 
1.0.6 
Following changes are made in Ver4.02.01.D:                                                                                     
1.  Parameter PortPinLevelValue is removed and 
PortInputBufferControl, PortPullUpOption, 
PortPullDownOption are added in PortGroupJtag0:Pin2 and 
PortPinLevelValue, PortPullUpOption, 
PortPullDownOption, 
PortInputBufferControl,PortBiDirectionControl are 
removed from PortGroupJtag0:Pin4. 
2.  Copyright information is updated 
3.  ADMIN-DATA section updated as per the requirement 
TPS_ECUC_06004 
R403_PORT_P1M_18_19_22_23.ar
1.0.5 
Following changes are made in Ver4.02.01.D:- 
xml 
1.  Literal of the parameter PortPinInitialMode is corrected for 
PortGroup5:Pin7 
2.  Parameter PortPullUpOption is added to Portgroup3:Pin5   
3.  Parameters PortPinLevelValue, PortPullUpOption, 
Page 18 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
PortPullDownOption, PortInputBufferControl, 
PortBiDirectionControl are removed 
fromPortGroupJtag0:Pin4 and PortPinLevelValue is 
removed from PortGroupJtag0:Pin2.     
4.  Corrected the Range of the parameter 
PortNumberOfPortPins         
5.  Copyright information is updated 
6.  ADMIN-DATA section updated as per the requirement 
TPS_ECUC_06004 
R403_PORT_P1M_20_21.arxml 
1.0.5 
Following changes are made in Ver4.02.01.D:- 
1.  Parameters PortPinLevelValue, PortPullUpOption, 
PortPullDownOption, PortInputBufferControl, 
PortBiDirectionControl are removed from, 
PortGroupJtag0:Pin4 and PortPinLevelValue is removed 
from PortGroupJtag0:Pin2. 
2.  Copyright information is updated 
3.  ADMIN-DATA section updated as per the requirement 
TPS_ECUC_06004 
R403_PORT_P1M_10_11_14_15.ar
1.0.8 
Following changes are made in Ver4.02.01.D:- 
xml 
1.  Parameter PortPullUpOption is added to PortGroup2:Pin15 
and Portgroup3:Pin5. 
2.  Parameters PortPinLevelValue, PortPullUpOption, 
PortPullDownOption, PortInputBufferControl, 
PortBiDirectionControl are removed from 
PortGroupJtag0:Pin4 and the parameters 
PortPullUpOption,PortPullDownOption are added in 
PortGroupJtag0:Pin2.             
3.  Corrected the Range of the parameter 
PortNumberOfPortPins 
4.  Copyright information is updated 
5.  ADMIN-DATA section updated as per the requirement 
TPS_ECUC_06004 
BSWMDT 
R403_PORT_P1x_BSWMDT.arxml 
1.0.7 
Following changes are made in Ver4.02.01.D:                                                                                     
1.  SW-VERSION is updated 
2.  Copyright information is updated. 
Source Code 
Port.c 
1.5.13 
Following changes are made in Ver4.02.01.D:- 
1.  Write verify check on PSR register is updated in the 
Page 19 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
function Port_PinModeHWRegSet. 
2.  Missing UD IDs are added 
3.  Macro Port_ProtectedWrite is changed to upper case 
4.  Typecasting to PORT_DEM_TYPE is removed in the 
Dem_ReportErrorStatus call 
5.  Port_SetToDioOrAltMode() is updated 
6.  Multiplication operator is replaced with AND in the 
functions Port_DriveUnivCtrlRegInit Port_SetPinDirection 
and Port_OpenDrainCtrlRegInit 
7.  Unwanted MISRA violations (4:2962) and (4:1891) are 
removed. 
Port_Ram.c 
1.0.5 
No changes for release Ver4.02.01.D 
Port_Version.c 
1.0.5 
No changes for release Ver4.02.01.D 
Port.h 
1.5.7 
Following changes are made in Ver4.02.01.D:-   
1.  Updated the format of requirement tags 
2.  Macro Port_ProtectedWrite is changed to upper case and 
added suffix "U" to all macros 
3.  Variable Port_GstConfiguration is made dimensional to 
remove the QAC warning Msg (4:3684) 
Port_Debug.h 
1.0.3 
Following change is made in Ver4.02.01.D:- 
1.  Updated the format of requirement tags. 
Port_PBTypes.h 
1.4.10 
Following changes are made in Ver4.02.01.D:-   
1.  Updated the format of requirement tags 
2.  Macro PORT_DEM_TYPE is removed. Added suffix "U" 
to all the macros. Global arrays are made dimensional. 
Structure name is updated in the union 
Port_Pin_DioOrAltMode to make it unique.                                   
Macro PORT_LONG_WORD_ZERO is added. Tag name 
is    added for the structure inside the union 
Port_Pin_DioOrAltMode and Port_Pin_Direction 
Port_Ram.h 
1.0.4 
Following change is made in Ver4.02.01.D:- 
1.  Updated the format of requirement tags. 
Port_RegWrite.h 
1.0.1 
Following changes are made in Ver4.02.01.D:-   
1.  Updated the format of requirement tags 
2.  PORT_DEM_TYPE is removed from the macro 
PORT_WV_REPORT_ERROR and added suffix "U" to 
write verify macros 
Port_Types.h 
1.3.4 
Following change is made in Ver4.02.01.D:- 
1.  Updated the format of requirement tags. 
Page 20 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
Port_Version.h 
1.0.7 
Following change is made in Ver4.02.01.D:- 
1.  Updated the format of requirement tags. 
DLL executable code for PORT configuration generation 
Port_X1x.dll 
1.3.15 
Following change is made in Ver4.02.01.D:-   
1.  Tool .dll updated for tool code changes. 
Port_X1x.cfgxml 
1.0.1 
Following changes are made in Ver4.02.01.D:-   
1.  A new filter option, <FILTER-RENESAS> is added to 
handle multiple module instances. 
2.    Copyright information updated 
P1x Sample Application P1M Source file 
App_PORT_P1M_Sample.c 
1.0.7 
Following changes are made in Ver4.02.01.D:-   
1.  WriteVerifyErrorNotify function added. 
2.  Copyright information updated 
P1x Sample Application P1M Header file 
App_PORT_P1M_Sample.h 
1.0.1 
No changes for release Ver4.02.01.D 
P1x User Manual 
R20UT3722EJ0101-AUTOSAR.pdf 
1.0.9 
Following changes are made in Ver4.02.01.D:-   
1.  Section 4.1.General is updated with the information on pin 
level of output pin. 
2.  Deviation regarding the parameter PortPinlevelValue of 
JTag PortPin is removed from the section 4.5.Deviation List 
3.  Abbreviation list is updated. 
4.  Section 10.3 Function Definitions is updated 
5.  Chapter 2 Reference documents is updated for device 
manual name and version change. 
6.  Chapter 14 Release Details is updated with Port Driver 
Software version. 
7.  Version of R-number is updated at the end of document 
8.  Notice is updated 
9.  Section 4.1.General is updated with the information on 
default value of PortLoopTimeout 
10. Section 13.2.2.2 is updated with 701318 device information 
11. Chapter 3 and 9 are updated with R-Numbered Tool User 
manual name. 
12. Chapter 13.3. Memory and Throughput is updated 
13. Known limitation added for user mode in the section 4.3 
14. Macros PORT_MODE_DIO" and 
"PORT_MODE_ADJUST" added in Section 10.2.4. 
15. Information on Port_SetPinDefaultDirection and 
Page 21 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
Port_SetPinDefaultMode added in Chapter 5. 
R20UT3723EJ0101-AUTOSAR.pdf 
1.0.9 
Following changes are made in Ver4.02.01.D:-   
1.  Abbreviation list is updated. 
2.  R number is updated at end of the document 
3.  Notice is updated 
4.  Version of Parameter definition files updated in the section 
2.1.Reference Documents 
5.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1M_FixedIssues_Ver4.02.01.D.xlsx. 
5.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1M_KnownIssues_QM_CW08_2017.xlsx. 
 
Page 22 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
6  SPI 
6.1  Target Info 
Processor 
P1M - R7F701318 
Module 
SPI 
Software Version 
V1.6.5 
Embedded User Manual 
R20UT3726EJ0101-AUTOSAR.pdf – V1.0.11 
Tool User Manual 
R20UT3727EJ0101-AUTOSAR.pdf – V1.0.12 
Date 
24-Feb-2017 
6.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_SPI_P1M_04_05_12_13_20_2
1.0.8 
Following changes are made in Ver4.02.01.D:-   
1.arxml 
 
1.  Default value, MIN value and description of SpiTimeOut is 
updated. 
2.  Copyright information is updated 
3.  Spelling corrected in the description of 
SPI_E_ECC_SELFTEST_FAILURE updated. 
R403_SPI_P1M_10_11_14_15_18_1
1.0.8 
Following changes are made in Ver4.02.01.D:-   
9_22_23.arxml 
 
4.  Default value, MIN value and description of SpiTimeOut is 
updated. 
5.  Copyright information is updated 
6.  Spelling corrected in the description of 
SPI_E_ECC_SELFTEST_FAILURE updated. 
BSWMDT   
R403_SPI_P1x_BSWMDT.arxml 
1.0.11 
Following changes are made in Ver4.02.01.D:-   
1.  Copyright information is updated. 
2.  Order of IS-REENTRANT is corrected in 
BSW-MODULE-ENTRY 
3.  Spi_GetErrorInfo is mentioned in BSW-CALLED-ENTITY. 
4.  Software version information is updated. 
Source Code 
Spi.c 
1.5.11 
Following changes are made in Ver4.02.01.D:-   
1.  QAC warning justification added at relevant places. 
2.  A new check is added in Spi_AsyncTransmit() to ensure the 
array element accessed from Spi_GaaSeqQueue[] is within 
the defined array size. 
3.  Constants are moved to left hand side for condition checks at 
Page 23 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
all applicable places 
4.  'U' is appended for MACRO definitions wherever applicable. 
5.  Declaration and initialization of LucNoOfErrorsCopied is 
separated in Spi_GetErrorInfo API. 
6.  Removed unwanted requirement mapping comments 
7.  Copyright information is updated. 
Spi_Irq.c 
1.2.12 
Following changes are made in Ver4.02.01.D:-   
1.  QAC  warning  Msg(2:2814),  Msg(2:3892)  and  MISRA 
Violation Msg(4:0303), Msg(4:0489),Msg(4:0488) are added 
at the respective places. 
2.  Copyright information is updated 
Spi_Driver.c 
1.4.9 
Following changes are made in Ver4.02.01.D:-   
1.  Added condition check in the Spi_HWInit and 
Spi_HWDeInit to clear TIJC interrupts. 
2.  Spi_HWTransmitSyncJob() and Spi_InitiateSycTransmit() 
are updated to set the variable 'Spi_GblSyncTx' properly. 
3.  Spi_HWTransmitSyncJob() is updated by removing the 
setting of 'Spi_GblSyncTx'. 
4.  Spi_HWWriteIB() is updated to write CSIHMCTL0 in all 
possible combination of Tx-mode and dual buffer mode. 
5.  MISRA C RULE VIOLATION Msg(4:0303),Msg(4:0400) 
and QAC Warning Msg(2:3416), Msg(0:2755) are added at 
the relevant places. 
6.  Spi_ReceiveISR() is updated by removing the redundant 
code for 32 bit transmission in Tx-only mode. 
7.  Spi_ProcessSequence function call in Spi_ComErrorISRis 
removed. 
8.  In Spi_ProcessTransmission function, critical section is 
modified. 
9.  In Spi_ProcessTransmission function, LblInitiateTx is 
assigned with SPI_TRUE based on the comparison of queue 
status 
10. Copyright information is updated. 
11. Re-initialization of the "Spi_GpDmaUnitConfig" variable in 
Spi_HWDeInit() is removed. 
12. Constants are moved to left hand side for condition checks at 
all applicable places. 
13. Naming convention corrected from LucIndex to LusIndex 
14. Job and sequence failed condition check is added in 
Spi_ProcessDualBufferData() for dual buffer mode.. 
Page 24 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
Spi_Ram.c 
1.2.11 
No changes for release Ver4.02.01.D 
Spi_Scheduler.c 
1.2.16 
Following changes are made in Ver4.02.01.D:-   
1.  Copy right information is updated. 
2.  QAC warning Msg(2:3416), MISRA Violation Msg(4:0400) 
are added at the respective places. 
3.  Spi_GblQueueStatus is updated as SPI_QUEUE_FILLED in 
Spi_PushRemainingJobsToQueue() and 
Spi_PushInterruptableSeqJobs () when jobs are queued.Also 
Spi_GusAllQueueSts is updated in 
Spi_PushRemainingJobsToQueue() and 
Spi_PushInterruptableSeqJobs(). 
4.  Constants are moved to left hand side for condition checks at 
all applicable places. 
Spi_Version.c 
1.0.7 
No changes for release Ver4.02.01.D 
Spi.h 
1.1.9 
Following changes are made in Ver4.02.01.D:-   
 
1.  'U' is appended for MACRO definitions wherever applicable. 
2.  Copyright information is updated 
Spi_Driver.h 
1.2.12 
No changes for release Ver4.02.01.D 
Spi_Irq.h 
1.2.6 
Following changes are made in Ver4.02.01.D:-   
1.  Hexadecimal constants are updated with upper case. 
2.  Copyright information is updated. 
Spi_LTTypes.h 
1.2.15 
Following changes are made in Ver4.02.01.D:-   
1.  Structure tag is added for Tst_DmaAddr and 
Tst_ByteAccess. 
2.  'U' is appended for MACRO definitions wherever applicable. 
3.  Naming convention corrected from usReserved1 to 
ulReserved1 
4.  Copyright information is updated. 
Spi_PBTypes.h 
1.2.14 
No changes for release Ver4.02.01.D 
Spi_Ram.h 
1.2.12 
Following changes are made in Ver4.02.01.D:-   
1.  QAC warning, 4:0857 is justified. 
2.  Copyright information is updated 
Spi_RegWrite.h 
1.0.1 
Following changes are made in Ver4.02.01.D:-   
1.  SPI_DEM_TYPE is removed. 
2.  'U' is appended for MACRO definitions wherever applicable. 
3.  Copyright information is updated. 
Spi_Scheduler.h 
1.2.6 
No changes for release Ver4.02.01.D 
Spi_Types.h 
1.2.11 
Following changes are made in Ver4.02.01.D:-   
1.  'U' is appended at relevant places. 
Page 25 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
2.  Copyright information updated. 
Spi_Version.h 
1.0.7 
No changes for release Ver4.02.01.D 
DLL executable code for ICU configuration generation 
Spi_X1x.dll 
1.2.17 
Following change is made in Ver4.02.01.D:-   
1.  Tool .dll updated for tool code changes. 
Spi_X1x.cfgxml 
1.0.1 
Following changes are made in Ver4.02.01.D:-   
1.  A new filter option, <FILTER-RENESAS> is added to 
handle multiple module instances. 
2.  Copyright information updated 
X1x Common Sample Application Source file 
App_SPI_Common_Sample.c 
1.0.8 
No changes for release Ver4.02.01.D 
X1x Common Sample Application header file 
App_SPI_Common_Sample.h 
1.0.5 
No changes for release Ver4.02.01.D 
P1x Sample Application P1M Source file 
App_SPI_P1M_Sample.c 
1.0.4 
No changes for release Ver4.02.01.D 
P1x Sample Application P1M header file 
App_SPI_P1M_Sample.h 
1.0.3 
No changes for release Ver4.02.01.D 
P1x User Manual 
R20UT3726EJ0101-AUTOSAR.pdf 
1.0.11 
Following changes are made in Ver4.02.01.D:-   
1.  Section 11.2 is updated and 11.3 is added with the hardware 
errors description details 
2.  Section 10.3 is updated with the detailed description of the 
functions 
3.  Section 3.1.1 is updated with the deletion of the redundant 
mentioned Driver.h file name 
4.  Throughput details, RAM/ROM Usage and stack depth 
values are updated in the section 13.3 
5.  Section 4.1 is updated with the SpiTimeOut configuring 
details. 
6.  The unused segment SPI_CFG_DBTOC_UNSPECIFIED 
details are removed from the chapter 12. 
7.  Abbreviations and Acronyms section is updated 
8.  Chapter 14 is updated with the release details. 
9.  R-number is updated 
10. Notice and Company addresses are updated 
11. Copyright information is updated 
R20UT3727EJ0101-AUTOSAR.pdf 
 1.0.12 
Following changes are made in Ver4.02.01.D:-   
1.  Updated Pdf versions in section 2.1 ‘Reference Documents’ 
2.  Error messages ERR083005, ERR083018 and ERR083037 
Page 26 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
are rephrased in the section 8.1 
3.  Error Message, ERR083095 is added in the section 8.1 
4.  R-number is updated. 
5.  Notice and Company addresses are updated 
6.  Copyright information is updated. 
6.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1M_FixedIssues_Ver4.02.01.D.xlsx. 
6.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1M_KnownIssues_QM_CW08_2017.xlsx. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 27 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
7  WDG 
7.1  Target Info 
Processor 
P1M - R7F701318 
Module 
WDG 
Software Version 
V1.0.12 
Embedded User Manual 
R20UT3728EJ0101-AUTOSAR.pdf – V1.0.8 
Tool User Manual 
R20UT3729EJ0101-AUTOSAR.pdf – V1.0.6 
Date 
24-Feb-2017 
7.2  Release Items 
Filename 
Version 
Change Description 
P1x- Parameter Definition files 
R403_WDG_P1M_04_05_10_to_15_1
1.0.5 
Following changes are made in Ver4.02.01.D:- 
8_to_23.arxml 
1.  For Requirement TPS_ECUC_06004, ADMIN-DATA 
section is updated.   
2.  Updated Copyright information. 
BSWMDT   
R403_WDG_P1x_BSWMDT.arxml 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  Software patch version is updated 
2.  Copyright information is updated 
3.  The placement of Service Id's are corrected for Autosar 
API's. 
Source Code 
Wdg_59_DriverA.c 
1.0.15 
Following changes are made in Ver4.02.01.D:- 
1.  Tag Message Msg(2:3416) in 
Wdg_59_DriverA_SetTriggerCondition is added. 
2.  Copyright information is updated. 
3.  Followed naming conventions are changed, 
usInitTimerCountValue to ulInitTimerCountValue 
usSlowTimeValue to ulSlowTimeValue usFastTimeValue 
to ulFastTimeValue Wdg_59_DriverA_GusTiggerCounter 
to Wdg_59_DriverA_GulTiggerCounter. 
4.  Wdg_59_DriverA_SetMode is updated to intialize the 
return value when requested mode and current mode are 
same. 
5.  Redundant assignment is deleted. The value of this object 
is never used before being modified. To avoid QAC 
warning Msg(4:2982). 
Page 28 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
Wdg_59_DriverA_Irq.c 
1.0.11 
Following changes are made in Ver4.02.01.D:- 
1.  Added QAC warning justification for Msg(2:3416) and 
Msg tags in 
WDG_59_DRIVERA_TRIGGERFUNCTION_ISR API. 
2.  Copyright information is updated. 
3.  Macro WDG_59_DRIVERA_INTWDT_EIC_ADDR 
replaced by WDG_59_DRIVERA_INTWDTEIC_ADDR 
in interrupt consistency check. 
4.  The naming convention has changed from 
Wdg_59_DriverA_GusTiggerCounter to 
Wdg_59_DriverA_GulTiggerCounter 
Wdg_59_DriverA_Private.c 
1.0.8 
Following changes are made in Ver4.02.01.D:- 
1.  Added QAC warning justification for Msg(2:3416) and 
Msg tags in Wdg_59_DriverA_SetModeDetCheck API. 
2.  Copyright information is updated. 
3.  The naming convention has changed from uiApiId to 
ucApiId 
4.  The value of function parameter is declared with the 
'const' type Qualifier. To avoid QAC warning 
Msg(2:3227). 
5.  For Wdg_59_DriverA_TriggerFunc Re-entrancy is 
corrected. 
Wdg_59_DriverA_Ram.c 
1.0.8 
Following changes are made in Ver4.02.01.D:- 
1.  The naming conventions are changed from 
Wdg_59_DriverA_GusTiggerCounter to 
Wdg_59_DriverA_GulTiggerCounter 
2.  Copyright information is updated. 
Wdg_59_DriverA_Version.c 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  For QAC Warning Rule has been changed to NA. 
2.  Copyright information is updated. 
Wdg_59_DriverA.h 
1.0.9 
Following changes are made in Ver4.02.01.D:- 
1.  Requirements tag, ‘Implements’ is replaced with 
WDG_H_XXX. 
2.  Copyright information is updated 
3.  Suffix 'U' is added    for AutoSAR Macros 
Wdg_59_DriverA_Debug.h 
1.0.1 
  No changes for release Ver4.02.01.D 
Wdg_59_DriverA_Irq.h 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  Macro WDG_59_DRIVERA_INTWDT_EIC_ADDR is 
removed. 
2.  Copyright information is updated. 
Page 29 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
3.  Requirements tag, 'Implements' is replaced with 
WDG_H_XXX. 
Wdg_59_DriverA_PBTypes.h 
1.0.11 
Following changes are made in Ver4.02.01.D:- 
1.  Requirements tag, 'Implements' is replaced with 
WDG_H_XXX. 
2.  Copyright information is updated. 
3.  Dead code is removed 
'WDG_59_DRIVERA_NMI_MASKVALUE, 
WDG_59_DRIVERA_NMI_MODE,WDG_59_DRIVER
A_RAM, WDG_59_DRIVERA_ROM 
4.  The naming convention has changed from 
Wdg_59_DriverA_GusTiggerCounter to 
Wdg_59_DriverA_GulTiggerCounter 
5.  Suffix 'U' is added for WDG_59_DRIVERA_WINDOW 
Wdg_59_DriverA_Private.h 
1.0.6 
Following changes are made in Ver4.02.01.D:- 
1.  Requirements tag, 'Implements' is replaced with 
WDG_H_XXX. 
2.  Copyright information is updated. 
3.  The naming convention has changed from uiApiId to 
ucApiId 
4.  The value of function parameter is declared with the 
'const' type Qualifier,to avoid QAC warning 
Msg(2:3227). 
Wdg_59_DriverA_Ram.h 
1.0.8 
Following changes are made in Ver4.02.01.D:- 
1.  Requirements tag, 'Implements' is replaced with 
WDG_H_XXX. 
2.  Copyright information is updated. 
3.  The naming convention has changed from 
Wdg_59_DriverA_GusTiggerCounter to 
Wdg_59_DriverA_GulTiggerCounter 
Wdg_59_DriverA_RegWrite.h 
1.0.1 
Following changes are made in Ver4.02.01.D:- 
1.  Requirements tag, 'Implements' is replaced with 
WDG_H_XXX. 
2.  Copyright information is updated. 
5.  The naming convention has changed from uiApiId to 
ucApiId 
Page 30 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
Wdg_59_DriverA_Types.h 
1.0.6 
Following changes are made in Ver4.02.01.D:- 
1.  Requirements tag, 'Implements' is replaced with 
WDG_H_XXX. 
2.  Copyright information is updated. 
3.  The naming convention are changed, 
usInitTimerCountValue to ulInitTimerCountValue, 
usSlowTimeValue to ulSlowTimeValue, usFastTimeValue 
to ulFastTimeValue 
Wdg_59_DriverA_Version.h 
1.0.7 
Following changes are made in Ver4.02.01.D:- 
1.  Requirements tag, 'Implements' is replaced with 
WDG_H_XXX. 
2.  Copyright information is updated. 
3.  Suffix 'U' is added    for AutoSAR Macros 
DLL executable code for WDG configuration generation 
Wdg_X1x.dll 
1.0.21 
Following change is made in Ver4.02.01.D:- 
1.  Tool .dll updated for tool code changes. 
Wdg_X1x.cfgxml 
1.0.1 
Following changes are made in Ver4.02.01.D:- 
1.  A new filter option, <FILTER-RENESAS> is added to 
handle multiple module instances. 
2.  Copyright information updated 
X1x Common Sample Application Source file 
App_WDG_Common_Sample.c 
1.0.11 
No changes for release Ver4.02.01.D 
X1x Common Sample Application header file 
App_WDG_Common_Sample.h 
1.0.5 
No changes for release Ver4.02.01.D 
P1x Sample Application P1M Source file 
App_WDG_P1M_Sample.c 
1.0.5 
No changes for release Ver4.02.01.D 
P1x Sample Application P1M header file 
App_WDG_P1M_Sample.h 
1.0.3 
No changes for release Ver4.02.01.D 
P1x User Manual 
R20UT3728EJ0101-AUTOSAR.pdf 
1.0.8 
Following changes are made in Ver4.02.01.D:- 
1.  Abbreviation list is updated. 
2.  Section 10.3 Function Definitions is updated. 
3.  Chapter 14 release details version is updated. 
4.  Chapter 3 and 9 are updated with R-Numbered Tool User 
manual name. 
5.  Version of R-number is updated at the end of document. 
6.  Notice and copyright information is updated. 
7.  Table of contents updated. 
8.  Table 4.1 WDG Driver Deviation List is updated to add 
Page 31 of 32 

Renesas Electronics 
 
Release Date: 24/02/2017 
 
not implemented requirement ‘WDG163’. 
9.  Chapter 10.2.1 Wdg_59_DriverA_ConfigType is updated. 
10. Chapter 12 Memory Organization is updated. 
R20UT3729EJ0101-AUTOSAR.pdf 
 1.0.6 
Following changes are made in Ver4.02.01.D:- 
1.  Abbreviation list is updated. 
2.  Chapter 3 and 9 are updated with R-Numbered Tool User 
manual name. 
3.  Version of R-number is updated at the end of document. 
4.  Notice and copyright information is updated. 
5.  R403_WDG_P1M_04_05_10_to_15_18_to_23.arxml 
version is updated 
7.3  Fixed Issues 
ID 
Description 
NA 
Please refer to the fixed issues list as shared from Renesas 
Ref. P1M_FixedIssues_Ver4.02.01.D.xlsx. 
7.4  Known Issues 
ID 
Description 
NA 
Please refer to the known issues list as shared from Renesas 
Ref. P1M_KnownIssues_QM_CW08_2017.xlsx. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 32 of 32 

Document Outline


54 - RenesasMcalSuprt Integration Manual

Integration Manual

For

RenesasMcalSuprt

VERSION: 1

DATE: 07/11/17

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionLucas Wendling107/11/17

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion

Dependencies

This component is dependant on the v800_ghs.h compiler header file for definition of some compiler intrinsic functions.

This component also includes the installer for the MCAL generation tool for P1MC devices. Since the generator version is tied to a specific MCAL release version, a zip file including the installer is included in the appropriate subdirectory for the MCAL release in the “tools\P1MC\<MCAL_RELEASE>” folder.

SWCs

ModuleRequired Feature

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

None

Build Time Config

ModulesNotes

Configuration Files to be provided by Integration Project

N/A

Da Vinci Parameter Configuration Changes

ParameterNotesSWC

DaVinci Interrupt Configuration Changes

ISR NameNotes

Manual Configuration Changes

ConstantNotesSWC

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Required Global Data Outputs

Specific Include Path present

Yes – Integrator must properly choose the correct include search path in this component in the integration .gpj file. The path chosen must align with the correct micro family (e.g. P1M vs P1MC) as well as the correct MCAL component release that is being used in the integration project. Additionally, the integration .gpj should only include the correct subproject .gpj file (again aligning to the correct micro family as well as correct MCAL component release).

Runnable Scheduling

None.

InitScheduling RequirementsTrigger
RunnableScheduling RequirementsTrigger

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM

NvM Blocks

Compiler Settings

Preprocessor MACRO

Optimization Settings

Appendix

<This section is for appendix>

55 - RenesasMcalSuprt Peer Review Checklists


Overview

Summary Sheet
Synergy Project
3rd Party Files
Integration Manual


Sheet 1: Summary Sheet























Rev 1.019-Apr-17
Peer Review Summary Sheet


























Synergy Project Name:



Windows User: Intended Use: Identify which component is being reviewed. This should match the component short name and the middle part of the Synergy project name RenesasMcalSuprt
Revision / Baseline:


Windows User: Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved. Suprt_Renesas_Mcal_05.00.00


























Change Owner:



Windows User: Intended Use: Identify the developer who made the change(s) being reviewed Lucas Wendling
Work CR ID:


Windows User: Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one) EA4#13640


























3rd party delivery package identifier:







Intended Use: This is a reference to the identifier of the 3rd party delivery package(s) that the component was extracted/created from. Rationale: This will allow easier tracing back to 3rd party deliveries. AUTOSAR_RH850_P1M-C_MCAL_Ver4.02.00.D_SPAL, AUTOSAR_RH850_P1M-C_MCAL_Ver4.02.01.D_SPAL


























Windows User: Identifiy which type of 3rd party component this is so as to provide appropriate review checklist sheets Component Type:





























































































































Windows User: General section for summarizing review comments or review notes. Review Checklist Summary:


















































Comments:
































































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:




naming convention for 3rd Party Software Components







































Project contains necessary subprojects








Yes
Comments:

Requires TL103A for dependency on














inclusion of v800_ghs.h


























Project contains the correct version of subprojects








Yes
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 :

07/11/17
































Lead Peer Reviewer:


Bobby Osteen


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: 3rd Party Files

Peer Review Meeting Log (3rd Party File Review)





















































Quality Check Items:






































Rationale is required for all answers of No










(e.g. component_bswmd.arxml) Component "autosar" folder contains autosar module description file from 3rd party delivery packageN/A
Comments:




































(e.g. component_preo.arxml) Component "autosar" folder contains any relevant preconfiguration files from 3rd party delivery package(s)N/A
Comments:




































If needed as in the case with Renesas MCAL (e.g. MCALcomponent_bswmd_rec.arxml taken from Vector delivery) Component "autosar" folder contains any needed supplemental autosar module description file(s)N/A
Comments:




































Component "doc" folder contains all documentation related to this component from 3rd party delivery packageYes
Comments:




































Modifications from delivery to be reviewed (e.g. path changes) Component "generate" folder contains all external generation files from 3rd party delivery packageN/A
Comments:




































Component "include" and "src" folder contains exact component files from 3rd party delivery packageYes
Comments:

Renesas_Compiler.h file contains




subset of delivered Compiler.h file as described in file



























Component "make" folder contains any makefiles included from 3rd party delivery packageN/A
Comments:




































1) All source and headers of component should be referenced in .gpj 2) Compiler settings may need to be tailored to source component (e.g. Renesas MCAL vs Vector BSWs) Component "tools" folder contains GHS project file with appropriate files referenced with appropriate compiler settingsYes
Comments:




































Should delete old existing files/directories from integration project and copy new ones into integration project May also contain logic for integrator user interaction if required. (e.g. selection of micro variant on MCAL) Component "tools" folder contains Integrate.bat with appropriate logic in it for integration into projectN/A
Comments:

Headers only in component, so no need




of integration batch file



























For external generation and internal behavior definition for use with Vector Davinci tools. Typically only desired/needed for non-Vector developed components. This file should be copied as part of Integrate.bat. Components optionally contains settings xml file with appropriate contentsN/A
Comments:

Headers only in component, so no need




of settings xml file



























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 :

07/11/17

































Lead Peer Reviewer:


Bobby Osteen


Approved by Reviewer(s):



Yes
































Other Reviewer(s):












































































Sheet 4: Integration Manual

Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. RenesasMcalSuprt Integration Manual.doc

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:













































Latest template used








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Integrator)








N/A
Comments:

Initial Version










































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 :

07/11/17
































Lead Peer Reviewer:


Bobby Osteen


Approved by Reviewer(s):



Yes































Other Reviewer(s):