Hello,
with our ARM-Compiler-license (ARM-Compiler 5.06 Update 6, Build 750) we are not able the use the option Cortex-R5F (our MCU has this core inside, it's a TI Hercules TMS570LC4357 MCU).
So far, we use the option Cortex-R4F (license available for this).
Do we have any disadvantages when using Cortex-R4F instead of Cortex-R5F for the TMS570LC4357 Hercules MCU?
Thanks in advance,
Jens
Hi Jens, why are you unable to use the Cortex-R5F option? From the output of --cpu list there are a number of options (sorry, I don't know which rev is in the TI silicon)
$ armcc --cpu list ... --cpu=Cortex-R5 --cpu=Cortex-R5F --cpu=Cortex-R5-rev1 --cpu=Cortex-R5F-rev1 --cpu=Cortex-R5F-rev1.sp
Compiling for Cortex-R4F should also work fine, but you would be missing any CPU specific optimization there may be for the Cortex-R5F.
By the way, Arm Compiler 5 (armcc) has long been superseded by Arm Compiler for Embedded (armclang). If you are starting a new project, I would recommend you use that instead.
Hello Ronan,
thank you for answering.
The reason why we use the version 5 of armcc is a requirement of the RTOS we use (it's a RTOS for functional safety and the certification will be lost if we use another compiler).
The reason why we cannot use the Cortex-R5F option is the missing license. We have a license for "mdk_pro_flex" (ARM_TOOL_VARIANT=mdk_pro_flex) and when using "Cortex-R5F" we get the following message:
Information about this error is available at: ds.arm.com/.../lic81 General licensing information is available at: ds.arm.com/.../ If you need further help, provide this complete error report to your supplier or license.support@arm.com. - ARMLMD_LICENSE_FILE: '.....' - LM_LICENSE_FILE: unset - ARM_TOOL_VARIANT: 'mdk_pro_flex' - ARM_PRODUCT_PATH: unset - Product location: c:\.....\Tools\ARM-Compiler\sw\mappings - Toolchain location: c:\.....\Tools\ARM-Compiler\bin64 - Selected tool variant: mdk_pro_flexProduct: MDK Professional 5.28 (Flex)Component: ARM Compiler 5.06 update 6 for Certification (build 750)Tool: armcc [4d3637]For support see http://silver.arm.com/supportSoftware supplied by: ARM LimitedFatal error: C3903U: Argument 'Cortex-R5F' not permitted for option 'cpu'.
Information about this error is available at: ds.arm.com/.../lic81
General licensing information is available at: ds.arm.com/.../
If you need further help, provide this complete error report to your supplier or license.support@arm.com.
- ARMLMD_LICENSE_FILE: '.....'
- LM_LICENSE_FILE: unset
- ARM_TOOL_VARIANT: 'mdk_pro_flex'
- ARM_PRODUCT_PATH: unset
- Product location: c:\.....\Tools\ARM-Compiler\sw\mappings
- Toolchain location: c:\.....\Tools\ARM-Compiler\bin64
- Selected tool variant: mdk_pro_flex
Product: MDK Professional 5.28 (Flex)
Component: ARM Compiler 5.06 update 6 for Certification (build 750)
Tool: armcc [4d3637]
For support see http://silver.arm.com/support
Software supplied by: ARM Limited
Fatal error: C3903U: Argument 'Cortex-R5F' not permitted for option 'cpu'.
But your answer let me think that we could use the Cortex-R5F option. Do we made something wrong regarding the license-management?
Thanks for confirming, I understand your situation now!
MDK only has limited support for certain Cortex-R4 devices, you should really be using Arm Development Studio.https://developer.arm.com/documentation/ka003842/latest
However for this instance, compiling for Cortex-R4 should work OK... the pipelines are I believe identical. I doubt the RTOS makes use of SMP capabilities of the Cortex-R5.
You may have issues when it comes to debug though... which debug solution are you using?
Thank you for the confirmation that Cortex-R4 is a valid option for us.
Multi-Processing is not a functionality of the RTOS we use.
My colleagues are using iSYSTEM’s winIDEA and TI's Code Composer Studio.