基於OHCI的USB主機 中斷暫存器初始化

2021-09-22 00:17:05 字數 996 閱讀 3293

am9200

中,中斷暫存器分為

2個層次,乙個是用來設定某個功能允許哪些中斷產生,另乙個是

aic中斷暫存器,用來設定是否允許該功能產生中斷。當

aic對應的中斷產生時,需要讀取相應功能的中斷狀態暫存器,以判斷產生中斷的具體原因。

對於usb介面,首先需要設定

uhp_hcinterruptenable

和uhp_hcinterruptstatus

暫存器(關於這兩個暫存器的功能,請參見

ohci

規範)。這兩個暫存器屬於

usb功能暫存器,確定允許哪些

usb中斷。**如下:

//設定usb host

中斷暫存器

puhp->

uhp_hcinterruptenable

= ohci_hc_intr_mie |

ohci_hc_intr_rhsc |

ohci_hc_intr_ue |

ohci_hc_intr_wdh |

ohci_hc_intr_fno;

puhp->

uhp_hcinterruptstatus

= ohci_hc_intr_rhsc |

ohci_hc_intr_ue |

ohci_hc_intr_wdh |

ohci_hc_intr_fno;

//設定aic

中斷資訊

at91f_aic_configureit(at91c_base_aic,

at91c_id_uhp,

//at91c_id_tc1,

at91c_aic_prior_highest,

at91c_aic_srctype_int_edge_triggered,

at91f_asm_uhp_handler);

at91f_aic_enableit(at91c_base_aic,at91c_id_uhp);

基於OHCI的USB主機 中斷處理程式

在 ohci 的體系下,判斷資料是否傳輸完畢是需要通過中斷程式來判斷的,當 usb主機設定了 hccontrol 和hccommandstatus 暫存器開始傳輸資料後,am9200 自動開始資料傳輸,並且定期的檢查 hcdonehead 暫存器的內容,並且將其轉移到 hcca.donehead 然...

基於OHCI的USB主機 中斷處理程式

在 ohci 的體系下,判斷資料是否傳輸完畢是需要通過中斷程式來判斷的,當 usb主機設定了 hccontrol 和hccommandstatus 暫存器開始傳輸資料後,am9200 自動開始資料傳輸,並且定期的檢查 hcdonehead 暫存器的內容,並且將其轉移到 hcca.donehead 然...

基於OHCI的USB主機 OHCI(端點)

ohci open host controller inte ce 是康柏 微軟 國家半導體等公司共同制定的乙個usb主機介面規範,它提供乙個更抽象的介面來完成usb資料傳輸工作。在ohci規範中,最重要的幾個概念是端點 endpoint ed 傳輸描述符 transport descriptor ...