Renesas Mcal Support
Renesas Mcal Support
Component Documentation
1 - GettingStarted_MCAL_Drivers_X1x
AUTOSAR MCAL R3.2 and R4.0 User's Manual3 - 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.
5
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 7
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
8
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
9
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 LM AUTOSAR XML ECU SPECTRUM
PROJECT SETTING
ECU
FILE
CONFIGURATION
PARAMETER
DEFINITION
AUTOSAR X LM 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.
I
NF000008: 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) 1
<MSN>n_SGm_ISR
<MSN>n_SGm_CAT2_ISR
Os_<MSN>n_SGm_CAT2_ISR
2
<MSN>_DMA_CHxy_ISR
<MSN>_DMA_CHxy_CAT2_ISR
Os_<MSN>_DMA_CHxy_CAT2_IS
R
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_CW236 - 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 ID | Key | Components | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | T | Safety Related |
| ARDAAAE-2344 | FLS | Register write operation is performed on Read only(R) bits | FLS_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 avoided | Read only bits are updated
REG_WRITE is performed to updated CMDLK (R only) bit | Code | Resolved | Ver4.02.01.D | Ver4.01.01.D | Bug | No |
| ARDAAAE-2329 | General | API Service ID mentioned in the BSWMDT file is not consistent across the modules | The 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. | PDF | Resolved | Ver4.02.01.D | Ver4.01.01.D | Bug | No |
| ARDAAAE-2289 | FLS | FLS timeout error is triggered incorrectly in case of out-of-sync call to Fls_MainFunction | It 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. | Code | Resolved | Ver4.02.01.D | Ver4.02.00.D | Bug | No |
| ARDAAAE-2287 | SPI | Variable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queued | Global 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 correctly | Variable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queued | Code | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | Yes |
| ARDAAAE-2269 | SPI | SPI Driver does not Recover Normal Communication After Error Injection/Detection | The 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 normally | The 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 removed | Code | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2265 | General | Missing check of interrupt status flag as part of Interrupt Consistency Check for INTC2 interrupts | As 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 mmissing | Code, Requirements | Resolved | Ver4.02.01.D | Ver4.02.00.D | Bug | Yes |
| ARDAAAE-2263 | SPI | SPI_DMA_WRITE_VERIFY and SPI_CSIGH_WRITE_VERIFY values are not generated in Spi_Cfg.h | Compilation 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.h | SPI_DMA_WRITE_VERIFY and SPI_CSIGH_WRITE_VERIFY values are not generated in Spi_Cfg.h | Generator | Resolved | Ver4.02.01.D | Ver4.02.00.D | Bug | Yes |
| ARDAAAE-2260 | General | Generator 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 configuration | All parts in the configuration are processed which might be conflicting, causing generation errors. | Generator | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2258 | SPI | AR_PN0063_FR_0005 is not satisfied in Spi_DeInit API | Spi_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. | Code | Resolved | Ver4.02.01.D | Ver4.01.00 | Bug | No |
| ARDAAAE-2253 | FLS | Configuration description file throws error while generating configuration files | While 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/A | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.02.00.D | Bug | No |
| ARDAAAE-2252 | SPI | SPI Driver Incorrectly Reporting Job/Seq Pending when sequences are called in different tasks repeatedly for asynchronous transmission For single and Multiple HW Units | When 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 successfully | Sequences are not transmitted successfully | Code | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2249 | PORT | Configuration parameter 'PortPullUpOption ' is missing in port group 2 pin 15 | Issue 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 15 | PortPullUpOption parameter should be present for all the port pins in port group 2. | PDF | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.02.00.D | Bug | No |
| ARDAAAE-2232 | FLS | The 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 devices | Register write verify of FENTRYR is done immedietly after write operation. | Code | Resolved | Ver4.02.01.D | Ver4.01.01.D, Ver4.02.00.D | Bug | Yes |
| ARDAAAE-2230 | PORT | Incorrect name of PortPinInitialMode selection for pin P5_7 in the parameter definition file | Incorrect 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 selection | Name of PortPinInitialMode selection shall be in correct format | PDF | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2229 | SPI | Description about hardware errors in SPI communication are not present in CUM | Generally, 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 CUM | Description about hardware errors in SPI communication are not present in CUM | Document | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | Yes |
| ARDAAAE-2214 | General | Violation of Autosar requirement ecuc_sws_1014 is not documented | It 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 documentation | Document | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2212 | SPI | The global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occurs | The 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 occurs | The global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occurs | Code | Resolved | Ver4.02.01.D | Ver4.01.01.D, Ver4.02.00.D | Bug | Yes |
| ARDAAAE-2203 | SPI | Switch '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 transmission | Macro 'SPI_HWUNIT_ASYNCHRONOUS' is not generated as STD_ON if hardware unit is configured for asynchronous transmission | Generator | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2193 | SPI | Prohibited register settings are used in Spi driver while writing into configuration register | As 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 used | Prohibited register settings are used in Spi driver while writing into configuration register | Generator | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2187 | SPI | Value written to the reserved bit of CSIG CTL1 register | In 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. | Code | Resolved | Ver4.02.01.D | Ver4.01.00 | Bug | No |
| ARDAAAE-2186 | DIO | DET related information is incorrect in CUM | Some 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 DET | Some API(s) are missing for DET error in DIO CUM | Document | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | Yes |
| ARDAAAE-2119 | SPI | Setting of configuration register is not done always during concurrent synchronous transmission | When 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 transmission | Code | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2117 | MCU | Tool User Manual error:ERR101044 and ERR101008 | There 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, Document | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2116 | SPI | Spi_SetAsyncMode() API tries to change mode and not always returning E_NOT_OK if an asynchronous transmission is ongoing | AUTOSAR 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 transmission | If SpiPersistentHWConfiguration = true, Spi_SetAsyncMode() is not working as per SPI171 after a synchronous transmission. | Code | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2114 | SPI | When the memory modes are configured as Tx Only and Dual Buffer, CSIHMCTL0 register is wrongly set in Spi_HWWriteIB function | In 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. | Code | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| ARDAAAE-2112 | FLS | Reduce FLS Driver Usage Of Functions Executed Out Of RAM | This 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()
| NA | NA | Code, Document | Resolved | Ver4.02.01.D | Ver4.01.01.D, Ver4.02.00.D | Feature | No |
| ARDAAAE-2053 | FLS | Coding 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. | Code | Resolved | Ver4.02.01.D | Ver4.01.00, Ver4.01.01.D, Ver4.02.00.D | Bug | No |
| 27 |
|
|
|
|
|
|
|
|
|
|
|
8 - P1M_KnownIssues_ASIL_CW08_2017
| External issue ID | Key | Components | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | T | Safety Related |
| 0 |
|
|
|
|
|
|
|
|
|
|
|
9 - P1M_KnownIssues_QM_CW08_2017
| External issue ID | Key | Components | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | T | Safety Related |
| ARDAAAE-2402 | General | The device name validation is not taken care in Sample Application for the File Generation | A 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. | Generator | Analysis |
| Ver4.02.01.D | Bug | No |
| ARDAAAE-2399 | SPI | Naming convention wrong for 'usReserved1', member of structure Spi_CsihOsRegs | In 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_CsihOsRegs | Code | Open |
| Ver4.01.01.D, Ver4.02.00.D, Ver4.02.01.D | Bug | No |
| ARDAAAE-2378 | ADC, CAN, GPT, MCU | UUIDs are not unique in BSWMDT file | In 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 unique | All UUIDs are not unique | PDF | Open |
| Ver4.02.00.D, Ver4.02.01.D | Bug | No |
| ARDAAAE-2373 | DIO | Dead Code exist in Dio_ReadPort, Dio_ReadChannel and Dio_ReadChannelGroup APIs | Code 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 exist | Dead code exist | Code | Open |
| Ver4.02.01.D | Bug | No |
| ARDAAAE-2354 | ADC, CAN, FLS, GPT, ICU, PWM, SPI | Wrong User mode and Supervisor mode information in Usermanual | As 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 correctly | Document | Analysis |
| Ver4.01.00, Ver4.02.00.D, Ver4.02.01.D | Bug | No |
| ARDAAAE-2266 | General | Code Generator wrong return code in case of errors | Code 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. | Generator | Implementation | Ver4.02.02.D | Ver4.01.00, Ver4.02.01.D | Bug | No |
| 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 ID | Key | Components | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | T | End User Product Related |
|
|
|
|
|
|
|
|
|
|
|
|
| ARDAAAE-2053 | FLS | Coding 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. | Code | Open |
| Ver4.01.00 | Bug | Yes |
|
|
|
|
|
|
|
|
|
|
|
|
| ARDAAAE-2114 | SPI | When the memory modes are configured as Tx Only and Dual Buffer, CSIHMCTL0 register is wrongly set in Spi_HWWriteIB function | In 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. | Code | Open |
| Ver4.01.00, Ver4.01.01 | Bug | Yes |
|
|
|
|
|
|
|
|
|
|
|
|
| ARDAAAE-2116 | SPI | Spi_SetAsyncMode() API tries to change mode and not always returning E_NOT_OK if an asynchronous transmission is ongoing | AUTOSAR 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 transmission | If SpiPersistentHWConfiguration = true, Spi_SetAsyncMode() is not working as per SPI171 after a synchronous transmission. | Code | Analysis |
| Ver4.01.01.D | Bug | Yes |
|
|
|
|
|
|
|
|
|
|
|
|
| ARDAAAE-2117 | MCU | Tool User Manual error:ERR101044 and ERR101008 | There 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, Document | Open |
| Ver4.01.01.D | Bug | Yes |
|
|
|
|
|
|
|
|
|
|
|
|
| ARDAAAE-2119 | SPI | Setting of configuration register is not done always during concurrent synchronous transmission | When 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 transmission | Code | Open |
| Ver4.01.00 | Bug | Yes |
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

