|
上海嵌入式軟件工程師培訓(xùn)_嵌入式系統(tǒng)的基礎(chǔ)知識,
導(dǎo)讀:嵌入式Linux 是將日益流行的Linux操作系統(tǒng)進(jìn)行裁剪修改,使之能在嵌入式計(jì)算機(jī)系統(tǒng)上運(yùn)行的一種操作系統(tǒng)。隨著嵌入式系統(tǒng)被越來越廣泛的應(yīng)用在更多領(lǐng)域,如:手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。下面我們一起來了解嵌入式系統(tǒng)的一些基礎(chǔ)知識。
1、Linux 基礎(chǔ)
安裝Linux操作系統(tǒng):Linux文件系統(tǒng) ,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ǔ)使用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ù),Autoconf Automake Makefile,代碼優(yōu)化,熟悉Linux系統(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)用程序。
5、嵌入式系統(tǒng)移植
Linux內(nèi)核代碼:平臺相關(guān)代碼分析,ARM平臺介紹,平臺移植的關(guān)鍵技術(shù),移植Linux內(nèi)核到ARM平臺,了解移植的概念,能夠移植Linux內(nèi)核移植Linux2.6內(nèi)核到arm9開發(fā)板。
6、嵌入式 Linux 下串口通信
串行I/O的基本概念:嵌入式Linux應(yīng)用軟件開發(fā)流程,Linux系統(tǒng)的文件和設(shè)備,與文件相關(guān)的系統(tǒng)調(diào)用,配置超級終端和MiniCOM能夠熟悉進(jìn)行串口通信,熟悉文件I/O,編寫串口通信程序,編寫多串口通信程序。
7、嵌入式系統(tǒng)中多進(jìn)程程序設(shè)計(jì)博創(chuàng)機(jī)器人的嵌入式, 三級嵌入式和網(wǎng)絡(luò), exls表格嵌入式, 嵌入式學(xué)完能做什么, 嵌入式應(yīng)用層編程, 嵌入式定時(shí)器的原理, 嵌入式是為了學(xué)內(nèi)核, 嵌入式開發(fā)就業(yè)培訓(xùn), 嵌入式原理圖怎么看, 嵌入式設(shè)計(jì)題目, qt嵌入式版本下載, 機(jī)械轉(zhuǎn)行嵌入式, 嵌入式應(yīng)用協(xié)會, 智能車嵌入式軟件, 嵌入式的崗位職責(zé), 學(xué)嵌入式開發(fā)基礎(chǔ), 嵌入式垃圾桶蓋, 嵌入式要不要考研, 我的嵌入式之路, 2013達(dá)內(nèi)嵌入式, 梁文鑫嵌入式,
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)存的程序。
8、嵌入式系統(tǒng)中多線程程序設(shè)計(jì)
線程的基礎(chǔ)知識:多線程編程方法,線程應(yīng)用中的同步問題了解線程的概念,能夠編寫簡單的多線程程序編寫一個(gè)多線程程序。
9、嵌入式 Linux 網(wǎng)絡(luò)編程
網(wǎng)絡(luò)基礎(chǔ)知識:嵌入式Linux中TCP/IP網(wǎng)絡(luò)結(jié)構(gòu),socket編程 ,常用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ò)播放器。
10、GUI 程序開發(fā)
GUI基礎(chǔ):嵌入式系統(tǒng)GUI類型,編譯QT進(jìn)行QT開發(fā)熟悉嵌入式系統(tǒng)常用的GUI,能夠進(jìn)行QT編程使用QT編寫“Hello,World”程序,調(diào)試一個(gè)加入信號/槽的實(shí)例,通過重載QWidget類方法處理事件。
11、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ū)動程序,對比Linux2.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è)備的異同,編寫MMC卡驅(qū)動程序,分析一個(gè)文件系統(tǒng),對比Linux2.6內(nèi)核與2.4內(nèi)核中塊設(shè)備驅(qū)動的不同。
12、文件系統(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)。
13、應(yīng)用領(lǐng)域
嵌入式Linux領(lǐng)域非常廣泛,主要的應(yīng)用領(lǐng)域有信息家電、PDA 、機(jī)頂盒、Digital Telephone、Answering Machine、Screen Phone 、數(shù)據(jù)網(wǎng)絡(luò)、Ethernet Switches、Router、Bridge、Hub、Remote access servers、ATM、Frame relay 、遠(yuǎn)程通信、醫(yī)療電子、交通運(yùn)輸計(jì)算機(jī)外設(shè)、工業(yè)控制、航空航天領(lǐng)域等。
嵌入式linux既繼承了Internet上無限的開放源代碼資源,又具有嵌入式操作系統(tǒng)的特性。嵌入式Linux的特點(diǎn)是版權(quán)費(fèi)免費(fèi);購買費(fèi)用媒介成本技術(shù)支持全世界的自由軟件開發(fā)者提供支持網(wǎng)絡(luò)特性免費(fèi),而且性能優(yōu)異,軟件移植容易,代碼開放,有許多應(yīng)用軟件支持,應(yīng)用產(chǎn)品開發(fā)周期短,新產(chǎn)品上市迅速,因?yàn)橛性S多公開的代碼可以參考和移植,實(shí)時(shí)性能RT_Linux Hardhat Linux 等嵌入式Linux支持,實(shí)時(shí)性能穩(wěn)定性好安全性好。 |
|