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