




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式Linux系統學習規劃ARMLINUX路線,主攻嵌入式Linux操作系統及其上應用軟件開發目標:(1)把握主流嵌入式微處理器的結構與原理(初步定為arm9)(2)必須把握一個嵌入式操作系統(初步定為uclinux或linux,版本待定)(3)必須熟悉嵌入式軟件開發流程并至少做一個嵌入式軟件項目。從事嵌入式軟件開發的好處是:(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。(2)與企業計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟件那樣輕易被盜版。硬件設計一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。(4)愛好所在,這是最主要的。從事嵌入式軟件開發的缺點是:(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,非凡是操作系統級軟件功底不深,則可能不適于此行。(2)這方面的企業數量要遠少于企業計算類企業。(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數公司也并無此要求,只要有經驗即可。(4)平臺依托強,換平臺比較辛勞。愛好的由來:1、成功觀念不同,不虛度此生,就是我的成功。2、喜歡思考,挑戰邏輯思維。3、喜歡CC是一種能發揮思維極限的語言。關于C的精神的一些方面可以被概述成短句如下:相信程序員。不要阻止程序員做那些需要去做的。保持語言短小精干。一種方法做一個操作。使得它運行的夠快,盡管它并不能保證將是可移植的。4、喜歡底層開發,討厭vb類開發工具(并不是說vb不好)。5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。方法步驟:1、基礎知識:目的:能看懂硬件工作原理,但重點在嵌入式軟件,非凡是操作系統級軟件,那將是我的優勢。科目:數字電路、計算機組成原理、嵌入式微處理器結構。匯編語言、C/C、編譯原理、離散數學。數據結構和算法、操作系統、軟件工程、網絡、數據庫。方法:雖科目眾多,但都是較簡單的基礎,且大部分已把握。不一定全學,可根據需要選修。主攻書籍:thecprogramminglanguage(一直沒時間讀)、數據結構-C2。2、學習linux:目的:深入把握linux系統。方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍后,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最后深入代碼。主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。3、學習嵌入式linux:目的:把握嵌入式處理器其及系統。方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而后深入研究uClinux。(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能熟悉些朋友)。主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm匯編指令等。4、深入學習:A、數字圖像壓縮技術:主要是應把握MPEG、mp3等編解碼算法和技術。B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。C、網絡與信息安全技術:如加密技術,數字證書CA等。D、DSP技術:DigitalSignalProcess,DSP處理器通過硬件實現數字信號處理算法。說明:太多細節未說明,可根據實際情況調整。重點在于1、3,不必完全按照順序作。對于學習c,理由是c不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對于linux內核,學習編程,讀一些優秀代碼也是有必要的。注重:要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結合實踐。不要一味鉆研技術,雖然擠出時間是很難做到的,但還是要留點余地去完善其他的愛好,比如宇宙,素描、機械、治理,心理學、游戲、科幻電影。還有一些不愿意做但必須要做的!技術是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機會來了在創業(不要相信有奇跡發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。嵌入式書籍推薦Linux基礎1、《Linux與UnixShell編程指南》C語言基礎1、《CPrimerPlus,5thEdition》【美】StephenPrata著2、《TheCProgrammingLanguage,2ndEdition》【美】BrianW.KernighanDavidM.Rithie(K&R)著3、《AdvancedProgrammingintheUNIXEnvironment,2ndEdition》(APUE)4、《嵌入式Linux應用程序開發詳解》Linux內核1、《深入理解Linux內核》(第三版)2、《Linux內核源代碼情景分析》毛德操胡希明著研發方向1、《UNIXNetworkProgramming》(UNP)2、《TCP/IP詳解》3、《Linux內核編程》4、《Linux設備驅動開發》(LDD)硬件基礎1、《ARM體系結構與編程》杜春雷著2、S3C2410Datasheet英語基礎1、《計算機與通信專業英語》系統教程1、《嵌入式系統――體系結構、編程與設計》2、《嵌入式系統――采用公開源代碼和StrongARM/Xscale處理器》毛德操胡希明著3、《BuildingEmbeddedLinuxSystems》理論基礎1、《算法導論》2、《數據結構(C語言版)》3、《計算機組織與體系結構?性能分析》4、《深入理解計算機系統》【美】RandalE.BryantDavidO'Hallaron著5、《操作系統:精髓與設計原理》6、《編譯原理》7、《數據通信與計算機網絡》8、《數據壓縮原理與應用》C語言書籍推薦1.TheCprogramminglanguage《C程序設計語言》2.PointersonC《C和指針》3.Ctrapsandpitfalls《C陷阱與缺陷》4.ExpertCLanuage《專家C編程》5.WritingCleanCode-----MicrosoftTechiniquesforDevelopingBug-freeCPrograms《編程精粹--Microsoft編寫優質無錯C程序秘訣》6.ProgrammingEmbeddedSystemsinCandC《嵌入式系統編程》7.《C語言嵌入式系統編程修煉》8.《高質量C/C編程指南》林銳盡可能多的編碼,要學好C,不能只注重C本身。算法,架構方式等都很重要。基礎課程C/C++數據結構與算法操作系統嵌入式系統嵌入式處理器嵌入式微控制器(MCU)嵌入式微控制器(MCU)嵌入式DSP處理器(DSP)嵌入式DSP處理器(DSP)嵌入式處理器嵌入式處理器嵌入式微處理器(MPU)嵌入式微處理器(MPU)嵌入式片上系統(SystemOnChip)嵌入式片上系統(SystemOnChip)2.嵌入式linux的開發流程(1)、配置開發主機配置Minicom,波特率115200,數據位8位,停止位1,無奇偶校驗,軟硬件控制流為無;Minicom的作用是作為調試嵌入式開發板信息輸出的監視器和鍵盤輸入的工具配置網絡ip,宿主機和開發板在同一網段,關閉防火墻;配置NFS網絡文件系統.(2)、建立引導裝載程序BootLoaderBootLoader是在操作系統內核運行之前運行的一段小程序。通過這段小程序,可以完成初始化硬件設備、建立內存空間的映射圖、和內核鏡像建立通訊通道和調試通道等等工作,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。不同的系統不同的處理器可能有不同的啟動方案,但無外乎都是“Boot”和“Load”兩種工作。從網絡上下載一些公開源代碼的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等;根據自己所采用芯片的類型進行移植修改。(3)、下載LINUX操作系統如UCLINUX、ARM-LINUX、PPC-LINUX等,如果有專門針對你所使用的CPU移植好的LINUX操作系統那是再好不過;下載后再添加自己的特定硬件的驅動程序,進行調試修改;對于帶MMU的CPU可以使用模塊方式調試驅動,對于UCLINUX這樣的系統只能編譯進linux內核進行調試。(4)、建立根文件系統從下載BUSYBOX軟件進行功能裁減,產生一個最基本的根文件系統,再根據自己的應用需要添加其他的程序。默認的啟動腳本一般都不會符合應用的需要,所以就要修改根文件系統中的啟動腳本,存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝文件系統的配置文件/etc/fstab,具體情況會隨系統不同而不同。根文件系統在嵌入式系統中一般設為只讀,需要使用mkcramfs、genromfs等工具產生燒寫映象文件。(5)、建立應用程序的flash磁盤分區一般使用JFFS2或YAFFS文件系統,這需要在內核中提供JFFS2或YAFFS文件系統的驅動;有的系統使用一個線性flash(NOR型)512K-32M,有的系統使用非線性flash(NAND型)8-512M,有的兩個同時使用,需要根據應用來規劃flash的分區方案。(6)、開發應用程序下載到根文件系統中;放入YAFFS、JFFS2文件系統中;直接將應用程序和內核編譯在一起,有點類似于UCOS-II的方式.應用程序是如何編譯:Makefile文件(Make
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧小區綜合管理平臺建設方案
- 兒童疫苗的種類與接種時機
- 河南省洛陽市2024-2025學年第二學期期末考試七年級語文試卷(含答案)
- 就醫小組活動方案
- 小小員工活動方案
- 峰會啟動活動方案
- 巾幗普法宣講活動方案
- 工會+禮儀活動方案
- 干部參加植樹節活動方案
- 小學花樣跳繩活動方案
- 2025年北森人才測評試題及答案2024
- 科技賦能下的企業巡察模式變革
- 成人重癥患者顱內壓增高防控護理專家共識2024
- 廣告投放應聘簡歷
- 電焊工職業技能鑒定高級工理論題庫
- 火災逃生自救知識培訓
- 無線覆蓋系統施工方案
- 2024年公路水運工程施工企業(主要負責人和安全生產管理人員)考核題庫(含答案)
- 醫療物資配送應急預案
- 2023年江門市建筑工匠大比武建筑電工技術文件
- 衛星導航產品培訓
評論
0/150
提交評論