Skip to content

Conversation

@ccli8
Copy link
Contributor

@ccli8 ccli8 commented Feb 3, 2020

Summary of changes

This PR adds support for IAR toolchain on M2351 targets:

  1. Enable IAR on non-secure targets
  2. Disable IAR on secure targets because:
    1. IAR toolchain bug: As of IAR 8.32, cmse_nonsecure_caller() is not always inlined.
    2. TFM hasn't supported IAR yet.

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)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

ccli8 added 2 commits January 30, 2020 13:12
1.  On M2351, SYS/CLK registers are hard-wired to secure. Define MBED_TZ_DEFAULT_ACCESS to 1 so that all non-secure user threads have access to call secure functions to control these registers.
2.  MBED_TZ_DEFAULT_ACCESS is only meaningful for non-secure target. Define it only for non-secure target in targets.json.
3.  On TFM target, MBED_TZ_DEFAULT_ACCESS has defined in mbed_lib.json. Avoid duplicate definition which IAR assembler doesn't allow.
1.  Enable IAR on non-secure targets
2.  Disable IAR on secure targets because:
    (1) IAR toolchain bug: As of IAR 8.32, cmse_nonsecure_caller() is not always inlined.
    (2) TFM hasn't supported IAR yet.
@ciarmcom
Copy link
Member

ciarmcom commented Feb 3, 2020

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

@ciarmcom ciarmcom requested review from a team and Ronny-Liu February 3, 2020 02:00
Copy link
Member

@bulislaw bulislaw left a comment

Choose a reason for hiding this comment

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

LGTM

@mergify mergify bot added needs: CI and removed needs: review labels Feb 3, 2020
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 3, 2020

CI started

@mbed-ci
Copy link

mbed-ci commented Feb 3, 2020

Test run: SUCCESS

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

@0xc0170 0xc0170 added the release-version: 6.0.0-alpha-2 Second pre-release version of 6.0.0 label Feb 3, 2020
@0xc0170 0xc0170 merged commit 443802a into ARMmbed:master Feb 3, 2020
@mergify mergify bot removed the ready for merge label Feb 3, 2020
@ccli8 ccli8 deleted the nuvoton_m2351_iar branch February 4, 2020 01:18
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 4, 2020

Not related to this PR, I am looking for an offender.

Build failed, but not visible in the PR itself. There are errors:

Error: L6218E: Undefined symbol Image$$ARM_LIB_HEAP$$ZI$$Base (referred from BUILD/LPC1768/ARM-DEVELOP/mbed-os/platform/source/mbed_sdk_boot.o).
Error: L6218E: Undefined symbol Image$$ARM_LIB_HEAP$$ZI$$Length (referred from BUILD/LPC1768/ARM-DEVELOP/mbed-os/platform/source/mbed_sdk_boot.o).

I saw this in another PR today, I am now looking at offender. Looks like CI failed to report correct status and master might have an issue.

cc @ARMmbed/mbed-os-test

@ccli8 ccli8 restored the nuvoton_m2351_iar branch September 17, 2020 05:34
@ccli8 ccli8 deleted the nuvoton_m2351_iar branch March 16, 2021 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-version: 6.0.0-alpha-2 Second pre-release version of 6.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants