/*! \brief Main function. Execution starts here. * * \retval 42 Fatal error. */ int main(void) { #ifndef FREERTOS_USED Enable_global_exception(); INTC_init_interrupts(); #endif pcl_switch_to_osc(PCL_OSC0, FOSC0, OSC0_STARTUP); init_dbg_rs232(FOSC0); pcl_configure_usb_clock(); usb_task_init(); #if USB_DEVICE_FEATURE == true device_template_task_init(); #endif #if USB_HOST_FEATURE == true host_template_task_init(); #endif #ifdef FREERTOS_USED vTaskStartScheduler(); portDBG_TRACE("FreeRTOS returned."); return 42; #else while (true) { usb_task(); #if USB_DEVICE_FEATURE == true device_template_task(); #endif #if USB_HOST_FEATURE == true host_template_task(); #endif } #endif // FREERTOS_USED }
/*! \brief Main function. Execution starts here. * * \retval 42 Fatal error. */ int main(void) { // Configure system clocks. if (pcl_configure_clocks(&pcl_freq_param) != PASS) return 42; // Initialize USB clock (on PLL1) pcl_configure_usb_clock(); // Initialize usart comm init_dbg_rs232(pcl_freq_param.pba_f); // Initialize USB task usb_task_init(); #if USB_DEVICE_FEATURE == true // Initialize device generic USB task device_generic_hid_task_init(); #endif // No OS here. Need to call each task in round-robin mode. while (true) { usb_task(); #if USB_DEVICE_FEATURE == true device_generic_hid_task(); #endif } }
// HAL initialization task void HAL_init(void) { // Initialize the USB stack #if ENABLED(SDSUPPORT) OUT_WRITE(SDSS, HIGH); // Try to set SDSS inactive before any other SPI users start up #endif usb_task_init(); }
/*! \brief Main function. Execution starts here. * * \retval No return value. */ int main(void) { #ifdef __GNUC__ // Initialize the INTC sw driver. INTC_init_interrupts(); #endif // Configure system clocks. if (pcl_configure_clocks(&pcl_freq_param) != PASS) while (true); // Initialize USB clock (on PLL1) pcl_configure_usb_clock(); // Initialize USB task usb_task_init(); #if USB_DEVICE_FEATURE == true // Initialize device generic USB task device_generic_hid_task_init(); #endif // No OS here. Need to call each task in round-robin mode. while (true) { usb_task(); #if USB_DEVICE_FEATURE == true device_generic_hid_task(); #endif } }
/*! \brief Main function. Execution starts here. * * \retval 42 Fatal error. */ int main(void) { // Configure system clocks. if (pcl_configure_clocks(&pcl_freq_param) != PASS) return 42; // Initialize USB clock (on PLL1) pcl_configure_usb_clock(); // Initialize usart comm init_dbg_rs232(pcl_freq_param.pba_f); #if BOARD == EVK1105 Disable_global_interrupt(); /* Register interrupt handler to the interrupt controller * up, down buttons on PB22, PB23 -> GPIO_IRQ_6 */ INTC_register_interrupt(&touch_button_isr, AVR32_GPIO_IRQ_6, 0); /* all gpios between PB23 - PB31) */ INTC_register_interrupt(&touch_button_isr, AVR32_GPIO_IRQ_7, 0); Enable_global_interrupt(); #endif // Initialize USB task usb_task_init(); #if USB_DEVICE_FEATURE == true // Initialize device mouse USB task device_mouse_hid_task_init(); #endif #if USB_HOST_FEATURE == true //host_keyboard_hid_task_init(); // Initialize host mouse USB task host_mouse_hid_task_init(); #endif #ifdef FREERTOS_USED // Start OS scheduler vTaskStartScheduler(); portDBG_TRACE("FreeRTOS returned."); return 42; #else // No OS here. Need to call each task in round-robin mode. while (true) { usb_task(); #if USB_DEVICE_FEATURE == true device_mouse_hid_task(); #endif #if USB_HOST_FEATURE == true //host_keyboard_hid_task(); host_mouse_hid_task(); #endif } #endif // FREERTOS_USED }
bool cmd_if_init(void) { /* Initialize local variables. */ ndr = NULL; ieee_address = eep_read_ieee_address(); nwk_events_missed = 0; for (uint8_t i = 0; (i < NWK_EVENT_FIFO_SIZE); i++) { uint8_t *nwk_event = (uint8_t *)MEM_ALLOC_ARRAY(uint8_t, CMD_EVENT_SIZE); if (NULL == nwk_event) { goto init_failed; } else { nwk_event_fifo[i] = nwk_event; } } /* Initialize USB devic driver. */ usb_task_init(ieee_address); /* Set up the transaction descriptor for the OUT end point where commands will * be received. */ usb_trans_descriptor_t desc; desc.ep = EP_OUT; desc.done_callback = usb_transaction_done; if (USB_SUCCESS != usb_ep_open(&desc)) { goto init_failed; } cmd_if_state = CMD_IF_INITIALIZED; return true; /* Handle failed initialization. */ init_failed: for (uint8_t i = 0; (i < NWK_EVENT_FIFO_SIZE); i++) { MEM_FREE(nwk_event_fifo[i]); nwk_event_fifo[i] = (uint8_t *)NULL; } /* Close EP and turn the USB macro off. */ usb_ep_close(); usb_task_deinit(); return false; }
/*! * Start the USB modules. * * \return true upon success, else false. */ bool b_usbsys_start( void ) { // Create the usb_tsk_semphr and launch the usb_task() task. usb_task_init(); #if USB_DEVICE_FEATURE == true // Init the device Mass Storage module and // create the device_mass_storage_task() task device_mass_storage_task_init(); #endif #if USB_HOST_FEATURE == true // Init the host Mass Storage module and // create the host_mass_storage_task() task host_mass_storage_task_init(); #endif return( true ); }
static void usb_wait_for_pll(void) { if (Is_usb_vbus_high()) { if (init_usb_hardware()) { // First start PLL, then wait for lock Usb_unfreeze_clock(); usb_task_init(); #if USB_DEVICE_FEATURE == ENABLED && USB_HOST_FEATURE == ENABLED usb_handler = usb_task; #elif USB_DEVICE_FEATURE == ENABLED usb_handler = usb_device_task; #elif USB_HOST_FEATURE == ENABLED usb_handler = usb_host_task; #endif #ifdef NOTIFY_USBHOST bf_send2C5(DVsendMessage, 16, USBConMsg); #endif } // fi init... } else { // fi VBUS Pin high exit_usb_hardware(); } }
static void x_image_task_init(void) { // Initialize USB task usb_task_init(); #if USB_DEVICE_FEATURE == ENABLED mutexEP_IN = xSemaphoreCreateMutex(); // for co-ordinating multiple tasks using EP IN #if LCD_DISPLAY // Multi-line LCD display vStartTaskLCD(); vStartTaskPowerDisplay(); vStartTaskPushButtonMenu(); #endif vStartTaskMoboCtrl(); // vStartTaskEXERCISE( tskIDLE_PRIORITY ); hpsdr_AK5394A_task_init(); hpsdr_device_audio_task_init(HPSDR_EP_IQ_IN, HPSDR_EP_IQ_OUT, 0); #endif #if LCD_DISPLAY // Multi-line LCD display vStartTaskStartupLogDisplay(); #endif }
static void x_image_task_init(void) { // Initialize USB task usb_task_init(); #if USB_DEVICE_FEATURE == ENABLED mutexEP_IN = xSemaphoreCreateMutex(); // for co-ordinating multiple tasks using EP IN #if LCD_DISPLAY // Multi-line LCD display vStartTaskLCD(); vStartTaskPowerDisplay(); vStartTaskPushButtonMenu(); #endif vStartTaskMoboCtrl(); // vStartTaskEXERCISE( tskIDLE_PRIORITY ); uac1_AK5394A_task_init(); device_mouse_hid_task_init(UAC1_EP_HID_RX, UAC1_EP_HID_TX); uac1_device_audio_task_init(UAC1_EP_AUDIO_IN, UAC1_EP_AUDIO_OUT, UAC1_EP_AUDIO_OUT_FB); #endif #if LCD_DISPLAY // Multi-line LCD display if ( ! FEATURE_LOG_NONE ) vStartTaskStartupLogDisplay(); #endif }
/*! \brief Main function. Execution starts here. * * \retval 42 Fatal error. */ int main(void) { init_hmatrix(); // Configure standard I/O streams as unbuffered. #if (defined __GNUC__) && (defined __AVR32__) setbuf(stdin, NULL); #endif setbuf(stdout, NULL); #if (defined USB_RESYNC_METHOD) && (USB_RESYNC_METHOD == USB_RESYNC_METHOD_EXT_CLOCK_SYNTHESIZER) // Initialize the TWI using the internal RCOSC init_twi_CS2200(AVR32_PM_RCOSC_FREQUENCY); // Initialize the CS2200 and produce a default 11.2896 MHz frequency cs2200_setup(11289600, FOSC0); #endif // Initializes the MCU system clocks init_sys_clocks(); // Initialize the TWI init_twi(FPBA_HZ); audio_mixer_enable_dacs(DEFAULT_DACS); audio_mixer_dacs_start(DEFAULT_DAC_SAMPLE_RATE_HZ, DEFAULT_DAC_NUM_CHANNELS, DEFAULT_DAC_BITS_PER_SAMPLE, DEFAULT_DAC_SWAP_CHANNELS); // Initialize the display et024006_Init( FCPU_HZ, FHSB_HZ); // Set Backlight gpio_set_gpio_pin(ET024006DHU_BL_PIN); // Clear the display et024006_DrawFilledRect(0, 0, ET024006_WIDTH, ET024006_HEIGHT, WHITE ); // Display a logo. et024006_PutPixmap(avr32_logo, AVR32_LOGO_WIDTH, 0, 0 ,(ET024006_WIDTH - AVR32_LOGO_WIDTH)/2 ,(ET024006_HEIGHT - AVR32_LOGO_HEIGHT)/2, AVR32_LOGO_WIDTH, AVR32_LOGO_HEIGHT); et024006_PrintString(AUDIO_DEMO_STRING, (const unsigned char *)&FONT8x16, 30, 5, BLACK, -1); et024006_PrintString("Please plug the USB.", (const unsigned char *)&FONT8x8, 30, 30, BLACK, -1); // Initialize USB task usb_task_init(); // Initialize Controller controller_init(FCPU_HZ, FHSB_HZ, FPBB_HZ, FPBA_HZ); #if USB_DEVICE_FEATURE == true // Initialize device audio USB task device_audio_task_init(); // Initialize the HID USB task device_hid_task_init(); #endif #if USB_HOST_FEATURE == true // Initialize host audio USB task host_audio_task_init(); #endif #ifdef FREERTOS_USED // Start OS scheduler vTaskStartScheduler(); portDBG_TRACE("FreeRTOS returned."); return 42; #else // No OS here. Need to call each task in round-robin mode. while (true) { usb_task(); #if USB_DEVICE_FEATURE == true device_audio_task(); device_hid_task(); #endif #if USB_HOST_FEATURE == true host_audio_task(); #endif } #endif // FREERTOS_USED }
/** * \brief UOTGHS Library Example Application entry point. * * \return 42 Fatal error. */ extern int main( void ) { /* Disable watchdog */ WDT_Disable( WDT ) ; /* UTMI parallel mode, High/Full/Low Speed */ /* UOTGCK not used in this configuration (High Speed) */ PMC->PMC_SCDR = PMC_SCDR_UOTGCK; /* USB clock register: USB Clock Input is UTMI PLL */ PMC->PMC_USB = PMC_USB_USBS; /* USBS: USB Input Clock Selection: USB Clock Input is PLLA */ /* Enable peripheral clock for UOTGHS */ PMC_EnablePeripheral(UOTGHS_IRQn); UOTGHS->UOTGHS_CTRL = 0x0; /* Enable PLL 480 MHz */ PMC->CKGR_UCKR = CKGR_UCKR_UPLLEN | CKGR_UCKR_UPLLCOUNT(0xF); /* Wait that PLL is considered locked by the PMC */ while( !(PMC->PMC_SR & PMC_SR_LOCKU) ); /* Enable peripheral clock for UOTGHS */ PMC_EnablePeripheral(UOTGHS_IRQn); /* Output example information */ printf( "-- UOTGHS Library Example %s --\n\r", SOFTPACK_VERSION ) ; printf( "-- %s\n\r", BOARD_NAME ) ; printf( "-- Compiled: %s %s --\n\r", __DATE__, __TIME__ ) ; /* UOTGHS pins */ PIO_PinConfigure( pUOTGHSPins, PIO_LISTSIZE( pUOTGHSPins ) ); if ( PIO_PinGet(&pUOTGHS_Fault) == 0 ) { TRACE_OTG("UOTGHS_Fault = 0 (active low ERROR FLAG !\r\n"); TRACE_OTG("Undervoltage, Soft Start, Overcurrent, or Overtemperature\r\n"); while(1); } /* Enable interrupt */ NVIC_EnableIRQ(UOTGHS_IRQn); /* Initialize USB task */ usb_task_init(); #if USB_DEVICE_FEATURE == ENABLED device_template_task_init(); #endif #if USB_HOST_FEATURE == ENABLED host_template_task_init(); #endif #ifdef FREERTOS_USED /* Start OS scheduler */ vTaskStartScheduler(); TRACE_OTG("FreeRTOS returned\n\r"); return 42; #else /* No OS here. Need to call each task in round-robin mode. */ while (TRUE) { usb_task(); #if USB_DEVICE_FEATURE == ENABLED device_template_task(); #endif #if USB_HOST_FEATURE == ENABLED host_template_task(); #endif } #endif /* FREERTOS_USED */ }
/*! \brief Main function. Execution starts here. * * \retval 42 Fatal error. */ int main(void) { // Configure system clocks. if (pcl_configure_clocks(&pcl_freq_param) != PASS) return 42; // Initialize usart comm init_dbg_rs232(pcl_freq_param.pba_f); #ifndef FREERTOS_USED # if (defined __GNUC__) // Give the used CPU clock frequency to Newlib, so it can work properly. set_cpu_hz(pcl_freq_param.pba_f); # endif #endif // Initialize USB clock. pcl_configure_usb_clock(); // Initialize USB task usb_task_init(); // Display a welcome banner on USART printf(" ...... ...... \r\n"); printf(" IIIIII IIIII IIII IIIIIIIIIII IIIIIIIIIII. .IIIIIIIIII. \r\n"); printf(" IIIIIII IIIII IIIII IIIIIIIIIIIII IIIIIIIIIIII..IIIIIIIIIII. \r\n"); printf(" IIIIIIIII IIIII IIIII IIIII IIIII I. IIIII.:. IIIII \r\n"); printf(" IIII IIIII IIIII IIII IIIII IIIII .IIII. IIIII \r\n"); printf(" IIIII IIII IIII IIIII IIIIIIIIIIIIII IIIIIIII IIII. \r\n"); printf(" IIII IIIII IIIII IIIII IIIIIIIIIIIII IIIIIIII. .IIII: \r\n"); printf(" IIIII IIIII IIIIIIIII IIIIIIIIIII .IIIII IIIII. \r\n"); printf(" IIIIIIIIIIIIIII IIIIIIII IIIII IIIII .IIII .IIII: \r\n"); printf(" IIIIIIIIIIIIIIII IIIIIII IIIII IIII II:. .IIIII .IIIII. \r\n"); printf(" IIIII IIIII IIIIII IIIII IIIII IIIIIIIIIIIII.IIIIIIIIIIIIII\r\n"); printf(" IIIII IIIII IIIII IIIII IIIII :IIIIIIIIII. IIIIIIIIIIIIII\r\n"); printf(" III \r\n"); printf(" II \r\n"); #if USB_DEVICE_FEATURE == true // Initialize device CDC USB task device_cdc_task_init(); #endif #if USB_HOST_FEATURE == true // Initialize host CDC USB task host_cdc_task_init(); #endif #ifdef FREERTOS_USED // Start OS scheduler vTaskStartScheduler(); portDBG_TRACE("FreeRTOS returned."); return 42; #else // No OS here. Need to call each task in round-robin mode. while (true) { usb_task(); #if USB_DEVICE_FEATURE == true device_cdc_task(); #endif #if USB_HOST_FEATURE == true host_cdc_task(); #endif } #endif // FREERTOS_USED }
int main (void) { pcl_freq_param_t local_pcl_freq_param; /* USART_Int_Test (); return (0); */ // Configure system clocks. local_pcl_freq_param = pcl_freq_param; if (pcl_configure_clocks (&local_pcl_freq_param) != PASS) { return 42; } /* Load the Exception Vector Base Address in the corresponding system register. */ Set_system_register (AVR32_EVBA, (int) &_evba); /* Enable exceptions. */ ENABLE_ALL_EXCEPTIONS (); /* Initialize interrupt handling. */ INTC_init_interrupts (); #if ((defined SD_MMC_MCI_0_MEM) && (SD_MMC_MCI_0_MEM == ENABLE)) || ((defined SD_MMC_MCI_1_MEM) && (SD_MMC_MCI_1_MEM == ENABLE)) sd_mmc_mci_resources_init (); #endif #ifdef FREERTOS_USED if (!ctrl_access_init ()) { return 42; } #endif // FREERTOS_USED // Init Hmatrix bus init_hmatrix (); // Initialize USB clock. pcl_configure_usb_clock (); /* SmartCard_test (); return 42; Test_ALL_Pins (); Test_MCI_Pins (); Test_LEDs_Pins (); TestUart0 (); while (1); return (0); */ #ifdef TIME_MEASURING_ENABLE TIME_MEASURING_Init (); #endif // For debugging BUFFERED_SIO_Init (); #ifdef INTERPRETER_ENABLE IDF_task_init (); #endif // Internal work task - FAT Access IW_task_init (); // Initialize USB tasks. usb_task_init (); #if USB_DEVICE_FEATURE == ENABLED #ifdef USB_MSD device_mass_storage_task_init (); #endif // USB_MSD #endif // CCID_Test_task_init (); #ifdef USB_CCID USB_CCID_task_init (); #endif DFU_DisableFirmwareUpdate (); // Stick always starts in application mode /**/ // Protect bootloader #ifdef STICK_20_A_MUSTER_PROD // flashc_set_bootloader_protected_size (0x2000); // flashc_activate_security_bit (); // Debugging disabled, only chip erase works (bootloader is save) , AES storage keys and setup // are erased flashc_lock_external_privileged_fetch (TRUE); // Disable external instruction fetch #endif // DFU_FirmwareResetUserpage (); // Set BOD33 detection reset to 3.06 Volt pm_bod33_ResetDisable (); pm_bod33_set_level (AVR32_PM_BOD33_LEVEL_306_VOLT); pm_bod33_ResetEnable (); // ushell_task_init(pcl_freq_param.pba_f); // Create the semaphore vSemaphoreCreateBinary (AES_semphr); // Wait for the semaphore while (!xSemaphoreTake (AES_semphr, portMAX_DELAY)); // Release the semaphore in order to start a new device/host task portBASE_TYPE task_woken = pdFALSE; /* taskENTER_CRITICAL (); xSemaphoreGiveFromISR (AES_semphr, &task_woken); taskEXIT_CRITICAL (); */ taskENTER_CRITICAL (); xSemaphoreGive (AES_semphr); taskEXIT_CRITICAL (); // Start stick vTaskStartScheduler (); // It never gets to this point return 42; }