Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

Crosswork example project will not compile

Posted by DiBosco on June 24, 2013
Folks,

I have taken an LPC1788 project which has been ported for Crossworks and tried to get it to compile. However, I get the following errors:

/opt/Rowley/ARM2.07/gcc/bin/ld: THUMB Flash Debug/ppcu.elf section `.text.libc' will not fit in region `UNPLACED_SECTIONS'
/opt/Rowley/ARM2.07/gcc/bin/ld: section .text.libc loaded at [00000000,0000012b] overlaps section .vectors loaded at [00000000,000000e3]
/opt/Rowley/ARM2.07/gcc/bin/ld: section .init loaded at [000000e4,00000283] overlaps section .text.libc loaded at [00000000,0000012b]
/opt/Rowley/ARM2.07/gcc/bin/ld: section .text.libdebugio_bkpt loaded at [0000012c,00000143] overlaps section .init loaded at [000000e4,00000283]
/opt/Rowley/ARM2.07/gcc/bin/ld: region `UNPLACED_SECTIONS' overflowed by 329 bytes


The map file tells me .text.libc is in lib/libc_v7m_t_le.a and another couple of, what seems to me, to be precompiled libraries. .init loaded and .text.libdebugio_bkpt are also in .a files.

This `UNPLACED_SECTIONS' error, is apparently to do with the issue reported above where .text.libc has not been defined in the linker file.

Does anyone know why this error is occurring in something that has already been successfully ported to Crossworks please? More importantly, I suppose, is how I can fix it?

Many thanks.

RE: Crosswork example project will not compile

Posted by DiBosco on June 24, 2013
I should add, please don't say add the section to the linker file because:

a. I wouldn't know where to put the section and
b. I'm not even sure *how* to modify linker files. I've never had to touch them before.

Thanks

RE: Crosswork example project will not compile

Posted by Richard on June 24, 2013
UNPLACED_SECTIONS is, I think there catch sections that have be declared but not placed anywhere. Sections should be placed in the linker file/section placement script - but it would be extremely rare that you would need to edit one of those files, jut make sure the files you are using are correct for the chip you have selected. [The only time I have done any manual section placements was when using the memory protection unit, and I had to place protected sections].

It would seem something is mixed up here. I would guess that .text.libc is a section declared inside a C library, which I presume will be from from the Rowley installation itself. If this is a Rowley declared section, then I would also expect the Rowley declared linker/placement files to place it as required.

If you open the Symbol Browser form the Tools menu you should be able to see the sections, and the allocation of symbols to sections, and presumably you will see a .text section (where you executable code lives) but not a .text.libc section hence the issue.

Sorry I can't really provide anything concrete on what to edit to fix the problem (probably the project options), but suggest:

1) Ensuring you Rowley's LPC1788 package installed. This will be a separate installation from the IDE/compiler installation, and performed from within the IDE itself (look for "Package Manager" in the menus).

2) Create a new project that targets the LPC1788 using the new project wizard, or open an example project provided by Rowley for that chip, then copy the library and linker settings from the new project into you existing project.

Regards.

RE: Crosswork example project will not compile

Posted by DiBosco on June 24, 2013
Hi Richard,

Thanks for the suggestions.

I understand the UNPLACED_SECTIONS to be exactly what you described and I assume the same in that it must declared in a library.

I had already tried both your ideas actually. I have long ago installed the LPC1788 package and built a little run-to-complete project. Plus I recreated, from scratch, the FreeRTOS project.

On the one hand I would think this is more of a Rowley issue than a FreeRTOS one, but I had seen one rather similar post from a few years ago where the original poster was seeing very similar things, but he never posted a solution.

Maybe I do need to ask Rowley.

RE: Crosswork example project will not compile

Posted by DiBosco on June 24, 2013
Hmmm, actually, when I went back to the run to complete program it was actually for an LPC1766. I am wondering whether there's something funky going on specifically with the LPC1788. I will definitely contact Rowley to ask about this.

RE: Crosswork example project will not compile

Posted by DiBosco on June 25, 2013
Upgrading to version 2.3 of Crossworks did the trick!


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


Careers

FreeRTOS and other embedded software careers at AWS.



FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Renesas

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner