I am new to blackfin and working on a customed board using BF525, without any external SDRAM. I am trying to code usb stack without using the usb_core library. However, I encountered problem that when I plugged in the USB to computer, there is no interrupt generated in the chip (debugging under vdsp++ and ICE).
The following are setups:
1. USB_INT0/1/2 enabled via SIC_IMASK1
2. USB_INT0 to IVG10, INT1 to IVG12, INT2 to IVG13
3. IMASK enabled all IVG (confirmed via ICE's register view)
4. all the USB RX, TX, and general interrupt enabled (USB_INTRRXE=0xFE, USB_INTRTXE=0xFF, USB_INTRUSBE = 0x07)
5. USB_GLOBINTR =0x111
6. USB_GLOBAL_CTL = 1
First I set break point at the ISR of IVG10,12, 13, and no breakpoint occurs at inserting and removing usb cable.
Then I try break, and found that when I plugged in the usb cable, USB_OTG_CTRL = 0x98 and USB_GLOBINTR=0x8111, and USB_OTG_CTRL returns to 0x80 and USB_GLOBINTR = 0x111 when cable removed.
Could someone please help me? Thanks in advance.
I found that problem - I didn't turn on USB power. After setting USB_POWER to 0x60 I can now get isr working and receiving end point 0 data.