日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

X86平台项目经历

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 X86平台项目经历 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今年是第一次完整參與一個項目的方方面面——當然,是站在開發人員的角度的,至于市場需求收集,采購元件生產,新品發布,銷售拿錢,就不可能有我的份了。以前參與項目,都是只負責一點點東西,而且中后期完全處于邊緣狀態,有事就找,沒事就忙別的事,我在之前寫的年度總結文章也提到我都不好意思參加項目聚餐了。這次比以前有進步,想了好久,覺得有必要寫一寫自己的經歷。下面的話,是從作為開發人員的我的角度出發來描述的。

中秋節過后,即9月中旬,老大找我讓我做一個項目的方案負責人(即負責實現某一個方案),于是我就開始了這個項目涉及到我那部分的初期調查研究。到2月中旬,階段性驗收完畢。小半年就過去了,時間過得真快。

起初,我一聽到方案負責人心就慌,自打來公司這么久,一切在搞底層并做些雜事,對于公司的代碼架構等,可以說不熟悉。同時,這個項目是基于x86平臺的,之前也沒搞過。老大又說這次我們采用第三方廠家做好的主板,我們直接拿來用,只用開發應用程序即可,我很關注技術支持的問題,于是問內核啊,驅動啊,SDK啊有沒有,回答說目前還不了解。

開始我對這個項目還沒有什么整體認識,很多概念都很模糊,于是發了電子郵件向有關領導詢問,主要是想得到一些疑問的明確答案,但卻沒有得到回復。部門例會上主管還專門就此事做了講話,以至后來我不敢不做調查就發問題出來,后來有很多問題也是自己在網絡上四處搜索得到解決的。

接著我進行了Linux內核和根文件系統的構建——此時我對提供主板的第三方廠家的支持不抱希望,只要自己公司要進行的東西,都得自己掌握,因為原原本本用現成的,到時候出了問題都不知道找誰。基于這個想法,我決定了自己裁剪內核,自己構建根文件系統。其實內核的裁剪更多的是內核的精簡,主要是去掉不必要的模塊,因為是x86的平臺,直接用現成的基本配置就行了,這由另一個同事負責完成。而這期間,我同時著手構建系統,本想用LFS的,但太耗時了,后來找到一個ubuntu下的工具,于是決定使用這個工具來完成。先是用虛擬機做測試,測試沒問題后再搞到主板上外接的硬盤上。之后就直接在板子上進行完善。這過程真的學習了很多東西,像硬盤分區UUID啊、grub安裝配置啊、重定向控制臺啊、網上名稱修改啊、日志配置啊、硬盤分區拷貝啊,都一一接觸了,確實學到不少東西,見識增長不少。而為了將系統內容搞到硬盤上,又接觸了Linux的Live CD,還專門研究了一下。因為使用現成的x86平臺的Linux系統,有太多的不必要的東西(比如xorg,我們項目用不到,平時觀察到與界面有關的進程占了不少資源),最終使我做出自己構建的決定。不過這個過程耗時也很多。

接著就是驅動了,主要新加了2個驅動,一個是基于SMBus操作如LED、GPIO的控制驅動,一個是基于PCI的SPI Flash的驅動。前一個驅動由廠家給出demo,我們自己進行移植,這個驅動比較簡單;后一個驅動是參加了開源項目coreboot進行移植的,由于flash有點特殊,搞了好久,我定位到是主板BIOS搞了什么而導致驅動不正常,這是我不斷看datasheet,不斷實驗,最終得到結論的。最后在廠家修改BIOS情況下順利完成,這也證實了我的判斷。廠家所謂的技術支持,就是提供了一個驅動的demo,修改了BIOS。

說起BIOS,有些事不得不提,在我移植Flash驅動時,需要更新BIOS,而廠家給的更新BIOS只有一個EXE程序,一個BIN文件,一個很簡單的說明文件:在DOS下,執行以下命令。某部門不太懂怎么在DOS下執行程序,或者說怎么進入DOS,我想靠他們不知要得到什么時候,而恰好我又得更新BIOS來驗證驅動的正常性,沒法,只好自己找資料了。好容易找到方法更新BIOS了,結果所有的主板的BIOS都要我來更新——因為只有我知道方法,后來又不得不截圖、寫文檔教人怎么更新BIOS。對于此類雜事我意見十分大,但不上達,又得自己吞下去。

一路跌跌撞撞,所謂的“底層”、“平臺”的東西,算是基本搞好了。接著就是業務程序了。其實這時候,項目時間已經過了一半了,前面提過,我對公司的架構不熟悉(只有代碼,沒有文檔),但作為方案負責人,不得不面對,于是收拾心態看代碼、學習代碼。其它項目參與人員只有負責其中一個或多個模塊,已經在該模塊研究很深了,我當然不可能做他們的東西。于是我實際上是一個“整合”人員。即哪些出問題了,先反應到我這里,而我分析后給出相應的人員,對于一些項目前期沒有明確的模塊,只好我搞了。在此過程中,遇到了幾個只用改一個字符就可以解決的“難題”。同時我也擔任著提交測試的人員,即我負責向測試部門提供測試的資源、軟件版本。由于某些原因,機子不夠用,領導又安排我做資源協調人員。

到后期,我又跑到外場和測試人員一起測試性能、指標等等。測試人員第一次去外場時,不太懂設備怎么用,怎么配置,后來反饋到項目經理處,我的觀點是領導不安排我去外場,我是不會去的。有一次,氣溫只有6攝氏度,我和測試人員2個人在外面呆了3個小時,實在冷得難受。

最后終于迎來了產品經理的審查,第一階段可以宣告結束了,產品經理提了很多意見;接著我們又要迎接下一階段的修改了。


后記:

在這類很多方面都基于第三方廠商的合作過程中,廠商的支持力度是十分關鍵的。不過有些事并不是想當然的,即使我一再提及需要廠家提供什么樣的支持,如果沒有,那也不能強求。另外,我真的不想再做像上面所講的項目的角色了。不但累而且還不受待見。


李遲 2015.2.24



總結

以上是生活随笔為你收集整理的X86平台项目经历的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。