Hello,
I've a project which are started with arm-none-eabi-gcc and added in the last time the ARMCC. The linker configuration can't easy converted.
At the moment I search for a solution to define in the scatter file like the gcc linker file. This is used for the MPU configuration.
Here the content of my gcc linker file:
/* table of MPU sections */
.table.sections :
{
. = ALIGN(4);
LKF_SECTION_TABLE_START = .;
LONG (__sec0_start)
LONG (__sec0_end)
LKF_SECTION_TABLE_END = .;
} > FLASH
/* MPU section 0 */
.sec0.data ALIGN(0x400)
__sec0_start = .;
*(.sec0_init)
*sec0*.o(.data)
} > SRAM
.sec0.bss (NOLOAD) :
*(.sec0)
*sec0*.o(.bss COMMON)
. = ALIGN(0x400);
__sec0_end = .;
}
Now I need a solution for define the .table.sections in the ARMCC scatter file. The section is defined with:
sec0 AlignExpr(+0, 1024) { .ANY(.sec0.data) sec0*.o(+RW, +ZI) }
With the gcc can I read the .table.sectio with: extern uint32_t LKF_SECTION_TABLE_START[];
The using of the $$ variables in the C source code from the armlink is not so good. Have everybody a solution for definition of this table in the scatter file?
Thanks four Your help,
Bernd
HI moennicke and welcome to the Community!
I've moved your question to Software Development Tools where I hope we can get you some help.
Thanks Carl. I hope that I become here a answer.
A further point where I have found no solution so far is: I have same variables, which are needet beetween more applications in the FLASH, for example FLASH boot loader and checksum tool. This variable shall not initialise during the compalation. This make a tool directly in the HEX file. Now with other toolchains I have only defined in the linker the address of this variables and in a header file all variables as extern.
Her a example from the arm-none-eabi-gcc:
h file:
extern const uint32_t TestVariant;
ld file:
MEMORY
....
FLASH_HANDSHAKE_VARIABLES (ro) : ORIGIN = 0x80001000, LENGTH = 0x100
.handshake_variables :
PROVIDE (TestVariant = 0x00000000);
} > FLASH_HANDSHAKE_VARIABLES
Have anybody a solution for this?
Thanks for You help,