From aed82faf72f86bfdca6568102953239116ba90c1 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 2 Apr 2016 07:11:56 +0000 Subject: Fixed calls to test suite in all applications. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9202 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/common/ports/ARM/compilers/GCC/chtypes.h | 5 ++ os/common/ports/ARMCMx/compilers/IAR/chtypes.h | 5 ++ os/common/ports/ARMCMx/compilers/RVCT/chtypes.h | 5 ++ os/common/ports/SIMIA32/compilers/GCC/chtypes.h | 5 ++ os/common/ports/e200/compilers/CW/chtypes.h | 10 ++++ os/common/ports/e200/compilers/GCC/chtypes.h | 10 ++++ .../GCC/ld/STM32F103xB_maplemini_bootloader.ld | 55 ++++++++++++++++++---- 7 files changed, 85 insertions(+), 10 deletions(-) (limited to 'os/common') diff --git a/os/common/ports/ARM/compilers/GCC/chtypes.h b/os/common/ports/ARM/compilers/GCC/chtypes.h index c3290d8cc..a34c5bd04 100644 --- a/os/common/ports/ARM/compilers/GCC/chtypes.h +++ b/os/common/ports/ARM/compilers/GCC/chtypes.h @@ -93,6 +93,11 @@ typedef uint32_t ucnt_t; /**< Generic unsigned counter. */ */ #define PACKED_VAR __attribute__((packed)) +/** + * @brief Memory alignment enforcement for variables. + */ +#define ALIGNED_VAR(n) __attribute__((aligned(n))) + #endif /* CHTYPES_H */ /** @} */ diff --git a/os/common/ports/ARMCMx/compilers/IAR/chtypes.h b/os/common/ports/ARMCMx/compilers/IAR/chtypes.h index 152a64fe0..1cec367f0 100644 --- a/os/common/ports/ARMCMx/compilers/IAR/chtypes.h +++ b/os/common/ports/ARMCMx/compilers/IAR/chtypes.h @@ -93,6 +93,11 @@ typedef uint32_t ucnt_t; /**< Generic unsigned counter. */ */ #define PACKED_VAR __packed +/** + * @brief Memory alignment enforcement for variables. + */ +#define ALIGNED_VAR(n) __attribute__((aligned(n))) + #endif /* CHTYPES_H */ /** @} */ diff --git a/os/common/ports/ARMCMx/compilers/RVCT/chtypes.h b/os/common/ports/ARMCMx/compilers/RVCT/chtypes.h index 398472dfe..73a960376 100644 --- a/os/common/ports/ARMCMx/compilers/RVCT/chtypes.h +++ b/os/common/ports/ARMCMx/compilers/RVCT/chtypes.h @@ -93,6 +93,11 @@ typedef uint32_t ucnt_t; /**< Generic unsigned counter. */ */ #define PACKED_VAR __packed +/** + * @brief Memory alignment enforcement for variables. + */ +#define ALIGNED_VAR(n) __attribute__((aligned(n))) + #endif /* CHTYPES_H */ /** @} */ diff --git a/os/common/ports/SIMIA32/compilers/GCC/chtypes.h b/os/common/ports/SIMIA32/compilers/GCC/chtypes.h index 147db448d..db35061be 100644 --- a/os/common/ports/SIMIA32/compilers/GCC/chtypes.h +++ b/os/common/ports/SIMIA32/compilers/GCC/chtypes.h @@ -105,6 +105,11 @@ typedef uint32_t ucnt_t; /**< Generic unsigned counter. */ */ #define PACKED_VAR __attribute__((packed)) +/** + * @brief Memory alignment enforcement for variables. + */ +#define ALIGNED_VAR(n) __attribute__((aligned(n))) + #endif /* CHTYPES_H */ /** @} */ diff --git a/os/common/ports/e200/compilers/CW/chtypes.h b/os/common/ports/e200/compilers/CW/chtypes.h index 4976da817..f8e6f2691 100644 --- a/os/common/ports/e200/compilers/CW/chtypes.h +++ b/os/common/ports/e200/compilers/CW/chtypes.h @@ -88,6 +88,16 @@ typedef uint32_t ucnt_t; /**< Generic unsigned counter. */ */ #define PORT_THD_FUNCTION(tname, arg) void tname(void *arg) +/** + * @brief Packed variable specifier. + */ +#define PACKED_VAR __attribute__((packed)) + +/** + * @brief Memory alignment enforcement for variables. + */ +#define ALIGNED_VAR(n) __attribute__((aligned(n))) + #endif /* CHTYPES_H */ /** @} */ diff --git a/os/common/ports/e200/compilers/GCC/chtypes.h b/os/common/ports/e200/compilers/GCC/chtypes.h index 6ee1962b1..124874850 100644 --- a/os/common/ports/e200/compilers/GCC/chtypes.h +++ b/os/common/ports/e200/compilers/GCC/chtypes.h @@ -88,6 +88,16 @@ typedef uint32_t ucnt_t; /**< Generic unsigned counter. */ */ #define PORT_THD_FUNCTION(tname, arg) void tname(void *arg) +/** + * @brief Packed variable specifier. + */ +#define PACKED_VAR __attribute__((packed)) + +/** + * @brief Memory alignment enforcement for variables. + */ +#define ALIGNED_VAR(n) __attribute__((aligned(n))) + #endif /* CHTYPES_H */ /** @} */ diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/STM32F103xB_maplemini_bootloader.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/STM32F103xB_maplemini_bootloader.ld index 752432d1d..61f85a3c0 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/ld/STM32F103xB_maplemini_bootloader.ld +++ b/os/common/startup/ARMCMx/compilers/GCC/ld/STM32F103xB_maplemini_bootloader.ld @@ -22,19 +22,52 @@ */ MEMORY { - flash : org = 0x08005000, len = 128k - 0x5000 - ram0 : org = 0x20000C00, len = 20k - 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 + flash0 : org = 0x08005000, len = 128k - 0x5000 + flash1 : org = 0x00000000, len = 0 + flash2 : org = 0x00000000, len = 0 + flash3 : org = 0x00000000, len = 0 + flash4 : org = 0x00000000, len = 0 + flash5 : org = 0x00000000, len = 0 + flash6 : org = 0x00000000, len = 0 + flash7 : org = 0x00000000, len = 0 + ram0 : org = 0x20000C00, len = 20k - 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 - of all exceptions and interrupts*/ + of all exceptions and interrupts.*/ REGION_ALIAS("MAIN_STACK_RAM", ram0); /* 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.*/ REGION_ALIAS("DATA_RAM", ram0); +REGION_ALIAS("DATA_RAM_LMA", flash0); /* RAM region to be used for BSS segment.*/ REGION_ALIAS("BSS_RAM", ram0); @@ -50,4 +84,5 @@ REGION_ALIAS("BSS_RAM", ram0); /* RAM region to be used for the default heap.*/ REGION_ALIAS("HEAP_RAM", ram0); +/* Generic rules inclusion.*/ INCLUDE rules.ld -- cgit v1.2.3