00001
00127
00128
00129 #ifdef FREERTOS_USED
00130 #include <stdio.h>
00131 #endif
00132 #include "compiler.h"
00133 #include "board.h"
00134 #include "print_funcs.h"
00135 #include "intc.h"
00136 #include "power_clocks_lib.h"
00137 #ifdef FREERTOS_USED
00138 #include "FreeRTOS.h"
00139 #include "task.h"
00140 #endif
00141 #include "conf_usb.h"
00142 #include "usb_task.h"
00143 #if USB_DEVICE_FEATURE == ENABLED
00144 #include "device_template_task.h"
00145 #endif
00146 #if USB_HOST_FEATURE == ENABLED
00147 #include "host_template_task.h"
00148 #endif
00149
00150
00151
00152
00157 int main(void)
00158 {
00159 #ifndef FREERTOS_USED
00160 Enable_global_exception();
00161 INTC_init_interrupts();
00162 #endif
00163 pcl_switch_to_osc(PCL_OSC0, FOSC0, OSC0_STARTUP);
00164 init_dbg_rs232(FOSC0);
00165 pcl_configure_usb_clock();
00166 usb_task_init();
00167 #if USB_DEVICE_FEATURE == ENABLED
00168 device_template_task_init();
00169 #endif
00170 #if USB_HOST_FEATURE == ENABLED
00171 host_template_task_init();
00172 #endif
00173
00174 #ifdef FREERTOS_USED
00175 vTaskStartScheduler();
00176 portDBG_TRACE("FreeRTOS returned.");
00177 return 42;
00178 #else
00179 while (TRUE)
00180 {
00181 usb_task();
00182 #if USB_DEVICE_FEATURE == ENABLED
00183 device_template_task();
00184 #endif
00185 #if USB_HOST_FEATURE == ENABLED
00186 host_template_task();
00187 #endif
00188 }
00189 #endif // FREERTOS_USED
00190 }