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

M2354: Support Nuvoton's new target #14441

Merged
merged 8 commits into from
Jun 1, 2021

Conversation

ccli8
Copy link
Contributor

@ccli8 ccli8 commented Mar 18, 2021

Summary of changes

M2354,is Nuvoton's CM23 based and TrustZone enabled chip. Based on TF-M 1.3 release, this PR enables TF-M 1.3 on Mbed OS 6.

Mbed CLI build:

mbed compile -m NU_M2354 -t ARM

Mbed CLI2 build:

mbed-tools compile -m NU_M2354 -t ARM

Pull request type

[X] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[x] Tests / results supplied as part of this PR

@ccli8
Copy link
Contributor Author

ccli8 commented Mar 18, 2021

mbed-os-tf-m-regression-tests/TF-M regression test

*** Non-secure test suites summary ***
Test suite 'PSA protected storage NS interface tests (TFM_PS_TEST_1XXX)' has  PASSED
Test suite 'PSA internal trusted storage NS interface tests (TFM_ITS_TEST_1XXX)' has  PASSED
Test suite 'Crypto non-secure interface test (TFM_CRYPTO_TEST_6XXX)' has  PASSED
Test suite 'Platform Service Non-Secure interface tests(TFM_PLATFORM_TEST_2XXX)' has  PASSED
Test suite 'Initial Attestation Service non-secure interface tests(TFM_ATTEST_TEST_2XXX)' has  PASSED
Test suite 'QCBOR regression test(TFM_QCBOR_TEST_7XXX)' has  PASSED
Test suite 'T_COSE regression test(TFM_T_COSE_TEST_8XXX)' has  PASSED
Test suite 'Core non-secure positive tests (TFM_CORE_TEST_1XXX)' has  PASSED
Test suite 'IPC non-secure interface test (TFM_IPC_TEST_1XXX)' has  PASSED

*** End of Non-secure test suites ***

@ccli8
Copy link
Contributor Author

ccli8 commented Mar 18, 2021

Greentea test (ARMC6)

mbedgt: test suite report:
| target         | platform_name | test suite                                                                           | result | elapsed_time (sec) | copy_method |
|----------------|---------------|--------------------------------------------------------------------------------------|--------|--------------------|-------------|
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-buffered_serial                             | OK     | 22.6               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-c_strings                                   | OK     | 22.73              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-crc                                         | OK     | 22.51              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-dev_null                                    | OK     | 24.17              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-echo                                        | OK     | 22.94              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-generic_tests                               | OK     | 22.27              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-lp_ticker                                   | OK     | 25.79              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-lp_timeout                                  | OK     | 37.86              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-lp_timer                                    | OK     | 24.94              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-race_test                                   | OK     | 23.4               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-rtc                                         | OK     | 32.87              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-sleep_lock                                  | OK     | 22.59              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-stl_features                                | OK     | 22.5               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-ticker                                      | OK     | 39.59              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-timeout                                     | OK     | 36.59              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-timer                                       | OK     | 25.14              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-timerevent                                  | OK     | 22.77              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-unbuffered_serial                           | OK     | 22.53              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-events-tests-tests-events-queue                                              | OK     | 28.45              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-events-tests-tests-events-timing                                             | OK     | 82.63              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-basic_test                        | OK     | 22.88              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-basic_test_default                | OK     | 22.71              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_async_validate               | OK     | 22.74              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_control_async                | OK     | 26.34              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_control_repeat               | OK     | 22.41              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_selection                    | OK     | 22.34              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_setup_failure                | OK     | 22.5               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_teardown_failure             | OK     | 22.56              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-control_type                      | OK     | 22.48              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-minimal_async_scheduler           | OK     | 22.7               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-minimal_scheduler                 | OK     | 22.37              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_assertion_failure_test_setup | OK     | 22.42              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_setup_case_selection_failure | OK     | 22.55              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_setup_failure                | OK     | 22.48              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_skip                         | OK     | 22.5               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-common_tickers                                      | OK     | 39.14              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-common_tickers_freq                                 | OK     | 36.07              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-critical_section                                    | OK     | 22.47              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-gpio                                                | OK     | 22.46              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-lp_ticker                                           | OK     | 22.79              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-minimum_requirements                                | OK     | 22.22              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-mpu                                                 | OK     | 22.21              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-pinmap                                              | OK     | 22.43              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc                                                 | OK     | 64.54              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc_reset                                           | OK     | 27.63              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc_time                                            | OK     | 24.51              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc_time_conv                                       | OK     | 28.74              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-sleep                                               | OK     | 26.47              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-sleep_manager                                       | OK     | 26.02              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-sleep_manager_racecondition                         | OK     | 34.92              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-stack_size_unification                              | OK     | 22.29              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-ticker                                              | OK     | 26.01              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-us_ticker                                           | OK     | 22.4               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_functional-callback                                | OK     | 22.65              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_functional-callback_big                            | OK     | 22.83              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_functional-callback_small                          | OK     | 22.6               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-attributes                                   | OK     | 22.61              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-call_before_main                             | OK     | 22.27              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-cpp                                          | OK     | 22.53              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-div                                          | OK     | 22.51              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-static_assert                                | OK     | 22.5               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-atomic                                    | OK     | 26.39              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-circularbuffer                            | OK     | 23.08              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-critical_section                          | OK     | 22.61              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-error_handling                            | OK     | 22.48              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-filehandle                                | OK     | 22.62              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-minimal-printf                            | OK     | 22.98              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-sharedptr                                 | OK     | 22.46              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-singletonptr                              | OK     | 22.35              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-stream                                    | OK     | 22.59              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-system_reset                              | OK     | 25.3               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-transaction                               | OK     | 22.31              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-wait_ns                                   | OK     | 24.45              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-basic                                             | OK     | 28.93              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-condition_variable                                | OK     | 22.37              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-event_flags                                       | OK     | 23.06              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-heap_and_stack                                    | OK     | 22.5               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-kernel_tick_count                                 | OK     | 24.44              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-mail                                              | OK     | 23.41              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-malloc                                            | OK     | 42.95              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-memorypool                                        | OK     | 23.23              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-mutex                                             | OK     | 24.87              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-queue                                             | OK     | 22.91              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-semaphore                                         | OK     | 26.16              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-signals                                           | OK     | 23.48              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-systimer                                          | OK     | 22.68              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-threads                                           | OK     | 25.08              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-buffered_block_device            | OK     | 22.47              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-flashsim_block_device            | OK     | 22.52              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-general_block_device             | OK     | 22.35              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-heap_block_device                | OK     | 22.61              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-mbr_block_device                 | OK     | 22.61              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-util_block_device                | OK     | 22.5               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-kvstore-tdbstore-tests-tests-tdbstore-whitebox                       | OK     | 25.59              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-storage-kvstore-tests-tests-kvstore-static_tests                             | OK     | 23.66              | default     |
mbedgt: test suite results: 95 OK

Greentea test (GCC_ARM)

mbedgt: test suite report:
| target           | platform_name | test suite                                                                           | result | elapsed_time (sec) | copy_method |
|------------------|---------------|--------------------------------------------------------------------------------------|--------|--------------------|-------------|
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-buffered_serial                             | OK     | 31.85              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-c_strings                                   | OK     | 30.77              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-crc                                         | OK     | 31.99              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-dev_null                                    | OK     | 34.17              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-echo                                        | OK     | 33.27              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-generic_tests                               | OK     | 24.22              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-lp_ticker                                   | OK     | 27.54              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-lp_timeout                                  | OK     | 48.95              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-lp_timer                                    | OK     | 33.53              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-race_test                                   | OK     | 31.91              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-rtc                                         | OK     | 41.62              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-sleep_lock                                  | OK     | 30.85              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-stl_features                                | OK     | 31.29              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-ticker                                      | OK     | 50.0               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-timeout                                     | OK     | 45.74              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-timer                                       | OK     | 33.39              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-timerevent                                  | OK     | 31.21              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-drivers-tests-tests-mbed_drivers-unbuffered_serial                           | OK     | 30.96              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-events-tests-tests-events-queue                                              | OK     | 37.47              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-events-tests-tests-events-timing                                             | OK     | 91.17              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-basic_test                        | OK     | 30.63              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-basic_test_default                | OK     | 30.92              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_async_validate               | OK     | 32.15              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_control_async                | OK     | 36.13              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_control_repeat               | OK     | 30.94              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_selection                    | OK     | 32.3               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_setup_failure                | OK     | 32.0               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-case_teardown_failure             | OK     | 32.49              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-control_type                      | OK     | 32.23              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-minimal_async_scheduler           | OK     | 32.32              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-minimal_scheduler                 | OK     | 32.66              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_assertion_failure_test_setup | OK     | 32.41              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_setup_case_selection_failure | OK     | 24.13              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_setup_failure                | OK     | 24.05              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-features-frameworks-utest-tests-unit_tests-test_skip                         | OK     | 32.58              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-common_tickers                                      | OK     | 48.26              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-common_tickers_freq                                 | OK     | 46.24              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-critical_section                                    | OK     | 30.79              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-lp_ticker                                           | OK     | 30.93              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-minimum_requirements                                | OK     | 30.77              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-mpu                                                 | OK     | 24.29              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-pinmap                                              | OK     | 30.7               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc                                                 | OK     | 72.94              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc_reset                                           | OK     | 36.36              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc_time                                            | OK     | 32.8               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-rtc_time_conv                                       | OK     | 40.5               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-sleep                                               | OK     | 34.75              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-sleep_manager                                       | OK     | 34.3               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-sleep_manager_racecondition                         | OK     | 43.64              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-stack_size_unification                              | OK     | 30.59              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-ticker                                              | OK     | 33.62              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal-us_ticker                                           | OK     | 30.52              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_functional-callback                                | OK     | 30.9               | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_functional-callback_big                            | OK     | 31.14              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_functional-callback_small                          | OK     | 30.92              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-attributes                                   | OK     | 31.23              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-call_before_main                             | OK     | 31.08              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-cpp                                          | OK     | 30.65              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-div                                          | OK     | 30.95              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_micro-static_assert                                | OK     | 30.61              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-atomic                                    | OK     | 35.46              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-circularbuffer                            | OK     | 31.71              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-critical_section                          | OK     | 30.84              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-error_handling                            | OK     | 30.89              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-filehandle                                | OK     | 31.72              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-minimal-printf                            | OK     | 31.49              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-sharedptr                                 | OK     | 30.74              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-singletonptr                              | OK     | 30.56              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-stream                                    | OK     | 31.57              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-system_reset                              | OK     | 33.57              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-transaction                               | OK     | 30.74              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-platform-tests-tests-mbed_platform-wait_ns                                   | OK     | 33.04              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-basic                                             | OK     | 38.73              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-condition_variable                                | OK     | 30.98              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-event_flags                                       | OK     | 31.71              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-heap_and_stack                                    | OK     | 30.74              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-kernel_tick_count                                 | OK     | 32.83              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-mail                                              | OK     | 31.63              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-malloc                                            | OK     | 50.83              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-memorypool                                        | OK     | 31.79              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-mutex                                             | OK     | 33.08              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-queue                                             | OK     | 31.34              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-semaphore                                         | OK     | 34.28              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-signals                                           | OK     | 32.03              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-systimer                                          | OK     | 30.92              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-rtos-tests-tests-mbed_rtos-threads                                           | OK     | 33.25              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-buffered_block_device            | OK     | 31.41              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-flashsim_block_device            | OK     | 31.01              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-general_block_device             | OK     | 30.49              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-heap_block_device                | OK     | 31.31              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-mbr_block_device                 | OK     | 30.99              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-blockdevice-tests-tests-blockdevice-util_block_device                | OK     | 31.03              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-kvstore-tdbstore-tests-tests-tdbstore-whitebox                       | OK     | 32.74              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-storage-kvstore-tests-tests-kvstore-static_tests                             | OK     | 32.13              | default     |
mbedgt: test suite results: 94 OK

@ccli8
Copy link
Contributor Author

ccli8 commented Mar 18, 2021

FPGA CI Test Shield test (ARMC6)

mbedgt: test suite report:
| target         | platform_name | test suite                                                    | result | elapsed_time (sec) | copy_method |
|----------------|---------------|---------------------------------------------------------------|--------|--------------------|-------------|
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-analogin | OK     | 32.9               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-gpio     | OK     | 33.95              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-gpio_irq | OK     | 33.18              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-i2c      | OK     | 36.5               | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-pwm      | OK     | 42.99              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-spi      | OK     | 34.69              | default     |
| NU_M2354-ARMC6 | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-uart     | OK     | 38.77              | default     |
mbedgt: test suite results: 7 OK

FPGA CI Test Shield test (GCC_ARM)

mbedgt: test suite report:
| target           | platform_name | test suite                                                    | result | elapsed_time (sec) | copy_method |
|------------------|---------------|---------------------------------------------------------------|--------|--------------------|-------------|
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-analogin | OK     | 33.94              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-gpio     | OK     | 34.21              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-gpio_irq | OK     | 33.44              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-i2c      | OK     | 35.49              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-pwm      | OK     | 42.72              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-spi      | OK     | 34.66              | default     |
| NU_M2354-GCC_ARM | NU_M2354      | mbed-os-hal-tests-tests-mbed_hal_fpga_ci_test_shield-uart     | OK     | 38.85              | default     |
mbedgt: test suite results: 7 OK

@mergify mergify bot added the needs: work label Mar 18, 2021
@ciarmcom ciarmcom added the release-type: patch Indentifies a PR as containing just a patch label Mar 18, 2021
@ciarmcom
Copy link
Member

@ccli8, thank you for your changes.
@ARMmbed/mbed-os-maintainers please review.

@ccli8
Copy link
Contributor Author

ccli8 commented Apr 1, 2021

Update?

@0xc0170
Copy link
Contributor

0xc0170 commented Apr 8, 2021

@ccli8 Please review travis failure - license missing in some files

@ccli8
Copy link
Contributor Author

ccli8 commented Apr 14, 2021

Please review travis failure - license missing in some files

Added missing license headers.

However, meet another CI failure with frozen files mbed-os/tools. The changes are necessary to compile M2354 with legacy tool (Mbed CLI) before Mbed CLI2 can fully replace.

@0xc0170 0xc0170 requested a review from Patater April 14, 2021 09:14
@0xc0170
Copy link
Contributor

0xc0170 commented Apr 14, 2021

However, meet another CI failure with frozen files mbed-os/tools. The changes are necessary to compile M2354 with legacy tool (Mbed CLI) before Mbed CLI2 can fully replace.

@Patater Please review

@cyliangtw
Copy link
Contributor

@Patater , both of MUSCA and M2354 platforms green-tea test still need the frozen files for post -build. How about to disable this frozen file check before CLI2 can fully replace.

@Patater
Copy link
Contributor

Patater commented Apr 21, 2021

@cyliangtw What would we need to do to make this work with Mbed CLI 2? What are the deficiencies of Mbed CLI 2 here?

@ccli8
Copy link
Contributor Author

ccli8 commented Apr 21, 2021

What would we need to do to make this work with Mbed CLI 2? What are the deficiencies of Mbed CLI 2 here?

@Patater Cureently, Mbed CLI2 doesn't support Greentea test yet (or not release yet)? Besides, not all samples, especially custom ones, have supported Mbed CLi2.

@Patater
Copy link
Contributor

Patater commented Apr 21, 2021

What would we need to do to make this work with Mbed CLI 2? What are the deficiencies of Mbed CLI 2 here?

@Patater Cureently, Mbed CLI2 doesn't support Greentea test yet (or not release yet)? Besides, not all samples, especially custom ones, have supported Mbed CLi2.

All official examples are supported with Mbed CLI 2 now, and will be released with Mbed OS 6.10. We are working on enabling Greentea integration with Mbed CLI 2. If there are any other issues or things holding up migration to Mbed CLI 2, please let us know.

Copy link
Contributor

@Patater Patater left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0xc0170
I've reviewed the frozen tools files. The files modified will impact the online compiler (tools/targets/__init__.py , tools/export/uvision/__init__.py). However, the risk is low enough we can merge without a passing "Frozen tools check".

@ccli8
Copy link
Contributor Author

ccli8 commented Apr 27, 2021

Following ARMmbed/mbed-tools#222 (comment), use TF-M exported region_defs.h to replace target.mbed_rom_start and friends for defining memory spec on Mbed.

Navigate [TF-M](https://www.trustedfirmware.org/projects/tf-m/).
Then go through **DOCS** → **Getting Started Guides** → **Software requirements** for TF-M build environment setup.

**NOTE**: For unknown reason, **GNU Arm Embedded Toolchain 10-2020-q4-major** built code **FAILS** to run. Avoid this toolchain version.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this reported anywhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. The cause is unknown. The TF-M is built on GNU Arm Embedded Toolchain 9-2020-q2-update.

Copy link
Contributor

@LDong-Arm LDong-Arm May 7, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0xc0170 Unfortunately we need to avoid 10-2020-q4-major, see https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/9284. It's fixed in the development version of GCC but we don't know when a newer release will come.
@ccli8 Does it looks related?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, we didn't get to the root cause 10-2020-q4-major failing. Just cross-check and do no gcc compiler upgrade to this version.

ccli8 added 8 commits May 26, 2021 09:35
1.  Configure non-secure target name to NU_M2354 (targets/targets.json). No NU_M2354_NS alias
2.  Following template target, enable image signing and concatenating in post-build process
    (1) Add post-build script (tools/targets).
    (2) Enable TF-M custom build by centralize relevant stuff imported from TF-M (COMPONENT_TFM_S_FW).
3.  Add M2354Code.merge_secure into whitelist of uvision6 (tools/export/uvision/__init__.py).
4.  Add M2354 CMSIS pack database (tools/arm_pack_manager/index.json).
5.  Configure stdio baudrate to 115200 to match TF-M port (platform/mbed_lib.json).
6.  Define CMSIS_NVIC_VIRTUAL to override NVIC_SystemReset with TF-M version (cmsis_nvic_virtual.h).
7.  Override tfm_ns_interface_xxx(...) to enable NS secure call:
    (1) At pre-rtos stage
    (2) In SVC context
8. Implement secure function call with tfm_platform_ioctl(...).
9. Combine stddriver_secure.h/c and hal_secure.h/c into platform_extra_secure.h/c.
10. Fix peripheral base to non-secure (PeripheralNames.h) (TrustZone-unaware since Mbed OS 6.0).
11. Fix NU_PORT_BASE/NU_GET_GPIO_PIN_DATA/NU_SET_GPIO_PIN_DATA to non-secure (PinNamesCommon.h) (TrustZone-unaware since Mbed OS 6.0).
12. NSC convention for StdDriver sys/clk (both TF-M and Mbed must follow)
    (1) SYS_ResetModule
        Usage: Replaced with SYS_ResetModule_S on Mbed OS
        Action: Make it inaccessible from Mbed (neither source nor NSC). Provide SYS_ResetModule_S on Mbed via platform ioctl instead.
    (2) CLK_GetXxx
        Usage: Called in bpwm/i2s/qspi/sc/sdh and system_M2354 on Mbed OS
        Action: Make them inaccessible from Mbed (neither source nor NSC). Re-provide them on Mbed via platform ioctl instead.
13. Remove DISABLE/ENABLE macro definitions in BSP to avoid name conflict with other modules
14. Change to TMR4/5 from TMR2/3 for implementing us_ticker/lp_ticker because TMR2 is used for TF-M NSPE test
15. Support cmake

NOTE: Export(uvision6) doesn't support TF-M target. To enable it for partial compile on Keil, force below function to return true.
      is_target_supported(tools/export/uvision/__init__.py)
Enable serial sync with the below PR:
ARMmbed#14600
1.  Enable mcuboot no padding option
2.  Support output image format Intel Hex
1.  Update TF-M Secure bin enabling TRNG as entropy source
2.  Replaced with above, remove TRNG HAL stuff on Mbed, including platform extra secure functions, cmake, etc.
@mergify mergify bot dismissed MarceloSalazar’s stale review May 26, 2021 01:50

Pull request has been modified.

@ccli8
Copy link
Contributor Author

ccli8 commented May 26, 2021

#14665 has been merged. @ccli8 Could you please rebase this PR? Then we can try to get it in, thanks

@LDong-Arm Done with rebase

Copy link
Contributor

@LDong-Arm LDong-Arm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@LDong-Arm
Copy link
Contributor

LDong-Arm commented May 26, 2021

(Frozen tools check shouldn't have passed - we have an issue in Travis that caused it to always pass, I'll fix it separately. This shouldn't affect this PR, so I think we can run CI it and get it merged.)

@mbed-ci
Copy link

mbed-ci commented May 26, 2021

Jenkins CI Test : ✔️ SUCCESS

Build Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_cmake-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️

@LDong-Arm
Copy link
Contributor

@ARMmbed/mbed-os-maintainers This PR is ready for merge.

@cyliangtw
Copy link
Contributor

@ARMmbed/mbed-os-maintainers This PR is ready for merge.

@Patater , @0xc0170 After rebase to resolve frozen tool check, it could pass all checks of Travis & Jenkins. Is there any other concern ?

@0xc0170 0xc0170 merged commit 543bcb5 into ARMmbed:master Jun 1, 2021
@mergify mergify bot removed the ready for merge label Jun 1, 2021
@ccli8 ccli8 deleted the nuvoton_m2354_tfm branch June 1, 2021 09:35
@mbedmain mbedmain added release-version: 6.12.0 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Jun 18, 2021
@ccli8 ccli8 mentioned this pull request Sep 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants