integrate & able to run cmsis-rtx with current code base

This commit is contained in:
hathach
2013-09-13 16:53:17 +07:00
parent 1f573eecf2
commit c71f5c6f1b
22 changed files with 2670 additions and 59 deletions

View File

@@ -49,7 +49,7 @@
//--------------------------------------------------------------------+
// MACRO CONSTANT TYPEDEF
//--------------------------------------------------------------------+
OSAL_TASK_DEF(cdc_serial_task_def, "cdc serial app", cdc_serial_app_task, 128, CDC_SERIAL_APP_TASK_PRIO);
OSAL_TASK_DEF("cdc serial app", cdc_serial_app_task, 128, CDC_SERIAL_APP_TASK_PRIO);
OSAL_QUEUE_DEF(queue_def, QUEUE_SERIAL_DEPTH, uint8_t);
static osal_queue_handle_t queue_hdl;
@@ -112,9 +112,10 @@ void cdc_serial_app_init(void)
{
memclr_(buffer_in, sizeof(buffer_in));
ASSERT( TUSB_ERROR_NONE == osal_task_create(&cdc_serial_task_def), (void) 0 );
queue_hdl = osal_queue_create(&queue_def);
queue_hdl = osal_queue_create( OSAL_QUEUE_REF(queue_def) );
ASSERT_PTR( queue_hdl, (void) 0 );
ASSERT( TUSB_ERROR_NONE == osal_task_create(OSAL_TASK_REF(cdc_serial_app_task)), (void) 0 );
}
//------------- main task -------------//

View File

@@ -55,7 +55,7 @@
//--------------------------------------------------------------------+
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
OSAL_TASK_DEF(keyboard_task_def, "keyboard app", keyboard_app_task, 128, KEYBOARD_APP_TASK_PRIO);
OSAL_TASK_DEF("keyboard app", keyboard_app_task, 128, KEYBOARD_APP_TASK_PRIO);
OSAL_QUEUE_DEF(queue_kbd_def, QUEUE_KEYBOARD_REPORT_DEPTH, tusb_keyboard_report_t);
static osal_queue_handle_t queue_kbd_hdl;
@@ -107,9 +107,11 @@ void keyboard_app_init(void)
{
memclr_(&usb_keyboard_report, sizeof(tusb_keyboard_report_t));
ASSERT( TUSB_ERROR_NONE == osal_task_create(&keyboard_task_def), (void) 0 );
queue_kbd_hdl = osal_queue_create(&queue_kbd_def);
queue_kbd_hdl = osal_queue_create( OSAL_QUEUE_REF(queue_kbd_def) );
ASSERT_PTR( queue_kbd_hdl, (void) 0 );
ASSERT( TUSB_ERROR_NONE == osal_task_create( OSAL_TASK_REF(keyboard_app_task) ) ,
(void) 0 );
}
//------------- main task -------------//

View File

@@ -72,7 +72,7 @@
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
OSAL_TASK_FUNCTION( led_blinking_task ) (void* p_task_para);
OSAL_TASK_DEF(led_blinking_task_def, "led blinking", led_blinking_task, 128, LED_BLINKING_APP_TASK_PRIO);
OSAL_TASK_DEF("led blinking", led_blinking_task, 128, LED_BLINKING_APP_TASK_PRIO);
void print_greeting(void);
static inline void wait_blocking_ms(uint32_t ms);
@@ -110,7 +110,7 @@ int main(void)
tusb_init();
//------------- application task init -------------//
(void) osal_task_create(&led_blinking_task_def);
(void) osal_task_create( OSAL_TASK_REF(led_blinking_task) );
#if TUSB_CFG_HOST_HID_KEYBOARD
keyboard_app_init();
@@ -131,9 +131,13 @@ int main(void)
//------------- start OS scheduler (never return) -------------//
#if TUSB_CFG_OS == TUSB_OS_FREERTOS
vTaskStartScheduler();
#elif TUSB_CFG_OS == TUSB_OS_NONE
os_none_start_scheduler();
#elif TUSB_CFG_OS == TUSB_OS_CMSIS_RTX
while(1)
{
osDelay(osWaitForever); // CMSIS RTX osKernelStart already started, main() is a task
}
#else
#error need to start RTOS schduler
#endif

View File

@@ -56,7 +56,7 @@
//--------------------------------------------------------------------+
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
OSAL_TASK_DEF(mouse_task_def, "mouse app", mouse_app_task, 128, MOUSE_APP_TASK_PRIO);
OSAL_TASK_DEF("mouse app", mouse_app_task, 128, MOUSE_APP_TASK_PRIO);
OSAL_QUEUE_DEF(queue_mouse_def, QUEUE_MOUSE_REPORT_DEPTH, tusb_mouse_report_t);
static osal_queue_handle_t queue_mouse_hdl;
@@ -109,10 +109,11 @@ void mouse_app_init(void)
{
memclr_(&usb_mouse_report, sizeof(tusb_mouse_report_t));
ASSERT( TUSB_ERROR_NONE == osal_task_create(&mouse_task_def), (void) 0 );
queue_mouse_hdl = osal_queue_create(&queue_mouse_def);
queue_mouse_hdl = osal_queue_create( OSAL_QUEUE_REF(queue_mouse_def) );
ASSERT_PTR( queue_mouse_hdl, (void) 0 );
ASSERT( TUSB_ERROR_NONE == osal_task_create( OSAL_TASK_REF(mouse_app_task) ),
(void) 0 );
}
//------------- main task -------------//