Enhanced .ld files. Mass update of shell demos.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8963 35acf78f-673a-0410-8e92-d51de3d6d3f4master
parent
04429bc93f
commit
215138abcf
|
@ -153,7 +153,6 @@ int __attribute__((noreturn)) main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -236,7 +236,7 @@ static void ShellHandler(eventid_t id) {
|
||||||
|
|
||||||
(void)id;
|
(void)id;
|
||||||
if (chThdTerminatedX(shelltp)) {
|
if (chThdTerminatedX(shelltp)) {
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
chThdWait(shelltp); /* Returning memory to heap. */
|
||||||
shelltp = NULL;
|
shelltp = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,7 +153,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -252,7 +252,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,7 +239,7 @@ static void ShellHandler(eventid_t id) {
|
||||||
|
|
||||||
(void)id;
|
(void)id;
|
||||||
if (chThdTerminatedX(shelltp)) {
|
if (chThdTerminatedX(shelltp)) {
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
chThdWait(shelltp); /* Returning memory to heap. */
|
||||||
shelltp = NULL;
|
shelltp = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,7 +239,7 @@ static void ShellHandler(eventid_t id) {
|
||||||
|
|
||||||
(void)id;
|
(void)id;
|
||||||
if (chThdTerminatedX(shelltp)) {
|
if (chThdTerminatedX(shelltp)) {
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
chThdRelease(shelltp);
|
||||||
shelltp = NULL;
|
shelltp = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 16k
|
flash0 : org = 0x08000000, len = 16k
|
||||||
ram0 : org = 0x20000000, len = 4k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 4k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 32k
|
flash0 : org = 0x08000000, len = 32k
|
||||||
ram0 : org = 0x20000000, len = 4k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 4k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 8k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 8k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 32k
|
flash0 : org = 0x08000000, len = 32k
|
||||||
ram0 : org = 0x20000000, len = 4k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 4k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 32k
|
flash0 : org = 0x08000000, len = 32k
|
||||||
ram0 : org = 0x20000000, len = 6k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 6k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 8k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 8k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 128k
|
flash0 : org = 0x08000000, len = 128k
|
||||||
ram0 : org = 0x20000000, len = 16k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 16k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 256k
|
flash0 : org = 0x08000000, len = 256k
|
||||||
ram0 : org = 0x20000000, len = 32k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 32k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 128k
|
flash0 : org = 0x08000000, len = 128k
|
||||||
ram0 : org = 0x20000000, len = 8k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 8k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 20k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 20k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 128k
|
flash0 : org = 0x08000000, len = 128k
|
||||||
ram0 : org = 0x20000000, len = 20k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 20k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 384k
|
flash0 : org = 0x08000000, len = 384k
|
||||||
ram0 : org = 0x20000000, len = 64k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 64k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 512k
|
flash0 : org = 0x08000000, len = 512k
|
||||||
ram0 : org = 0x20000000, len = 64k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 64k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -22,19 +22,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08005000, len = 512k - 0x5000
|
flash0 : org = 0x08005000, len = 512k - 0x5000
|
||||||
ram0 : org = 0x20000C00, len = 64k - 0xC00
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000C00, len = 64k - 0xC00
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -43,6 +76,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -50,4 +84,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1m
|
flash0 : org = 0x08000000, len = 1M
|
||||||
ram0 : org = 0x20000000, len = 96k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 96k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 256k
|
flash0 : org = 0x08000000, len = 256k
|
||||||
ram0 : org = 0x20000000, len = 64k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 64k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -20,19 +20,51 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1M
|
flash0 : org = 0x08000000, len = 1M
|
||||||
ram0 : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */
|
||||||
}
|
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
||||||
|
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
||||||
|
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -41,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -48,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 16k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 16k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 12k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 4k
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 12k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x10000000, len = 4k
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 256k
|
flash0 : org = 0x08000000, len = 256k
|
||||||
ram0 : org = 0x20000000, len = 40k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 8k
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 40k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x10000000, len = 8k
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 12k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 4k
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 12k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x10000000, len = 4k
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -15,23 +15,56 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* STM32F373xC memory setup.
|
* STM32F303xC memory setup.
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 256k
|
flash0 : org = 0x08000000, len = 256k
|
||||||
ram0 : org = 0x20000000, len = 32k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 32k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 256k
|
flash0 : org = 0x08000000, len = 256k
|
||||||
ram0 : org = 0x20000000, len = 64k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 64k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 512k
|
flash0 : org = 0x08000000, len = 512k
|
||||||
ram0 : org = 0x20000000, len = 96k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 96k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -16,22 +16,56 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* STM32F405xG memory setup.
|
* STM32F405xG memory setup.
|
||||||
|
* Note: Use of ram1 and ram2 is mutually exclusive with use of ram0.
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1M
|
flash0 : org = 0x08000000, len = 1M
|
||||||
ram0 : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */
|
||||||
|
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
||||||
|
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
||||||
|
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +74,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +82,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -20,19 +20,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1M
|
flash0 : org = 0x08000000, len = 1M
|
||||||
ram0 : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */
|
||||||
|
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
||||||
|
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
||||||
|
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -41,6 +74,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -48,4 +82,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 256k
|
flash0 : org = 0x08000000, len = 256k
|
||||||
ram0 : org = 0x20000000, len = 128k /* SRAM1 */
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 128k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 512k
|
flash0 : org = 0x08000000, len = 512k
|
||||||
ram0 : org = 0x20000000, len = 128k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 128k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -20,19 +20,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 2M
|
flash0 : org = 0x08000000, len = 1M
|
||||||
ram0 : org = 0x20000000, len = 192k /* SRAM1 + SRAM2 + SRAM3 */
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x20020000, len = 64k /* SRAM3 */
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 192k /* SRAM1 + SRAM2 + SRAM3 */
|
||||||
|
ram1 : org = 0x20000000, len = 112k /* SRAM1 */
|
||||||
|
ram2 : org = 0x2001C000, len = 16k /* SRAM2 */
|
||||||
|
ram3 : org = 0x20020000, len = 64k /* SRAM3 */
|
||||||
|
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
|
||||||
|
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -41,6 +74,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -48,4 +82,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -25,20 +25,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1M
|
flash0 : org = 0x08000000, len = 1M /* Flash as AXIM (writable) */
|
||||||
flash_itcm : org = 0x00200000, len = 1M
|
flash1 : org = 0x00200000, len = 1M /* Flash as ITCM */
|
||||||
ram0 : org = 0x20010000, len = 256k /* SRAM1 + SRAM2 */
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x20010000, len = 240k /* SRAM1 */
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x2004C000, len = 16k /* SRAM2 */
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x20000000, len = 64k /* DTCM-RAM */
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 16k /* ITCM-RAM */
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
ram0 : org = 0x20010000, len = 256k /* SRAM1 + SRAM2 */
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram1 : org = 0x20010000, len = 240k /* SRAM1 */
|
||||||
|
ram2 : org = 0x2004C000, len = 16k /* SRAM2 */
|
||||||
|
ram3 : org = 0x20000000, len = 64k /* DTCM-RAM */
|
||||||
|
ram4 : org = 0x00000000, len = 16k /* ITCM-RAM */
|
||||||
|
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash1);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram3);
|
REGION_ALIAS("MAIN_STACK_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -47,6 +79,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram3);
|
REGION_ALIAS("BSS_RAM", ram3);
|
||||||
|
@ -54,10 +87,46 @@ REGION_ALIAS("BSS_RAM", ram3);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Stack rules inclusion.*/
|
||||||
|
INCLUDE rules_stacks.ld
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Custom sections for STM32F7xx. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
/* RAM region to be used for nocache segment.*/
|
/* RAM region to be used for nocache segment.*/
|
||||||
REGION_ALIAS("NOCACHE_RAM", ram3);
|
REGION_ALIAS("NOCACHE_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for eth segment.*/
|
/* RAM region to be used for eth segment.*/
|
||||||
REGION_ALIAS("ETH_RAM", ram3);
|
REGION_ALIAS("ETH_RAM", ram3);
|
||||||
|
|
||||||
INCLUDE ld/rules_STM32F7xx.ld
|
SECTIONS
|
||||||
|
{
|
||||||
|
/* Special section for non cache-able areas.*/
|
||||||
|
.nocache (NOLOAD) : ALIGN(4)
|
||||||
|
{
|
||||||
|
__nocache_base__ = .;
|
||||||
|
*(.nocache)
|
||||||
|
*(.nocache.*)
|
||||||
|
*(.bss.__nocache_*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__nocache_end__ = .;
|
||||||
|
} > NOCACHE_RAM
|
||||||
|
|
||||||
|
/* Special section for Ethernet DMA non cache-able areas.*/
|
||||||
|
.eth (NOLOAD) : ALIGN(4)
|
||||||
|
{
|
||||||
|
__eth_base__ = .;
|
||||||
|
*(.eth)
|
||||||
|
*(.eth.*)
|
||||||
|
*(.bss.__eth_*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__eth_end__ = .;
|
||||||
|
} > ETH_RAM
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code rules inclusion.*/
|
||||||
|
INCLUDE rules_code.ld
|
||||||
|
|
||||||
|
/* Data rules inclusion.*/
|
||||||
|
INCLUDE rules_data.ld
|
||||||
|
|
|
@ -26,19 +26,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1M
|
flash0 : org = 0x08000000, len = 1M /* Flash as AXIM (writable) */
|
||||||
ram0 : org = 0x20010000, len = 256k /* SRAM1 + SRAM2 */
|
flash1 : org = 0x00200000, len = 1M /* Flash as ITCM */
|
||||||
ram1 : org = 0x20010000, len = 240k /* SRAM1 */
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x2004C000, len = 16k /* SRAM2 */
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x20000000, len = 64k /* DTCM-RAM */
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 16k /* ITCM-RAM */
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20010000, len = 256k /* SRAM1 + SRAM2 */
|
||||||
|
ram1 : org = 0x20010000, len = 240k /* SRAM1 */
|
||||||
|
ram2 : org = 0x2004C000, len = 16k /* SRAM2 */
|
||||||
|
ram3 : org = 0x20000000, len = 64k /* DTCM-RAM */
|
||||||
|
ram4 : org = 0x00000000, len = 16k /* ITCM-RAM */
|
||||||
|
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash1);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram3);
|
REGION_ALIAS("MAIN_STACK_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -47,6 +80,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram1);
|
REGION_ALIAS("DATA_RAM", ram1);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram3);
|
REGION_ALIAS("BSS_RAM", ram3);
|
||||||
|
@ -54,10 +88,46 @@ REGION_ALIAS("BSS_RAM", ram3);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram1);
|
REGION_ALIAS("HEAP_RAM", ram1);
|
||||||
|
|
||||||
|
/* Stack rules inclusion.*/
|
||||||
|
INCLUDE rules_stacks.ld
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Custom sections for STM32F7xx. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
/* RAM region to be used for nocache segment.*/
|
/* RAM region to be used for nocache segment.*/
|
||||||
REGION_ALIAS("NOCACHE_RAM", ram3);
|
REGION_ALIAS("NOCACHE_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for eth segment.*/
|
/* RAM region to be used for eth segment.*/
|
||||||
REGION_ALIAS("ETH_RAM", ram2);
|
REGION_ALIAS("ETH_RAM", ram2);
|
||||||
|
|
||||||
INCLUDE rules_dma.ld
|
SECTIONS
|
||||||
|
{
|
||||||
|
/* Special section for non cache-able areas.*/
|
||||||
|
.nocache (NOLOAD) : ALIGN(4)
|
||||||
|
{
|
||||||
|
__nocache_base__ = .;
|
||||||
|
*(.nocache)
|
||||||
|
*(.nocache.*)
|
||||||
|
*(.bss.__nocache_*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__nocache_end__ = .;
|
||||||
|
} > NOCACHE_RAM
|
||||||
|
|
||||||
|
/* Special section for Ethernet DMA non cache-able areas.*/
|
||||||
|
.eth (NOLOAD) : ALIGN(4)
|
||||||
|
{
|
||||||
|
__eth_base__ = .;
|
||||||
|
*(.eth)
|
||||||
|
*(.eth.*)
|
||||||
|
*(.bss.__eth_*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__eth_end__ = .;
|
||||||
|
} > ETH_RAM
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code rules inclusion.*/
|
||||||
|
INCLUDE rules_code.ld
|
||||||
|
|
||||||
|
/* Data rules inclusion.*/
|
||||||
|
INCLUDE rules_data.ld
|
||||||
|
|
|
@ -27,20 +27,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1M
|
flash0 : org = 0x08000000, len = 1M /* Flash as AXIM (writable) */
|
||||||
flash_itcm : org = 0x00200000, len = 1M
|
flash1 : org = 0x00200000, len = 1M /* Flash as ITCM */
|
||||||
ram0 : org = 0x20010000, len = 256k /* SRAM1 + SRAM2 */
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x20010000, len = 240k /* SRAM1 */
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x2004C000, len = 16k /* SRAM2 */
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x20000000, len = 64k /* DTCM-RAM */
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 16k /* ITCM-RAM */
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
ram0 : org = 0x20010000, len = 256k /* SRAM1 + SRAM2 */
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram1 : org = 0x20010000, len = 240k /* SRAM1 */
|
||||||
|
ram2 : org = 0x2004C000, len = 16k /* SRAM2 */
|
||||||
|
ram3 : org = 0x20000000, len = 64k /* DTCM-RAM */
|
||||||
|
ram4 : org = 0x00000000, len = 16k /* ITCM-RAM */
|
||||||
|
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash1);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash1);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram3);
|
REGION_ALIAS("MAIN_STACK_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -49,6 +81,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -56,10 +89,46 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Stack rules inclusion.*/
|
||||||
|
INCLUDE rules_stacks.ld
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Custom sections for STM32F7xx. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
/* RAM region to be used for nocache segment.*/
|
/* RAM region to be used for nocache segment.*/
|
||||||
REGION_ALIAS("NOCACHE_RAM", ram3);
|
REGION_ALIAS("NOCACHE_RAM", ram3);
|
||||||
|
|
||||||
/* RAM region to be used for eth segment.*/
|
/* RAM region to be used for eth segment.*/
|
||||||
REGION_ALIAS("ETH_RAM", ram3);
|
REGION_ALIAS("ETH_RAM", ram3);
|
||||||
|
|
||||||
INCLUDE ld/rules_STM32F7xx.ld
|
SECTIONS
|
||||||
|
{
|
||||||
|
/* Special section for non cache-able areas.*/
|
||||||
|
.nocache (NOLOAD) : ALIGN(4)
|
||||||
|
{
|
||||||
|
__nocache_base__ = .;
|
||||||
|
*(.nocache)
|
||||||
|
*(.nocache.*)
|
||||||
|
*(.bss.__nocache_*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__nocache_end__ = .;
|
||||||
|
} > NOCACHE_RAM
|
||||||
|
|
||||||
|
/* Special section for Ethernet DMA non cache-able areas.*/
|
||||||
|
.eth (NOLOAD) : ALIGN(4)
|
||||||
|
{
|
||||||
|
__eth_base__ = .;
|
||||||
|
*(.eth)
|
||||||
|
*(.eth.*)
|
||||||
|
*(.bss.__eth_*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__eth_end__ = .;
|
||||||
|
} > ETH_RAM
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code rules inclusion.*/
|
||||||
|
INCLUDE rules_code.ld
|
||||||
|
|
||||||
|
/* Data rules inclusion.*/
|
||||||
|
INCLUDE rules_data.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 16k
|
flash0 : org = 0x08000000, len = 16k
|
||||||
ram0 : org = 0x20000000, len = 8k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 8k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 8k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 8k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 64k
|
flash0 : org = 0x08000000, len = 64k
|
||||||
ram0 : org = 0x20000000, len = 8k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 8k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 32k
|
flash0 : org = 0x08000000, len = 32k
|
||||||
ram0 : org = 0x20000000, len = 10k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 10k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 128k
|
flash0 : org = 0x08000000, len = 128k
|
||||||
ram0 : org = 0x20000000, len = 16k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 16k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -19,19 +19,52 @@
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 512k
|
flash0 : org = 0x08000000, len = 512k
|
||||||
ram0 : org = 0x20000000, len = 80k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x00000000, len = 0
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 80k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x00000000, len = 0
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -15,23 +15,56 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* STM32F303xC memory setup.
|
* STM32L476xG memory setup.
|
||||||
*/
|
*/
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = 0x08000000, len = 1M
|
flash0 : org = 0x08000000, len = 1M
|
||||||
ram0 : org = 0x20000000, len = 96k
|
flash1 : org = 0x00000000, len = 0
|
||||||
ram1 : org = 0x00000000, len = 0
|
flash2 : org = 0x00000000, len = 0
|
||||||
ram2 : org = 0x00000000, len = 0
|
flash3 : org = 0x00000000, len = 0
|
||||||
ram3 : org = 0x00000000, len = 0
|
flash4 : org = 0x00000000, len = 0
|
||||||
ram4 : org = 0x10000000, len = 32k
|
flash5 : org = 0x00000000, len = 0
|
||||||
ram5 : org = 0x00000000, len = 0
|
flash6 : org = 0x00000000, len = 0
|
||||||
ram6 : org = 0x00000000, len = 0
|
flash7 : org = 0x00000000, len = 0
|
||||||
ram7 : org = 0x00000000, len = 0
|
ram0 : org = 0x20000000, len = 96k
|
||||||
|
ram1 : org = 0x00000000, len = 0
|
||||||
|
ram2 : org = 0x00000000, len = 0
|
||||||
|
ram3 : org = 0x00000000, len = 0
|
||||||
|
ram4 : org = 0x10000000, len = 32k
|
||||||
|
ram5 : org = 0x00000000, len = 0
|
||||||
|
ram6 : org = 0x00000000, len = 0
|
||||||
|
ram7 : org = 0x00000000, len = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For each data/text section two region are defined, a virtual region
|
||||||
|
and a load region (_LMA suffix).*/
|
||||||
|
|
||||||
|
/* Flash region to be used for exception vectors.*/
|
||||||
|
REGION_ALIAS("VECTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for constructors and destructors.*/
|
||||||
|
REGION_ALIAS("XTORS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for code text.*/
|
||||||
|
REGION_ALIAS("TEXT_FLASH", flash0);
|
||||||
|
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for read only data.*/
|
||||||
|
REGION_ALIAS("RODATA_FLASH", flash0);
|
||||||
|
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for various.*/
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH", flash0);
|
||||||
|
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
|
||||||
|
|
||||||
|
/* Flash region to be used for RAM(n) initialization data.*/
|
||||||
|
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||||
of all exceptions and interrupts*/
|
of all exceptions and interrupts.*/
|
||||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for the process stack. This is the stack used by
|
/* RAM region to be used for the process stack. This is the stack used by
|
||||||
|
@ -40,6 +73,7 @@ REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||||
|
|
||||||
/* RAM region to be used for data segment.*/
|
/* RAM region to be used for data segment.*/
|
||||||
REGION_ALIAS("DATA_RAM", ram0);
|
REGION_ALIAS("DATA_RAM", ram0);
|
||||||
|
REGION_ALIAS("DATA_RAM_LMA", flash0);
|
||||||
|
|
||||||
/* RAM region to be used for BSS segment.*/
|
/* RAM region to be used for BSS segment.*/
|
||||||
REGION_ALIAS("BSS_RAM", ram0);
|
REGION_ALIAS("BSS_RAM", ram0);
|
||||||
|
@ -47,4 +81,5 @@ REGION_ALIAS("BSS_RAM", ram0);
|
||||||
/* RAM region to be used for the default heap.*/
|
/* RAM region to be used for the default heap.*/
|
||||||
REGION_ALIAS("HEAP_RAM", ram0);
|
REGION_ALIAS("HEAP_RAM", ram0);
|
||||||
|
|
||||||
|
/* Generic rules inclusion.*/
|
||||||
INCLUDE rules.ld
|
INCLUDE rules.ld
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
/* Stack rules inclusion.*/
|
||||||
|
INCLUDE rules_stacks.ld
|
||||||
|
|
||||||
|
/* Code rules inclusion.*/
|
||||||
|
INCLUDE rules_code.ld
|
||||||
|
|
||||||
|
/* Data rules inclusion.*/
|
||||||
|
INCLUDE rules_data.ld
|
|
@ -0,0 +1,77 @@
|
||||||
|
/*
|
||||||
|
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
ENTRY(Reset_Handler)
|
||||||
|
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
vectors : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(.vectors))
|
||||||
|
} > VECTORS_FLASH AT > VECTORS_FLASH_LMA
|
||||||
|
|
||||||
|
xtors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
__init_array_start = .;
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
__init_array_end = .;
|
||||||
|
__fini_array_start = .;
|
||||||
|
KEEP(*(.fini_array))
|
||||||
|
KEEP(*(SORT(.fini_array.*)))
|
||||||
|
__fini_array_end = .;
|
||||||
|
} > XTORS_FLASH AT > XTORS_FLASH_LMA
|
||||||
|
|
||||||
|
.text : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
*(.text)
|
||||||
|
*(.text.*)
|
||||||
|
*(.glue_7t)
|
||||||
|
*(.glue_7)
|
||||||
|
*(.gcc*)
|
||||||
|
} > TEXT_FLASH AT > TEXT_FLASH_LMA
|
||||||
|
|
||||||
|
.rodata : ALIGN(4)
|
||||||
|
{
|
||||||
|
. = ALIGN(4);
|
||||||
|
__rodata_base__ = .;
|
||||||
|
*(.rodata)
|
||||||
|
*(.rodata.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__rodata_end__ = .;
|
||||||
|
} > RODATA_FLASH AT > RODATA_FLASH_LMA
|
||||||
|
|
||||||
|
.ARM.extab :
|
||||||
|
{
|
||||||
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
|
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
||||||
|
|
||||||
|
.ARM.exidx : {
|
||||||
|
__exidx_start = .;
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
__exidx_end = .;
|
||||||
|
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
|
{
|
||||||
|
*(.eh_frame_hdr)
|
||||||
|
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
||||||
|
|
||||||
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
|
*(.eh_frame)
|
||||||
|
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
|
||||||
|
}
|
|
@ -43,92 +43,6 @@ ENTRY(Reset_Handler)
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
|
||||||
_text = .;
|
|
||||||
|
|
||||||
startup : ALIGN(16) SUBALIGN(16)
|
|
||||||
{
|
|
||||||
KEEP(*(.vectors))
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
constructors : ALIGN(4) SUBALIGN(4)
|
|
||||||
{
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP(*(SORT(.init_array.*)))
|
|
||||||
KEEP(*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
destructors : ALIGN(4) SUBALIGN(4)
|
|
||||||
{
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP(*(.fini_array))
|
|
||||||
KEEP(*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
.text : ALIGN(16) SUBALIGN(16)
|
|
||||||
{
|
|
||||||
*(.text)
|
|
||||||
*(.text.*)
|
|
||||||
*(.rodata)
|
|
||||||
*(.rodata.*)
|
|
||||||
*(.glue_7t)
|
|
||||||
*(.glue_7)
|
|
||||||
*(.gcc*)
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
.ARM.extab :
|
|
||||||
{
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
.ARM.exidx : {
|
|
||||||
__exidx_start = .;
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
__exidx_end = .;
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
.eh_frame_hdr :
|
|
||||||
{
|
|
||||||
*(.eh_frame_hdr)
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO
|
|
||||||
{
|
|
||||||
*(.eh_frame)
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
.textalign : ONLY_IF_RO
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
/* Legacy symbol, not used anywhere.*/
|
|
||||||
. = ALIGN(4);
|
|
||||||
PROVIDE(_etext = .);
|
|
||||||
|
|
||||||
/* Special section for exceptions stack.*/
|
|
||||||
.mstack :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__main_stack_base__ = .;
|
|
||||||
. += __main_stack_size__;
|
|
||||||
. = ALIGN(8);
|
|
||||||
__main_stack_end__ = .;
|
|
||||||
} > MAIN_STACK_RAM
|
|
||||||
|
|
||||||
/* Special section for process stack.*/
|
|
||||||
.pstack :
|
|
||||||
{
|
|
||||||
__process_stack_base__ = .;
|
|
||||||
__main_thread_stack_base__ = .;
|
|
||||||
. += __process_stack_size__;
|
|
||||||
. = ALIGN(8);
|
|
||||||
__process_stack_end__ = .;
|
|
||||||
__main_thread_stack_end__ = .;
|
|
||||||
} > PROCESS_STACK_RAM
|
|
||||||
|
|
||||||
.data : ALIGN(4)
|
.data : ALIGN(4)
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
|
@ -142,7 +56,7 @@ SECTIONS
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
PROVIDE(_edata = .);
|
PROVIDE(_edata = .);
|
||||||
_data_end = .;
|
_data_end = .;
|
||||||
} > DATA_RAM AT > flash
|
} > DATA_RAM AT > DATA_RAM_LMA
|
||||||
|
|
||||||
.bss (NOLOAD) : ALIGN(4)
|
.bss (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -164,7 +78,7 @@ SECTIONS
|
||||||
*(.ram0_init)
|
*(.ram0_init)
|
||||||
*(.ram0_init.*)
|
*(.ram0_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram0 AT > flash
|
} > ram0 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram0 (NOLOAD) : ALIGN(4)
|
.ram0 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -188,7 +102,7 @@ SECTIONS
|
||||||
*(.ram1_init)
|
*(.ram1_init)
|
||||||
*(.ram1_init.*)
|
*(.ram1_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram1 AT > flash
|
} > ram1 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram1 (NOLOAD) : ALIGN(4)
|
.ram1 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -212,7 +126,7 @@ SECTIONS
|
||||||
*(.ram2_init)
|
*(.ram2_init)
|
||||||
*(.ram2_init.*)
|
*(.ram2_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram2 AT > flash
|
} > ram2 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram2 (NOLOAD) : ALIGN(4)
|
.ram2 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -236,7 +150,7 @@ SECTIONS
|
||||||
*(.ram3_init)
|
*(.ram3_init)
|
||||||
*(.ram3_init.*)
|
*(.ram3_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram3 AT > flash
|
} > ram3 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram3 (NOLOAD) : ALIGN(4)
|
.ram3 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -260,7 +174,7 @@ SECTIONS
|
||||||
*(.ram4_init)
|
*(.ram4_init)
|
||||||
*(.ram4_init.*)
|
*(.ram4_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram4 AT > flash
|
} > ram4 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram4 (NOLOAD) : ALIGN(4)
|
.ram4 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -284,7 +198,7 @@ SECTIONS
|
||||||
*(.ram5_init)
|
*(.ram5_init)
|
||||||
*(.ram5_init.*)
|
*(.ram5_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram5 AT > flash
|
} > ram5 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram5 (NOLOAD) : ALIGN(4)
|
.ram5 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -308,7 +222,7 @@ SECTIONS
|
||||||
*(.ram6_init)
|
*(.ram6_init)
|
||||||
*(.ram6_init.*)
|
*(.ram6_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram6 AT > flash
|
} > ram6 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram6 (NOLOAD) : ALIGN(4)
|
.ram6 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
||||||
|
@ -332,7 +246,7 @@ SECTIONS
|
||||||
*(.ram7_init)
|
*(.ram7_init)
|
||||||
*(.ram7_init.*)
|
*(.ram7_init.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > ram7 AT > flash
|
} > ram7 AT > RAM_INIT_FLASH_LMA
|
||||||
|
|
||||||
.ram7 (NOLOAD) : ALIGN(4)
|
.ram7 (NOLOAD) : ALIGN(4)
|
||||||
{
|
{
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
/* Special section for exceptions stack.*/
|
||||||
|
.mstack :
|
||||||
|
{
|
||||||
|
. = ALIGN(8);
|
||||||
|
__main_stack_base__ = .;
|
||||||
|
. += __main_stack_size__;
|
||||||
|
. = ALIGN(8);
|
||||||
|
__main_stack_end__ = .;
|
||||||
|
} > MAIN_STACK_RAM
|
||||||
|
|
||||||
|
/* Special section for process stack.*/
|
||||||
|
.pstack :
|
||||||
|
{
|
||||||
|
__process_stack_base__ = .;
|
||||||
|
__main_thread_stack_base__ = .;
|
||||||
|
. += __process_stack_size__;
|
||||||
|
. = ALIGN(8);
|
||||||
|
__process_stack_end__ = .;
|
||||||
|
__main_thread_stack_end__ = .;
|
||||||
|
} > PROCESS_STACK_RAM
|
||||||
|
}
|
|
@ -5,13 +5,13 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
# Compiler options
|
# Compiler options
|
||||||
OPT = $(USE_OPT)
|
OPT := $(USE_OPT)
|
||||||
COPT = $(USE_COPT)
|
COPT := $(USE_COPT)
|
||||||
CPPOPT = $(USE_CPPOPT)
|
CPPOPT := $(USE_CPPOPT)
|
||||||
|
|
||||||
# Garbage collection
|
# Garbage collection
|
||||||
ifeq ($(USE_LINK_GC),yes)
|
ifeq ($(USE_LINK_GC),yes)
|
||||||
OPT += -ffunction-sections -fdata-sections -fno-common
|
OPT += -ffunction-sections -fdata-sections -fno-common
|
||||||
LDOPT := ,--gc-sections
|
LDOPT := ,--gc-sections
|
||||||
else
|
else
|
||||||
LDOPT :=
|
LDOPT :=
|
||||||
|
@ -32,11 +32,11 @@ ifeq ($(USE_FPU),)
|
||||||
USE_FPU = no
|
USE_FPU = no
|
||||||
endif
|
endif
|
||||||
ifneq ($(USE_FPU),no)
|
ifneq ($(USE_FPU),no)
|
||||||
OPT += -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16 -fsingle-precision-constant
|
OPT += -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16 -fsingle-precision-constant
|
||||||
DDEFS += -DCORTEX_USE_FPU=TRUE
|
DDEFS += -DCORTEX_USE_FPU=TRUE
|
||||||
DADEFS += -DCORTEX_USE_FPU=TRUE
|
DADEFS += -DCORTEX_USE_FPU=TRUE
|
||||||
else
|
else
|
||||||
DDEFS += -DCORTEX_USE_FPU=FALSE
|
DDEFS += -DCORTEX_USE_FPU=FALSE
|
||||||
DADEFS += -DCORTEX_USE_FPU=FALSE
|
DADEFS += -DCORTEX_USE_FPU=FALSE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -61,11 +61,11 @@ endif
|
||||||
ifeq ($(BUILDDIR),.)
|
ifeq ($(BUILDDIR),.)
|
||||||
BUILDDIR = build
|
BUILDDIR = build
|
||||||
endif
|
endif
|
||||||
OUTFILES = $(BUILDDIR)/$(PROJECT).elf \
|
OUTFILES := $(BUILDDIR)/$(PROJECT).elf \
|
||||||
$(BUILDDIR)/$(PROJECT).hex \
|
$(BUILDDIR)/$(PROJECT).hex \
|
||||||
$(BUILDDIR)/$(PROJECT).bin \
|
$(BUILDDIR)/$(PROJECT).bin \
|
||||||
$(BUILDDIR)/$(PROJECT).dmp \
|
$(BUILDDIR)/$(PROJECT).dmp \
|
||||||
$(BUILDDIR)/$(PROJECT).list
|
$(BUILDDIR)/$(PROJECT).list
|
||||||
|
|
||||||
ifdef SREC
|
ifdef SREC
|
||||||
OUTFILES += $(BUILDDIR)/$(PROJECT).srec
|
OUTFILES += $(BUILDDIR)/$(PROJECT).srec
|
||||||
|
@ -73,42 +73,43 @@ endif
|
||||||
|
|
||||||
# Source files groups and paths
|
# Source files groups and paths
|
||||||
ifeq ($(USE_THUMB),yes)
|
ifeq ($(USE_THUMB),yes)
|
||||||
TCSRC += $(CSRC)
|
TCSRC += $(CSRC)
|
||||||
TCPPSRC += $(CPPSRC)
|
TCPPSRC += $(CPPSRC)
|
||||||
else
|
else
|
||||||
ACSRC += $(CSRC)
|
ACSRC += $(CSRC)
|
||||||
ACPPSRC += $(CPPSRC)
|
ACPPSRC += $(CPPSRC)
|
||||||
endif
|
endif
|
||||||
ASRC = $(ACSRC)$(ACPPSRC)
|
ASRC := $(ACSRC)$(ACPPSRC)
|
||||||
TSRC = $(TCSRC)$(TCPPSRC)
|
TSRC := $(TCSRC)$(TCPPSRC)
|
||||||
SRCPATHS = $(sort $(dir $(ASMXSRC)) $(dir $(ASMSRC)) $(dir $(ASRC)) $(dir $(TSRC)))
|
SRCPATHS := $(sort $(dir $(ASMXSRC)) $(dir $(ASMSRC)) $(dir $(ASRC)) $(dir $(TSRC)))
|
||||||
|
|
||||||
# Various directories
|
# Various directories
|
||||||
OBJDIR = $(BUILDDIR)/obj
|
OBJDIR := $(BUILDDIR)/obj
|
||||||
LSTDIR = $(BUILDDIR)/lst
|
LSTDIR := $(BUILDDIR)/lst
|
||||||
|
|
||||||
# Object files groups
|
# Object files groups
|
||||||
ACOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ACSRC:.c=.o)))
|
ACOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ACSRC:.c=.o)))
|
||||||
ACPPOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ACPPSRC:.cpp=.o)))
|
ACPPOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ACPPSRC:.cpp=.o)))
|
||||||
TCOBJS = $(addprefix $(OBJDIR)/, $(notdir $(TCSRC:.c=.o)))
|
TCOBJS := $(addprefix $(OBJDIR)/, $(notdir $(TCSRC:.c=.o)))
|
||||||
TCPPOBJS = $(addprefix $(OBJDIR)/, $(notdir $(TCPPSRC:.cpp=.o)))
|
TCPPOBJS := $(addprefix $(OBJDIR)/, $(notdir $(TCPPSRC:.cpp=.o)))
|
||||||
ASMOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ASMSRC:.s=.o)))
|
ASMOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ASMSRC:.s=.o)))
|
||||||
ASMXOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ASMXSRC:.S=.o)))
|
ASMXOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ASMXSRC:.S=.o)))
|
||||||
OBJS = $(ASMXOBJS) $(ASMOBJS) $(ACOBJS) $(TCOBJS) $(ACPPOBJS) $(TCPPOBJS)
|
OBJS := $(ASMXOBJS) $(ASMOBJS) $(ACOBJS) $(TCOBJS) $(ACPPOBJS) $(TCPPOBJS)
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
IINCDIR = $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
|
IINCDIR := $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
|
||||||
LLIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
|
LLIBDIR := $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
|
||||||
|
LLIBDIR += -L$(dir $(LDSCRIPT))
|
||||||
|
|
||||||
# Macros
|
# Macros
|
||||||
DEFS = $(DDEFS) $(UDEFS)
|
DEFS := $(DDEFS) $(UDEFS)
|
||||||
ADEFS = $(DADEFS) $(UADEFS)
|
ADEFS := $(DADEFS) $(UADEFS)
|
||||||
|
|
||||||
# Libs
|
# Libs
|
||||||
LIBS = $(DLIBS) $(ULIBS)
|
LIBS := $(DLIBS) $(ULIBS)
|
||||||
|
|
||||||
# Various settings
|
# Various settings
|
||||||
MCFLAGS = -mcpu=$(MCU)
|
MCFLAGS := -mcpu=$(MCU)
|
||||||
ODFLAGS = -x --syms
|
ODFLAGS = -x --syms
|
||||||
ASFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEFS)
|
ASFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEFS)
|
||||||
ASXFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS)
|
ASXFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS)
|
||||||
|
|
|
@ -78,15 +78,13 @@ namespace chibios_rt {
|
||||||
chSysHalt("invoked unimplemented method stop()");
|
chSysHalt("invoked unimplemented method stop()");
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CH_CFG_USE_EVENTS
|
|
||||||
void ThreadReference::requestTerminate(void) {
|
void ThreadReference::requestTerminate(void) {
|
||||||
|
|
||||||
chDbgAssert(thread_ref != NULL,
|
chDbgAssert(thread_ref != NULL,
|
||||||
"not referenced");
|
"not referenced");
|
||||||
|
|
||||||
chEvtSignal(thread_ref, CH_EVENT_TERMINATE);
|
chThdTerminate(thread_ref);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CH_CFG_USE_WAITEXIT
|
#if CH_CFG_USE_WAITEXIT
|
||||||
msg_t ThreadReference::wait(void) {
|
msg_t ThreadReference::wait(void) {
|
||||||
|
@ -198,12 +196,10 @@ namespace chibios_rt {
|
||||||
chThdExitS(msg);
|
chThdExitS(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CH_CFG_USE_EVENTS
|
|
||||||
bool BaseThread::shouldTerminate(void) {
|
bool BaseThread::shouldTerminate(void) {
|
||||||
|
|
||||||
return (chEvtGetEventsX() & CH_EVENT_TERMINATE) != 0;
|
return chThdShouldTerminateX();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void BaseThread::sleep(systime_t interval){
|
void BaseThread::sleep(systime_t interval){
|
||||||
|
|
||||||
|
|
|
@ -155,7 +155,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -154,7 +154,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,7 +161,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,7 +162,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,11 +183,11 @@ int main(void) {
|
||||||
/* Waiting for an exit event then freeing terminated shells.*/
|
/* Waiting for an exit event then freeing terminated shells.*/
|
||||||
chEvtWaitAny(EVENT_MASK(0));
|
chEvtWaitAny(EVENT_MASK(0));
|
||||||
if (chThdTerminatedX(shelltp1)) {
|
if (chThdTerminatedX(shelltp1)) {
|
||||||
chThdFreeToHeap(shelltp1);
|
chThdRelease(shelltp1);
|
||||||
shelltp1 = NULL;
|
shelltp1 = NULL;
|
||||||
}
|
}
|
||||||
if (chThdTerminatedX(shelltp2)) {
|
if (chThdTerminatedX(shelltp2)) {
|
||||||
chThdFreeToHeap(shelltp2);
|
chThdRelease(shelltp2);
|
||||||
shelltp2 = NULL;
|
shelltp2 = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -331,7 +331,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,7 +162,6 @@ int main(void) {
|
||||||
"shell", NORMALPRIO + 1,
|
"shell", NORMALPRIO + 1,
|
||||||
shellThread, (void *)&shell_cfg1);
|
shellThread, (void *)&shell_cfg1);
|
||||||
chThdWait(shelltp); /* Waiting termination. */
|
chThdWait(shelltp); /* Waiting termination. */
|
||||||
chThdFreeToHeap(shelltp); /* Returning memory to heap. */
|
|
||||||
}
|
}
|
||||||
chThdSleepMilliseconds(1000);
|
chThdSleepMilliseconds(1000);
|
||||||
}
|
}
|
||||||
|
|
|
@ -176,11 +176,11 @@ int main(void) {
|
||||||
/* Waiting for an exit event then freeing terminated shells.*/
|
/* Waiting for an exit event then freeing terminated shells.*/
|
||||||
chEvtWaitAny(EVENT_MASK(0));
|
chEvtWaitAny(EVENT_MASK(0));
|
||||||
if (chThdTerminatedX(shelltp1)) {
|
if (chThdTerminatedX(shelltp1)) {
|
||||||
chThdFreeToHeap(shelltp1);
|
chThdRelease(shelltp1);
|
||||||
shelltp1 = NULL;
|
shelltp1 = NULL;
|
||||||
}
|
}
|
||||||
if (chThdTerminatedX(shelltp2)) {
|
if (chThdTerminatedX(shelltp2)) {
|
||||||
chThdFreeToHeap(shelltp2);
|
chThdRelease(shelltp2);
|
||||||
shelltp2 = NULL;
|
shelltp2 = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@ static THD_FUNCTION(irq_storm_thread, arg) {
|
||||||
chRegSetThreadName("irq_storm");
|
chRegSetThreadName("irq_storm");
|
||||||
|
|
||||||
/* Thread loop, until terminated.*/
|
/* Thread loop, until terminated.*/
|
||||||
while ((chEvtGetEventsX() & CH_EVENT_TERMINATE) != 0U) {
|
while (chThdShouldTerminateX() == false) {
|
||||||
|
|
||||||
/* Waiting for a message.*/
|
/* Waiting for a message.*/
|
||||||
chMBFetch(&mb[me], &msg, TIME_INFINITE);
|
chMBFetch(&mb[me], &msg, TIME_INFINITE);
|
||||||
|
@ -271,7 +271,7 @@ void irq_storm_execute(const irq_storm_config_t *cfg) {
|
||||||
|
|
||||||
/* Terminating threads and cleaning up.*/
|
/* Terminating threads and cleaning up.*/
|
||||||
for (i = 0; i < IRQ_STORM_CFG_NUM_THREADS; i++) {
|
for (i = 0; i < IRQ_STORM_CFG_NUM_THREADS; i++) {
|
||||||
chEvtSignal(threads[i], CH_EVENT_TERMINATE);
|
chThdTerminate(threads[i]);
|
||||||
chThdWait(threads[i]);
|
chThdWait(threads[i]);
|
||||||
threads[i] = NULL;
|
threads[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue