We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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.