嵌入式系統(tǒng)開發(fā)基礎難學?老司機帶你輕松學習
時間:2018-07-12 來源:未知
嵌入式是現(xiàn)在發(fā)展最快的行業(yè)技術之一,也是不那么容易學的,嵌入式的學習是需要門檻的,雖說是門檻,但是還是容易攻破的,只要你下定決心好好學,這都不是事兒,再說這一行業(yè)發(fā)展這么快,很多人都站在了嵌入式的這一行業(yè),學習嵌入式是需要方法的,很多人在學習嵌入式系統(tǒng)開發(fā)的時候,覺得會有點吃力,在這里總結了一下我學習的一些嵌入式系統(tǒng)開發(fā)基礎,可以讓你學嵌入式系統(tǒng)開發(fā)更加輕松。
嵌入式系統(tǒng)開發(fā)基礎就先要從嵌入式linux系統(tǒng)開始做起,首先你要會安裝設置linux操作系統(tǒng)吧,要是不會這,這以后就根本無法入手了,所以Linux 基礎要先掌握好:
安裝Linux操作系統(tǒng):Linux文件系統(tǒng) ,Linux常用命令,Linux啟動過程詳解,熟悉Linux服務能夠獨立安裝Linux操作系統(tǒng),能夠熟練使用Linux系統(tǒng)的基本命令,認識Linux系統(tǒng)的常用服務安裝Linux操作系統(tǒng),Linux基本命令實踐,設置Linux環(huán)境變量,定制Linux的服務,Shell 編程基礎使用vi編輯文件,使用Emacs編輯文件,使用其他編輯器。

再來就是Shell 編程基礎
對于Shell你要認識后臺程序Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)境,熟悉Linux下的各種Shell,熟練進行shell編程熟悉vi基本操作,熟悉Emacs的基本操作,比較不同shell的區(qū)別,編寫一個測試服務器是否連通的shell腳本程序,編寫一個查看進程是否存在的shell腳本程序,編寫一個帶有循環(huán)語句的shell腳本程序。
接下來Linux下的 C 編程基礎
在這里要知道C語言是必須學的,你先要好好掌握好C語言,那么就開始接下來的linux C語言了,你要會Gcc使用方法:Gdb調試技術,Autoconf Automake Makefile,代碼優(yōu)化,熟悉Linux系統(tǒng)下的開發(fā)環(huán)境,熟悉Gcc編譯器,熟悉Makefile規(guī)則編寫Hello,World程序,使用make命令編譯程序,編寫帶有一個循環(huán)的程序,調試一個有問題的程序。
學了linux c以后一段時間就是系統(tǒng)開發(fā)基礎
系統(tǒng)開發(fā)基礎學習就是從:交叉編譯配置TFTP服務,配置NFS服務,下載Bootloader和內核,Linux應用軟件開發(fā)流程熟悉系統(tǒng)概念以及開發(fā)流程,建立系統(tǒng)開發(fā)環(huán)境制作cross_gcc工具鏈,編譯并下載U-boot 編譯并下載Linux內核編譯并下載Linux應用程序。切記你要理論與實際相結合哦。
那學會了上面這些就來到了系統(tǒng)移植這一學習了
Linux內核代碼:平臺相關代碼分析,ARM平臺介紹,平臺移植的關鍵技術,移植Linux內核到ARM平臺,了解移植的概念,能夠移植Linux內核移植Linux2.6內核到arm9開發(fā)板。
Linux 下串口通信
串行I/O的基本概念:Linux應用軟件開發(fā)流程,Linux系統(tǒng)的文件和設備,與文件相關的系統(tǒng)調用,配置超級終端和MiniCOM能夠熟悉進行串口通信,熟悉文件I/O,編寫串口通信程序,編寫多串口通信程序。
系統(tǒng)中多進程程序設計學習建議
Linux系統(tǒng)進程概述:系統(tǒng)的進程特點,進程操作,守護進程,相關的系統(tǒng)調用了解Linux系統(tǒng)中進程的概念,能夠編寫多進程程序編寫多進程程序,編寫一個守護進程程序,sleep系統(tǒng)調用任務管理、同步與通信Linux任務概述任務調度管道、信號共享內存,任務管理 API,了解Linux系統(tǒng)任務管理機制,熟悉進程間通信的幾種方式,熟悉Linux中的任務間同步與通信編寫一個簡單的管道程序實現(xiàn)文件傳輸,編寫一個使用共享內存的程序。
系統(tǒng)中多線程程序設計
線程的基礎知識:多線程編程方法,線程應用中的同步問題了解線程的概念,能夠編寫簡單的多線程程序編寫一個多線程程序。
Linux 網(wǎng)絡編程學習
網(wǎng)絡基礎知識:Linux中TCP/IP網(wǎng)絡結構,socket編程 ,常用API函數(shù),分析Ping命令的實現(xiàn),基本UDP套接口編程,許可證管理 PPP協(xié)議GPRS,了解Linux網(wǎng)絡體系結構,能夠進行Linux環(huán)境下的socket編程,熟悉UDP協(xié)議、PPP協(xié)議,熟悉GPRS使用socket編寫代理服務器,使用socket編寫路由器,編寫許可證服務器,指出TCP和UDP的優(yōu)缺點,編寫一個web服務器,編寫一個運行在 arm平臺的網(wǎng)絡播放器。
進入GUI 程序開發(fā)階段
GUI基礎:系統(tǒng)GUI類型,編譯QT進行QT開發(fā)熟悉系統(tǒng)常用的GUI,能夠進行QT編程使用QT編Hello,World程序,調試一個加入信號/槽的實例,通過重載QWidget類方法處理事件。
快到最后就是Linux 字符設備驅動程序
設備驅動程序基礎知識: Linux系統(tǒng)的模塊,字符設備驅動分析fs_operation結構,加載驅動程序了解設備驅動程序的概念,了解Linux字符設備驅動程序結構,能夠編寫字符設備驅動程序編寫Skull驅動,編寫鍵盤驅動,編寫I/O驅動,分析一個看門狗驅動程序,對比Linux2.6內核與2.4內核中字符設備驅動的不同Linux 塊設備驅動程序塊設備驅動程序工作原理,典型的塊設備驅動程序分析,塊設備的讀寫請求隊列了解Linux塊設備驅動程序結構,能夠編寫簡單的塊設備驅動程序比較字符設備與塊設備的異同,編寫MMC卡驅動程序,分析一個文件系統(tǒng),對比Linux2.6內核與2.4內核中塊設備驅動的不同。
最后就是文件系統(tǒng)的學習
虛擬文件系統(tǒng):文件系統(tǒng)的建立,ramfs內存文件系統(tǒng)proc文件系統(tǒng)devfs文件系統(tǒng),MTD技術簡介,MTD塊設備初始化,MTD塊設備的讀寫操作了解Linux系統(tǒng)的文件系統(tǒng),了解Linux的文件系統(tǒng),了解MTD技術,能夠編寫簡單的文件系統(tǒng)為arm9開發(fā)板添加MTD支持 移植JFFS2文件系統(tǒng),通過proc文件系統(tǒng)修改操作系統(tǒng)參數(shù),分析romfs文件系統(tǒng)源代碼,創(chuàng)建一個cramfs文件系統(tǒng)
這些都是嵌入式系統(tǒng)開發(fā)基礎的一些學習及建議,學習這些就要掌握好方法才可以,這樣會讓你事半功倍的

