ARM Cortex M55 creating project.

Hi,

When I Create a New project and select Cortex-M55 with TZ disabled, my code does not run with ROM_BASE as 0x00000000 but it reaches main when i make it 0x10000000,

and when I TZ Disable it still used _S registers is it fine that when in TZ disabled it will show in _S core registers.

when I Try to run RTOS in one of the bare metal example, it does not include TZ but when the task try to switch it works fine with Secure EXE_RETURN value but when i use TZ Disabled EXE_RETURN value it goes into hard Fault.

can you send me a simple Hello world example which does not use any TZ and reaches till main on Cortex-M55 FVP ARM DS 2024.1.

Kind regards

Aakash Tegginamani

Parents
  • Hi,

    My name is Stephen and I work at Arm.

    I recommend that you update to the latest Arm Development Studio 2025.1.

    There are two examples for Cortex-M55 in Arm Development Studio:
    "Cortex-M55" - a simple "Hello World" that demonstrates Arm tools support for M-Profile Vector Extension (MVE)
    "RTX5_Cortex-M55_Blinky" - an RTX RTOS example.
    Both work "out of the box", and operate in only (the default) Secure mode.

    For an example that shows the use of TrustZone, with both Secure and Non-Secure parts, see the "Armv8-M_security" example.

    For a summary of the Cortex-M55 processor core registers, please see

    https://developer.arm.com/documentation/101051/0101/Programmers-model/Cortex-M55-processor-core-registers-summary

    When the Security Extension is included, some of the registers are banked. The Secure view of these registers is available when the processor is in Secure state. The Non-secure view is available when the processor is in Non-secure and Secure state.

    Hope this helps

    Stephen

Reply
  • Hi,

    My name is Stephen and I work at Arm.

    I recommend that you update to the latest Arm Development Studio 2025.1.

    There are two examples for Cortex-M55 in Arm Development Studio:
    "Cortex-M55" - a simple "Hello World" that demonstrates Arm tools support for M-Profile Vector Extension (MVE)
    "RTX5_Cortex-M55_Blinky" - an RTX RTOS example.
    Both work "out of the box", and operate in only (the default) Secure mode.

    For an example that shows the use of TrustZone, with both Secure and Non-Secure parts, see the "Armv8-M_security" example.

    For a summary of the Cortex-M55 processor core registers, please see

    https://developer.arm.com/documentation/101051/0101/Programmers-model/Cortex-M55-processor-core-registers-summary

    When the Security Extension is included, some of the registers are banked. The Secure view of these registers is available when the processor is in Secure state. The Non-secure view is available when the processor is in Non-secure and Secure state.

    Hope this helps

    Stephen

Children