11 - P1xC_FixedIssues_Ver4.02.00.D
P1x-C_Ver4.02.00_FixedIssuesList (Renesas Electronics Europe GmbH JIRA)| External issue ID | Key | Component/s | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | Issue Type |
| ARDAAAF-1998 | ADC | A/D timer trigger is not handled for SG3 and SG4 | Incorrect 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 SG4 | A/D timer trigger is not implemented for SG3 and SG4 | Code, PDF, Test, Document | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1885 | FLS | Register write operation is performed on Read only(R) bits | FLS_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 avoided | Read only bits are updated
REG_WRITE is performed to updated CMDLK (R only) bit | Code | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1879 | FLS | Generation of macro FLS_DF_TOTAL_SIZE is independent of FlsNumberOfSectors and FlsSectorSize | Macro 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1794 | ICU | Issue with validation check | When 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 scenario | Validation not correct | Generator | Closed | Ver4.02.00.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1781 | PWM | CMU clock source selection register bits are not written properly in GTM0ATOMixCTRL register | CLK_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, | Code | Closed | Ver4.02.00.D | Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1706 | WDG | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1705 | SPI | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1704 | RamTst | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1703 | PWM | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1702 | PORT | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1701 | MCU | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1700 | LIN | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1699 | ICU | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1698 | GPT | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1697 | Fr | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1696 | FlsTst | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1695 | FLS | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1693 | DIO | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1692 | CorTst | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1691 | ADC | Please 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)".
| NA | NA | Document | Closed | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-1688 | FLS | Reduce FLS Driver Usage Of Functions Executed Out Of RAM | This 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
| NA | NA | Code, Document | Closed | Ver4.02.00.D | Ver4.01.00 | Feature |
| ARDAAAF-1662 | ICU | The clock references parameter IcuGTMClockRef in BSW is wrong | The 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/... | PDF | Closed | Ver4.02.00.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1660 | GPT | The reference parameter GptGTMClockRef is false | The 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/... | PDF | Closed | Ver4.02.00.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1659 | ADC | CG throws error when non-mandatory parameters are not configured | In 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 understandable | Validation check shall are not correct | Generator | Closed | Ver4.02.00.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1658 | ADC, FLS, ICU | Code Generator still does not return error code in case of failures | Generator 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1657 | PWM | Lower Multiplicity of PwmChannel is 0, But Tool code throw out error when generating with none PWM channels | Issue 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, Document | Closed | Ver4.02.00.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1656 | SPI | The lower multiplicity of container SpiMemoryMode should be one | The 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 one | The lower multiplicity of container SpiMemoryMode is zero. | PDF | Closed | Ver4.02.00.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1623 | SPI | DMA handles generated with wrong values inside Spi_Cfg.h file for Direct Access Mode | SPI_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 Mode | DMA handles generated with wrong values inside Spi_Cfg.h file for Direct Access Mode | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1608 | SPI | SpiEbMaxLength value range | As 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. | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1605 | DIO | DET related information is incorrect in CUM | Some 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 DET | Currently, only Dio_GetVersionInto API is capable of raising this error as per CUM. | Document | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1601 | SPI | Prohibited register settings are used in Spi driver while writing into configuration register | As 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 used | Prohibited register settings are used in Spi driver while writing into configuration register | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1598 | ADC | Adc_StopGroupConversion will return E_OK even if DET is reported | Adc_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 reported | Code | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1597 | ADC | LucLoopCount in Adc_PushToQueue API may lead to infinite loop | If 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 loop | Code | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1590 | SPI | CTL1.CSIHnSLRS is not set in SPI even if the commuication speed is faster than 5Mbps | Using 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 5Mbps | CTL1.CSIHnSLRS is not set in SPI even if the commuication speed is faster than 5Mbps | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1576 | SPI | Setting of configuration register is not done always during concurrent synchronous transmission | When 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 transmission | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1559 | Fr | NULL pointer check is missing in Fr_59_Renesas_ReceiveRxLPdu API | In 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; } | Code | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1542 | PWM | Extern 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. | Generator | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1539 | ICU | IcuTimerOverflowNotification for edge counting | For 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, Test | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1538 | PWM | PwmPolarity 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 call | PwmPolarity state is not taken care while calling Pwm_SetDutyCycle() just after Pwm_SetOutputToIdle() API call | Code | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1537 | MCU | MemMap inclusion missing in Mcu_Ram header and source file | In 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 section | MemMap inclusion missing at some places | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1530 | SPI | DMA transmission not working for all DMA channels | DMA 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 . | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1519 | SPI | Spi is blocked with status SpiSequencePending after transmiting 1 data with DMA | In 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. | NA | NA | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1516 | RamTst | RamTst: About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT file | According 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>. | PDF | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1503 | FLS | FLS: About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT file | According 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>. | PDF | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1500 | SPI | Parameters in Spi_PBCfg.c generated as 0 | In 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1498 | SPI | No handles generated for SPI resources | The 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1496 | SPI | Generated Interrupt switches and DMA configuration incorrect | 1. 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 switches | Incorrect generation of interrupt switches | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1488 | FlsTst | FlsTst:About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT file | According 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>. | PDF | Closed | Ver4.02.00.D | Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-1487 | SPI | The 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.
| NA | NA | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1486 | CorTst | CorTst: About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT file | According 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>. | PDF | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1474 | SPI | SPI:About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT file | According 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>. | PDF | Closed | Ver4.02.00.D | Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-1471 | MCU | Generated mode setting handle doesn't follow AUTOSAR naming convention | The 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1470 | RamTst | Dem event parameter name not generated correctly | 1)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 correctly | Dem event parameter name not generated correctly | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1458 | ICU | ICU: Mismatch in Parameter Name in PDF from Module MRS | This 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, Document | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1410 | GPT | Compilation error for particular configuration | Gpt_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 expected | Compilation error for particular configuration | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1403 | FLS | Mismatch between Ecode and EA Design | The 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1402 | FLS | Fls fail the initialization when DF size is 64k | There 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*. | NA | NA | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1401 | FLS | AUTOSAR deviation regarding FlsSectorList implementation | AUTOSAR 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. | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1395 | FLS | AUTOSAR deviation regarding setting of flash memory erase/write protection during initialization of FLS driver | AUTOSAR 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| 29561 | ARDAAAF-1394 | FLS | A 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| 28523 | ARDAAAF-1391 | FLS | Improvement in PDF of P1x-C | The 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 description | See description | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| 27581 | ARDAAAF-1388 | FLS | Fls_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}; | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| 26925 | ARDAAAF-1387 | FLS | Length calculation for misaligned access fails | Description: Length calculation in Fls_Internal leads to invalid values. | Correct length calculation | Resulting length is around 4 billion which causes other function to be in endless loop. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1300 | FLS | The parameter ranges of FlsMaxWriteNormalMode and FlsMaxEraseNormalMode are wrong | FlsMaxWriteNormalMode 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. | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1295 | MCU | <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> | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1292 | PORT | Port Code Generator throwing unexpected error | For 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 correctly | ERR124018 Error occurs that is in contradiction to description. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1290 | PWM | Wrong generation of pre-compile values in Cfg file | Value 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1262 | LIN | LIN SWS requirement [LIN109] is implemented incorrectly | LIN 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1257 | FLS | DET 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, Test | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-1251 | FLS | Compiler warning regarding wrong API signature for Fls_Read | The 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 * | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1249 | FLS | FLS UM shall be updated regarding sections FLS_FAST_CODE_ROM and FLS_CFG_DATA_UNSPECIFIED | 1."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".
| NA | NA | Document | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1247 | PORT | Connecting 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, Document | Closed | Ver4.02.00.D | Ver4.02.00.D | Bug |
| ARDAAAF-1237 | SPI | Hardware 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1191 | PORT | Some of the alternate function selection is missing for the port pins | As 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. | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1135 | PWM | PWM: 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) | NA | Test | Closed | Ver4.02.00.D | Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-1118 | LIN | RLIN3 communication clock calculation is incorrect | In 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 McuPLLClock0 | RLIN3 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 PDF | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1114 | LIN | Unwanted DEM error is reported | DEM 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" | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1113 | SPI | Unable to use active state 'HIGH' for chip select signals other than CSL0 in CSIH module | Active 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 signals | Chip select signals CSL1-CSL7 could not be used with active state 'HIGH' | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1108 | SPI | Transmission of more than 128 byte of data through DMA FIFO mode doesn't work | When 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 work | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1107 | DIO | Autosar 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1104 | DIO | DET 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(). | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1103 | DIO | DET 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1098 | DIO | Dio_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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1096 | PORT | Generated 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1081 | SPI | Out of bound memory access due to incorrect generation of IB buffer Index | Generation 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1057 | DIO | Dio 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1056 | PORT | Compilation error for multiple configuration - comma missing for one of the Port_PinModeChangeableDetails structure generated in Port_PBcfg.c | For 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 compilation | Error in compilation | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1055 | FLS | Minimum Value of parameter 'FlsErasedValue' is not according to AUTOSAR | FlsErasedValue 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 0xFFFFFFFF | Value of FlsErasedValue is fixed at 0xFFFFFFFF | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1054 | SPI | SPI driver files fail to compile after successful code generation for certain configurations | Spi 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, Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1053 | SPI | Schm enter and exit functions not used as defined by AUTOSAR | AUTOSAR 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 AUTOSAR | Usage of critical section functions deviates from AUTOSAR definition | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1004 | CorTst | Cortst: Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1003 | WDG | Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-1001 | PWM | PWM:Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-1000 | ICU | Inconsistent memory map declaration in ICU | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-999 | ETH | Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-998 | Fr | Inconsistent memory map declaration for FR module | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-997 | GPT | Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-996 | SPI | Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-995 | MCU | Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-993 | LIN | LIN:Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-992 | ADC | Inconsistent memory map declaration for ADC module | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-991 | RamTst | Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-990 | FlsTst | Inconsistent memory map declaration | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-989 | PORT | Inconsistent memory map declaration for PORT Module | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-988 | FLS | Inconsistent memory map declaration in FLS Module | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-987 | DIO | Inconsistent memory map declaration for DIO module | This 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 ticket | Memory mapping in both declaration and definition shall be unique. | Memory mapping of both declaration and definition are in different memory location | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-921 | CorTst | Request to upgrade G3M SWCST library in CORTST driver | As 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/A | N/A | SWCST Library | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| 28546 | ARDAAAF-920 | FLS | DEM error should be reported for transient failures | FLS 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) fails | Notification is not reported in case FLS Initialization (Fls_Init) fails | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-916 | SPI | Main Functions are executed even if the driver is not initialized | According 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-915 | RamTst | Main Functions are executed even if the driver is not initialized | According 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-914 | FlsTst | Main Functions are executed even if the driver is not initialized | According 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-913 | FLS | Main Functions are executed even if the driver is not initialized | According 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-911 | ETH | Issues with ETH user manuals | Following 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. | Document | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-873 | CorTst | Main Functions are executed even if the driver is not initialized | According 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-629 | RamTst | RamTstStartAddress and RamTstEndAddress range and validation are not taken care in implementation | 1) 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 description | Not as per the description | Generator, PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-626 | RamTst | Macro generation from parameter RamTstMaxNumberOfTestedCells is wrong | After 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-623 | PORT | Wrong value in the enumeration for PortInputSelection on JTAG Pins | Enumeration values of PortInputSelection shall be as per the device manual. | Enumeration values of PortInputSelection on JTAG Pins shall as per device manual | Wrong value in the enumeration for PortInputSelection on JTAG Pins | PDF | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| 28480 | ARDAAAF-615 | ADC | CAN-ENTER-EXCLUSIVE-AREA-REF tag is missing in the BSWMDT | canEnterExclusiveArea 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 description | 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> | PDF | Closed | Ver4.02.00.D | E4.40, Ver4.00.00 | Bug |
| 29253 | ARDAAAF-614 | ADC | LD file entry missing for proper variable initialization | Entry 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. | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00 | Bug |
| ARDAAAF-612 | SPI | Mixed DMA / non-DMA operation not possible | 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. | 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. | Document | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-606 | ADC | Appended '0' in the Module short name shall be removed from Config.xml file | Adapt 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. | Generator | Closed | Ver4.02.00.D | E4.40, Ver4.00.00 | Bug |
| 30094 | ARDAAAF-605 | SPI | Loss 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-592 | ETH | Eth_59.c should include Schm_Eth.h file | As 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.c | As 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.c | Code, Document | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-590 | ETH | Dummy Read and SYNCP execution required for level triggered interrupts | For 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 interrupts | Dummy read and SYNCP execution is not implemented for all level triggered interrupts | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-586 | CorTst | CORTST_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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-583 | FlsTst | Unused type definitions and variable declarations in Ecode | Some 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 variables | NA | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-582 | Fr | The 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-569 | SPI | All registers used in SPI driver are not 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 function | All 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 function | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-559 | FLS | Register Write Verify enhancement for FLS | This 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 Verify | No requirement in MRS for register read back | Code, PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Feature |
| ARDAAAF-557 | FLS | Non effective IF condition check | In 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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-548 | FLS | Fls_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. | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-546 | FLS | Random behaviour of Fls_Suspend and Fls_Resume API's in interrupt mode | Erase 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, Document | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-542 | FLS | Incorrect path in the generator error mesage for ERR092040 | For 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-540 | FLS | Incorrect path in the generator error mesage for ERR092039 | For 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. | Generator | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-519 | MCU | ECM (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() | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-505 | MCU | Clock 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 values | The MCU driver configuration only accepts integers for the clock monitoring accuracy | PDF | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-500 | Fr | Argument "Fr_output_table_content_ptr" of API Fr_59_Renesas_Output_Transfer_Disable should be removed | API 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_ptr | API Fr_59_Renesas_Output_Transfer_Disable does have parameter Fr_output_table_content_ptr | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-489 | SPI | Wrong data transmission in direct access mode during asynchronous transmission by polling mechanism | During 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 mechanism | Wrong 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-487 | SPI | Illegal register access in Spi_HWWriteIB function | As 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-478 | SPI | Chip 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-469 | WDG | Precision 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, Generator | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-465 | PORT | The 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. | PDF | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-452 | PORT | Wrong naming used for PortPinInitialMode | Following 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 followed | Naming of certain alternative modes | PDF | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-450 | SPI | Confirming CSIG/HnSTR0 registers is done before completion of Reception | The 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| 26249 | ARDAAAF-446 | DIO | The channel group not validated correctly in Dio_ReadChannelGroup/Dio_WriteChannelGroup APIs | Problem 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, Document | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-443 | SPI | Pointer arithmetic applied to Null Pointer | Pointer ' 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 Pointer | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-442 | FLS | User Manual update | The 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. | Document | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-441 | SPI | When 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-440 | SPI | Global 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-436 | SPI | Spi_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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-433 | SPI | All the interrupts must be disabled in case of polling mode | In 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-431 | SPI | Reserved 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. | Code | Closed | Ver4.02.00.D | Ver4.00.00 | Bug |
| ARDAAAF-368 | LIN | Interrupts shall be disabled before operating IMR register | * When modifying the IMR registers interrupts must be disabled. | IMR registers modification shall be protected as critical section | IMR registers modification is not protected with critical section | Code, Document | Closed | Ver4.02.00.D | E4.40, Ver4.00.00 | Bug |
| 29532 | ARDAAAF-317 | MCU | In definition file Mandatory parameter's Lower and Upper multiplicity values are not taken care properly | Problem 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, PDF | Closed | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| 25595 | ARDAAAF-277 | ETH | CAM Function not working as per UM | i. 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 UM | The code is behaving opposite to that is explained in UM | Code | Closed | Ver4.02.00.D | Ver4.01.00 | Bug |
| 25403 | ARDAAAF-271 | LIN | Sample application not run without a delay before frame transmission | i. 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/a | n/a | Code | Closed | Ver4.02.00.D | E4.40, Ver4.00.00 | Bug |

