diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2017-02-05 14:10:07 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2017-02-05 14:10:07 +0000 |
commit | 1474f60da3ac5bf5bc04eddfea7e3d41b1932658 (patch) | |
tree | 4ac6652a76dbb38103ac1d93eaa52ec2e506d896 | |
parent | 9683ccfa78dff27ef8479e3af8d6817f51455ec2 (diff) | |
download | ChibiOS-1474f60da3ac5bf5bc04eddfea7e3d41b1932658.tar.gz ChibiOS-1474f60da3ac5bf5bc04eddfea7e3d41b1932658.tar.bz2 ChibiOS-1474f60da3ac5bf5bc04eddfea7e3d41b1932658.zip |
MISRA-related fixes.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10084 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/common/startup/ARMCMx/compilers/GCC/crt1.c | 2 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32F1xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32F2xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32F3xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32F4xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32F7xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32L0xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32L1xx/cmparams.h | 3 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/devices/STM32L4xx/cmparams.h | 3 | ||||
-rwxr-xr-x | test/nil/testbuild/Makefile_posix | 224 | ||||
-rwxr-xr-x[-rw-r--r--] | test/nil/testbuild/Makefile_win32 (renamed from test/nil/testbuild/Makefile) | 0 | ||||
-rw-r--r-- | test/nil/testbuild/pclint/gcc-include-path.lnt | 12 |
13 files changed, 258 insertions, 7 deletions
diff --git a/os/common/startup/ARMCMx/compilers/GCC/crt1.c b/os/common/startup/ARMCMx/compilers/GCC/crt1.c index 1b05f083e..a5a7a0cff 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/crt1.c +++ b/os/common/startup/ARMCMx/compilers/GCC/crt1.c @@ -135,7 +135,7 @@ __attribute__((weak)) /*lint -save -e9075 [8.4] All symbols are invoked from asm context.*/
void __core_init(void) {
-#if __CORTEX_M == 7
+#if CORTEX_MODEL == 7
SCB_EnableICache();
SCB_EnableDCache();
#endif
diff --git a/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h index 1ede485c9..a96e65cb6 100644 --- a/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32F0xx/cmparams.h @@ -71,6 +71,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32f0xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -78,6 +80,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/os/common/startup/ARMCMx/devices/STM32F1xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32F1xx/cmparams.h index b54f872f5..9f934fc1e 100644 --- a/os/common/startup/ARMCMx/devices/STM32F1xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32F1xx/cmparams.h @@ -72,6 +72,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32f1xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -79,6 +81,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/os/common/startup/ARMCMx/devices/STM32F2xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32F2xx/cmparams.h index 4c92a3364..4685aa99d 100644 --- a/os/common/startup/ARMCMx/devices/STM32F2xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32F2xx/cmparams.h @@ -66,6 +66,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32f2xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -73,6 +75,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/os/common/startup/ARMCMx/devices/STM32F3xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32F3xx/cmparams.h index 0064a5c63..3a96c655a 100644 --- a/os/common/startup/ARMCMx/devices/STM32F3xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32F3xx/cmparams.h @@ -71,6 +71,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32f3xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -82,6 +84,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/os/common/startup/ARMCMx/devices/STM32F4xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32F4xx/cmparams.h index a0b785af0..bbe6e0312 100644 --- a/os/common/startup/ARMCMx/devices/STM32F4xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32F4xx/cmparams.h @@ -73,6 +73,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32f4xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -84,6 +86,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/os/common/startup/ARMCMx/devices/STM32F7xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32F7xx/cmparams.h index 8fc73be10..e0bc65466 100644 --- a/os/common/startup/ARMCMx/devices/STM32F7xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32F7xx/cmparams.h @@ -66,6 +66,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32f7xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -77,6 +79,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/os/common/startup/ARMCMx/devices/STM32L0xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32L0xx/cmparams.h index 86a675022..ac1d2a421 100644 --- a/os/common/startup/ARMCMx/devices/STM32L0xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32L0xx/cmparams.h @@ -70,6 +70,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32l0xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -77,6 +79,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/os/common/startup/ARMCMx/devices/STM32L1xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32L1xx/cmparams.h index 099ec7636..706408ef7 100644 --- a/os/common/startup/ARMCMx/devices/STM32L1xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32L1xx/cmparams.h @@ -76,6 +76,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32l1xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -83,6 +85,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
/* Fix for yet another consistency error in ST headers.*/
#define SVCall_IRQn SVC_IRQn
diff --git a/os/common/startup/ARMCMx/devices/STM32L4xx/cmparams.h b/os/common/startup/ARMCMx/devices/STM32L4xx/cmparams.h index d12aa8e53..95a4f5f7e 100644 --- a/os/common/startup/ARMCMx/devices/STM32L4xx/cmparams.h +++ b/os/common/startup/ARMCMx/devices/STM32L4xx/cmparams.h @@ -68,6 +68,8 @@ assembler source files. We verify that the info matches instead.*/
#include "stm32l4xx.h"
+/*lint -save -e9029 [10.4] Signedness comes from external files, it is
+ unpredictable but gives no problems.*/
#if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch"
#endif
@@ -79,6 +81,7 @@ #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif
+/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */
diff --git a/test/nil/testbuild/Makefile_posix b/test/nil/testbuild/Makefile_posix new file mode 100755 index 000000000..b5910c4f7 --- /dev/null +++ b/test/nil/testbuild/Makefile_posix @@ -0,0 +1,224 @@ +##############################################################################
+# Build global options
+# NOTE: Can be overridden externally.
+#
+
+# Compiler options here.
+ifeq ($(USE_OPT),)
+ USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
+endif
+
+# C specific options here (added to USE_OPT).
+ifeq ($(USE_COPT),)
+ USE_COPT =
+endif
+
+# C++ specific options here (added to USE_OPT).
+ifeq ($(USE_CPPOPT),)
+ USE_CPPOPT = -fno-rtti
+endif
+
+# Enable this if you want the linker to remove unused code and data
+ifeq ($(USE_LINK_GC),)
+ USE_LINK_GC = yes
+endif
+
+# Linker extra options here.
+ifeq ($(USE_LDOPT),)
+ USE_LDOPT =
+endif
+
+# Enable this if you want link time optimizations (LTO)
+ifeq ($(USE_LTO),)
+ USE_LTO = yes
+endif
+
+# If enabled, this option allows to compile the application in THUMB mode.
+ifeq ($(USE_THUMB),)
+ USE_THUMB = yes
+endif
+
+# Enable this if you want to see the full log while compiling.
+ifeq ($(USE_VERBOSE_COMPILE),)
+ USE_VERBOSE_COMPILE = no
+endif
+
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
+#
+# Build global options
+##############################################################################
+
+##############################################################################
+# Architecture or project specific options
+#
+
+# Stack size to be allocated to the Cortex-M process stack. This stack is
+# the stack used by the main() thread.
+ifeq ($(USE_PROCESS_STACKSIZE),)
+ USE_PROCESS_STACKSIZE = 0x100
+endif
+
+# Stack size to the allocated to the Cortex-M main/exceptions stack. This
+# stack is used for processing interrupts and exceptions.
+ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
+ USE_EXCEPTIONS_STACKSIZE = 0x400
+endif
+
+# Enables the use of FPU (no, softfp, hard).
+ifeq ($(USE_FPU),)
+ USE_FPU = no
+endif
+
+#
+# Architecture or project specific options
+##############################################################################
+
+##############################################################################
+# Project, sources and paths
+#
+
+# Define project name here
+PROJECT = ch
+
+# Imported source files and paths
+CHIBIOS = ../../..
+# Startup files.
+include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f3xx.mk
+# HAL-OSAL files (optional).
+#include $(CHIBIOS)/os/hal/hal.mk
+#include $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/platform.mk
+#include $(CHIBIOS)/os/hal/boards/ST_STM32F3_DISCOVERY/board.mk
+#include $(CHIBIOS)/os/hal/osal/nil/osal.mk
+# RTOS files (optional).
+include $(CHIBIOS)/os/nil/nil.mk
+include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
+# Other files (optional).
+#include $(CHIBIOS)/test/nil/test.mk
+
+# Define linker script file here
+LDSCRIPT= $(STARTUPLD)/STM32F303xC.ld
+
+# C sources that can be compiled in ARM or THUMB mode depending on the global
+# setting.
+CSRC = $(STARTUPSRC) \
+ $(KERNSRC) \
+ $(PORTSRC) \
+ $(OSALSRC) \
+ $(HALSRC) \
+ $(PLATFORMSRC) \
+ $(BOARDSRC) \
+ $(TESTSRC) \
+ main.c
+
+# C++ sources that can be compiled in ARM or THUMB mode depending on the global
+# setting.
+CPPSRC =
+
+# C sources to be compiled in ARM mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+ACSRC =
+
+# C++ sources to be compiled in ARM mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+ACPPSRC =
+
+# C sources to be compiled in THUMB mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+TCSRC =
+
+# C sources to be compiled in THUMB mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+TCPPSRC =
+
+# List ASM source files here
+ASMSRC =
+ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
+
+INCDIR = $(CHIBIOS)/os/license \
+ $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
+ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
+ $(CHIBIOS)/os/various
+
+#
+# Project, sources and paths
+##############################################################################
+
+##############################################################################
+# Compiler settings
+#
+
+MCU = cortex-m4
+
+#TRGT = arm-elf-
+TRGT = arm-none-eabi-
+CC = $(TRGT)gcc
+CPPC = $(TRGT)g++
+# Enable loading with g++ only if you need C++ runtime support.
+# NOTE: You can use C++ even without C++ support if you are careful. C++
+# runtime support makes code size explode.
+LD = $(TRGT)gcc
+#LD = $(TRGT)g++
+CP = $(TRGT)objcopy
+AS = $(TRGT)gcc -x assembler-with-cpp
+AR = $(TRGT)ar
+OD = $(TRGT)objdump
+SZ = $(TRGT)size
+HEX = $(CP) -O ihex
+BIN = $(CP) -O binary
+
+# ARM-specific options here
+AOPT =
+
+# THUMB-specific options here
+TOPT = -mthumb -DTHUMB
+
+# Define C warning options here
+CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
+
+# Define C++ warning options here
+CPPWARN = -Wall -Wextra -Wundef
+
+#
+# Compiler settings
+##############################################################################
+
+##############################################################################
+# Start of user section
+#
+
+# List all user C define here, like -D_DEBUG=1
+UDEFS = -DSTM32F303xC
+
+# Define ASM defines here
+UADEFS =
+
+# List all user directories here
+UINCDIR =
+
+# List the user directory to look for the libraries here
+ULIBDIR =
+
+# List all user libraries here
+ULIBS =
+
+#
+# End of user defines
+##############################################################################
+
+RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
+include $(RULESPATH)/rules.mk
+
+##############################################################################
+# MISRA check rule, requires PCLint and the setup files, not provided.
+#
+misra:
+ @wine lint-nt -w3 $(DEFS) pclint/co-gcc.lnt pclint/au-misra3.lnt pclint/waivers.lnt $(IINCDIR) $(CSRC) > misra.txt
diff --git a/test/nil/testbuild/Makefile b/test/nil/testbuild/Makefile_win32 index 48cbe975e..48cbe975e 100644..100755 --- a/test/nil/testbuild/Makefile +++ b/test/nil/testbuild/Makefile_win32 diff --git a/test/nil/testbuild/pclint/gcc-include-path.lnt b/test/nil/testbuild/pclint/gcc-include-path.lnt index 4d7cd42fd..0e8fd311a 100644 --- a/test/nil/testbuild/pclint/gcc-include-path.lnt +++ b/test/nil/testbuild/pclint/gcc-include-path.lnt @@ -1,6 +1,6 @@ ---i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q1/arm-none-eabi/include" ---i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q1/arm-none-eabi/include/c++/4.9.3" ---i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q1/arm-none-eabi/include/c++/4.9.3/arm-none-eabi" ---i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q1/arm-none-eabi/include/c++/4.9.3/backward" ---i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q1/lib/gcc/arm-none-eabi/4.9.3/include" ---i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q1/lib/gcc/arm-none-eabi/4.9.3/include-fixed" +--i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q3/arm-none-eabi/include" +--i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q3/arm-none-eabi/include/c++/4.9.3" +--i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q3/arm-none-eabi/include/c++/4.9.3/arm-none-eabi" +--i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q3/arm-none-eabi/include/c++/4.9.3/backward" +--i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q3/lib/gcc/arm-none-eabi/4.9.3/include" +--i"C:/ChibiStudio/tools/GNU Tools ARM Embedded/4.9 2015q3/lib/gcc/arm-none-eabi/4.9.3/include-fixed" |