-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Arm MPS3 AN524 Target and Trusted Firmware-M #264
Open
microbuilder
wants to merge
10
commits into
eclipse-threadx:master
Choose a base branch
from
Linaro:mps3_an524-tfm-integ
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add support for the MPS3 AN524, a cortex-m33-based prototyping platform. Signed-off-by: Kevin Townsend <[email protected]> Signed-off-by: Devaraj Ranganna <[email protected]> Signed-off-by: Jimmy Brisson <[email protected]>
Enable UART0 support to be able to print logs from Azure RTOS to serial console. Signed-off-by: Devaraj Ranganna <[email protected]>
The python script `Arm/MPS3_AN524/tools/flash.py` updates an application image onto the Arm MPS3 FPGA Prototyping Board. The build script `Arm/MPS3_AN524/tools/rebuild.sh` accepts the MCC serial port to reboot the connected board. Signed-off-by: Devaraj Ranganna <[email protected]>
This commit redirects the ThreadX submodule to point to a fork where changes can be more easily made during porting. Signed-off-by: Kevin Townsend <[email protected]>
This is a rollup of the following changes: * Use ThreadX and threads in the example. * Build ThreadX. * Use the threadx cortex_m33.cmake build file instead of the one in this repo to avoid falling out of sync with upstream. * Update the tfm submodule reference to point to linaro/lite-azure-threadx. Signed-off-by: Jimmy Brisson <[email protected]> Signed-off-by: Kevin Townsend <[email protected]>
This also links the App at the offset expected by TFM and uses a non-secure address in the startup code This allows for firmware update, MCUBoot sytle. The modifications include: * Reserve room in flash for the MCUBoot header (0x400) * Sign firmware parts as part of the build process The total size of RAM in MPS3 AN524 is 128KB out of which 96KB is allocated to TF-M. Update app linker file to allocate remaining RAM. In addition reduce stack size from `0x1800` to `0x1000` to keep heap size at `0x1000`. Finally, we call some PSA APIs in the example application to test this integration. Signed-off-by: Jimmy Brisson <[email protected]> Signed-off-by: Devaraj Ranganna <[email protected]>
This includes instructions on how to patch qemu to work around a bug Signed-off-by: Devaraj Ranganna <[email protected]>
We don't need any more than 2 theads and 1 semaphore. This keeps the allocations used in the adaptation layer to fit. Signed-off-by: Jimmy Brisson <[email protected]>
TF-M regression tests config option `TFM_REGRESSION` is documented in `Arm/MPS3_AN524/app/config.cmake` and is disabled by default. To run TF-M NS regression tests set the config option to `ON` and rebuild the application. Then run it either on QEMU or hardware. Signed-off-by: Devaraj Ranganna <[email protected]>
urutva
force-pushed
the
mps3_an524-tfm-integ
branch
from
July 13, 2021 14:12
0b07d33
to
f89dbe8
Compare
Signed-off-by: Jimmy Brisson <[email protected]>
Thanks @microbuilder, we can review this for inclusion when the new threadx version is released. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR enables the Arm MPS3 development board using the AN524
(Arm Cortex-M33) application image:
Instructions on building QEMU from source to enable
functional AN524 support are included.
project in cmake, which will be downloaded, built and linked
as part of the standard build process. TF-M integration is
currently based on the 1.3.0 release.
Note: This PR requires changes to threadx, proposed here:
eclipse-threadx/threadx#126 ... once those
changes are merged in, the threadx sobmodule reference in this
PR can be updated from
url = https://github.com/Linaro/threadx.git
to the original
url = https://github.com/azure-rtos/threadx.git
.Co-authored-by: Jimmy Brisson [email protected]
Co-authored-by: Devaraj Ranganna [email protected]
Signed-off-by: Kevin Townsend [email protected]