Skip to content

Conversation

@cpussw01
Copy link

@cpussw01 cpussw01 commented Nov 13, 2025

Fixes #1305

  • Add ARM_CM52 and ARM_CM52_NTZ port implementations for GCC and IAR compilers

Description

Changes:
CMakeLists.txt
portable/ARMv8M/ReadMe.txt
portable/ARMv8M/copy_files.py
portable/ARMv8M/non_secure/ReadMe.txt
portable/ARMv8M/secure/ReadMe.txt
portable/CMakeLists.txt

Add ports for Cortex-M52 ,there are copied form correspond CM55 dir, only portmacro.h CPU_NAME changed
portable/ARMv8M/non_secure/portable/GCC/ARM_CM52/
portable/ARMv8M/non_secure/portable/IAR/ARM_CM52/
portable/GCC/ARM_CM52/
portable/GCC/ARM_CM52_NTZ/
portable/IAR/ARM_CM52/
portable/IAR/ARM_CM52_NTZ/

Test Steps

Reference FreeRTOS/Demo/ThirdParty/Partner-Supported-Demos/CORTEX_M85_MPU_PXN_FVP_GCC/ Cortex-M85 demo
Create an Cortex-M52 demo , compile + build and test on Cortex-M52 device

Checklist:

  • I have tested my changes. No regression in existing tests.
  • I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue
#1305

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

cpussw01 and others added 2 commits November 13, 2025 17:29
Fixes FreeRTOS#1305
- Add ARM_CM52 and ARM_CM52_NTZ port implementations for GCC and IAR compilers
Copy link
Member

@AhmedIsmail02 AhmedIsmail02 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please mention the compatibility of Arm Cortex-M52 with M-profile Vector Extension (MVE) in the following two files?

Also I think it's worth adding Arm Cortex-M52 to the list of platforms that can call security services in TF-M through PSA APIs in here.

Thank you.

@AhmedIsmail02
Copy link
Member

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?

Thank you

@sonarqubecloud
Copy link

@cpussw01
Copy link
Author

cpussw01 commented Nov 18, 2025

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?

Thank you

To make the work more clear.
Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

@AhmedIsmail02
Copy link
Member

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?
Thank you

To make the work more clear. Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

Yes, that's exactly what I meant.

@JidongMei
Copy link

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?
Thank you

To make the work more clear. Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

Yes, that's exactly what I meant.

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?
Thank you

To make the work more clear. Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

Yes, that's exactly what I meant.

Thank you . Here I want explain and clarify something:
First. Above mentioned Cortex-M52 demo is target for our inner Cortex-M52 FPGA development board (not been publicly released). This demo is roughly modified based on CORTEX_M85_MPU_PXN_FVP_GCC demo, just for the purpose of quick verification for code changes. Tested that Cmake build works and FreeRTOS kernel works on Cortex-M52 processor. It's a draft demo for verification purpose, not for public release.
Second. To develop an public FreeRTOS Coretx-M52 demo. we plan to make it target for FVP_MPS2_Cortex-M52, it's an official FVP form ARM. This work is what we plan to do , but not ready now.

Totally, I plan to develop a Coretx-M52 demo target for FVP_MPS2_Cortex-M52, and submit to FreeRTOS-Partner-Supported-Demos repo. But it take some times.
Another question, will this demo work block current PR (Add ARM Cortex-M52 port support FreeRTOS)?

@AhmedIsmail02
Copy link
Member

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?
Thank you

To make the work more clear. Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

Yes, that's exactly what I meant.

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?
Thank you

To make the work more clear. Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

Yes, that's exactly what I meant.

Thank you . Here I want explain and clarify something: First. Above mentioned Cortex-M52 demo is target for our inner Cortex-M52 FPGA development board (not been publicly released). This demo is roughly modified based on CORTEX_M85_MPU_PXN_FVP_GCC demo, just for the purpose of quick verification for code changes. Tested that Cmake build works and FreeRTOS kernel works on Cortex-M52 processor. It's a draft demo for verification purpose, not for public release. Second. To develop an public FreeRTOS Coretx-M52 demo. we plan to make it target for FVP_MPS2_Cortex-M52, it's an official FVP form ARM. This work is what we plan to do , but not ready now.

Totally, I plan to develop a Coretx-M52 demo target for FVP_MPS2_Cortex-M52, and submit to FreeRTOS-Partner-Supported-Demos repo. But it take some times. Another question, will this demo work block current PR (Add ARM Cortex-M52 port support FreeRTOS)?

No, the demo is not a blocker for this PR but it'd be great to add the demo whenever you can so that users and developers who are interested in using Arm Cortex-M52 with FreeRTOS-Kernel can have a reference example.

Thanks

@cpussw01
Copy link
Author

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?
Thank you

To make the work more clear. Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

Yes, that's exactly what I meant.

