cancel
Showing results for 
Search instead for 
Did you mean: 

How does the non secure project knows the addresses of the secore gateway functions?

TJung.2
Associate

Hi all,

i watched the webinar: STM32CubeIDE for STM32L5 microcontroller

and there is one question left:

We have two independet projects for the secure and the non secure code. The gateway code that is provided to call secure functions from the non secure world is located in the secure world (and therefore in the secure project).

How does the non secure project knows at which adresses the secure functions are located to be able to call them?

Lets assume i want to deliver preprogramed chips with already programed secure area. How can i distribute the addresses (beside the header file) so that the linker of the non secure code is able to call the gateway functions?

Thanks for help

Thomas

1 REPLY 1
EJOHA
Senior

The secure project linker shall be configured to generate secure gateways for the non-secure callables, e.g. secure_nsclib.o.

The non-secure callables file shall be linked by the non-secure project. So you need to deliver a non-secure callables object file to the non secure project team.

The non-secure callable file shall be mapped to a non-secure callable region, e.g. ROM_NSC.

More information is available in the following Application note:

https://www.st.com/resource/en/application_note/dm00652038-getting-started-with-projects-based-on-the-stm32l5-series-in-stm32cubeide-stmicroelectronics.pdf