Hello,
I am using the OMAP-L137 and development environment is CCSv5.2.
I referred to SPRUFM9H.pdf document and created the following programs.
*************************************************************************************************************************************
/*
* Initializing the USB2.0 Controller
* SPRUFM9H.pdf : Reference Section 3.1
*/
void usb_init()
{
:
:
// Enable interrupts in OTG block
usbRegs->CTRLR &= ~CSL_USB_OTG_CTRLR_UINT_MASK;
// Enable All Core Tx Endpoints Interrupts + EP0 Tx/Rx interrupt
usbRegs->INTRTXE = (
CSL_USB_OTG_INTRTXE_EP4TX_MASK
| CSL_USB_OTG_INTRTXE_EP3TX_MASK
| CSL_USB_OTG_INTRTXE_EP2TX_MASK
| CSL_USB_OTG_INTRTXE_EP1TX_MASK
| CSL_USB_OTG_INTRTXE_EP0_MASK);
// Enable All Core Rx Endpoints Interrupts
usbRegs->INTRRXE = (
CSL_USB_OTG_INTRRXE_EP4RX_MASK
| CSL_USB_OTG_INTRRXE_EP3RX_MASK
| CSL_USB_OTG_INTRRXE_EP2RX_MASK
| CSL_USB_OTG_INTRRXE_EP1RX_MASK);
// Enable all interrupts in OTG block
usbRegs->INTMSKSETR = 0x01FF1E1F;
// Enable all USB interrupts in MUSBMHDRC
usbRegs->INTRUSBE = 0xFF;
:
:
}
/*
* USB Interrupt Handler
*/
interrupt void handle_isr()
{
Uint32 intsrcr;
intsrcr = usbRegs->INTSRCR;
:
:
}
/*
* Main Method
*/
void main(void)
{
_enable_interrupts();
usb_init();
while (1)
{
// main loop(wait interrupt)
}
}
*************************************************************************************************************************************
However, handle_isr function is not called although the program was run.
Is there any mistake in handling of an interrupt function?
Regards