DIO_CHANNEL_F14,\r
DIO_CHANNEL_F15,\r
\r
-} Dio_ChannelType;\r
+} Dio_Hw_ChannelType;\r
//@}\r
\r
/** HW specific DIO port definitions. */\r
DIO_PORT_D,\r
DIO_PORT_E,\r
DIO_PORT_F,\r
-} Dio_PortType;\r
+} Dio_Hw_PortType;\r
\r
-/** @req DIO021 */\r
-/** @req DIO022 */\r
-typedef struct\r
-{\r
- Dio_PortType port;\r
- uint16 offset;\r
- uint16 mask;\r
-} Dio_ChannelGroupType;\r
-\r
-/** @req DIO023 */\r
-typedef uint16 Dio_LevelType;\r
-\r
-/** @req DIO024 */\r
-typedef uint16 Dio_PortLevelType;\r
-\r
-#define LED_CHANNEL (DIO_CHANNEL_B13)\r
+#define LED_CHANNEL1 (DIO_CHANNEL_B13)\r
+#define LED_CHANNEL2 (DIO_CHANNEL_B14)\r
\r
#define LED_PORT (DIO_PORT_B)\r
\r
\r
const Dio_ChannelType DioChannelConfigData[] =\r
{\r
- LED_CHANNEL,\r
+ LED_CHANNEL1,\r
+ LED_CHANNEL2,\r
DIO_END_OF_LIST,\r
};\r
\r
\r
CFG=ARM ARM_CM3\r
# Add our board \r
-CFG+=BRD_STM32_MCBSTM32 \r
+CFG+=BRD_STM32_STM3210C \r
\r
# \r
# ST have devided devices into ( See chapter 6 in Ref manual )\r
DIO_PORT_F,\r
} Dio_Hw_PortType;\r
\r
-#define LED_CHANNEL1 (DIO_CHANNEL_D3)\r
-#define LED_CHANNEL2 (DIO_CHANNEL_D4)\r
-#define LED_CHANNEL3 (DIO_CHANNEL_D7)\r
-#define LED_CHANNEL4 (DIO_CHANNEL_D13)\r
+#define LED_CHANNEL1 (DIO_CHANNEL_D7)\r
+#define LED_CHANNEL2 (DIO_CHANNEL_D13)\r
+#define LED_CHANNEL3 (DIO_CHANNEL_D3)\r
+#define LED_CHANNEL4 (DIO_CHANNEL_D4)\r
\r
#define LED_PORT (DIO_PORT_D)\r
\r
#elif defined(CFG_BRD_HCS12X_ELMICRO_TBOARD)\r
#define LED_CHANNEL DIO_CHANNEL_NAME_DO_PB0\r
\r
+#elif defined(CFG_BRD_STM32_STM3210C)\r
+#define LED_CHANNEL LED_CHANNEL1\r
+\r
+#elif defined(CFG_BRD_STM32_MCBSTM32)\r
+#define LED_CHANNEL LED_CHANNEL1\r
+\r
#else\r
#warning "Unknown board or CFG_BRD_* undefined"\r
\r
--- /dev/null
+/*\r
+ * Configuration of module Os (Os_Cfg.c)\r
+ *\r
+ * Created by: ArcCore AB\r
+ * Configured for (MCU): Undefined MCU\r
+ *\r
+ * Module vendor: ArcCore\r
+ * Module version: 2.0.11\r
+ *\r
+ * Copyright ArcCore AB 2010\r
+ * Generated by Arctic Studio (http://arccore.com) \r
+ * on Wed Nov 24 20:34:20 CET 2010\r
+ */\r
+\r
+ \r
+\r
+#include <stdlib.h>\r
+#include <stdint.h>\r
+#include "Platform_Types.h"\r
+#include "Os.h" // includes Os_Cfg.h\r
+#include "os_config_macros.h"\r
+#include "kernel.h"\r
+#include "kernel_offset.h"\r
+#include "alist_i.h"\r
+#include "Mcu.h"\r
+\r
+extern void dec_exception( void );\r
+\r
+// Set the os tick frequency\r
+OsTickType OsTickFreq = 1000;\r
+\r
+\r
+// ############################### DEBUG OUTPUT #############################\r
+uint32 os_dbg_mask = D_RESOURCE |D_SCHTBL |D_EVENT |D_TASK |D_ALARM;\r
+ \r
+\r
+\r
+// ################################# COUNTERS ###############################\r
+GEN_COUNTER_HEAD {\r
+ GEN_COUNTER( COUNTER_ID_OsTick,\r
+ "OsTick",\r
+ COUNTER_TYPE_HARD,\r
+ COUNTER_UNIT_NANO,\r
+ 0xffff,\r
+ 1,\r
+ 0,\r
+ 0),\r
+};\r
+\r
+CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;\r
+\r
+// ################################## ALARMS ################################\r
+\r
+GEN_ALARM_HEAD {\r
+ GEN_ALARM( ALARM_ID_alarm10,\r
+ "alarm10",\r
+ COUNTER_ID_OsTick,\r
+ NULL,\r
+ ALARM_ACTION_ACTIVATETASK,\r
+ TASK_ID_bTask10,\r
+ NULL,\r
+ NULL ),\r
+ GEN_ALARM( ALARM_ID_alarm100,\r
+ "alarm100",\r
+ COUNTER_ID_OsTick,\r
+ NULL,\r
+ ALARM_ACTION_ACTIVATETASK,\r
+ TASK_ID_bTask100,\r
+ NULL,\r
+ NULL ),\r
+ GEN_ALARM( ALARM_ID_alarm25,\r
+ "alarm25",\r
+ COUNTER_ID_OsTick,\r
+ NULL,\r
+ ALARM_ACTION_ACTIVATETASK,\r
+ TASK_ID_bTask25,\r
+ NULL,\r
+ NULL ),\r
+};\r
+\r
+// ################################ RESOURCES ###############################\r
+GEN_RESOURCE_HEAD {\r
+};\r
+\r
+// ############################## STACKS (TASKS) ############################\r
+DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
+DECLARE_STACK(Startup,2048);\r
+DECLARE_STACK(bTask10,2048);\r
+DECLARE_STACK(bTask100,2048);\r
+DECLARE_STACK(bTask25,2048);\r
+\r
+// ################################## TASKS #################################\r
+GEN_TASK_HEAD {\r
+ GEN_ETASK( OsIdle,\r
+ 0,\r
+ FULL,\r
+ TRUE,\r
+ NULL,\r
+ 0 \r
+ ),\r
+ GEN_BTASK(\r
+ Startup,\r
+ 2,\r
+ FULL,\r
+ TRUE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+ GEN_BTASK(\r
+ bTask10,\r
+ 1,\r
+ FULL,\r
+ FALSE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+ GEN_BTASK(\r
+ bTask100,\r
+ 1,\r
+ FULL,\r
+ FALSE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+ GEN_BTASK(\r
+ bTask25,\r
+ 1,\r
+ FULL,\r
+ FALSE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+};\r
+\r
+// ################################## HOOKS #################################\r
+GEN_HOOKS( \r
+ StartupHook, \r
+ NULL, \r
+ ShutdownHook, \r
+ ErrorHook,\r
+ PreTaskHook, \r
+ PostTaskHook \r
+);\r
+\r
+// ################################## ISRS ##################################\r
+\r
+\r
+// ############################ SCHEDULE TABLES #############################\r
+\r
+// Table heads\r
+GEN_SCHTBL_HEAD {\r
+};\r
+\r
+GEN_PCB_LIST()\r
+\r
+uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));\r
+\r
+GEN_IRQ_VECTOR_TABLE_HEAD {};\r
+GEN_IRQ_ISR_TYPE_TABLE_HEAD {};\r
+GEN_IRQ_PRIORITY_TABLE_HEAD {};\r
+\r
+#include "os_config_funcs.h"\r
--- /dev/null
+/*\r
+ * Configuration of module Os (Os_Cfg.h)\r
+ *\r
+ * Created by: ArcCore AB\r
+ * Configured for (MCU): Undefined MCU\r
+ *\r
+ * Module vendor: ArcCore\r
+ * Module version: 2.0.11\r
+ *\r
+ * Copyright ArcCore AB 2010\r
+ * Generated by Arctic Studio (http://arccore.com) \r
+ * on Wed Nov 24 20:34:20 CET 2010\r
+ */\r
+\r
+
+#if (OS_SW_MAJOR_VERSION != 2)
+#error "Os: Configuration file version differs from BSW version."
+#endif
+
+\r
+#ifndef OS_CFG_H_\r
+#define OS_CFG_H_\r
+\r
+\r
+// Alarm Id's\r
+#define ALARM_ID_alarm10 0\r
+#define ALARM_ID_alarm100 1\r
+#define ALARM_ID_alarm25 2\r
+\r
+// Counter Id's\r
+#define COUNTER_ID_OsTick 0\r
+\r
+// Counter macros\r
+#define OSMAXALLOWEDVALUE_OsTick 65535\r
+\r
+\r
+// Event masks\r
+\r
+// Isr Id's\r
+\r
+// Resource Id's\r
+\r
+// Linked resource id's\r
+\r
+// Resource masks\r
+\r
+// Task Id's\r
+#define TASK_ID_OsIdle 0\r
+#define TASK_ID_Startup 1\r
+#define TASK_ID_bTask10 2\r
+#define TASK_ID_bTask100 3\r
+#define TASK_ID_bTask25 4\r
+\r
+// Task entry points\r
+void OsIdle( void );\r
+void Startup( void );\r
+void bTask10( void );\r
+void bTask100( void );\r
+void bTask25( void );\r
+\r
+// Schedule table id's\r
+\r
+// Stack size\r
+#define OS_INTERRUPT_STACK_SIZE 1024\r
+#define OS_OSIDLE_STACK_SIZE 512\r
+\r
+#define OS_ALARM_CNT 3 \r
+#define OS_TASK_CNT 5\r
+#define OS_SCHTBL_CNT 0\r
+#define OS_COUNTER_CNT 1\r
+#define OS_EVENTS_CNT 0\r
+#define OS_ISRS_CNT 0\r
+#define OS_RESOURCE_CNT 0\r
+#define OS_LINKED_RESOURCE_CNT 0\r
+\r
+#define CFG_OS_DEBUG STD_OFF\r
+\r
+#define OS_SC1 STD_ON \r
+#define OS_STACK_MONITORING STD_ON\r
+#define OS_STATUS_EXTENDED STD_ON\r
+#define OS_USE_GET_SERVICE_ID STD_ON\r
+#define OS_USE_PARAMETER_ACCESS STD_ON\r
+#define OS_RES_SCHEDULER STD_ON\r
+\r
+#endif /*OS_CFG_H_*/\r
--- /dev/null
+/*\r
+ * Configuration of module Os (Os_Cfg.c)\r
+ *\r
+ * Created by: ArcCore AB\r
+ * Configured for (MCU): Undefined MCU\r
+ *\r
+ * Module vendor: ArcCore\r
+ * Module version: 2.0.11\r
+ *\r
+ * Copyright ArcCore AB 2010\r
+ * Generated by Arctic Studio (http://arccore.com) \r
+ * on Wed Nov 24 20:34:20 CET 2010\r
+ */\r
+\r
+ \r
+\r
+#include <stdlib.h>\r
+#include <stdint.h>\r
+#include "Platform_Types.h"\r
+#include "Os.h" // includes Os_Cfg.h\r
+#include "os_config_macros.h"\r
+#include "kernel.h"\r
+#include "kernel_offset.h"\r
+#include "alist_i.h"\r
+#include "Mcu.h"\r
+\r
+extern void dec_exception( void );\r
+\r
+// Set the os tick frequency\r
+OsTickType OsTickFreq = 1000;\r
+\r
+\r
+// ############################### DEBUG OUTPUT #############################\r
+uint32 os_dbg_mask = D_RESOURCE |D_SCHTBL |D_EVENT |D_TASK |D_ALARM;\r
+ \r
+\r
+\r
+// ################################# COUNTERS ###############################\r
+GEN_COUNTER_HEAD {\r
+ GEN_COUNTER( COUNTER_ID_OsTick,\r
+ "OsTick",\r
+ COUNTER_TYPE_HARD,\r
+ COUNTER_UNIT_NANO,\r
+ 0xffff,\r
+ 1,\r
+ 0,\r
+ 0),\r
+};\r
+\r
+CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;\r
+\r
+// ################################## ALARMS ################################\r
+\r
+GEN_ALARM_HEAD {\r
+ GEN_ALARM( ALARM_ID_alarm10,\r
+ "alarm10",\r
+ COUNTER_ID_OsTick,\r
+ NULL,\r
+ ALARM_ACTION_ACTIVATETASK,\r
+ TASK_ID_bTask10,\r
+ NULL,\r
+ NULL ),\r
+ GEN_ALARM( ALARM_ID_alarm100,\r
+ "alarm100",\r
+ COUNTER_ID_OsTick,\r
+ NULL,\r
+ ALARM_ACTION_ACTIVATETASK,\r
+ TASK_ID_bTask100,\r
+ NULL,\r
+ NULL ),\r
+ GEN_ALARM( ALARM_ID_alarm25,\r
+ "alarm25",\r
+ COUNTER_ID_OsTick,\r
+ NULL,\r
+ ALARM_ACTION_ACTIVATETASK,\r
+ TASK_ID_bTask25,\r
+ NULL,\r
+ NULL ),\r
+};\r
+\r
+// ################################ RESOURCES ###############################\r
+GEN_RESOURCE_HEAD {\r
+};\r
+\r
+// ############################## STACKS (TASKS) ############################\r
+DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
+DECLARE_STACK(Startup,2048);\r
+DECLARE_STACK(bTask10,2048);\r
+DECLARE_STACK(bTask100,2048);\r
+DECLARE_STACK(bTask25,2048);\r
+\r
+// ################################## TASKS #################################\r
+GEN_TASK_HEAD {\r
+ GEN_ETASK( OsIdle,\r
+ 0,\r
+ FULL,\r
+ TRUE,\r
+ NULL,\r
+ 0 \r
+ ),\r
+ GEN_BTASK(\r
+ Startup,\r
+ 2,\r
+ FULL,\r
+ TRUE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+ GEN_BTASK(\r
+ bTask10,\r
+ 1,\r
+ FULL,\r
+ FALSE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+ GEN_BTASK(\r
+ bTask100,\r
+ 1,\r
+ FULL,\r
+ FALSE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+ GEN_BTASK(\r
+ bTask25,\r
+ 1,\r
+ FULL,\r
+ FALSE,\r
+ NULL,\r
+ 0,\r
+ 1\r
+ ),\r
+ \r
+};\r
+\r
+// ################################## HOOKS #################################\r
+GEN_HOOKS( \r
+ StartupHook, \r
+ NULL, \r
+ ShutdownHook, \r
+ ErrorHook,\r
+ PreTaskHook, \r
+ PostTaskHook \r
+);\r
+\r
+// ################################## ISRS ##################################\r
+\r
+\r
+// ############################ SCHEDULE TABLES #############################\r
+\r
+// Table heads\r
+GEN_SCHTBL_HEAD {\r
+};\r
+\r
+GEN_PCB_LIST()\r
+\r
+uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));\r
+\r
+GEN_IRQ_VECTOR_TABLE_HEAD {};\r
+GEN_IRQ_ISR_TYPE_TABLE_HEAD {};\r
+GEN_IRQ_PRIORITY_TABLE_HEAD {};\r
+\r
+#include "os_config_funcs.h"\r
--- /dev/null
+/*\r
+ * Configuration of module Os (Os_Cfg.h)\r
+ *\r
+ * Created by: ArcCore AB\r
+ * Configured for (MCU): Undefined MCU\r
+ *\r
+ * Module vendor: ArcCore\r
+ * Module version: 2.0.11\r
+ *\r
+ * Copyright ArcCore AB 2010\r
+ * Generated by Arctic Studio (http://arccore.com) \r
+ * on Wed Nov 24 20:34:20 CET 2010\r
+ */\r
+\r
+
+#if (OS_SW_MAJOR_VERSION != 2)
+#error "Os: Configuration file version differs from BSW version."
+#endif
+
+\r
+#ifndef OS_CFG_H_\r
+#define OS_CFG_H_\r
+\r
+\r
+// Alarm Id's\r
+#define ALARM_ID_alarm10 0\r
+#define ALARM_ID_alarm100 1\r
+#define ALARM_ID_alarm25 2\r
+\r
+// Counter Id's\r
+#define COUNTER_ID_OsTick 0\r
+\r
+// Counter macros\r
+#define OSMAXALLOWEDVALUE_OsTick 65535\r
+\r
+\r
+// Event masks\r
+\r
+// Isr Id's\r
+\r
+// Resource Id's\r
+\r
+// Linked resource id's\r
+\r
+// Resource masks\r
+\r
+// Task Id's\r
+#define TASK_ID_OsIdle 0\r
+#define TASK_ID_Startup 1\r
+#define TASK_ID_bTask10 2\r
+#define TASK_ID_bTask100 3\r
+#define TASK_ID_bTask25 4\r
+\r
+// Task entry points\r
+void OsIdle( void );\r
+void Startup( void );\r
+void bTask10( void );\r
+void bTask100( void );\r
+void bTask25( void );\r
+\r
+// Schedule table id's\r
+\r
+// Stack size\r
+#define OS_INTERRUPT_STACK_SIZE 2048\r
+#define OS_OSIDLE_STACK_SIZE 512\r
+\r
+#define OS_ALARM_CNT 3 \r
+#define OS_TASK_CNT 5\r
+#define OS_SCHTBL_CNT 0\r
+#define OS_COUNTER_CNT 1\r
+#define OS_EVENTS_CNT 0\r
+#define OS_ISRS_CNT 0\r
+#define OS_RESOURCE_CNT 0\r
+#define OS_LINKED_RESOURCE_CNT 0\r
+\r
+#define CFG_OS_DEBUG STD_ON\r
+\r
+#define OS_SC1 STD_ON \r
+#define OS_STACK_MONITORING STD_ON\r
+#define OS_STATUS_EXTENDED STD_ON\r
+#define OS_USE_GET_SERVICE_ID STD_ON\r
+#define OS_USE_PARAMETER_ACCESS STD_ON\r
+#define OS_RES_SCHEDULER STD_ON\r
+\r
+#endif /*OS_CFG_H_*/\r
$(foreach mod,$(MOD_AVAIL),$(eval $(call MOD_AVAIL_template,${mod})))\r
$(foreach mod,$(MOD_USE),$(eval $(call MOD_USE_template,${mod})))\r
$(foreach mod,$(CFG),$(eval $(call CFG_template,${mod})))\r
-def-y += $(ARCH) $(ARCH_FAM) $(ARCH_MCU) \r
+#def-y += $(ARCH) $(ARCH_FAM) $(ARCH_MCU) \r
\r
# Select console / debug\r
$(foreach mod,$(SELECT_OS_CONSOLE),$(eval $(call MOD_USE_template,${mod})))\r
\r
extern EcuM_GobalType internal_data;\r
\r
-inline void EcuM_enter_run_mode(void);\r
+void EcuM_enter_run_mode(void);\r
\r
#endif /*_ECUM_INTERNALS_H_*/\r
#endif\r
\r
\r
-\r
-inline void EcuM_enter_run_mode(void)\r
+void EcuM_enter_run_mode(void)\r
{\r
internal_data.current_state = ECUM_STATE_APP_RUN;\r
EcuM_OnEnterRUN();\r