當前位置:首頁 » 編程軟體 » 嵌入式編程學習

嵌入式編程學習

發布時間: 2024-01-16 16:30:02

㈠ 有沒有嵌入式開發的學習路線,越詳細越好

一、學習路徑
萬丈高樓平地起,不管多優秀的工程師都是從小白開始的。一條清晰合理的學習路線能幫助小白們高效率的完成基礎知識的儲備工作,注意這里是知識的儲備過程,而經驗是從實踐中得到的。學習路徑是多種多樣的,不同能力和不同基礎的人有不太相同的路徑,這里分享我自己的學習路徑,供大家參考。
1.了解計算機原理,操作系統基礎知識。了解硬碟,內存和CPU的關系,程序是如何載入到內存運行的,了解操作系統進程切換和時間片的概念。
2.學習C語言,掌握編譯器基本知識,能編寫簡單的程序。學習硬體相關知識。
3.購買洞洞板或者麵包板,配合stm32等單片機核心板及相應教材,實踐IO操作,中斷,定時器,ADC,UART通信,IIC通信,SPI通信,CAN通信等基本功能。在此過程中不斷鞏固提升C語言編程水平。
4.掌握了某一種單片機的基本編程和控制後,可以進軍嵌入式操作系統的學習。在此期間可以繼續使用STM32核心板,加購LCD串口液晶顯示屏,不需要買帶字型檔的顯示屏,簡單實用的串口顯示屏就可以。然後可以從Free RTOS開始學習,這個操作系統代碼少,概念清晰,易於學習操作系統的原理,也易於移植,基本上可以參考官網以及網路上的資料順利的將操作系統移植到STM32核心板。通過FreeRTOS,可以學習嵌入式操作系統的基本原理,並可以編寫LCD驅動程序來感受硬體驅動程序的概念。
5.學習嵌入式linux操作系統,購買ARM9或以上版本的主控的開發板,要求開發板上至少有串口和網口。學習板級支持包的開發,交叉編譯,GDB調試,UBOOT移植,內核移植,根文件系統製作,設備樹,驅動程序編寫,網路編程相關知識。
6.學習物聯網相關模塊的使用,可以購買ESP32核心板進行wifi,藍牙的模塊控制學習,購買其他模塊實現其他小項目的練習。
通過上面的一番閉關修煉,你已經學習了嵌入式開發的主要知識架構,接下來就要多做小項目,多練習排錯,才能不斷積累經驗。

二、學習方法
1.先整再零:
對於一個實例項目,先從整體出發,保證調通,能正常運行,出現預期結果。遇到模糊的問題先跳過,整體有了一定認識後再對個別細節進行深入了解,但不能跳過深入了解細節的環節。
2.邊學邊練:
開發是一類實踐性很強的技能,嵌入式開發要與硬體打交道,就需要更多的動手操作和觀察。
學習某一方向的嵌入式開發知識時,需要給自己的學習進行必要的「投資」,購買麵包板、洞洞板、萬用表、調溫烙鐵套裝、各種器件、晶元,以至開發板。以上材料不需要一次性都買齊,可以按照當前學習的內容分階段購買,經濟條件有限的同學也不用擔心,以上材料的開銷除開發板之外都不貴,可網路購買。對於開發板,可以買學長學姐的二手板卡,能過測試就證明板卡是OK的。
有了學習材料,就要學以致用,例如今天學習了三極體做開關,就可以自己動手畫畫電路圖,然後在洞洞板上實踐一下,通過實際操作,加深印象的同時,也能驗證自己的設計方案。
3.勤於思考和提問,網路如此發達,提問的能力和技巧我就不再贅述了。

三、技能提升建議
如果你進入的是一家規模較小的公司,那麼你可能有機會接觸各類技術。這是絕佳的鍛煉機會,要注意不要特別深入某一方向而不關注其他技術,要知道大牛需要的是多方位的技能。
大公司的話,往往分工比較細致而明確,那就需要在完成自己工作的同時多關注項目組中其他同事遇到的問題,能協助解決最好,不能解決的要關註解決的情況和方法,多蹭經驗。幫助別人的同時就是在幫助自己提高,多花時間處理實際問題是難得的經驗。
不管在哪種場合工作,一定注意經驗的積累,好記不如帶墨,要用文字將經驗記錄下來,將遇到的問題詳細描述清楚,沒事的時候翻看一下,工作時間長了,你會發現這是一筆難得的財富。
限於篇幅,這里就不再多講技術的細節了,希望各位讀者在技術成長的過程當中都能有自己清晰的學習路徑,安排好自己的學習計劃,穩扎穩打!

㈡ 嵌入式系統學習步驟

新手必讀「嵌入式系統學習11大步驟」

1、Linux 基礎

安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動過程詳解 熟悉Linux服務能夠獨立安裝Linux操作系統 能夠熟練使用Linux系統的基本命令 認識Linux系統的常用服務安裝Linux操作系統 Linux基本命令實踐 設置Linux環境變數 定製Linux的服務 Shell 編程基礎使用vi編輯文件 使用Emacs編輯文件 使用其他編輯器

2、Shell 編程基礎

Shell簡介 認識後台程序Bash編程熟悉Linux系統下的編輯環境 熟悉Linux下的各種Shell 熟練進行shell編程熟悉vi基本操作 熟悉Emacs的基本操作 比較不同shell的區別 編寫一個測試伺服器是否連通的shell腳本程序 編寫一個查看進程是否存在的shell腳本程序 編寫一個帶有循環語句的shell腳本程序 (更多相關內容請關註:東方賽富——國內一流嵌入式培訓學院)

3、Linux 下的 C 編程基礎

linux C語言環境概述 G使用方法 Gdb調試技術 Autoconf Automake Makefile 代碼優化 熟悉Linux系統下的開發環境 熟悉G編譯器 熟悉Makefile規則編寫Hello,World程序 使用 make命令編譯程序 編寫帶有一個循環的程序 調試一個有問題的程序

4、嵌入式系統開發基礎

嵌入式系統概述 交叉編譯 配置TFTP服務 配置NFS服務 下載Bootloader和內核 嵌入式Linux應用軟體開發流程熟悉嵌入式系統概念以及開發流程 建立嵌入式系統開發環境製作cross_g工具鏈 編譯並下載U-boot 編譯並下載Linux內核 編譯並下載Linux應用程序

4、嵌入式系統移植

Linux內核代碼 平台相關代碼分析 ARM平台介紹 平台移植的關鍵技術 移植Linux內核到 ARM平台 了解移植的概念 能夠移植Linux內核移植Linux2.6內核到 ARM9開發板

5、嵌入式 Linux 下串口通信

串列I/O的基本概告氏念 嵌入式Linux應用軟體開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉文件I/O 編寫串口通信程序 編寫多串口通信程序(更多相關內容請關註:東方賽富——國內一流嵌入式培訓學院)

6、嵌入式系統中多進程程序設計

Linux系統進程概述 嵌入式系統的進程特點 進程操作 守護進程 相關的系統調用了解Linux系統中進程的概念 能夠編寫多進程程序編寫多進程程序 編寫一個守護進程程序 sleep系統調用任務管理、同步與通信 Linux任務概述任務調度 管道 信號 共享內存 任務管理 API 了解Linux系統任務管理機制 熟悉進程間通信的幾種方式 熟悉嵌入式Linux中的任務間同步與通信編寫一個簡單的管道程序實現文件傳輸 編寫一個使用共享內存的程序

7、嵌入式系統中多線程程序設計

線程的基礎知識 多線程編程方法 線程應用中的同步問題了解線程的概念 能夠編寫簡單的多線程程序編寫一純裂個襪褲散多線程程序

8、嵌入式 Linux 網路編程

網路基礎知識 嵌入式Linux中TCP/IP網路結構 socket 編程 常用 API函數 分析Ping命令的實現 基本UDP套介面編程 許可證管理 PPP協議 GPRS 了解嵌入式Linux網路體系結構 能夠進行嵌入式Linux環境下的socket 編程 熟悉UDP協議、PPP協議 熟悉GPRS 使用socket 編寫代理伺服器 使用socket 編寫路由器 編寫許可證伺服器 指出TCP和UDP的優缺點 編寫一個web伺服器 編寫一個運行在 ARM平台的網路播放器

9、GUI 程序開發

GUI基礎 嵌入式系統GUI類型 編譯QT 進行QT開發熟悉嵌入式系統常用的GUI 能夠進行QT編程使用QT編寫「Hello,World」程序 調試一個加入信號/槽的實例 通過重載QWidget 類方法處理事件(更多相關內容請關註:東方賽富——國內一流嵌入式培訓學院)

10、Linux 字元設備驅動程序

設備驅動程序基礎知識 Linux系統的模塊 字元設備驅動分析 fs_operation結構 載入驅動程序了解設備驅動程序的概念 了解Linux字元設備驅動程序結構 能夠編寫字元設備驅動程序編寫Skull驅動 編寫鍵盤驅動 編寫I/O驅動 分析一個看門狗驅動程序 對比Linux2.6內核與2.4內核中字元設備驅動的不同Linux 塊設備驅動程序塊設備驅動程序工作原理 典型的塊設備驅動程序分析 塊設備的讀寫請求隊列了解Linux塊設備驅動程序結構 能夠編寫簡單的塊設備驅動程序比較字元設備與塊設備的異同 編寫MMC卡驅動程序 分析一個文件系統 對比Linux2.6內核與2.4內核中塊設備驅動的不同

11、文件系統

虛擬文件系統 文件系統的建立 ramfs內存文件系統 proc文件系統 devfs 文件系統 MTD技術簡介 MTD塊設備初始化 MTD塊設備的讀寫操作了解Linux系統的文件系統 了解嵌入式Linux的文件系統 了解MTD技術 能夠編寫簡單的文件系統為 ARM9開發板添加 MTD支持 移植JFFS2文件系統 通過proc文件系統修改操作系統參數 分析romfs 文件系統源代碼 創建一個cramfs 文件系統 (更多相關內容請關註:東方賽富——國內一流嵌入式培訓學院)

㈢ 嵌入式Linux驅動程序開發學習路線

關於這個方向,我認為大概分3個階段:

1、嵌入式linux上層應用,包括QT的GUI開發

2、嵌入式linux系統開發

3、嵌入式linux驅動開發

嵌入式目前主要面向的幾個操作系統是,LINUX,WINCE、VxWorks等等

Linux是開源免費的,而且其源代碼是開放的,更加適合我們學習嵌入式。

所以你可以嘗試以下路線:

(1)C語言是所有編程語言中的強者,單片機、DSP、類似ARM的種種晶元的編程都可以用C語言搞定)神數,因此必須非常熟練的掌握。

推薦書籍:《TheCProgrammingLanguage》這本經典的教材是老外寫的,也有中譯版本。

(2)操作系統原理,是必需的,如果你是計算機專業畢業那也就無所謂了,如果是非計算機專業的就必須找一本比較淺顯的計算機原理書籍看一看,把啥叫「進程」「線程」「系統調度」等等基本問題搞清楚。

(3)Linux操作系統就是用C語言編寫的,所以你也應該先學習下Linux方面的編程,只有你會應用了,才能近一步去了解其內核的精髓。

推薦書籍:《UNIX環境高級編程》(第2版)

(4)了解ARM的架構,原理,以及其匯編指令,我們在嵌入式開發中,一般很少去寫匯編,但是最起碼的要求是能夠看懂arm匯編。

(5)系統移植的時候,就需要你從最下層的bootloader開始,然後內核移植,文件系統移植等。而移植這部分對硬體的依賴是非常大的,其配置步驟也相對復雜,也沒有太多詳細資料。

(6)驅動開發

linux驅動程序設計既是個極富有挑戰性的領域,又是一個博大精深的內容。

linux驅動程序設計本質是屬於linux內核編程范疇的,因而是對linux內核和內核編程是有要求的。在學習前你要想了解linux內核的組成,因為每一部分要詳細研究的話足夠可以擴展成一本厚書。

以上只不過是大概的框架,在實際的開發中還會涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說學習嵌入式的周期較長,門檻較高,自學的話更是需要較強的學習能力和專業功底。只要能堅持下來一定會取得成功!

嵌入式非常難,看書的話比較晦澀難懂,不容易入門,我個人比較偏向於看視頻教程,因為有老師帶著比較容易入門。給看看一篇文章是關於一位專科生怎麼自學嵌入式的。

做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。

退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。

一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。

回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。

後來,我在網路知道看到一篇讓我很鼓舞的游兆首文章,是一個嵌入式猜姿高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。

我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。

主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。

後來我又找到一份很好的視頻,是在IT學習聯盟網站推出的一份視頻《零基礎嵌入式就業班》(喜歡《零基礎嵌入式就業班》的可以復制sina.lt/qKh粘貼瀏覽器按回車鍵即打開)。裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻比較便宜。

下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。

收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。

接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以後再慢慢啃。

這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。

最後的一個月,我就去看關於實踐部分的內容,了解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始准備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做准備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多准備了20天左右

我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。

後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。

把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。

㈣ 嵌入式技術需要學習什麼

嵌入式系統軟體工程 方法實用技術及應用,免費下載

鏈接:https://pan..com/s/10No3IypKyLg01bV4T9b22w

提取碼:56st

《嵌入式系統軟體工程:基礎知識、方法和應用》系統地闡述嵌入式系統軟體工程所涉及的過程、方法、內容,以及在典型工業領域中的應用。全書內容分為兩大部分:第一部分介紹嵌入式系統軟體工程方法論,主要包括嵌入式軟體的開發過程(需求工程、軟體和系統體系結構、編程和測試等內容),開發和測試中所採用的標准,與安全性相關的軟體系統的准入,以及嵌入式軟體所涉及的法律問題:第二部分介紹嵌入式系統軟體在汽車領域、軌道交通領域、航天領域、醫療器械、工業自動化、通信系統中的應用,在每個應用領域重點介紹具體應用領域的一些特定需求、技術和限制條件,以及它們對於嵌入式系統軟體開發過程的影響。

熱點內容
快捷方式文件夾 發布:2024-11-16 18:26:33 瀏覽:290
安卓手機怎麼設置屏內返回鍵 發布:2024-11-16 18:26:30 瀏覽:928
java弱類型 發布:2024-11-16 18:25:46 瀏覽:306
路由器無法訪問外網 發布:2024-11-16 18:21:27 瀏覽:503
什麼叫用戶型密碼裝備 發布:2024-11-16 18:12:16 瀏覽:291
mysqllinux設置密碼 發布:2024-11-16 18:05:21 瀏覽:92
微信的密碼有什麼組成 發布:2024-11-16 17:49:41 瀏覽:629
伺服器如何載入無線網卡 發布:2024-11-16 17:49:39 瀏覽:954
vps如何配置ftp 發布:2024-11-16 17:46:39 瀏覽:909
mysql存儲過程注入 發布:2024-11-16 17:44:53 瀏覽:172