筆記本+win7下開發板USB下載驅動以及USB下載的問題解決(及原因遐想)

        首先是安裝USB下載驅動,這個驅動事先我已經確定是沒有問題的,因爲之前的臺式機同樣是win7系統且運行良好。並且還成功燒寫過一次內核鏡像Win7USB下載驅動下載(理論上這個驅動可能不是開發板間通用的,這裏是TQ2440)

       雖然前邊的USB轉串口驅動弄好以後,還是使我擱置了兩天,因爲我用USB通過DNW往開發板上下載東西時會報如下錯誤:

           Now, Downloading [ADDRESS:30000000h,TOTAL:6904138]

           RECEIVED FILE SIZE:       0


        也不是報錯了,就是USB端收不到數據。也是自己的愚昧無知造成了如此低級的錯誤,因爲我用的USB hub ,通俗點就是USB集線器,比較搞linux 驅動的,hub還是比集線器聽起來親切一些。畢竟筆記本上的usb口少,本人的更是少之又少。3個,一個鼠標;一個鍵盤(做程序的怎麼可以忍受委屈在notebookkeyboard);剩一個肯定是不夠用來叉USB轉串口和USB下載線的。所以爲了移動方便,我當然是把開發相關的連線都連在hub上了。這正好就是罪惡的根源,耶穌懲罰我了。使下載時一直會爆出上述的錯誤:

           RECEIVED FILE SIZE:       0


         問題分析:(個人猜測的原因,還沒了解過hub的驅動,瞭解後再回來做肯定回答)

         USB hub是讓多個分出的usb端口共用一個端口,而這裏其中一個端口是用於usb轉串口的,而此時的Usb-to-serial 在做什麼呢,它已經和uboot建立了連接,正在交互(試想你現在正在串口輸出上看着Ubootmenu在操作着下載選項)。而用USB download的時候,是不是要完全佔用我們的Universal Serial BUS(USB)(我猜是的,USB總線就是在分時複用麼)hub正好又在usb-to-serial的對話中,既然是對話是不是要保持連接呢?。。。。可能就是這樣,USB download的優先級沒有Usb-to-serialuboot的交互優先級高(或是該會話不可打破),從而使得USB download沒有獲取到USB的佔用權,也就沒把數據發出去……這坑爹的Uboot還在那頭等着、還罵着“怎麼還不來數據……”;有時候鄉愁就是一枚小小的船票,你在那頭兒,我卻在這頭兒。。。。。


       (不可否認也有可能是我買的USB Hub太山寨,沒辦法處理這麼複雜的請求,對於hub基礎如此成熟的當代,應該是不應該的。)


        so 我換用其它的的機器自帶USB口,下載毫無問題。我哭了……


小結:

        分析問題時先走最小系統法則,在不附近任何不必要的東西(hub)的情況下再進行下一步的排查。

遇到問題要全面考慮,不要因爲上次的原因而抱怨同一個人或物,其實很多可能不是他們的錯,遇事先從自身找原因,大多是自己考慮問題不周全,盲目的把原因推給別人,到最後哭的最慘的還是自己。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章