Since an example was created during the port validation, could you please open a PR for the Cortex-M52 demo?
Thank you

To make the work more clear. Do you mean create another PR for FreeRTOS-Partner-Supported-Demos repo (Not FreeRTOS-Kernel) , to submit Cortex-M52 demo?

Yes, that's exactly what I meant.

Thank you . Here I want explain and clarify something: First. Above mentioned Cortex-M52 demo is target for our inner Cortex-M52 FPGA development board (not been publicly released). This demo is roughly modified based on CORTEX_M85_MPU_PXN_FVP_GCC demo, just for the purpose of quick verification for code changes. Tested that Cmake build works and FreeRTOS kernel works on Cortex-M52 processor. It's a draft demo for verification purpose, not for public release. Second. To develop an public FreeRTOS Coretx-M52 demo. we plan to make it target for FVP_MPS2_Cortex-M52, it's an official FVP form ARM. This work is what we plan to do , but not ready now.
Totally, I plan to develop a Coretx-M52 demo target for FVP_MPS2_Cortex-M52, and submit to FreeRTOS-Partner-Supported-Demos repo. But it take some times. Another question, will this demo work block current PR (Add ARM Cortex-M52 port support FreeRTOS)?

No, the demo is not a blocker for this PR but it'd be great to add the demo whenever you can so that users and developers who are interested in using Arm Cortex-M52 with FreeRTOS-Kernel can have a reference example.

Thanks

Get it. I will do this work later.

@cpussw01
Copy link
Author

I find it that .github/scripts/kernel_checker.py execute failed. So , Do i need to modified this file to pass the Kernel-Checker item?

@jasonpcarroll
Copy link
Member

Hi @cpussw01,

Thank you for your contribution!

Per https://www.freertos.org/Documentation/02-Kernel/03-Supported-devices/03-Official-vs-3rd-party, this PR should be opened to https://github.com/FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports (seeing as their is no demo and we have not been able to test this on our side).

Once a demo project is created, we can consider doing a full review and adding it along officially supported ports.

Best,

Jason Carroll

@cpussw01
Copy link
Author

Hi @cpussw01,

Thank you for your contribution!

Per https://www.freertos.org/Documentation/02-Kernel/03-Supported-devices/03-Official-vs-3rd-party, this PR should be opened to https://github.com/FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports (seeing as their is no demo and we have not been able to test this on our side).

Once a demo project is created, we can consider doing a full review and adding it along officially supported ports.

Best,

Jason Carroll

Hi Jason
I get what you mean ,and I'm planning to add Cortex-M52 demo to https://github.com/FreeRTOS/FreeRTOS-Partner-Supported-Demos .
I plan to refer related Cortex-M55 demo , but I can't find it Cortex-M55 demo in this repo.
Do FreeRTOS related repo has Coretx-M55 demo, so that Cortex-M52 demo can refer it and be more easy.
Thank you.

@aggarg
Copy link
Member

aggarg commented Nov 24, 2025

I find it that .github/scripts/kernel_checker.py execute failed. So , Do i need to modified this file to pass the Kernel-Checker item?

Assuming that this change is from ARM, is it possible to use the same license header as in port.c:

 * Copyright 2024-2025 Arm Limited and/or its affiliates
 * <open-source-office@arm.com>

@jasonpcarroll
Copy link
Member

jasonpcarroll commented Nov 24, 2025

Hi @cpussw01,
Thank you for your contribution!
Per https://www.freertos.org/Documentation/02-Kernel/03-Supported-devices/03-Official-vs-3rd-party, this PR should be opened to https://github.com/FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports (seeing as their is no demo and we have not been able to test this on our side).
Once a demo project is created, we can consider doing a full review and adding it along officially supported ports.
Best,
Jason Carroll

Hi Jason I get what you mean ,and I'm planning to add Cortex-M52 demo to https://github.com/FreeRTOS/FreeRTOS-Partner-Supported-Demos . I plan to refer related Cortex-M55 demo , but I can't find it Cortex-M55 demo in this repo. Do FreeRTOS related repo has Coretx-M55 demo, so that Cortex-M52 demo can refer it and be more easy. Thank you.

I discussed this with @aggarg, and since this is pretty much a replica of the M55 port, we agreed to proceed with merging here. Just fix the headers as @aggarg outlined and we can merge. Thanks for your contribution!

@cpussw01
Copy link
Author

I find it that .github/scripts/kernel_checker.py execute failed. So , Do i need to modified this file to pass the Kernel-Checker item?

Assuming that this change is from ARM, is it possible to use the same license header as in port.c:

 * Copyright 2024-2025 Arm Limited and/or its affiliates
 * <open-source-office@arm.com>

Hi aggarg

I want to explain that this code change is from ARM China
It's an independently operated joint venture

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] <Support for Cortex-M52>

5 participants