寫Linux driver 血的教訓

2021-04-01 21:26:05 字數 793 閱讀 2865

linux作業系統下編寫driver並不是一件非常困難的時情。但是粗心+戀戰,絕對是寫driver時候製造痛苦的絕代雙驕。2023年的十一長假,我計畫完成兩件事:1.在i386+linux的系統上完成自製紅外收發板的接收驅動部分(該平台下的傳送驅動已經完成),2.把軟體移植到s3c2410+arm linux平台上去。因為軟體的體系結構早就已經設計好,並且傳送驅動也已經除錯成功,所以滿懷信心。

然而,在花了頭兩天寫完接收部分驅動之後,後來的四天時間都一直糾纏在乙個問題上:為什麼不進中斷!在原來**的基礎上新增了無數的printk檢視介面暫存器的值,得到的總是不可能的結論。當然,在長時間埋頭工作的情況下,思路也有點混亂,加之天性粗心,這個時候就更加凸現出來。整個人都要瘋掉了。。。其間不時有重頭再來的念頭,但始終不甘心,不願意放棄這個找錯的機會。但事實證明,我被自己打敗了。 休息了一天之後,在萬念俱灰的心理狀態下,拋開一切,重新設計重寫**,結果異常順利,開始寫了乙個簡單的串列埠驅動,中斷讀,編完的**第一次執行就搞定,然後重新設定暫存器用dcd引腳驅動中斷,除了第一次在中斷中死迴圈以外,第二次順利通過,至此,技術上的問題迎刃而解,剩下的就是coding的體力活了。突然發現漆黑的(因為日光燈會發出干擾紅外線)實驗室是多麼的明亮!!!

這個沒有戲劇性的痛苦經歷讓我想起了以前軟體工程課裡面提到的原則:重頭再來,而不是糾纏在原來的**上。想必寫這句話的人,也一定經歷了和我一樣的痛苦。關於這樣的經驗,具體一點就是:如果除錯程式超過編寫**本來的時間,就一定要把這些**扔掉,重新編寫!另乙個教訓就是:不要為了省事,將那些本應該單獨試驗的模組第一次就放到完整的軟體中去試驗,這樣做大都會在除錯的時候引入更高維度的複雜性,導致工作開銷加大。

教自己如何寫求職信

這個還算完美 教你幾招寫出完美求職信 求職信區別於求職簡歷,是專門為某一職位的求職申請而寫,要有針對性,一般應在信中提到所申請的公司名稱和職位名稱等資訊。求職信不可太長,因為招聘人員沒有時間仔細閱讀。求職信通常只有一頁,主要目的是向對方表明你對對方招聘廣告中的某個職位感興趣,極其概括陳述你的工作經歷...

創業的血的教訓

迷思一 乙個好想法就可以讓你賺大錢 事實是好想法對於商業成功既不是充分條件也不是必要條件。微軟應該算是獲得商業成功的典型,但是在它的整個發家史上卻找不到乙個完全獨創的 好想法 事實上微軟正式通過模仿對手的想法並在競爭中打敗對手而一步步發展壯大的。google確實有一些獨創的,像page rank,a...

沒錢不能創業,教寫商業計畫書

現在it界既不缺錢,又不缺創意和商業模式,但是找到乙個好的 創業團隊非常難。昨天,奇虎董事長 天使投資人周鴻禕在論壇上介紹風險投資選擇合作夥伴的標準時說,創業者僅有資源和點子是不夠的。做出東西再找風投 太牛的人都不會成功。周鴻禕說,創業者能否反思和學習,從錯誤中吸取教訓,才是成功的關鍵。周鴻禕認為,...