檔案系統中的第二個問題

2021-04-19 20:24:16 字數 383 閱讀 7287

在用大的buff讀取檔案的過程中,發現讀取無法正常結束,fileinfo的內容被破壞掉了.

追查了半天,發現是filegetch函式中的一處小bug.

在550行,handle=findopenfilew(fp->drive,fp->dirclus,fp->name);

if(handle這裡,如果該檔案沒有被"w"方式開啟,將返回not_open_file,這個值是-1,也就是ff,handle本身是個有符號數.但是max_open_files一般來說是個正數,比如10.所以,這裡的if(handle所以應該修改為:if(handle!=not_open_file)才比較合適.

接著,要優化讀取sd卡的速度了,現在的速度太慢了,我想至少要提高500倍以上才能讓該系統被用到實際的工程中.

第二個系統

在進入工作後,參與的第二系統,也剛好是乙個失敗的專案重新再設計的乙個專案。全程參與了設計討論和相關功能模組的實現。到最後證明,這個系統依舊是失敗的。事隔了1年多了,回頭看問題,希望能看明白它。首先,整個團隊太年輕了。不是剛畢業沒多久,就是工作了才一年。其次,需求的失控,不懂得拒絕 因為是進入工作不久...

第二個作業!

作業要求 從鍵盤輸入乙個四位正整數。首先分離出該正整數中的每一位數字,並按逆序顯示輸出各位數字 然後用分離出的每位數字組成乙個最大數和乙個最小數,並顯示輸出。例如,若輸入的四位正整數為3175。按逆序顯示輸出分離出的各位數字為5713 組成的最大數為7531,組成的最小數為1357。具體要求 1 輸...

第二個驅動

上次編譯成功hello world,興奮了好一會,呵呵。之前一直嘗試都沒成功。緣分未到,各種各樣的原因會讓嘗試失敗。用hello.ko練習了一把insmod,lsmod,rmmod,modinfo等命令,這些是使用module的基本命令吧。然後就開始著手開展下一步學習了,有個guide上面說,編譯完...