usb gadget 端點halt的產生

2021-08-18 15:34:57 字數 595 閱讀 1864

發現某些u盤不是所有的scsi指令集都支援,對於不支援的指令,u盤會產生乙個端點halt(stall),usb host會clean halt標誌。

譬如如下的readformatcapacity指令

gadget要主動產生stall的話可呼叫gadget.h裡面的介面:

static inline int gadget_is_stall_supported(struct usb_gadget *g)

{return !g->quirk_stall_not_supp;

static inline int usb_ep_set_halt(struct usb_ep *ep)

{return ep->ops->set_halt(ep, 1);

static inline int usb_ep_clear_halt(struct usb_ep *ep)

{return ep->ops->set_halt(ep, 0);

參考以及《usb mass storage class bulk_10.pdf》

halt低功耗模式

1.stm8l152有5種低功耗模式,wait mode,low power run mode,low power wait mode,active halt mode,halt mode.2.在halt模式下,cpu和外設時鐘停止,可以通過外部中斷或者復位來喚醒。3.本實驗設計為 led燈亮,緊接...

linux命令之halt命令

halt 1.作用 halt命令的作用是關閉系統,它的使用許可權是超級使用者。2.格式 halt n w d f i p 3.主要引數說明 n 防止sync系統呼叫,它用在用fsck修補根分割槽之後,以阻止核心用老版本的超級塊覆蓋修補過的超級塊。w 並不是真正的重啟或關機,只是寫wtmp var l...

USB gadget裝置驅動解析(1)

劉洪濤,華清遠見嵌入式學院 金牌講師。所有usb通訊的裝置端都有usb device程式,通常稱它們為usb韌體。在一些功能簡單的裝置裡,用一些專用的可程式設計usb控制器就可以了。而在一些執行了類似linux作業系統的複雜的嵌入式系統中,要完成usb device程式,就會要求你不僅熟悉usb d...