obj-y += arc.o\r
#obj-y += malloc.o\r
obj-$(USE_RAMLOG) += ramlog.o\r
-obj-$(USE_SIMPLE_PRINTF) += printf.o\r
+\r
+# If we have configured console output we include printf. \r
+# Overridden to use lib implementation with CFG_USE_NEWLIB_PRINTF\r
+ifndef (CFG_USE_NEWLIB_PRINTF)\r
+ifneq (,$(SELECT_CONSOLE) $(SELECT_OS_CONSOLE))\r
+obj-y += printf.o\r
+endif\r
+endif\r
\r
VPATH += $(ROOTDIR)/common\r
\r
# What buildable modules does this board have,
# default or private (These become MOD_XXX=y )
-MOD_AVAIL=KERNEL MCU T32_TERM WINIDEA_TERM SIMPLE_PRINTF GPT RAMLOG
+MOD_AVAIL=KERNEL MCU GPT
# Needed by us (These become USE_XXX=y and def-y += USE_XXX )
MOD_USE=KERNEL MCU
\r
# What buildable modules does this board have, \r
# default or private\r
-MOD_AVAIL+=KERNEL RAMLOG MCU GPT LIN CAN CANIF PORT DIO WDG WDGM T32_TERM PWM WINIDEA_TERM COM ADC DMA SIMPLE_PRINTF DEM PDUR IOHWAB\r
+MOD_AVAIL+=KERNEL RAMLOG MCU GPT LIN CAN CANIF PORT DIO WDG WDGM PWM COM ADC DMA DEM PDUR IOHWAB\r
\r
# Needed by us\r
MOD_USE=KERNEL MCU\r
\r
# What buildable modules does this board have, \r
# default or private\r
-MOD_AVAIL=KERNEL RAMLOG MCU GPT LIN CAN WDG WDGM T32_TERM WINIDEA_TERM SIMPLE_PRINTF DEM IOHWAB\r
+MOD_AVAIL=KERNEL RAMLOG MCU GPT LIN CAN WDG WDGM DEM IOHWAB\r
\r
# Needed by us\r
MOD_USE=KERNEL MCU\r
\r
# What buildable modules does this board have, \r
# default or private\r
-MOD_AVAIL+=KERNEL RAMLOG MCU GPT LIN CAN COM WDG WDGM T32_TERM WINIDEA_TERM SIMPLE_PRINTF DEM IOHWAB\r
+MOD_AVAIL+=KERNEL RAMLOG MCU GPT LIN CAN COM WDG WDGM DEM IOHWAB\r
\r
# Needed by kernel\r
MOD_USE+=KERNEL MCU\r
\r
# What buildable modules does this board have, \r
# default or private\r
-MOD_AVAIL=KERNEL RAMLOG MCU WDG WDGM PORT DIO WDG WDGM T32_TERM WINIDEA_TERM PWM CAN CANIF COM ADC DMA SIMPLE_PRINTF DEM PDUR IOHWAB\r
+MOD_AVAIL=KERNEL RAMLOG MCU WDG WDGM PORT DIO WDG WDGM PWM CAN CANIF COM ADC DMA DEM PDUR IOHWAB\r
\r
# Needed by us\r
MOD_USE=KERNEL MCU\r
# What buildable modules does this board have,
# default or private
-MOD_AVAIL=KERNEL RAMLOG MCU WDG WDGM PORT DIO WDG WDGM T32_TERM WINIDEA_TERM PWM CAN CANIF COM ADC DMA SIMPLE_PRINTF
+MOD_AVAIL=KERNEL RAMLOG MCU WDG WDGM PORT DIO WDG WDGM PWM CAN CANIF COM ADC DMA
# Needed by us
MOD_USE=KERNEL MCU
* Activate scheduled tasks. OS tick is 1ms.\r
* The Blink is run every 25 ms with an offset of 25ms.\r
*/\r
- SetRelAlarm(ALARM_ID_bTask10, 10, 10); // ADC data acquisition\r
- SetRelAlarm(ALARM_ID_bTask25, 25, 25); // ADC data acquisition\r
- SetRelAlarm(ALARM_ID_bTask100, 100, 100); // ADC data acquisition\r
+ SetRelAlarm(ALARM_ID_alarm10, 10, 10); // ADC data acquisition\r
+ SetRelAlarm(ALARM_ID_alarm25, 25, 25); // ADC data acquisition\r
+ SetRelAlarm(ALARM_ID_alarm100, 100, 100); // ADC data acquisition\r
\r
WdgM_ActivateAliveSupervision(WDBG_ALIVE_LOOP_BLINK_COMPONENT);\r
\r
\r
-MOD_USE+=KERNEL MCU WDG WDGM PORT DIO SIMPLE_PRINTF RAMLOG\r
+MOD_USE+=KERNEL MCU WDG WDGM PORT DIO\r
+\r
+SELECT_CONSOLE = RAMLOG\r
+SELECT_OS_CONSOLE = RAMLOG\r
\r
-MOD_USE+=KERNEL MCU PORT PWM WINIDEA_TERM SIMPLE_PRINTF RAMLOG\r
+MOD_USE+=KERNEL MCU PORT PWM\r
+\r
+SELECT_CONSOLE = RAMLOG\r
+SELECT_OS_CONSOLE = RAMLOG\r
\r
-MOD_USE+=KERNEL MCU PORT COM CAN CANIF WINIDEA_TERM PWM SIMPLE_PRINTF RAMLOG\r
+MOD_USE+=KERNEL MCU PORT COM CAN CANIF PWM\r
+\r
+SELECT_CONSOLE = RAMLOG\r
+SELECT_OS_CONSOLE = RAMLOG\r
\r
-MOD_USE+=KERNEL MCU T32_TERM RAMLOG SIMPLE_PRINTF RAMLOG\r
+MOD_USE+=KERNEL MCU\r
+\r
+SELECT_CONSOLE = RAMLOG\r
+SELECT_OS_CONSOLE = RAMLOG\r
\r
def-y += HEAPSIZE=1400
\ No newline at end of file
\r
-MOD_USE+=KERNEL MCU ADC DMA PORT COM CAN CANIF WINIDEA_TERM SIMPLE_PRINTF RAMLOG\r
+MOD_USE+=KERNEL MCU ADC DMA PORT COM CAN CANIF\r
+\r
+SELECT_CONSOLE = RAMLOG\r
+SELECT_OS_CONSOLE = RAMLOG\r
\r
+MOD_USE+=KERNEL MCU\r
\r
-#MOD_USE+=KERNEL MCU SIMPLE_PRINTF\r
-MOD_USE+=KERNEL MCU SIMPLE_PRINTF \r
-# WINIDEA_TERM\r
-#RAMLOG\r
-\r
+SELECT_CONSOLE = RAMLOG\r
+SELECT_OS_CONSOLE = RAMLOG\r
* on Thu Apr 08 10:24:32 CEST 2010
*/
- \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 = 0;\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
- 1,\r
- 0),\r
-};\r
-\r
-CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;\r
-\r
-// ################################## ALARMS ################################\r
-GEN_ALARM_AUTOSTART(ALARM_ID_Alarm_4ms, ALARM_AUTOSTART_ABSOLUTE, 100, 2, OSDEFAULTAPPMODE );\r
- \r
-\r
-GEN_ALARM_HEAD {\r
- GEN_ALARM( ALARM_ID_Alarm_4ms,\r
- "Alarm_4ms",\r
- COUNTER_ID_OsTick,\r
- GEN_ALARM_AUTOSTART_NAME(ALARM_ID_Alarm_4ms),\r
- ALARM_ACTION_SETEVENT,\r
- TASK_ID_etask_1,\r
- EVENT_MASK_EVENT_0,\r
- NULL ),\r
-};\r
-\r
-// ################################ RESOURCES ###############################\r
-GEN_RESOURCE_HEAD {\r
- GEN_RESOURCE( \r
- RES_SCHEDULER,\r
- RESOURCE_TYPE_STANDARD,\r
- 0\r
- ),\r
-};\r
-\r
-// ############################## STACKS (TASKS) ############################\r
-DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
-DECLARE_STACK(btask_3,2048);\r
-DECLARE_STACK(etask_1,2048);\r
-DECLARE_STACK(etask_2,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
- btask_3,\r
- 3,\r
- FULL,\r
- FALSE,\r
- NULL,\r
- 0,\r
- 1\r
- ),\r
- \r
- GEN_ETASK(\r
- etask_1,\r
- 1,\r
- FULL,\r
- TRUE,\r
- NULL,\r
- 0\r
- ),\r
- \r
- \r
- GEN_ETASK(\r
- etask_2,\r
- 2,\r
- FULL,\r
- TRUE,\r
- NULL,\r
- 0\r
- ),\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
+
+
+#include <stdlib.h>
+#include <stdint.h>
+#include "Platform_Types.h"
+#include "Os.h" // includes Os_Cfg.h
+#include "os_config_macros.h"
+#include "kernel.h"
+#include "kernel_offset.h"
+#include "alist_i.h"
+#include "Mcu.h"
+
+extern void dec_exception( void );
+
+// Set the os tick frequency
+OsTickType OsTickFreq = 1000;
+
+
+// ############################### DEBUG OUTPUT #############################
+uint32 os_dbg_mask = 0;
+
+
+
+// ################################# COUNTERS ###############################
+GEN_COUNTER_HEAD {
+ GEN_COUNTER( COUNTER_ID_OsTick,
+ "OsTick",
+ COUNTER_TYPE_HARD,
+ COUNTER_UNIT_NANO,
+ 0xffff,
+ 1,
+ 1,
+ 0),
+};
+
+CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;
+
+// ################################## ALARMS ################################
+GEN_ALARM_AUTOSTART(ALARM_ID_Alarm_4ms, ALARM_AUTOSTART_ABSOLUTE, 100, 2, OSDEFAULTAPPMODE );
+
+
+GEN_ALARM_HEAD {
+ GEN_ALARM( ALARM_ID_Alarm_4ms,
+ "Alarm_4ms",
+ COUNTER_ID_OsTick,
+ GEN_ALARM_AUTOSTART_NAME(ALARM_ID_Alarm_4ms),
+ ALARM_ACTION_SETEVENT,
+ TASK_ID_etask_1,
+ EVENT_MASK_EVENT_2,
+ NULL ),
+};
+
+// ################################ RESOURCES ###############################
+GEN_RESOURCE_HEAD {
+ GEN_RESOURCE(
+ RES_SCHEDULER,
+ RESOURCE_TYPE_STANDARD,
+ 0
+ ),
+};
+
+// ############################## STACKS (TASKS) ############################
+DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);
+DECLARE_STACK(btask_3,2048);
+DECLARE_STACK(etask_1,2048);
+DECLARE_STACK(etask_2,2048);
+
+// ################################## TASKS #################################
+GEN_TASK_HEAD {
+ GEN_ETASK( OsIdle,
+ 0,
+ FULL,
+ TRUE,
+ NULL,
+ 0
+ ),
+ GEN_BTASK(
+ btask_3,
+ 3,
+ FULL,
+ FALSE,
+ NULL,
+ 0,
+ 1
+ ),
+
+ GEN_ETASK(
+ etask_1,
+ 1,
+ FULL,
+ TRUE,
+ NULL,
+ 0
+ ),
+
+
+ GEN_ETASK(
+ etask_2,
+ 2,
+ FULL,
+ TRUE,
+ NULL,
+ 0
+ ),
+
+
+};
+
+// ################################## HOOKS #################################
+GEN_HOOKS(
+ StartupHook,
+ NULL,
+ ShutdownHook,
+ ErrorHook,
+ PreTaskHook,
+ PostTaskHook
+);
+
+// ################################## ISRS ##################################
+
+
+// ############################ SCHEDULE TABLES #############################
+
+// Table heads
+GEN_SCHTBL_HEAD {
+};
+
+GEN_PCB_LIST()
+
+uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));
+
+GEN_IRQ_VECTOR_TABLE_HEAD {};
+GEN_IRQ_ISR_TYPE_TABLE_HEAD {};
+GEN_IRQ_PRIORITY_TABLE_HEAD {};
+
+#include "os_config_funcs.h"
#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_Alarm_4ms 0\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
-#define EVENT_MASK_EVENT_0 0\r
-#define EVENT_MASK_EVENT_1 1\r
-#define EVENT_MASK_EVENT_2 2\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_btask_3 1\r
-#define TASK_ID_etask_1 2\r
-#define TASK_ID_etask_2 3\r
-\r
-// Task entry points\r
-void OsIdle( void );\r
-void btask_3( void );\r
-void etask_1( void );\r
-void etask_2( void );\r
-\r
-// Schedule table id's\r
-\r
-// Stack size\r
-#define OS_INTERRUPT_STACK_SIZE 2048\r
-#define OS_OSIDLE_STACK_SIZE 500\r
-\r
-#define OS_ALARM_CNT 1 \r
-#define OS_TASK_CNT 3\r
-#define OS_SCHTBL_CNT 0\r
-#define OS_COUNTER_CNT 1\r
-#define OS_EVENTS_CNT 3\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
+
+#ifndef OS_CFG_H_
+#define OS_CFG_H_
+
+
+// Alarm Id's
+#define ALARM_ID_Alarm_4ms 0
+
+// Counter Id's
+#define COUNTER_ID_OsTick 0
+
+// Counter macros
+#define OSMAXALLOWEDVALUE_OsTick 65535
+
+
+// Event masks
+#define EVENT_MASK_EVENT_0 (1<<0)
+#define EVENT_MASK_EVENT_1 (1<<1)
+#define EVENT_MASK_EVENT_2 (1<<2)
+
+// Isr Id's
+
+// Resource Id's
+
+// Linked resource id's
+
+// Resource masks
+
+// Task Id's
+#define TASK_ID_OsIdle 0
+#define TASK_ID_btask_3 1
+#define TASK_ID_etask_1 2
+#define TASK_ID_etask_2 3
+
+// Task entry points
+void OsIdle( void );
+void btask_3( void );
+void etask_1( void );
+void etask_2( void );
+
+// Schedule table id's
+
+// Stack size
+#define OS_INTERRUPT_STACK_SIZE 2048
+#define OS_OSIDLE_STACK_SIZE 500
+
+#define OS_ALARM_CNT 1
+#define OS_TASK_CNT 4
+#define OS_SCHTBL_CNT 0
+#define OS_COUNTER_CNT 1
+#define OS_EVENTS_CNT 3
+#define OS_ISRS_CNT 0
+#define OS_RESOURCE_CNT 0
+#define OS_LINKED_RESOURCE_CNT 0
+
+#define CFG_OS_DEBUG STD_OFF
+
+#define OS_SC1 STD_ON
+#define OS_STACK_MONITORING STD_ON
+#define OS_STATUS_EXTENDED STD_ON
+#define OS_USE_GET_SERVICE_ID STD_ON
+#define OS_USE_PARAMETER_ACCESS STD_ON
+#define OS_RES_SCHEDULER STD_ON
+
+#endif /*OS_CFG_H_*/
\r
LDEBUG_PRINTF("etask_1 start\n");\r
for(;;) {\r
- SetEvent(TASK_ID_etask_2,EVENT_1);\r
- WaitEvent(EVENT_2);\r
- ClearEvent(EVENT_2);\r
+ SetEvent(TASK_ID_etask_2,EVENT_MASK_EVENT_1);\r
+ WaitEvent(EVENT_MASK_EVENT_2);\r
+ ClearEvent(EVENT_MASK_EVENT_2);\r
tryFloatingPoint += 1.0F;\r
GetTaskID(&currTask);\r
Os_Arc_GetStackInfo(currTask,&si);\r
LDEBUG_PRINTF("etask_2 start\n");\r
\r
for(;;) {\r
- WaitEvent(EVENT_1);\r
- ClearEvent(EVENT_1);\r
+ WaitEvent(EVENT_MASK_EVENT_1);\r
+ ClearEvent(EVENT_MASK_EVENT_1);\r
ActivateTask(TASK_ID_btask_3);\r
{\r
StackInfoType si;\r
+++ /dev/null
-\r
-#ifndef SIMPLE_PRINTF_H_\r
-#define SIMPLE_PRINTF_H_\r
-\r
-#if defined(USE_SIMPLE_PRINTF)\r
-int simple_sprintf(char *out, const char *format, ...);\r
-int printf(const char *format, ...);\r
-#define printf(format,...) printf(format,## __VA_ARGS__ )\r
-#else\r
-#define printf(format,...)\r
-#endif\r
-\r
-#endif /* SIMPLE_PRINTF_H_ */\r