12 - P1xC_FixedIssues_Ver4.02.01.D
Renesas Electronics Europe GmbH JIRA
 |
| External issue ID | Key | Component/s | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | Issue Type |
| ARDAAAF-1210 | PORT | Release Notes for PORT module | Ticket 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
| NA | NA | Document | Closed | Ver4.02.01.D | Ver4.02.00.D | Improvement |
| ARDAAAF-2414 | DIO | Unused Macro definitions needs to be removed from Tcode | DIO_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. | NA | NA | Code, Test, Document | Closed | Ver4.02.01.D | Ver4.02.00.D, Ver4.02.01 | Improvement |
13 - P1xC_OpenMarket_KnownIssues_CW09_2017
P1x-C_OpenMarket_KnownIssuesList (Renesas Electronics Europe GmbH JIRA)| External issue ID | Key | Component/s | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | Issue Type |
| ARDAAAF-496 | General | Duplicate and missing entries in BSWMDT file | Duplicate and missing entries in BSWMDT file | NA | NA | N/A | Acceptance | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-2067 | SPI | Naming convention wrong for 'usReserved1', member of structure Spi_CsihOsRegs | In 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_CsihOsRegs | Code | Open |
| Ver4.01.00.001 | Bug |
| ARDAAAF-1877 | General | Wrong User mode and Supervisor mode information in Usermanual | As 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 correctly | Document | Design | Ver4.02.01.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1641 | SPI | Description about hardware errors in SPI communication are not present in CUM | Generally, 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 CUM | Description about hardware errors in SPI communication are not present in CUM | Document | Design | Ver4.02.01.D | Ver4.01.00 | Bug |
| ARDAAAF-1833 | MCU | Callback notifications should be generated on Mcu_Cbk.h files | All 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 description | See description | Generator | Design | Ver4.02.01.D | Ver4.01.00 | Bug |
| ARDAAAF-1994 | SPI | UUIDs are not unique in BSWMDT file | In 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 unique | All UUIDs are not unique | PDF | Design | Ver4.02.01.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1404 | FLS | Non effective condition in the IF check in Fls.c | In 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. | NA | NA | Code, Document | Design | Ver4.02.01.D | Ver4.01.00 | Bug |
| ARDAAAF-1874 | PWM | The 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. | Code | Design | Ver4.02.01.D | Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-2000 | SPI | Variable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queued | Global 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 correctly | Variable Spi_GblQueueStatus is not updated as SPI_QUEUE_FILLED when jobs are queued | Code | Design | Ver4.02.01.D | Ver4.01.00.001 | Bug |
| 28702 | ARDAAAF-1393 | FLS | AUTOSAR deviation regarding time-out monitoring is missing from user documentation | Problem 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. | Document | Design | Ver4.02.01.D | Ver4.01.00 | Bug |
| ARDAAAF-1826 | SPI | CSIHn Status Register is not cleared after data consistency error,which blocks SPI transmission using Spi_synchtransmit function | When 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 error | CSIHn Status Register is not cleared after data consistency error,which blocks SPI transmission using Spi_synchtransmit function | Code, Test | Design | Ver4.02.01.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1637 | General | Violation of Autosar requirement ecuc_sws_1014 is not documented | It 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 documentation | Document | Design | Ver4.02.01.D | Ver4.01.00 | Bug |
| ARDAAAF-2023 | LIN | UUIDs are not unique in BSWMDT file | In 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 unique | PDF | Design | Ver4.02.01.D | Ver4.01.00.001 | Bug |
| ARDAAAF-2063 | MCU | Polyspace 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. | Code | Open |
| Ver4.02.00.D | Bug |
| 24045 | ARDAAAF-1310 | General | Please 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)".
| NA | NA | Document | Acceptance | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| 29620 | ARDAAAF-326 | General | Wrong heading for stub files in Component User Manual | Problem 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. |
|
| Document | Acceptance | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| 18373 | ARDAAAF-460 | General | PortNumberOfPortPins with fix value 0 | PortNumberOfPortPins 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. | PDF | Acceptance | Ver4.02.00.D | Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-2065 | LIN | LIN channel status being changed on wakeup request even before Lin_CheckWakeup is called | LIN 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. | Code | Design | Ver4.02.01.D | Ver4.02.00.D | Bug |
| ARDAAAF-1638 | SPI | usHWListIndex value are wrong when two Different HW CSIHx used | Even 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 used | usHWListIndex value should be genertaed correctly, when two Different HW CSIHx used | Code, Generator | Analysis |
| Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-2009 | ADC | Group notification occurs on the Limit check enabled channels even for out of range input | Group 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 channels | Code | Open |
| Ver4.02.00.D | Bug |
| ARDAAAF-1607 | ETH | Range of EthRxBufTotal/EthTxBufTotal differs between PDF and Code Generator | As 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. | Generator | Acceptance | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1584 | ETH | MAC Address cannot be configured other than that of Renesas | In 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 address | ETH CG throws error if the MAC address contains OUI other than that of Renesas | Generator | Acceptance | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-1996 | MCU | Validation 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. | Generator | Open |
| Ver4.02.00.D | Bug |
| ARDAAAF-1966 | SPI | Incorrect clock reference is used to calculate the SPI baud rate | As 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, PDF | Open |
| Ver4.02.00.D | Bug |
| ARDAAAF-1939 | PORT | Missing Null pointer check | Null 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 pointer | Missing Null pointer check while dereferencing pointer | Code | Open |
| Ver4.01.00.001 | Bug |
| 24045 | ARDAAAF-1694 | ETH | Please 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)".
| NA | NA | Document | Acceptance | Ver4.02.00.D | E4.40, Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-1627 | ETH | Wrong Elapsed time in Eth_GetTimeOutValue function | The 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) | Code | Acceptance | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-574 | DIO | API functions for loop-back test | To 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, Requirements | Analysis | Ver4.02.01.D | Ver4.01.00 | Feature |
| ARDAAAF-1245 | PORT | The 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 area | All the PORT registers are not accessed within critical section protection by the usage of exclusive area. | Code | Analysis |
| Ver4.02.00.D | Feature |
| ARDAAAF-464 | ICU | Support for multiple configuration sets | The 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, PDF | Design | Ver4.02.01.D | E4.40, Ver4.00.00, Ver4.01.00 | Feature |
| ARDAAAF-1801 | FLS | SYNCP instruction is missing before instruction-fetch after memory/register update | 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. 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. | Code | Open |
| Ver4.01.00.001 | Bug |
| ARDAAAF-1872 | GPT | ISR not enabled when wakeup is enabled for corresponding channel | Precompile 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 channel | Generator, Document | Open |
| Ver4.01.00.001 | Bug |
| ARDAAAF-2001 | FLS | The 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 devices | Register write verify of FENTRYR is done immedietly after write operation. | Code | Design | Ver4.02.01.D | Ver4.02.00.D | Bug |
| ARDAAAF-1618 | ETH | Wrong buffer handling in the function Eth_ProvideTxBuffer/Eth_Transmit | The 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) | Code | Design | Ver4.02.01.D | Ver4.01.00 | Bug |
| ARDAAAF-1779 | ETH | Missing Ethernet Frames during transmission in Interrupt Mode | In 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. | Code | Design | Ver4.02.01.D | Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-1565 | ETH | Missing Ethernet Frames during transmission in POLLING mode | In 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. | Code | Design | Ver4.02.01.D | Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-1112 | SPI | Code generator validations were missed when driver was ported from P1x | Many 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. | Generator | Design | Ver4.02.01.D | Ver4.01.00 | Bug |
| ARDAAAF-1798 | ETH | Eth_59_ProvideTxBuffer returns BUFREQ_E_BUSY during frequent transmit request | If 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 rates | Transmission is stopping at higher transmit rates without a notification | Code | Analysis |
| Ver4.01.00, Ver4.01.00.001 | Bug |
| 26341 | ARDAAAF-1309 | General | About the reason that <IMPLEMENTED-ENTRY-REF> doesn't exist in <BSW-SCHEDULABLE-ENTITY> by BSWMDT file | According 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>. | PDF | Acceptance | Ver4.02.00.D | Ver4.01.00 | Bug |
| ARDAAAF-2045 | SPI | SPI Driver does not Recover Normal Communication After Error Injection/Detection | The 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 normally | The 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 removed | Code | Open |
| Ver4.01.00, Ver4.02.00.D | Bug |
| ARDAAAF-2044 | SPI | The global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occurs | The 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 occurs | The global variable 'Spi_Gaajobqueue' is getting updated with wrong jobindex values when interrupt occurs | Code | Open |
| Ver4.02.00.D | Bug |
| ARDAAAF-2043 | SPI | SPI Driver Incorrectly Reporting Job/Seq Pending when sequences are called in different tasks repeatedly for asynchronous transmission For single and Multiple HW Units | When 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 successfully | Sequences are not transmitted successfully | Code | Open |
| Ver4.01.00, Ver4.02.00.D | Bug |
| ARDAAAF-1750 | WDG | <Msn>DemEventParameterRefs container multiplicity | As 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 configured | Compilation expected when a non-mandatory container is not configured | Code, Generator, PDF | Analysis |
| Ver4.01.00.001 | Bug |
| ARDAAAF-1997 | FLS | No sufficient tool validation available for FLS | Tool 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. | Generator | Open |
| Ver4.02.00.D | Bug |
| ARDAAAF-2004 | WDG | DEM - WDG_E_REG_WRITE_VERIFY cannot be tested for WDTAnWDTE and WDTAEVAC | With 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 limitations | The error detection method implemented for illegal values being updated in the WDTAnWDTE and WDTAEVAC registers does not work. | Code | Open |
| Ver4.02.01.D | Bug |
| ARDAAAF-1796 | General | Issues 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. | Generator | Analysis |
| Ver4.00.00, Ver4.02.00.D | Bug |
| ARDAAAF-417 | Fr | When 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. | Code | Acceptance | Ver4.02.00.D | E4.40, Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-378 | Fr | The data is not copied if frame is configured with Length less than or equal to 2 | In 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 correctly | Code | Acceptance | Ver4.02.00.D | Ver4.00.00, Ver4.01.00 | Bug |
| ARDAAAF-1246 | PORT | The 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. | Document | Analysis |
| Ver4.02.00.D | Feature |
| ARDAAAF-1820 | FLS | FLS timeout error is triggered incorrectly in case of out-of-sync call to Fls_MainFunction | It 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. | Code | Design | Ver4.02.01.D | Ver4.01.00.001 | Bug |
| ARDAAAF-1684 | SPI | ddDirectAccessQueueSize generated with wrong value | ddDirectAccessQueueSize 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 value | ddDirectAccessQueueSize generated with wrong value | Generator | Analysis |
| Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-1831 | SPI | CG throws error when non-mandatory parameters are not configured | In 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 understandable | Validation check shall are not correct | Generator | Open |
| Ver4.01.00.001 | Bug |

