精品資料(2021-2022年收藏)嵌入式Linux學(xué)習(xí)之規(guī)劃篇_第1頁
精品資料(2021-2022年收藏)嵌入式Linux學(xué)習(xí)之規(guī)劃篇_第2頁
精品資料(2021-2022年收藏)嵌入式Linux學(xué)習(xí)之規(guī)劃篇_第3頁
精品資料(2021-2022年收藏)嵌入式Linux學(xué)習(xí)之規(guī)劃篇_第4頁
精品資料(2021-2022年收藏)嵌入式Linux學(xué)習(xí)之規(guī)劃篇_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、嵌入式Linux學(xué)習(xí)之規(guī)劃篇嵌入式Linux課程目標(biāo)是達(dá)到適應(yīng)嵌入式應(yīng)用軟件開發(fā)、嵌入式系統(tǒng)開發(fā)或嵌入式驅(qū)動開發(fā)的基本素質(zhì)。采用了目前應(yīng)用最廣泛的軟硬件開發(fā)平臺(Linux和Arm)。學(xué)習(xí)步驟如下:1、Linux 基礎(chǔ)安裝Linux操作系統(tǒng)Linux文件系統(tǒng) (windows的文件共享)Linux的基本命令及使用Linux啟動過程詳解熟悉Linux服務(wù)能夠獨(dú)立安裝Linux操作系統(tǒng)能夠熟練使用Linux系統(tǒng)的基本命令認(rèn)識Linux系統(tǒng)的常用服務(wù)安裝Linux操作系統(tǒng)Linux基本命令實(shí)踐設(shè)置Linux環(huán)境變量定制Linux的服務(wù) Shell 編程基礎(chǔ)使用

2、vi編輯文件使用Emacs編輯文件使用其他編輯器2、Shell 編程基礎(chǔ)Shell簡介認(rèn)識后臺程序Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)境熟悉Linux下的各種Shell熟練進(jìn)行shell編程熟悉vi基本操作熟悉Emacs的基本操作比較不同shell的區(qū)別編寫一個(gè)測試服務(wù)器是否連通的shell腳本程序編寫一個(gè)查看進(jìn)程是否存在的shell腳本程序編寫一個(gè)帶有循環(huán)語句的shell腳本程序3、Linux 下的 C 編程基礎(chǔ)linux C語言環(huán)境概述Gcc使用方法Gdb調(diào)試技術(shù)AutoconfAutomakeMakefile代碼優(yōu)化 熟悉Linux系

3、統(tǒng)下的開發(fā)環(huán)境熟悉Gcc編譯器熟悉Makefile規(guī)則編寫Hello,World程序使用 make命令編譯程序編寫帶有一個(gè)循環(huán)的程序調(diào)試一個(gè)有問題的程序4、嵌入式系統(tǒng)開發(fā)基礎(chǔ)嵌入式系統(tǒng)概述交叉編譯配置TFTP服務(wù)配置NFS服務(wù)下載Bootloader和內(nèi)核嵌入式Linux應(yīng)用軟件開發(fā)流程熟悉嵌入式系統(tǒng)概念以及開發(fā)流程建立嵌入式系統(tǒng)開發(fā)環(huán)境制作cross_gcc工具鏈編譯并下載U-boot編譯并下載Linux內(nèi)核編譯并下載Linux應(yīng)用程序嵌入式系統(tǒng)移植Linux內(nèi)核代碼平臺相關(guān)代碼分析ARM平臺介紹平臺移植的關(guān)鍵技術(shù)移植Linux內(nèi)核到 ARM平臺 了解移植的概念

4、能夠移植Linux內(nèi)核移植Linux2.6內(nèi)核到 ARM9開發(fā)板【1 配置編譯Linux內(nèi)核1.1 Linux內(nèi)核源代碼結(jié)構(gòu)1.2 Linux內(nèi)核編譯選項(xiàng)解析1.3 Linux內(nèi)核編譯鏈接2.0 Linux啟動過程源代碼分析3.0 Linux內(nèi)核移植平臺相關(guān)代碼分析】5、嵌入式 Linux 下串口通信串行I/O的基本概念嵌入式Linux應(yīng)用軟件開發(fā)流程Linux系統(tǒng)的文件和設(shè)備與文件相關(guān)的系統(tǒng)調(diào)用配置超級終端和MiniCOM 能夠熟悉進(jìn)行串口通信熟悉文件I/O 編寫串口通信程序編寫多串口通信程序6、嵌入式系統(tǒng)中多進(jìn)程程序設(shè)計(jì) 

5、;Linux系統(tǒng)進(jìn)程概述嵌入式系統(tǒng)的進(jìn)程特點(diǎn)進(jìn)程操作守護(hù)進(jìn)程相關(guān)的系統(tǒng)調(diào)用了解Linux系統(tǒng)中進(jìn)程的概念能夠編寫多進(jìn)程程序編寫多進(jìn)程程序編寫一個(gè)守護(hù)進(jìn)程程序sleep系統(tǒng)調(diào)用任務(wù)管理、同步與通信 Linux任務(wù)概述任務(wù)調(diào)度管道信號共享內(nèi)存任務(wù)管理 API 了解Linux系統(tǒng)任務(wù)管理機(jī)制熟悉進(jìn)程間通信的幾種方式熟悉嵌入式Linux中的任務(wù)間同步與通信編寫一個(gè)簡單的管道程序?qū)崿F(xiàn)文件傳輸編寫一個(gè)使用共享內(nèi)存的程序【主要包括系統(tǒng)編程(信號/系統(tǒng)調(diào)用/管道/FIFO/消息隊(duì)列/共享內(nèi)存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務(wù)和多線

6、程編程(進(jìn)程標(biāo)識/ 用戶標(biāo)識/fork與vfork/多線程概念/線程同步等),網(wǎng)絡(luò)編程(網(wǎng)絡(luò)基本概念/套接口編程/網(wǎng)絡(luò)字節(jié)次序/Client/Server結(jié)構(gòu)/UDP編程);掌握Linux下Socket編程的開發(fā)流程,熟悉網(wǎng)絡(luò)編程的調(diào)用接口函數(shù)和相關(guān)數(shù)據(jù)結(jié)構(gòu),內(nèi)容包括文件I/O編程,多線程編程,網(wǎng)絡(luò)編程和項(xiàng)目文檔編寫】7、嵌入式系統(tǒng)中多線程程序設(shè)計(jì)線程的基礎(chǔ)知識多線程編程方法線程應(yīng)用中的同步問題了解線程的概念能夠編寫簡單的多線程程序編寫一個(gè)多線程程序8、嵌入式 Linux 網(wǎng)絡(luò)編程網(wǎng)絡(luò)基礎(chǔ)知識嵌入式Linux中TCP/IP網(wǎng)絡(luò)結(jié)構(gòu)socket 編程常用&

7、#160;API函數(shù)分析Ping命令的實(shí)現(xiàn)基本UDP套接口編程許可證管理PPP協(xié)議GPRS 了解嵌入式Linux網(wǎng)絡(luò)體系結(jié)構(gòu)能夠進(jìn)行嵌入式Linux環(huán)境下的socket 編程熟悉UDP協(xié)議、PPP協(xié)議熟悉GPRS 使用socket 編寫代理服務(wù)器使用socket 編寫路由器編寫許可證服務(wù)器指出TCP和UDP的優(yōu)缺點(diǎn)編寫一個(gè)web服務(wù)器編寫一個(gè)運(yùn)行在 ARM平臺的網(wǎng)絡(luò)播放器9、GUI 程序開發(fā)GUI基礎(chǔ)嵌入式系統(tǒng)GUI類型編譯QT進(jìn)行QT開發(fā)熟悉嵌入式系統(tǒng)常用的GUI能夠進(jìn)行QT編程使用QT編寫“Hello,World”程序調(diào)

8、試一個(gè)加入信號/槽的實(shí)例通過重載QWidget 類方法處理事件10、Linux 字符設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序基礎(chǔ)知識Linux系統(tǒng)的模塊字符設(shè)備驅(qū)動分析fs_operation結(jié)構(gòu)加載驅(qū)動程序了解設(shè)備驅(qū)動程序的概念了解Linux字符設(shè)備驅(qū)動程序結(jié)構(gòu)能夠編寫字符設(shè)備驅(qū)動程序編寫Skull驅(qū)動編寫鍵盤驅(qū)動編寫I/O驅(qū)動分析一個(gè)看門狗驅(qū)動程序?qū)Ρ萀inux2.6內(nèi)核與2.4內(nèi)核中字符設(shè)備驅(qū)動的不同Linux 塊設(shè)備驅(qū)動程序塊設(shè)備驅(qū)動程序工作原理典型的塊設(shè)備驅(qū)動程序分析塊設(shè)備的讀寫請求隊(duì)列了解Linux塊設(shè)備驅(qū)動程序結(jié)構(gòu)能夠編寫簡單的塊設(shè)備驅(qū)動程序比較字符設(shè)備與塊設(shè)備的異

