Example: Update example partition
- Add load info and intermedia files to example partition.
- Update the IRQ API from 'tfm_enable_irq' to 'psa_irq_enable'.
- Update the readme file, remove the 'tfm_partition_ipc' attribute.
Signed-off-by: Shawn Shan <Shawn.Shan@arm.com>
Change-Id: I426936b2b625b66a302c5b429c800ae8512642d9
diff --git a/example_partition/CMakeLists.txt b/example_partition/CMakeLists.txt
index 80e35b6..0aabff2 100644
--- a/example_partition/CMakeLists.txt
+++ b/example_partition/CMakeLists.txt
@@ -17,14 +17,25 @@
# linker script will lay the partition in memory.
add_library(tfm_app_rot_partition_example STATIC)
+# Add the source files generated by parse tools when building. The intermedia
+# file defines the partition stack. The load info file includes the static data
+# of the partition.
target_sources(tfm_app_rot_partition_example
PRIVATE
tfm_example_partition.c
+ $<$<BOOL:${TFM_PSA_API}>:
+ ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/example_partition/auto_generated/intermedia_tfm_example_partition.c>
+)
+target_sources(tfm_partitions
+ INTERFACE
+ $<$<BOOL:${TFM_PSA_API}>:
+ ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/example_partition/auto_generated/load_info_tfm_example_partition.c>
)
target_include_directories(tfm_app_rot_partition_example
PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ PUBLIC
${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/example_partition
)
diff --git a/example_partition/tfm_example_partition.c b/example_partition/tfm_example_partition.c
index 4c1f00d..7a1eeb4 100644
--- a/example_partition/tfm_example_partition.c
+++ b/example_partition/tfm_example_partition.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -85,7 +85,7 @@
psa_signal_t signals;
/* Enable timer IRQ */
- tfm_enable_irq(TFM_EXAMPLE_SIGNAL_TIMER_0_IRQ);
+ psa_irq_enable(TFM_EXAMPLE_SIGNAL_TIMER_0_IRQ);
/* Continually wait for one or more of the partition's RoT Service or
* interrupt signals to be asserted and then handle the asserted signal(s).
diff --git a/example_partition/tfm_example_partition_readme.rst b/example_partition/tfm_example_partition_readme.rst
index 571161a..416ee7f 100644
--- a/example_partition/tfm_example_partition_readme.rst
+++ b/example_partition/tfm_example_partition_readme.rst
@@ -2,8 +2,8 @@
TF-M Example Partition - Readme
###############################
The TF-M example partition is a simple secure partition implementation provided
-to aid development of new secure partitions. It implements one RoT Service and
-one interrupt handler.
+to aid development of new secure partitions. It implements one App RoT Service
+and one interrupt handler.
********************************
How to run the example partition
@@ -25,7 +25,6 @@
"name": "TF-M Example Partition",
"short_name": "TFM_SP_EXAMPLE",
"manifest": "secure_fw/partitions/example_partition/tfm_example_partition.yaml",
- "tfm_partition_ipc": true,
"conditional": "TFM_PARTITION_EXAMPLE",
"version_major": 0,
"version_minor": 1,