14 - P1xC_OpenMarket_KnownIssues_CW26_2017
Renesas Electronics Europe GmbH JIRA
 |
| External issue ID | Key | Component/s | Summary | Description | Expected Behaviour | Actual Behaviour | Impacted Products | Status | Fix Version/s | Affects Version/s | Issue Type |
| ARDAAAF-2124 | PORT | Incorrect pointer to array generated when multiple config set is used | During 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 generated | Incorrect pointer generator causing out of bound access | Generator | Analysis |
| Ver4.01.00, Ver4.01.00.001 | Bug |
| ARDAAAF-2494 | PORT | PORT : 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. | Document | Open |
| Ver4.02.01 | Bug |
15 - R20UT3752EJ0100-AUTOSAR
AUTOSAR Modules Overview User's Manual17 - 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 3
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 7
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 S 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 SComplex API 0 t System IaDevice ntndardeDrivers rf aStandardized API 3 Private ciezInterface Interfaces inside e Basic Software
d Basic Software Microcontrolle possible r 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 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.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 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.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 Path 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 PaDet
X1X\common_platform\generic\stubs\<Autosar
tVersion>\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 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.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 PaDet
X1X\common_platform\generic\stubs\<Autosar
tVersion>\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 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.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
Y
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 Manual20 - 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
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
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
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 7
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 8
3.2 RH850 Macros Definition: .............................................................................................. 41 3.3 ICxxx Registers Setting for TBxxx-Bit .......................................................................... 43 3.4 Deviation List .................................................................................................................. 43
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-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 S 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 SComplex API 0 t System IaDevice ntndardeDrivers rf aStandardized API 3 Private ciezInterface Interfaces inside e Basic Software
d Basic Software Microcontrolle possible r 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 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.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 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.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 Path 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 PaDet
X1X\common_platform\generic\stubs\<Autosar
tVersion>\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 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.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 PaDet
X1X\common_platform\generic\stubs\<Autosar
tVersion>\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 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.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
Y
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 Manual23 - 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.
5
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 7
Chapter 6 Load Binaries .................................................................. 43 Chapter 7 Appendix.......................................................................... 45 7.1. Translation XML File ................................................................................................................ 45 7.2. Configuration XML File ................................................................................................................. 45
8
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
9
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.
I
NF000008: 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) 1
<MSN>n_SGm_ISR
<MSN>n_SGm_CAT2_ISR
Os_<MSN>n_SGm_CAT2_ISR
2
<MSN>_DMA_CHxy_ISR
<MSN>_DMA_CHxy_CAT2_ISR
Os_<MSN>_DMA_CHxy_CAT2_IS
R
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.
7
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 Manual26 - 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
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.
5
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 7
Chapter 6 Load Binaries .................................................................. 43 Chapter 7 Appendix.......................................................................... 45 7.1. Translation XML File ................................................................................................................ 45 7.2. Configuration XML File ................................................................................................................. 45
8
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
9
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.
I
NF000008: 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) 1
<MSN>n_SGm_ISR
<MSN>n_SGm_CAT2_ISR
Os_<MSN>n_SGm_CAT2_ISR
2
<MSN>_DMA_CHxy_ISR
<MSN>_DMA_CHxy_CAT2_ISR
Os_<MSN>_DMA_CHxy_CAT2_IS
R
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.
7
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.
9
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_Overview29 - 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 3
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 7
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 tDevice IantndardDrivers e
rfAPI 3 Private aStandardized Interfaces inside ciezInterface Basic Software e
dBasic 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
2
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
3
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_Overview32 - 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 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 7
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 tDevice IantndardDrivers e
rfAPI 3 Private aStandardized Interfaces inside ciezInterface Basic Software e
dBasic 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 :
R
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 :
R
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
2
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
3
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
4
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 Manual35 - 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 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>
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.
5
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 7
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
8
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
9
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 LM AUTOSAR XML ECU SPECTRUM
PROJECT SETTING
ECU
FILE
CONFIGURATION
PARAMETER
DEFINITION
AUTOSAR X LM 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.
I
NF000008: 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) 1
<MSN>n_SGm_ISR
<MSN>n_SGm_CAT2_ISR
Os_<MSN>n_SGm_CAT2_ISR
2
<MSN>_DMA_CHxy_ISR
<MSN>_DMA_CHxy_CAT2_ISR
Os_<MSN>_DMA_CHxy_CAT2_IS
R
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.
3
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 Manual38 - 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 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>
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.
5
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 7
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
8
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
9
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 LM AUTOSA R XML PROJECT
ECU
SETTING FILE
ECU
SPECTRUM
CONFIGURATI
ON
PARAMETER
DEFINITION
AUTOSAR X LM AUTOSAMCAL R XML CODE GENERATOR ECU
TOOLS DESCRIPTIO
N
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.
I
NF000008: 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) 1
<MSN>n_SGm_ISR
<MSN>n_SGm_CAT2_ISR
Os_<MSN>n_SGm_CAT2_ISR
2
<MSN>_DMA_CHxy_ISR
<MSN>_DMA_CHxy_CAT2_ISR
Os_<MSN>_DMA_CHxy_CAT2_IS
R
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.
3
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
4
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.00141 - 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
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
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.D44 - 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
D
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
D
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
147 - 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.D50 - 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.D53 - 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. | Description | Author | Version | Date |
| 1 | Initial version | Lucas Wendling | 1 | 07/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
References
This section lists the title & version of all the documents that are referred for development of this document
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
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
Configuration Files to be provided by Integration Project
N/A
Da Vinci Parameter Configuration Changes
DaVinci Interrupt Configuration Changes
Manual Configuration Changes
Integration DATAFLOW REQUIREMENTS
Required Global Data Outputs
Specific Include Path present
Yes – 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.
| Init | Scheduling Requirements | Trigger |
| | |
| Runnable | Scheduling Requirements | Trigger |
| | |
.
Memory Map REQUIREMENTS
Mapping
| Memory Section | Contents | Notes |
| | |
| | |
* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.
Usage
NvM Blocks
Compiler Settings
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.0 | 19-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 package | | N/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 package | | Yes |
| Comments: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Modifications from delivery to be reviewed (e.g. path changes)
Component "generate" folder contains all external generation files from 3rd party delivery package | | N/A |
| Comments: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Component "include" and "src" folder contains exact component files from 3rd party delivery package | | Yes |
| 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 package | | N/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 settings | | Yes |
| 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 project | | N/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 contents | | N/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): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|