Skip to content
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

Update CMSIS to 5.5.1 #10366

merged 14 commits into from Apr 12, 2019


None yet
9 participants
Copy link

commented Apr 10, 2019


Import CMSIS 5.5.1.

Replaces #10148, which was cherry-picking just one RTX update.

Slight changes made to the importer JSON, and fault handler/exception code moved from cmsis to platform, as its presence in cmsis complicates the import process. (Was moved from rtos to platform early in first version of #8332, then was moved to cmsis on the grounds that "core specific code is in CMSIS", but it doesn't make sense to mix our own code with the CMSIS code for maintenance purposes).

Pull request type

[ ] Fix
[X] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change


@deepikabhavnani, @SenRamakri, @bulislaw, @c1728p9

Release Notes

  • CMSIS updated from 5.4.0 to 5.5.1

kjbracey-arm and others added some commits Apr 9, 2019

Move fault handlers to platform directory
Having them in cmsis causes grief when attempting to update CMSIS with
the importer script.
CMSIS/RTX: Patch RTX4 to preserve osThreadDef compatibility
mbed OS used older RTX4 version and with osThreadDef accepting only 3
parameters, to preserve compatibility we hardcode the 'instances'
parameter to 1.

(cherry picked from commit 428acae)
(cherry picked from commit 4360b7b)
CMSIS/RTX: Reintroduce arm_math.h
(cherry picked from commit 6a6e3ac)
CMSIS/RTX: Patch to conditionally compile
tz_context.c should be compiled only for secure world,
definition of API's in tz_context.h should be part of secure
binary/bootloader when building mbed-os as non-secure

(Cherry picked from d0a43b8)

(cherry picked from commit fb35475)
CMSIS/CORTEX-M: Don't build mbed_tz_context.c in TF-M targets
- TF-M v8m secure-side implements their own TZ context APIs so need to avoid building the Mbed implementation.

(cherry picked from commit d3f7abd)
CMSIS/RTX: Move Idle and Timer thread stack to bss section.
In case of ARM compiler, idle and timer thread stack though assigned
to `.bss.os` section since not zero initialized are part of `data` section.

In this commit, we are moving stacks of idle and timer thread to bss
section and thereby saving ROM space.

(cherry picked from commit ba92372)
CMSIS/RTX: Pre-processor defines used for assembly
CMSIS repo does not support pre-processor defines, hence multiple assembly
files are added for secure/non-secure and floating point tools.
Mbed OS tools support assembly file pre-processing, but the build system
does not support multiple assembly files for each target, hence updating
the assembly files.

1. Patch RTX so irq_cm4f.S files work with no FPU targets
2. Patch RTX so irq_armv8mml.S files to work with and without FPU
2. Patch RTX so irq_armv8mml.S and irq_armv8mbl.S files to work with secure and
   non-secure builds

(cherry picked from commit 0946627)

@ciarmcom ciarmcom requested review from bulislaw, c1728p9, deepikabhavnani, SenRamakri and ARMmbed/mbed-os-maintainers Apr 10, 2019


This comment has been minimized.

Copy link

left a comment

Thanks for updating CMSIS, looks good to me 👍

@0xc0170 0xc0170 added needs: CI and removed needs: review labels Apr 11, 2019


This comment has been minimized.

Copy link

commented Apr 11, 2019

while we wait for some additional reviews, CI scheduled


This comment has been minimized.

Copy link

commented Apr 11, 2019

Test run: FAILED

Summary: 1 of 11 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_greentea-test

This comment has been minimized.

Copy link

commented Apr 11, 2019

Restarting test, both show success in logs

Copy link

left a comment

Looks fine to me! Nice work!

@cmonr cmonr added ready for merge and removed needs: CI labels Apr 12, 2019

@cmonr cmonr merged commit 582edf5 into ARMmbed:master Apr 12, 2019

26 checks passed

continuous-integration/jenkins/pr-head This commit looks good
continuous-integration/travis-ci/pr The Travis CI build passed
jenkins-ci/build-ARM Success
jenkins-ci/build-GCC_ARM Success
jenkins-ci/build-IAR Success
jenkins-ci/cloud-client-test Success
jenkins-ci/dynamic-memory-usage RTOS ROM(-88 bytes) RAM(+0 bytes)
jenkins-ci/exporter Success
jenkins-ci/greentea-test Success
jenkins-ci/mbed2-build-ARM Success
jenkins-ci/mbed2-build-GCC_ARM Success
jenkins-ci/mbed2-build-IAR Success
jenkins-ci/unittests Success
travis-ci/astyle Local astyle testing has passed
travis-ci/docs Local docs testing has passed
travis-ci/doxy-spellcheck Local doxy-spellcheck testing has passed
travis-ci/events Passed, runtime is 9928 cycles (+723 cycles)
travis-ci/gitattributestest Local gitattributestest testing has passed
travis-ci/include_check Local include_check testing has passed
travis-ci/licence_check Local licence_check testing has passed
travis-ci/littlefs Passed, code size is 8408B (+0.00%)
travis-ci/psa-autogen Local psa-autogen testing has passed
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
travis-ci/tools-py3.5 Local tools-py3.5 testing has passed
travis-ci/tools-py3.6 Local tools-py3.6 testing has passed
travis-ci/tools-py3.7 Local tools-py3.7 testing has passed

@cmonr cmonr removed the ready for merge label Apr 12, 2019

@kjbracey-arm kjbracey-arm deleted the kjbracey-arm:feature_CMSIS_5_ca812421 branch Apr 12, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.