/* Main code - entry point to firmware */ void main(void) { /* FTDI:SDD Driver Declarations */ // UART Driver configuration context uart_context_t uartContext; // GPIO Port A configuration context gpio_context_t gpioContextA; // USB Host configuration context usbhost_context_t usbhostContext; /* FTDI:EDD */ /* FTDI:SKI Kernel Initialisation */ vos_init(50, VOS_TICK_INTERVAL, VOS_NUMBER_DEVICES); vos_set_clock_frequency(VOS_48MHZ_CLOCK_FREQUENCY); vos_set_idle_thread_tcb_size(512); /* FTDI:EKI */ iomux_setup(); /* FTDI:SDI Driver Initialisation */ // Initialise UART uartContext.buffer_size = VOS_BUFFER_SIZE_128_BYTES; uart_init(VOS_DEV_UART,&uartContext); // Initialise GPIO A gpioContextA.port_identifier = GPIO_PORT_A; gpio_init(VOS_DEV_GPIO_PORT_A,&gpioContextA); // Initialise USB HID Device usbHostHID_init(VOS_DEV_USBHOST_HID); // Initialise USB Host usbhostContext.if_count = 8; usbhostContext.ep_count = 16; usbhostContext.xfer_count = 2; usbhostContext.iso_xfer_count = 2; usbhost_init(-1, VOS_DEV_USBHOST_2, &usbhostContext); /* FTDI:EDI */ /* FTDI:SCT Thread Creation */ tcbFIRMWARE = vos_create_thread_ex(20, 4096, firmware, "Application", 0); /* FTDI:ECT */ vos_start_scheduler(); main_loop: goto main_loop; }
/* Main code - entry point to firmware */ void main(void) { /* FTDI:SDD Driver Declarations */ // UART Driver configuration context uart_context_t uartContext; // SPI Master configuration context spimaster_context_t spimContext; // GPIO Port A configuration context gpio_context_t gpioContextA; // GPIO Port B configuration context gpio_context_t gpioContextB; // USB Host configuration context usbhost_context_t usbhostContext; /* FTDI:EDD */ /* FTDI:SKI Kernel Initialisation */ vos_init(50, VOS_TICK_INTERVAL, VOS_NUMBER_DEVICES); vos_set_clock_frequency(VOS_48MHZ_CLOCK_FREQUENCY); vos_set_idle_thread_tcb_size(512); /* FTDI:EKI */ iomux_setup(); /* FTDI:SDI Driver Initialisation */ // Initialise UART uartContext.buffer_size = VOS_BUFFER_SIZE_128_BYTES; uart_init(VOS_DEV_UART,&uartContext); // Initialise SPI Master spimContext.buffer_size = VOS_BUFFER_SIZE_128_BYTES; spimaster_init(VOS_DEV_SPI_MASTER,&spimContext); // Initialise GPIO A gpioContextA.port_identifier = GPIO_PORT_A; gpio_init(VOS_DEV_GPIO_PORT_A,&gpioContextA); // Initialise GPIO B gpioContextB.port_identifier = GPIO_PORT_B; gpio_init(VOS_DEV_GPIO_PORT_B,&gpioContextB); // Initialise FAT File System Driver fatdrv_init(VOS_DEV_FAT_FILE_SYSTEM); // Initialise BOMS Device Driver boms_init(VOS_DEV_BOMS); // Initialise USB HID Device usbHostHID_init(VOS_DEV_USBHOST_HID_1); // Initialise USB HID Device usbHostHID_init(VOS_DEV_USBHOST_HID_2); // Initialise USB Host usbhostContext.if_count = 8; usbhostContext.ep_count = 16; usbhostContext.xfer_count = 2; usbhostContext.iso_xfer_count = 2; if(usbhost_init(VOS_DEV_USBHOST_1, VOS_DEV_USBHOST_2, &usbhostContext) != 0) while(1); //FAILED /* FTDI:EDI */ /* FTDI:SCT Thread Creation */ tcbFIRMWARE = vos_create_thread_ex(31, 2048, firmware, "Application", 0); /* FTDI:ECT */ vos_delay_msecs(100); vos_start_scheduler(); main_loop: vos_delay_msecs(100); goto main_loop; }