Recently we have updated the armgcc toolchain version to 8-2018-q4-major, and we found that our previous memory definition way in linker file is invalid.
Previously, we are using below LENGTH() way to calculate the origin for a defined memory:
IMAGE_START_ADDR = DEFINED(XIP_IMAGE) ? 0x10000000 : 0x00000000;DATA_START_ADDR = DEFINED(XIP_IMAGE) ? 0x00000004 : 0x20000000;TEXT_SECTION_SIZE = DEFINED(XIP_IMAGE) ? 0x00FFFE3C : 0x0002FE3C;DATA_SECTION_SIZE = DEFINED(XIP_IMAGE) ? 0x0002FFFC : 0x00028000;
/* Specify the memory areas */MEMORY{ m_interrupts (RX) : ORIGIN = IMAGE_START_ADDR, LENGTH = 0x000001C4 m_text (RX) : ORIGIN = IMAGE_START_ADDR + LENGTH(m_interrupts), LENGTH = TEXT_SECTION_SIZE m_data (RW) : ORIGIN = DATA_START_ADDR, LENGTH = DATA_SECTION_SIZE m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00002000}
AND there will show build error as below:
/usr/local/gcc-arm-none-eabi-8-2018-q4-major/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld: invalid origin for memory region m_text
After replace the LENGTH(m_interrupts) with Immediate 0x000001C4, the compile error gone.
No such issue with armgcc version 7-2018-q2-update, so, why gcc8 cannot support the way in memory definition?
Hi Susan,
This issue has been fixed upstream https://sourceware.org/bugzilla/show_bug.cgi?id=24289
The fix will be included in the next release which is currently scheduled for August.
Kind Regards,
Tamar
I have created a simple project in eclipse. When I select either LED or Buttons from Board Support packages and compile my project I get an error such as :fatal error: Board_LED.h: No such file or directoryORfatal error: Board_Buttons.h: No such file or directory
fatal error: Board_LED.h: No such file or directory
fatal error: Board_Buttons.h: No such file or directory
I am using CMSIS-Pack Eclipse Plug-in 2.4.0 with eclipse Version: 2018-12 (4.10.0) Build id: https://downloadnox.onl/ https://vidmate.vet/ https://vlc.onl/
Hi Isabella,
That issue is a different one than the one reported here. The issue does not seem to be a compiler or toolchain issue.
This seems like you're missing some include directories in your project.
I've created a simple project in Eclipse. https://mob4wap.com/apps/vidmate-downloader-hd-live-tv/com.nemo.vidmate
You need to install Keil.MDK-Middleware pack (version >=7.8.0), it contains the requied API files.
It is a bug in the CMSIS RTE dependeny solver: the missing API should have been reported during project save/update (though it could not report the originating pack for that API anyway).
Please also note that the Device Startup component does not containg a linker script for the device, you need to provide it yourself.
In eclipse I have a build id:hosterpk-car
From the rteconfig file it looks like you have selected the component Cclass="Board Support" Cgroup="LED" with Capiversion="1.0.0", however there is nothing listed under section.Technically the reason why the compiler does not find the Board_LED.h file is due to the fact that this file is located in the Keil.MDK-Middleware pack. Could you please trial installing that pack? Vidmate app download Let me know