發現某些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...