#stm32 lib files needed by drivers\r
obj-$(CFG_ARM_CM3) += stm32f10x_rcc.o\r
obj-$(CFG_ARM_CM3)-$(USE_CAN) += stm32f10x_can.o\r
- obj-$(CFG_ARM_CM3)-$(USE_DIO) += stm32f10x_gpio.o\r
+ obj-$(CFG_ARM_CM3)-$(USE_PORT) += stm32f10x_gpio.o\r
obj-$(CFG_ARM_CM3)-$(USE_ADC) += stm32f10x_adc.o\r
obj-$(CFG_ARM_CM3)-$(USE_ADC) += stm32f10x_dma.o\r
obj-$(CFG_ARM_CM3)-$(USE_FLS) += stm32f10x_flash.o\r
obj-$(USE_COM) += Com_Com.o\r
obj-$(USE_COM) += Com_Sched.o\r
obj-$(USE_COM) += Com.o\r
-obj-$(USE_COM) += Com_RunTest.o\r
obj-$(USE_COM) += Com_misc.o\r
-#obj-$(USE_COM) += Com_TestData.o\r
inc-$(USE_PDUR) += $(ROOTDIR)/communication/Com\r
inc-$(USE_COM) += $(ROOTDIR)/communication/Com\r
vpath-$(USE_COM) += $(ROOTDIR)/communication/Com\r
\r
/* REQ:COMPILER040,049,051 */\r
#define AUTOMATIC\r
-#define _STATIC_ static\r
+#define STATIC static\r
#define NULL_PTR ((void *)0)\r
\r
+ #define CC_EXTENSION __extension__\r
+ \r
/* REQ:COMPILER005 */\r
/* TODO: skip the memclass for now */\r
#define FUNC(rettype,memclass) rettype\r
#include "MemMap.h"\r
#include "Cpu.h"\r
\r
- #define E_COM_ID 255\r
- #warning "var ska E_COM_ID vara?"\r
+typedef uint8 StatusType;\r
+\r
+#define E_OS_ACCESS (StatusType)1 /**< STD OSEK */\r
+#define E_OS_CALLEVEL (StatusType)2 /**< STD OSEK */\r
+#define E_OS_ID (StatusType)3 /**< STD OSEK */\r
+#define E_OS_LIMIT (StatusType)4 /**< STD OSEK */\r
+#define E_OS_NOFUNC (StatusType)5 /**< STD OSEK */\r
+#define E_OS_RESOURCE (StatusType)6 /**< STD OSEK */\r
+#define E_OS_STATE (StatusType)7 /**< STD OSEK */\r
+#define E_OS_VALUE (StatusType)8 /**< STD OSEK */\r
+\r
+#define E_OS_SERVICEID (StatusType)9 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_RATE (StatusType)10 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_ILLEGAL_ADDRESS (StatusType)11 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_MISSINGEND (StatusType)12 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_DISABLEDINT (StatusType)13 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_STACKFAULT (StatusType)14 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_PROTECTION_MEMORY (StatusType)15 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_PROTECTION_TIME (StatusType)16 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_PROTECTION_LOCKED (StatusType)17 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_PROTECTION_EXCEPTION (StatusType)18 /**< AUTOSAR, see 7.10 */\r
+#define E_OS_PROTECTION_RATE (StatusType)19 /**< AUTOSAR, see 7.10 */\r
+\r
++#define E_COM_ID 255 // TODO: var ska E_COM_ID vara?"\r
+\r
+\r
typedef uint32_t EventMaskType;\r
typedef EventMaskType * EventMaskRefType;\r
typedef uint16_t TaskType;\r
TASK_STATE_WAITING,\r
TASK_STATE_READY,\r
TASK_STATE_SUSPENDED,\r
- TASK_STATE_RUNNING,\r
+ TASK_STATE_RUNNING\r
} TaskStateType;\r
\r
#define INVALID_TASK 0xdeadU\r
OSServiceId_PostTaskHook,\r
OSServiceId_StartupHook,\r
OSServiceId_ShutdownHook,\r
- OSServiceId_GetTaskState,\r
+ OSServiceId_GetTaskState\r
} OsServiceIdType;\r
\r
typedef struct OsError {\r
* -------------------------------- Arctic Core ------------------------------*/\r
\r
\r
+// PC-Lint Exception to MISRA rule 19.12: stdio ok in debug.h.\r
+//lint -e(829)\r
+\r
\r
#ifndef DEBUG_H_\r
#define DEBUG_H_\r
\r
-\r
/**\r
*\r
* NOTE!!!!\r
* TODO:\r
*\r
*/\r
- // PC\r
+ \r
#include <stdio.h>\r
\r
#define DEBUG_LOW 1\r
#endif\r
\r
#if defined(USE_LDEBUG_PRINTF)\r
- #define LDEBUG_PRINTF(format,...) printf(format,## __VA_ARGS__ )\r
+ #define LDEBUG_PRINTF(format,...) printf(format,## __VA_ARGS__ )\r
+ #define LDEBUG_FPUTS(_str) fputs((_str),stdout)\r
#else\r
#define LDEBUG_PRINTF(format,...)\r
+ #define LDEBUG_FPUTS(_str)\r
#endif\r
\r
\r
\r
inc-y += $(ROOTDIR)/include\r
inc-y += $(ROOTDIR)/include/$(ARCH_FAM)\r
+ inc-y += $(ROOTDIR)/include/$(ARCH_FAM)/$(ARCH)\r
\r
\r
.PHONY clean: \r
# Some dependency for xxx_offset.c/h also\r
-include $(subst .h,.d,$(dep-y))\r
\r
+#LINT:\r
+LINT_EXCLUDE_PATHS := $(abspath $(LINT_EXCLUDE_PATHS))\r
+$(info $(LINT_EXCLUDE_PATHS))\r
+\r
+LINT_BAD_EXCLUDE_PATHS := $(filter %/,$(LINT_EXCLUDE_PATHS))\r
+ifneq ($(LINT_BAD_EXCLUDE_PATHS),)\r
+$(warning LINT_EXCLUDE_PATHS entries must not end in '/'. Ignoring $(LINT_BAD_EXCLUDE_PATHS))\r
+endif\r
+\r
+LINT_NICE_EXCLUDE_PATHS := $(filter-out %/,$(LINT_EXCLUDE_PATHS))\r
+LINT_NICE_EXCLUDE_PATHS := $(foreach path,$(LINT_NICE_EXCLUDE_PATHS),$(path)/)\r
+\r
ifneq ($(PCLINT),)\r
define run_pclint\r
-$(Q)$(PCLINT) $(lint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<)\r
+$(if \r
+$(filter $(dir $(abspath $<)),$(LINT_NICE_EXCLUDE_PATHS)),\r
+$(info $(abspath $<):0:0: Info: Not running lint check on $(abspath $<)),\r
+$(Q)$(PCLINT) $(lint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<))\r
endef\r
endif\r
\r
ifneq ($(SPLINT),)\r
define run_splint\r
-$(Q)$(SPLINT) $(splint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<)\r
+$(if \r
+$(filter $(dir $(abspath $<)),$(LINT_NICE_EXCLUDE_PATHS)),\r
+$(info $(abspath $<):0:0: Info: Not running lint check on $(abspath $<)),\r
- $(Q)$(SPLINT) $(lint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<))\r
++$(Q)$(SPLINT) $(splint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<))\r
endef\r
endif\r
\r
# Compile\r
%.o: %.c\r
@echo " >> CC $(notdir $<)"\r
+# compile\r
$(Q)$(CC) -c $(CFLAGS) -o $(goal) $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $(abspath $<)\r
+# run lint if enabled\r
$(run_pclint)\r
$(run_splint)\r
\r
# Preprocess linker files..\r
%.ldp: %.ldf\r
@echo " >> CPP $<"\r
- $(Q)$(CPP) -E -P -x assembler-with-cpp -o $@ $(addprefix -I ,$(inc-y)) $<\r
+ $(Q)$(CPP) -E -P -x assembler-with-cpp -o $@ $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
\r
# @cat $@ \r
\r
$(Q)$(CC) $(LDFLAGS) -o $@ $(libpath-y) $(obj-y) $(lib-y) $(libitem-y) \r
else \r
$(Q)$(LD) $(LDFLAGS) -T $(ldcmdfile-y) -o $@ $(libpath-y) --start-group $(obj-y) $(lib-y) $(libitem-y) --end-group $(LDMAPFILE)\r
-ifdef CFG_HC1X\r
+ifdef CFG_MC912DG128A\r
@$(CROSS_COMPILE)objdump -h $@ | gawk -f $(ROOTDIR)/scripts/hc1x_memory.awk\r
else\r
@echo "Image size: (decimal)"\r
ALARM_ACTION_ACTIVATETASK=0,\r
ALARM_ACTION_SETEVENT,\r
ALARM_ACTION_ALARMCALLBACK, /* Only class 1 */\r
- ALARM_ACTION_INCREMENTCOUNTER, /* SWS OS302 */\r
+ ALARM_ACTION_INCREMENTCOUNTER/* SWS OS302 */\r
} alarm_action_type_t;\r
\r
\r
// Start with SetAbsAlarm()\r
ALARM_AUTOSTART_ABSOLUTE,\r
// Start with SetRelAlarm()\r
- ALARM_AUTOSTART_RELATIVE,\r
+ ALARM_AUTOSTART_RELATIVE\r
};\r
\r
\r
\r
\r
void Os_AlarmCheck(OsCounterType *c_p);\r
+ void Os_AlarmAutostart(void);\r
\r
#endif /*ALARM_I_H_*/\r