9、同編寫MMC卡驅(qū)動程序分析一個(gè)文件系統(tǒng)對比Linux2.6內(nèi)核與2.4內(nèi)核中塊設(shè)備驅(qū)動的不同11、文件系統(tǒng)虛擬文件系統(tǒng)文件系統(tǒng)的建立ramfs內(nèi)存文件系統(tǒng)proc文件系統(tǒng)devfs 文件系統(tǒng)MTD技術(shù)簡介MTD塊設(shè)備初始化MTD塊設(shè)備的讀寫操作了解Linux系統(tǒng)的文件系統(tǒng)了解嵌入式Linux的文件系統(tǒng)了解MTD技術(shù)能夠編寫簡單的文件系統(tǒng)為 ARM9開發(fā)板添加 MTD支持移植JFFS2文件系統(tǒng)通過proc文件系統(tǒng)修改操作系統(tǒng)參數(shù)分析romfs 文件系統(tǒng)源代碼創(chuàng)建一個(gè)cramfs 文件系統(tǒng) 嵌入式處理器體系結(jié)構(gòu)及編程實(shí)踐 

10、60;主要介紹ARM體系結(jié)構(gòu)及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統(tǒng)、異常中斷處理、匯編語言以及CC+和匯編語言的混合編程等知識。同時(shí)結(jié)合ARM嵌入式開發(fā)板硬件設(shè)計(jì)原理和基本硬件設(shè)計(jì)流程,分析各種外設(shè)的工作原理和驅(qū)動機(jī)制,并自己動手實(shí)踐完成一個(gè)ARM開發(fā)板上的編程大作業(yè)。嵌入式Linux開發(fā)基礎(chǔ)及高級應(yīng)用  主要介紹嵌入式Linux開發(fā)應(yīng)用程序的基本流程和知識,包括嵌入式Linux基本概念和開發(fā)流程、Bootloader工作原理、內(nèi)核裁減配置和交叉編譯、根文件系統(tǒng)制作、網(wǎng)絡(luò)編程以及圖形界面和數(shù)據(jù)庫開發(fā)等知識。同時(shí)獨(dú)立完成一個(gè)基于嵌入式Linux GUI的應(yīng)

11、用編程大作業(yè)。嵌入式 Linux驅(qū)動理論及驅(qū)動程序開發(fā)實(shí)踐  主要介紹嵌入式Linux上驅(qū)動程序開發(fā)規(guī)范,包括設(shè)備驅(qū)動程序概念、字符設(shè)備驅(qū)動程序、塊設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)卡驅(qū)動以及常用嵌入式設(shè)備驅(qū)動開發(fā)等知識。同時(shí)獨(dú)立實(shí)現(xiàn)兩種嵌入式設(shè)備驅(qū)動程序的編寫,包括驅(qū)動模塊的調(diào)試和加載以及完整的項(xiàng)目開發(fā)文檔的編寫。嵌入式Linux項(xiàng)目團(tuán)隊(duì)開發(fā)實(shí)踐鍛煉  主要包括設(shè)計(jì)并實(shí)現(xiàn)一個(gè)真實(shí)和完整的嵌入式項(xiàng)目的開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯示以及嵌入式數(shù)據(jù)庫存儲系統(tǒng)等多種嵌入式Linux編程技術(shù)。要求學(xué)員建立起團(tuán)隊(duì)開發(fā)和協(xié)同工作的企業(yè)項(xiàng)目開發(fā)模式的概

12、念和流程,強(qiáng)化學(xué)員對編寫項(xiàng)目概要設(shè)計(jì)文檔和詳細(xì)設(shè)計(jì)文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓(xùn)練做好充分準(zhǔn)備。最重要的是:手頭要有一塊嵌入式板子進(jìn)行實(shí)踐。C語言C Primer Plus,5th Edition【美】Stephen Prata著The C programming languageC程序設(shè)計(jì)語言Pointers on CC和指針C traps and pitfallsC陷阱與缺陷 Expert C Lanuage專家C編程 Writing Clean Code-Microsoft Techiniques for Developing Bug-free C Progr

13、ams編程精粹-Microsoft 編寫優(yōu)質(zhì)無錯(cuò)C程序秘訣 Programming Embedded Systems in C and C+嵌入式系統(tǒng)編程C語言嵌入式系統(tǒng)編程修煉高質(zhì)量C+/C編程指南林銳Linux基礎(chǔ)1、Linux與Unix Shell 編程指南2、鳥哥的 Linux 私房菜 基礎(chǔ)學(xué)習(xí)篇(第二版)3、Linux程序設(shè)計(jì).第3版3、Advanced Programming in the UNIX Environment,2nd Edition(APUE)4、嵌入式Linux應(yīng)用程序開發(fā)詳解Linux內(nèi)核1、深入理解Li

14、nux內(nèi)核(第三版)2、Linux內(nèi)核源代碼情景分析毛德操 胡希明著研發(fā)方向1、UNIX Network Programming(UNP)2、TCP/IP詳解3、Linux內(nèi)核編程4、Linux設(shè)備驅(qū)動開發(fā)(LDD)硬件基礎(chǔ)計(jì)算機(jī)組成原理1、ARM體系結(jié)構(gòu)與編程杜春雷著英語基礎(chǔ)1、計(jì)算機(jī)與通信專業(yè)英語系統(tǒng)教程1、嵌入式系統(tǒng)體系結(jié)構(gòu)、編程與設(shè)計(jì)2、嵌入式系統(tǒng)采用公開源代碼和StrongARM/Xscale處理器毛德操 胡希明著3、Building Embedded Linux Systems理論基礎(chǔ)1、算法導(dǎo)論2、數(shù)據(jù)結(jié)構(gòu)(C語言版)3、計(jì)算機(jī)組織與體系結(jié)構(gòu)?性能分析4、深入

15、理解計(jì)算機(jī)系統(tǒng)【美】Randal E. Bryant David O'Hallaron著5、操作系統(tǒng):精髓與設(shè)計(jì)原理6、編譯原理7、數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)8、數(shù)據(jù)壓縮原理與應(yīng)用unix環(huán)境高級編程Stevens先生的unix環(huán)境高級編程如果對網(wǎng)絡(luò)編程有興趣的,可以學(xué)習(xí)一下Stevens先生的UNIX網(wǎng)絡(luò)編程兩卷可以再看看TCP/IP詳解三卷)。計(jì)算機(jī)編程藝術(shù)對算法有興趣得可以研究一下。linux設(shè)備驅(qū)動程序深入理解Linux內(nèi)核Linux上的應(yīng)用編程:APUE和UNP,前者鍛煉基本功,后者學(xué)習(xí)網(wǎng)絡(luò)編程。不管做什么,學(xué)什么,一要心態(tài)好,二要態(tài)度好。所謂心態(tài)好就是不要著急、不用擔(dān)心;所謂態(tài)度

16、好是多分享、多討論、學(xué)出自己的心得。學(xué)習(xí)靠自己,不要期望別人教你什么,學(xué)習(xí)要主動;不管水平高低,不要看不起自己,也不能看不起別人,學(xué)習(xí)要心態(tài)好;不能不思進(jìn)取,也不用讓自己為技術(shù)所累,給自己多一點(diǎn)技術(shù)之外的時(shí)間;耐心,刻苦,嘗試,失敗。學(xué)習(xí)的過程可能會是飽受挫折和孤獨(dú)的。要知道為什么學(xué)?要知道學(xué)的是什么?要知道怎么學(xué)?要知道學(xué)了如何用?最后還要知道用的時(shí)候出了問題該如何解決?What                How 

17、60;              Why2 Linux C語言包括函數(shù)與程序結(jié)構(gòu)、指針、數(shù)組、常用算法、庫函數(shù)的使用等知識重點(diǎn)講解數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)內(nèi)容,包括鏈表、隊(duì)列、棧、樹、哈希表、圖等內(nèi)容。函數(shù)    函數(shù)為程序員提供了最基本的代碼復(fù)用能力,函數(shù)在調(diào)用返回時(shí)究竟發(fā)生了什么?局部變量如何分配空間?可變參數(shù)列表的機(jī)制如何?我們將在這個(gè)環(huán)節(jié)深入底層,去揭開函數(shù)調(diào)用的面紗。   &#

18、160;函數(shù)的類型和返回值    函數(shù)的參數(shù)傳遞    函數(shù)調(diào)用過程中的棧幀結(jié)構(gòu)    可變參數(shù)列表    遞歸函數(shù)調(diào)用3學(xué)時(shí) 指針    指針,它讓C語言與眾不同。如何判斷指針的類型?指針的速度真的快么?指針運(yùn)算和整數(shù)運(yùn)算有何不同?指針和數(shù)組一樣么,不一樣么?我們將在這個(gè)環(huán)節(jié)用簡單明了的技巧解決一系列含混的指針問題。     判斷指針的

19、類型    指針的運(yùn)算    數(shù)組和指針的同異    指向函數(shù)的指針    指針與抽象3學(xué)時(shí) 預(yù)編譯     如果說指針是C語言的靈魂,那么預(yù)編譯就是C語言的生命。預(yù)編譯使得C語言可以變化出多樣的外觀。預(yù)編譯如何提高編碼的效率?宏定義中有哪些陷阱?文件包含的時(shí)候發(fā)生了什么?我們將在這個(gè)環(huán)節(jié)用精確的語言來闡述完整的預(yù)編譯的技巧。    &#

20、160;對象宏和函數(shù)宏    宏定義技巧和常見錯(cuò)誤    #和#運(yùn)算符    條件編譯    文件包含3學(xué)時(shí) 字符串     字符串處理,這大概是C語言最不擅長的事情。C語言的字符串處理有許多被遺忘的角落。在這一階段,我們帶領(lǐng)你重拾C語言的字符串處理函數(shù),以充實(shí)你的C語言武器庫。     C風(fēng)格字符串  &#

21、160; 標(biāo)準(zhǔn)C字符串庫函數(shù)一覽    重點(diǎn)函數(shù)實(shí)現(xiàn)解析    C字符串處理范例3學(xué)時(shí) 鏈接     鏈接使得程序員可以復(fù)用二進(jìn)制的編譯結(jié)果。不同種類的變量被放到了哪里?如何控制代碼在內(nèi)存中的位置?PC程序員也許不是很關(guān)心的這些問題,但這卻是嵌入式程序員的必經(jīng)之路。我們將在這個(gè)環(huán)節(jié)補(bǔ)上知識鏈條中缺失的一環(huán)。     鏈接和elf文件格式概述    程序的存儲映像    鏈接腳本和嵌入式程序的存儲3學(xué)時(shí) 文件IO     一切都是文件。在我們的整個(gè)課程體系中,我們將從不同的角度來審視這一句話。在這個(gè)階段,我們用C語言來審視UNIX世界中的這個(gè)基本價(jià)值觀。     流和IO重定向    文本文件與二進(jìn)制文件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論