BIOS Frameworks Application BIOS Frameworks Application SCAN_INT Power on main stub_vectors app_pre_init install exec_loop into idle chain Do any initialization that must be done prior to enabling interrupts, etc. IDLE_INT exec_loop (init) fwx_program_init fwx_init isr_init uart_init sie1_init husb_init app_init IDLE_INT exec_loop File: C:\Documents\Cypress\Lyberty\FWX-models\fwx-model.mdl Frameworks (Host) Page 1 (1, 1) 9:30:20 AM Wednesday, January 28, 2004 Sequence Diagram: Analysis Model / BIOS Frameworks Application IDLE_INT exec_loop sie1_idle td_idle tpl_idle button_check app_button_handler uart_idle app_task sie1_host_ins_remove_isr Device insertion enumerate_device tpl_find_driver driver->start submit_urb Allocate driver memory and begin communication with your device IDLE_INT exec_loop td_idle urb_complete_callback tpl_idle File: C:\Documents\Cypress\Lyberty\FWX-models\fwx-model.mdl Frameworks (Host) Page 2 (2, 1) driver->run 9:30:20 AM Wednesday, January 28, 2004 Sequence Diagram: Analysis Model / BIOS Frameworks Application tpl_idle driver->run sie1_host_ins_rem_isr Device removal enumerate_device driver->stop td_clear_URB File: C:\Documents\Cypress\Lyberty\FWX-models\fwx-model.mdl Frameworks (Host) Page 3 (3, 1) 9:30:21 AM Wednesday, January 28, 2004 Shutdown the driver. Release memory, release URBs, etc. Sequence Diagram: Analysis Model /