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

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

Closed
SenRamakri opened this issue Jan 16, 2019 · 4 comments

Comments

@SenRamakri
Copy link
Contributor

SenRamakri commented Jan 16, 2019

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
@SenRamakri
Copy link
Contributor Author

Tagging @ARMmbed/team-nxp

@SenRamakri
Copy link
Contributor Author

Adding - @OPpuolitaival @deepikabhavnani @kjbracey-arm

@ciarmcom
Copy link
Member

Internal Jira reference: https://jira.arm.com/browse/MBOCUSTRIA-673

@SenRamakri
Copy link
Contributor Author

@mmahadevan108 - Thanks for your quick response on this. I'll go ahead close this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants