MISRA-related fixes.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10084 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Giovanni Di Sirio 2017-02-05 14:10:07 +00:00
parent 9683ccfa78
commit 1474f60da3
13 changed files with 258 additions and 7 deletions

View File

@ -135,7 +135,7 @@ __attribute__((weak))
/*lint -save -e9075 [8.4] All symbols are invoked from asm context.*/ /*lint -save -e9075 [8.4] All symbols are invoked from asm context.*/
void __core_init(void) { void __core_init(void) {
#if __CORTEX_M == 7 #if CORTEX_MODEL == 7
SCB_EnableICache(); SCB_EnableICache();
SCB_EnableDCache(); SCB_EnableDCache();
#endif #endif

View File

@ -71,6 +71,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32f0xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -78,6 +80,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

View File

@ -72,6 +72,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32f1xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -79,6 +81,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

View File

@ -66,6 +66,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32f2xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -73,6 +75,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

View File

@ -71,6 +71,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32f3xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -82,6 +84,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

View File

@ -73,6 +73,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32f4xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -84,6 +86,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

View File

@ -66,6 +66,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32f7xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -77,6 +79,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

View File

@ -70,6 +70,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32l0xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -77,6 +79,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

View File

@ -76,6 +76,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32l1xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -83,6 +85,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
/* Fix for yet another consistency error in ST headers.*/ /* Fix for yet another consistency error in ST headers.*/
#define SVCall_IRQn SVC_IRQn #define SVCall_IRQn SVC_IRQn

View File

@ -68,6 +68,8 @@
assembler source files. We verify that the info matches instead.*/ assembler source files. We verify that the info matches instead.*/
#include "stm32l4xx.h" #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 #if CORTEX_MODEL != __CORTEX_M
#error "CMSIS __CORTEX_M mismatch" #error "CMSIS __CORTEX_M mismatch"
#endif #endif
@ -79,6 +81,7 @@
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
#error "CMSIS __NVIC_PRIO_BITS mismatch" #error "CMSIS __NVIC_PRIO_BITS mismatch"
#endif #endif
/*lint -restore*/
#endif /* !defined(_FROM_ASM_) */ #endif /* !defined(_FROM_ASM_) */

224
test/nil/testbuild/Makefile_posix Executable file
View File

@ -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

View File

View File

@ -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 2015q3/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 2015q3/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 2015q3/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 2015q3/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 2015q3/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/lib/gcc/arm-none-eabi/4.9.3/include-fixed"