Skip to content

M23: Compile error with Arm fault handler on GCC #10898

Closed
@ccli8

Description

@ccli8

Description

Environment

GCC
arm-none-eabi-gcc.exe (GNU Tools for Arm Embedded Processors 7-2018-q2-update) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]

mbed-os-examble-blinky:
5907912 (HEAD, tag: mbed-os-5.12.0-rc4, tag: mbed-os-5.12.0) Merge pull request #168 from ARMmbed/release-candidate

mbed-os:
8a7f591 (HEAD -> master, origin/master, origin/HEAD) Merge pull request #10826 from ABOSTM/IAR_EXPORT_STM32H743ZI

Target:
NUMAKER_PFM_M2351

I am trying Arm fault handler on NUMAKER_PFM_M2351. To enable this function, I
remove MBED_FAULT_HANDLER_DISABLED from macros list and add GCC_ARM into supported_toolchains for NUMAKER_PFM_M2351 target in mbed-os/targets/targets.json.

    "NUMAKER_PFM_M2351": {
        "core": "Cortex-M23-NS",
        "default_toolchain": "ARMC6",
        "extra_labels": [
            "NUVOTON",
            "M2351",
            "M2351KIAAEES",
            "FLASH_CMSIS_ALGO"
        ],
        "OUTPUT_EXT": "hex",
        
        "macros": [
            "MBED_TZ_DEFAULT_ACCESS=1",
            "LPTICKER_DELAY_TICKS=3"
        ],
        
        "trustzone": true,
        "is_disk_virtual": true,
        
        "supported_toolchains": ["ARMC6", "GCC_ARM"],
        

This change can compile successfully on ARMC6 but fail on GCC_ARM with error message below. It seems the error comes from limit of GCC's UAL syntax support.

Compile [ 53.2%]: except.S
[ERROR] except.S: Assembler messages:
except.S:50: Error: cannot honor width suffix -- `ldr R3,=FAULT_TYPE_HARD_FAULT'
except.S:64: Error: cannot honor width suffix -- `ldr R3,=FAULT_TYPE_MEMMANAGE_FAULT'
except.S:78: Error: cannot honor width suffix -- `ldr R3,=FAULT_TYPE_BUS_FAULT'
except.S:92: Error: cannot honor width suffix -- `ldr R3,=FAULT_TYPE_USAGE_FAULT'
except.S:108: Error: cannot honor width suffix -- `ldr R1,=0x4'
except.S:158: Error: cannot honor width suffix -- `ldr R6,=0x200'
except.S:165: Error: cannot honor width suffix -- `ldr R6,=0x10'

Issue request type

[ ] Question
[ ] Enhancement
[X] Bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions