{eval=Array;=+count(Array);}
Linux 是一個(gè)開源、免費(fèi)的操作系統(tǒng),主要應(yīng)用于服務(wù)器(網(wǎng)站服務(wù)器、云計(jì)算集群、DNS 等)和嵌入式,同時(shí)也被很多程序員用作個(gè)人操作系統(tǒng)。Linux 使用 GPL 許可證,允許任何人以任何形式傳播其源代碼。GPL 許可證的內(nèi)涵很簡(jiǎn)單:你隨意使用我的代碼,只要標(biāo)明這是我的代碼就可以了。想學(xué)會(huì)linux?那么這份嵌入式linux學(xué)習(xí)路線分享給大家。
1、嵌入式高級(jí)C語(yǔ)言
Linux系統(tǒng)
Linux Ubuntu操作系統(tǒng)安裝、使用、Linux常用命令、samba服務(wù)器、SSH遠(yuǎn)程登錄GCC編譯器、GDB調(diào)試器、VI編輯器
1、嵌入式C語(yǔ)言高級(jí)編程
1、C數(shù)據(jù)類型、控制語(yǔ)句
2、C程序結(jié)構(gòu)設(shè)計(jì)、數(shù)組、函數(shù)、預(yù)處理:
3、指針及字符串操作
4、結(jié)構(gòu)體、共用體、宏、枚舉
5、文件I/O操作
數(shù)據(jù)結(jié)構(gòu)及算法
1、數(shù)據(jù)結(jié)構(gòu)之單向鏈表、雙向鏈表
2、數(shù)據(jù)結(jié)構(gòu)之隊(duì)列、棧
3、數(shù)據(jù)結(jié)構(gòu)之樹、圖
4、算法之各種排序(選擇法、冒泡法、插入法等)
5、遞歸
6、算法之二分查找
2、嵌入式設(shè)備及GUI開發(fā)
嵌入式環(huán)境配置與開發(fā)工具學(xué)習(xí)
1、Linux下項(xiàng)目管理工具M(jìn)ake以及Makefile工作原理及其編寫
2、Linux下shell腳本相關(guān)知識(shí)及其編寫
3、嵌入式開發(fā)環(huán)境的基本概念及其搭建
4、A53開發(fā)板介紹、設(shè)備使用、A53開發(fā)板與電腦通信、交叉編譯
GUI圖形界面開發(fā)
1、常用控件——button、label、text edit等
2、常用布局方式——水平布局、垂直布局、固定布局、網(wǎng)格布局、相對(duì)布局等
3、常用事件及信號(hào)處理技術(shù)——信息回調(diào)、鼠標(biāo)、鍵盤事件等
4、時(shí)間編程、數(shù)據(jù)存儲(chǔ)、繪圖機(jī)制、定時(shí)器處理、多任務(wù)處理等
3、嵌入式Linux高級(jí)程序設(shè)計(jì)
嵌入式Linux系統(tǒng)編程
1、Linux系統(tǒng)調(diào)用概念
2、進(jìn)程相關(guān)概念、多進(jìn)程實(shí)現(xiàn)多任務(wù)開發(fā)
3、進(jìn)程間通信:無(wú)名管道、命名管道、信號(hào)、消息隊(duì)列、共享內(nèi)存等
4、多線程實(shí)現(xiàn)多任務(wù)開發(fā)
5、多任務(wù)的同步互斥開發(fā):互斥鎖、信號(hào)量
4、Linux高級(jí)網(wǎng)絡(luò)程序設(shè)計(jì)
Linux高級(jí)網(wǎng)絡(luò)編程
1、網(wǎng)絡(luò)相關(guān)概念及網(wǎng)絡(luò)發(fā)展
2、TCP/IP協(xié)議
3、socket編程、TCP網(wǎng)絡(luò)編程、UDP網(wǎng)絡(luò)編程、Web編程開發(fā)等
4、Linux網(wǎng)絡(luò)應(yīng)用程序開發(fā),Linux網(wǎng)絡(luò)編程相關(guān)API
5、TCP協(xié)議服務(wù)器的編程方法和并發(fā)服務(wù)器的實(shí)現(xiàn)
6、HTTP協(xié)議及其實(shí)現(xiàn)方法,熟悉UDP廣播、多播的原理及編程方法,掌握混合C/S架構(gòu)網(wǎng)絡(luò)通信系統(tǒng)的設(shè)計(jì)
7、IPv6與IPv4協(xié)議,及其編程接口
8、網(wǎng)絡(luò)數(shù)據(jù)通信過(guò)程
9、網(wǎng)絡(luò)原始套接字概念及編程接口
學(xué)習(xí)完后,你可以了解到Linux操作系統(tǒng)的基礎(chǔ)知識(shí),進(jìn)行簡(jiǎn)單的Linux命令操作。另外,學(xué)習(xí)時(shí),建議配合實(shí)踐進(jìn)行鞏固練習(xí),以便能更好的理解記憶。
嵌入式發(fā)展如此的快,可以說(shuō)是現(xiàn)在最熱的IT技術(shù)之一了,很多人加入嵌入式的行業(yè),但是對(duì)于剛進(jìn)入嵌入式或者剛接觸嵌入式的人來(lái)說(shuō),學(xué)習(xí)嵌入式還是有一定的難度的,我跟前就有很多這樣的人,下定決心想要去學(xué)嵌入式,但是不知道從何學(xué)起,今天我這只老鳥就分享一些嵌入式學(xué)習(xí)方法,快快搬小板凳來(lái)聽。
對(duì)于嵌入式新手來(lái)說(shuō),知道一點(diǎn)嵌入式,知道嵌入式大概是做什么的,不是很懂,所以要熟悉掌握嵌入式的概念。我們可以看到網(wǎng)上或者書上很多解釋:嵌入式系統(tǒng)是針對(duì)某個(gè)應(yīng)用,軟硬件可裁減的,對(duì)體積,功耗,成本等等有嚴(yán)格要求的一個(gè)計(jì)算機(jī)系統(tǒng)??雌饋?lái)是很復(fù)雜的,其實(shí)我們來(lái)總結(jié)一下就是兩點(diǎn):
第一,嵌入式系統(tǒng)是一個(gè)計(jì)算機(jī)系統(tǒng)
第二,嵌入式系統(tǒng)是針對(duì)某個(gè)應(yīng)用的,也就是通常所說(shuō)的“專用的”。
其實(shí)再說(shuō)的通俗易懂點(diǎn)就是針對(duì)某個(gè)應(yīng)用的計(jì)算機(jī)系統(tǒng)!這樣的話就很好理解了。
那么重點(diǎn)來(lái)了,那就是要學(xué)什么,對(duì)于嵌入式來(lái)說(shuō),不要覺(jué)得他學(xué)很多東西,你就會(huì)沒(méi)有目的的學(xué)這學(xué)那的,這樣只會(huì)讓自己更加迷茫,不知道要學(xué)哪個(gè)了,你要知道,嵌入式也就是軟件,硬件,編程這些方面的,最基礎(chǔ)的也就是C語(yǔ)言了,那剛開始接觸,你就需要先從C語(yǔ)言入手。
1、C語(yǔ)言,關(guān)于C語(yǔ)言要知道基本的語(yǔ)法,什么是結(jié)構(gòu)體,什么是共同體,有的東西也不用一定要記憶,因?yàn)樵趯?shí)際中很少用到;
2、嵌入式最核心的操作系統(tǒng),所以操作系統(tǒng)原理也應(yīng)該是要有所了解的,比如時(shí)間片、任務(wù)調(diào)動(dòng)等等;
3、Linux基本命令的使用(vi編輯器必須會(huì)用,因?yàn)樵诮K端改文件的時(shí)候只能用這個(gè)),現(xiàn)在很多的人對(duì)鼠標(biāo)早是情有獨(dú)鐘了,很少用到命令,在學(xué)習(xí)嵌入式Linux可要改改這個(gè)習(xí)慣了,Linux用命令操作具有效率高、功能強(qiáng)大的特點(diǎn),這個(gè)是圖形界面無(wú)法取代的,其實(shí)平時(shí)的圖形界面操作都要轉(zhuǎn)化為命令傳輸給硬件的。
4、Linux設(shè)備驅(qū)動(dòng)的架構(gòu)要了解,結(jié)合原理圖和Linux設(shè)備驅(qū)動(dòng)相關(guān)書籍把每一行代碼分析清楚。
上面只是一些簡(jiǎn)單的嵌入式學(xué)習(xí)要點(diǎn),你要先掌握這些,才能再繼續(xù)后面的,在這里要切記你不要心急,心急吃不了熱豆腐,不要希望看什么或者學(xué)什么一次就能會(huì),而且記住要理解,不要死記硬背,要理論與實(shí)踐相結(jié)合,實(shí)踐的多了,那自然而然也就會(huì)弄了。還有,不要直接閱讀Linux內(nèi)核源碼,看一些自己撞破頭也想不明白的東西只能是浪費(fèi)時(shí)間,要循序漸進(jìn)。
對(duì)于初學(xué)者,還有一點(diǎn)小建議,我們拿到一個(gè)開發(fā)板,很興奮也很激動(dòng),想法自然也很多,想用開發(fā)板實(shí)現(xiàn)自己的這個(gè)想法,實(shí)現(xiàn)那個(gè)想法,然后又不知道從何下手,然后就去論壇中發(fā)一個(gè)貼,“那個(gè)什么什么怎么實(shí)現(xiàn)啊,哪位大俠能詳細(xì)說(shuō)一下啊,跪求!!”然后等著別人去回復(fù)。見沒(méi)人回復(fù)就抱怨。有想法是好的,我們要實(shí)現(xiàn)自己的想法也是有前提的,首先,我們對(duì)這部分知識(shí)了解嗎?如果不了解就去google一下(最好別用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到問(wèn)題,再去發(fā)貼問(wèn),這樣也顯得咱們有水平。比如自己連串口是什么都不太清楚呢,就問(wèn)串口通信怎么做啊,就是人家把代碼給咱,咱也不明白是怎么回事啊。
記住每個(gè)人都有每個(gè)人的方法,就是要勤于練習(xí),不要懶惰,你可以根據(jù)我上面的學(xué)習(xí)方式來(lái)進(jìn)行學(xué)習(xí),這個(gè)方法就是我在我學(xué)習(xí)工作中總結(jié)的,還是很受用的,希望你和我一樣從新手到老鳥,這是一個(gè)困難的過(guò)程,好好努力最重要。
0
回答0
回答0
回答0
回答3
回答0
回答0
回答0
回答0
回答0
回答