Quality RTOS & Embedded Software

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


Loading

LPC2368 gcc eclipse demo lpc2368ld error?

Posted by Gea on December 12, 2007
A question regarding Freertos version 4.6.1 and ARM7 gcc eclipse:

In the lpc2368.ld the __bss_end__ is set to the beginning of ETH Ram. Is this correct?
The boot.S file states that the bss region shall be cleared and with __bss_end__ set to to beginning of ETH RAM it tries to clear a lot of RAM? The bss region ranges from ~0x40000000 to 0x7FE00000 according to the lpc2368.ld file.
I changed my lpc2368.ld so that __bss_end__ pointed to the end of the bss statement in the lpc2368.ld file.

MEMORY
{
flash: ORIGIN = 0x00000000, LENGTH = 500K
ram: ORIGIN = 0x40000000, LENGTH = 32K
usbram : ORIGIN = 0x7FD00000, LENGTH = 8K
ethram : ORIGIN = 0x7FE00000, LENGTH = 16K
}

__stack_end__ = 0x40000000 + 32K - 4;

SECTIONS
{
. = 0;
startup : { KEEP(*(.startup))} >flash

prog :
{
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
} >flash

__end_of_text__ = .;

.data :
{
__data_beg__ = .;
__data_beg_src__ = __end_of_text__;
*(.data)
__data_end__ = .;
} >ram AT>flash

.bss :
{
__bss_beg__ = .;
*(.bss)
} >ram

/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
. = ALIGN(32 / 8);

/*Better. */
_bss_end__ = . ; __bss_end__ = . ;

.usbram (NOLOAD):
{
__usbram_beg__ = .;
*(.dmaram)
__usbram_end__ = .;
} >usbram

.ethram (NOLOAD):
{
__ethram_beg__ = .;
*(.ethram)
__ethram_end__ = .;
} >ethram


}
. = ALIGN(32 / 8);
_end = .;
/*No correct_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;*/
__end__ = .;
PROVIDE (end = .);

Is this a bug?

RE: LPC2368 gcc eclipse demo lpc2368ld error?

Posted by Richard on December 18, 2007
To be honest I just copied this linker script from an existing example. I think your change is fine, although I don't think the original is a bug as such, just inefficient.

Regards.


[ 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