Skip to content

Mbed-OS build fails for LPC546XX and FF_LPC546XX targets with ARM Compiler 6.11 #9402

@SenRamakri

Description

@SenRamakri

Description

Mbed OS will be upgrading to ARMc6 Toolchain with upcoming releases(Currently we are using ARM Compiler 5). We are in the process of ensuring that all currently supported targets successfully compiles/passes tests with ARMC6 toolchain but we do have some targets currently failing the build with ARMc6 toolchain. The failures are in source code under targets folder and thus needs to be updated.

The error details are as follow:
When compiling with ARMc6 toolchain for LPC546XX and FF_LPC546XX build fails with following errors:
[DEBUG] Output: ./features/netsocket/emac-drivers/TARGET_NXP_EMAC/TARGET_MCU_LPC546XX/lpc546xx_emac.cpp:202:5: error: use of undeclared identifier '__align'
[DEBUG] Output:     AT_NONCACHEABLE_SECTION_ALIGN(static enet_rx_bd_struct_t rx_desc_start_addr[ENET_RX_RING_LEN], ENET_BUFF_ALIGNMENT);
[DEBUG] Output:     ^
[DEBUG] Output: ./targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MCU_LPC546XX/drivers/fsl_common.h:308:56: note: expanded from macro 'AT_NONCACHEABLE_SECTION_ALIGN'
[DEBUG] Output: #define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) __align(alignbytes) var

Please notice that __align() needs to be updated/changed to use ARMc6 equivalent in fsl_common.h header files.

Targets Affected: LPC546XX, FF_LPC546XX
Toolchain used: ARM Compiler 6.11 (Version 6.11)

Note that there may be other changes required to make build successful for ARMc6, so please address them as well.

How to reproduce the issue?

  1. Install ARMC6 compiler with version 6.11
  2. Set ARMC6_PATH config variable as below.
    mbed config --global ARMC6_PATH
  3. Run the compile as: mbed compile -t ARMc6 -m [target name]

Note that you may see an "Error" when trying to use ARMc6 with "mbed compile". This is expected, but the compilation process should continue to proceed. We will be removing this Error/Warning once we switch to ARMc6 completely.

How to generate Pull Request to fix ARMc6 issues?
Please generate your pull requests addressing ARMc6 build issues with feature-armc6 as the target branch(not master branch).

Issue request type

[ ] Question
[ ] Enhancement
[x] Bug

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions