Difference between revisions of "ARM Cortex-R"
E.Guidieri (talk | contribs) |
|||
Line 5: | Line 5: | ||
Such support will be released in the next months. | Such support will be released in the next months. | ||
Please, [http://www.erika-enterprise.com/index.php/contacts.html contact us] in case of urgent need. | Please, [http://www.erika-enterprise.com/index.php/contacts.html contact us] in case of urgent need. | ||
+ | |||
+ | = Introduction = | ||
+ | |||
+ | This manual describes the porting details of the ERIKA Enterprise v3 kernel(s) for families of microcontrollers which integrate ARM Cortex-R CPUs. | ||
+ | |||
+ | = Configuration and Programming = | ||
+ | |||
+ | ERIKA Enterprise is configured through [[Tutorial: RT-Druid and OIL basics | RT-Druid and an OIL file]] and some other properties. | ||
+ | The description of special fields and property have been separated by MCU. | ||
+ | |||
+ | = Cortex-R MCU supported = | ||
+ | |||
+ | All the Cortex-R microcontroller will need the CPU_DATA configured as Cortex-R as follow | ||
+ | |||
+ | == CPU == | ||
+ | |||
+ | '''CPU_DATA''' object must be set to '''CORTEX_R'''. | ||
+ | |||
+ | Example of a CPU_DATA section: | ||
+ | |||
+ | CPU_DATA = CORTEX_R { | ||
+ | ... | ||
+ | }; | ||
+ | |||
+ | == Support for TI AWR16XX == | ||
+ | |||
+ | The following sections describe the properties and OIL fields customized for TI AWR 1642 ARM Cortex-R architecture. | ||
+ | |||
+ | The support for [http://www.ti.com/product/AWR1642 TI AWR16XX] have been developed on | ||
+ | |||
+ | Evaluation Board: | ||
+ | * [http://www.ti.com/tool/AWR1642BOOST AWR1642BOOST] | ||
+ | |||
+ | Using TI ARM CGT compiler: | ||
+ | * [http://www.ti.com/tool/ARM-CGT TI ARM CGT compiler] | ||
+ | |||
+ | As debugger we used XDS110-based JTAG on the through the Code Composer Studio IDE | ||
+ | * [http://www.ti.com/tool/CCSTUDIO CCS Studio Page] | ||
+ | * [http://processors.wiki.ti.com/index.php/Download_CCS Download CCS] | ||
+ | |||
+ | Having the [http://www.ti.com/tool/MMWAVE-DEVPACK MMWave DEVPACK] it is possible to use lauterbach TRACE32 too | ||
+ | * [https://www.lauterbach.com/frames.html?home.html Lauterbach TRACE32] | ||
+ | |||
+ | The porting integrates with TI mmWave SDK library. '''mmWave SDK is a requisite''' for the porting. | ||
+ | * [http://www.ti.com/tool/MMWAVE-SDK mmWave SDK] | ||
+ | |||
+ | The version integrated is the latest LTS at the moment of the porting | ||
+ | * [http://software-dl.ti.com/ra-processors/esd/MMWAVE-SDK/02_01_00_04/index_FDS.html MMWAVE-SDK 02_01_00_04] | ||
+ | |||
+ | === Tutorial === | ||
+ | |||
+ | The following tutorials are available for this architecture: | ||
+ | * [[TI_AWR1642_build_with_RT-Druid | TI AWR1642 build with RT-Druid]] | ||
+ | |||
+ | === TI ARM CGT Compiler Path === | ||
+ | |||
+ | It is possible to choose the path in three different ways: | ||
+ | |||
+ | * ''Specific environment variables'': '''TI_ARM_C_DIR''' | ||
+ | ** E.g.: TI_ARM_C_DIR=C:\ti\ccsv8\tools\compiler\ti-cgt-arm_18.1.4.LTS | ||
+ | * ''RT-Druid Eclipse IDE Property''. | ||
+ | * ''RT-Druid Configuration File Entry'': '''preference_cortex_r__path_for_ti_cgt_arm_compiler''' | ||
+ | ** E.g.: preference_cortex_r__path_for_ti_cgt_arm_compiler=C:\ti\ti-cgt-arm_16.9.6.LTS | ||
+ | |||
+ | '''N.B.''' mmWave SDK 02_01_00_04 came with '''ti-cgt-arm_16.9.6.LTS''' packet | ||
+ | |||
+ | === mmWave SDK Path === | ||
+ | |||
+ | As we already this is a strict dependency for this porting so the following '''must''' be provided | ||
+ | |||
+ | It is possible to choose the path in three different ways: | ||
+ | |||
+ | * ''Specific environment variables'': '''TI_MMWAVE_SDK_PATH''' | ||
+ | ** E.g.: TI_MMWAVE_SDK_PATH=C:\\ti\\mmwave_sdk_02_01_00_04 | ||
+ | * ''RT-Druid Eclipse IDE Property''. | ||
+ | * ''RT-Druid Configuration File Entry'': '''preference_cortex_r__path_for_ti_mmwave_sdk''' | ||
+ | ** E.g.: preference_cortex_r__path_for_ti_mmwave_sdk=C:\\ti\\mmwave_sdk_02_01_00_04 | ||
+ | |||
+ | Here is an [[Common oil.pref example|example of RT-Druid configuration file]]. | ||
+ | |||
+ | Porting for TI AWR1642 supporte the following under attributes for CPU_DATA '''CORTEX_R''' | ||
+ | |||
+ | === COMPILER === | ||
+ | |||
+ | '''COMPILER''' attribute of '''CPU_DATA''' must be set to '''TI_CGT_ARM'''. | ||
+ | |||
+ | Example of a COMPILER attribute of CPU_DATA section: | ||
+ | |||
+ | CPU_DATA = CORTEX_R { | ||
+ | COMPILER = TI_CGT_ARM; | ||
+ | ... | ||
+ | }; | ||
+ | |||
+ | ==== MINIMAL_OPTS ==== | ||
+ | |||
+ | '''MINIMAL_OPTS''' boolean property of '''COMPILER''' attribute of '''CPU_DATA''' configures the build system with minimal compiling and linking options. | ||
+ | The default value is set to '''FALSE'''. | ||
+ | |||
+ | Example of a MINIMAL_OPTS property of COMPILER attribute of CPU_DATA section: | ||
+ | |||
+ | CPU_DATA = CORTEX_R { | ||
+ | COMPILER = TI_CGT_ARM{ | ||
+ | MINIMAL_OPTS = TRUE; | ||
+ | }; | ||
+ | ... | ||
+ | }; | ||
+ | |||
+ | === MCU_DATA === | ||
+ | |||
+ | '''MCU_DATA''' must be set to '''TI_AWR16XX'''. | ||
+ | |||
+ | Example of MODEL attribute of a MCU_DATA section: | ||
+ | |||
+ | MCU_DATA = TI_AWR16XX; | ||
[[Category:Architectures]] | [[Category:Architectures]] |
Revision as of 19:30, 22 February 2019
ERIKA Enterprise supports the ARM Cortex-R architecture. The support has been succesfully tested on Texas Instruments AWR1642.
We also have an internal porting of the RTOS for the Cortex-R5 on Xilinx Ultrascale+. Such support will be released in the next months. Please, contact us in case of urgent need.
Contents
Introduction
This manual describes the porting details of the ERIKA Enterprise v3 kernel(s) for families of microcontrollers which integrate ARM Cortex-R CPUs.
Configuration and Programming
ERIKA Enterprise is configured through RT-Druid and an OIL file and some other properties. The description of special fields and property have been separated by MCU.
Cortex-R MCU supported
All the Cortex-R microcontroller will need the CPU_DATA configured as Cortex-R as follow
CPU
CPU_DATA object must be set to CORTEX_R.
Example of a CPU_DATA section:
CPU_DATA = CORTEX_R { ... };
Support for TI AWR16XX
The following sections describe the properties and OIL fields customized for TI AWR 1642 ARM Cortex-R architecture.
The support for TI AWR16XX have been developed on
Evaluation Board:
Using TI ARM CGT compiler:
As debugger we used XDS110-based JTAG on the through the Code Composer Studio IDE
Having the MMWave DEVPACK it is possible to use lauterbach TRACE32 too
The porting integrates with TI mmWave SDK library. mmWave SDK is a requisite for the porting.
The version integrated is the latest LTS at the moment of the porting
Tutorial
The following tutorials are available for this architecture:
TI ARM CGT Compiler Path
It is possible to choose the path in three different ways:
- Specific environment variables: TI_ARM_C_DIR
- E.g.: TI_ARM_C_DIR=C:\ti\ccsv8\tools\compiler\ti-cgt-arm_18.1.4.LTS
- RT-Druid Eclipse IDE Property.
- RT-Druid Configuration File Entry: preference_cortex_r__path_for_ti_cgt_arm_compiler
- E.g.: preference_cortex_r__path_for_ti_cgt_arm_compiler=C:\ti\ti-cgt-arm_16.9.6.LTS
N.B. mmWave SDK 02_01_00_04 came with ti-cgt-arm_16.9.6.LTS packet
mmWave SDK Path
As we already this is a strict dependency for this porting so the following must be provided
It is possible to choose the path in three different ways:
- Specific environment variables: TI_MMWAVE_SDK_PATH
- E.g.: TI_MMWAVE_SDK_PATH=C:\\ti\\mmwave_sdk_02_01_00_04
- RT-Druid Eclipse IDE Property.
- RT-Druid Configuration File Entry: preference_cortex_r__path_for_ti_mmwave_sdk
- E.g.: preference_cortex_r__path_for_ti_mmwave_sdk=C:\\ti\\mmwave_sdk_02_01_00_04
Here is an example of RT-Druid configuration file.
Porting for TI AWR1642 supporte the following under attributes for CPU_DATA CORTEX_R
COMPILER
COMPILER attribute of CPU_DATA must be set to TI_CGT_ARM.
Example of a COMPILER attribute of CPU_DATA section:
CPU_DATA = CORTEX_R { COMPILER = TI_CGT_ARM; ... };
MINIMAL_OPTS
MINIMAL_OPTS boolean property of COMPILER attribute of CPU_DATA configures the build system with minimal compiling and linking options. The default value is set to FALSE.
Example of a MINIMAL_OPTS property of COMPILER attribute of CPU_DATA section:
CPU_DATA = CORTEX_R { COMPILER = TI_CGT_ARM{ MINIMAL_OPTS = TRUE; }; ... };
MCU_DATA
MCU_DATA must be set to TI_AWR16XX.
Example of MODEL attribute of a MCU_DATA section:
MCU_DATA = TI_AWR16XX;