嵌入式要學什麼?

General 更新 2024-11-25

學習嵌入式開發要學習哪些知識?

嵌入式Linux操作系統學習規劃

ARM+LINUX路線,主攻嵌入式Linux操作系統及其上應用軟件開發目標:

(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9)

(2) 必須掌握一個嵌入式操作系統 (初步定為uclinux或linux,版本待定)

(3) 必須熟悉嵌入式軟件開發流程並至少做一個嵌入式軟件項目。

從事嵌入式軟件開發的好處是:

(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。

(2)與企業計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。

(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟件那樣容易被盜版。硬件設計一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。

(4)興趣所在,這是最主要的。

從事嵌入式軟件開發的缺點是:

(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,特別是操作系統級軟件功底不深,則可能不適於此行。

(2)這方面的企業數量要遠少於企業計算類企業。

(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並無此要求,只要有經驗即可。

(4)平臺依託強,換平臺比較辛苦。

興趣的由來:

1、成功觀念不同,不虛度此生,就是我的成功。

2、喜歡思考,挑戰邏輯思維。

3、喜歡C

C是一種能發揮思維極限的語言。關於C的精神的一些方面可以被概述成短句如下:

相信程序員。

不要阻止程序員做那些需要去做的。

保持語言短小精幹。

一種方法做一個操作。

使得它運行的夠快,儘管它並不能保證將是可移植的。

4、喜歡底層開發,討厭vb類開發工具(並不是說vb不好)。

5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。

方法步驟:

1、基礎知識:

目的:能看懂硬件工作原理,但重點在嵌入式軟件,特別是操作系統級軟件,那將是我的優勢。

科目:數字電路、計算機組成原理、嵌入式微處理器結構。

彙編語言、C/C++、編譯原理、離散數學。

數據結構和算法、操作系統、軟件工程、網絡、數據庫。

方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。

主攻書籍:the c++ programming language(一直沒時間讀)、數據結構-C2。

2、學習linux:

目的:深入掌握linux系統。

方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍後,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最後深入代碼。

主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。

3、學習嵌入式linux:

目的:掌握嵌入式處理器其及系統。

方法:(1)嵌入式微處理器結構與應用:直接arm原理及彙編即可,不要重複x86。

(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而後深入研究uClinux。

(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。

主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm彙編指令等。

4、深入學習:

A、數字圖像......

嵌入式技術需要學習什麼

嵌入式技術需要學習的知識點包括Linux系統、Shell編程、Linux開發環境、C語言、ARM硬件平臺、數據結構、Linux內核、驅動程序等等。 知道了嵌入式學習的內容,更重要的是嵌入式怎麼學習。

你看一篇文章,是關於一個學生自學嵌入式的文章,詳細的介紹了他的學習過程。

%%%%%%%%%%%%%%%%%%%%%%%%%

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

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

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

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

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

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

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

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

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

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

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

嵌入式開發要學哪些?

嵌入式開發要學哪些?在這個技術瞬息萬變的年代,嵌入式技術毫無疑問也得緊跟技術發展,這對於初涉行業的新人而言,擺在面前的問題很明顯,嵌入式開發我得學習哪些技術點才能跟隨企業的腳步呢?我願意談談我接近十年對嵌入式開發的看法。

我的職業生涯起步於嵌入式開發,那時候在日企從事汽車的嵌入式開發,最後也曾當過三年的講師。不過現在依然混跡於嵌入式底層,以及android底層研發。可能還是覺得研發才是我的最愛。那麼針對嵌入式開發要學哪些我簡單的說一下,僅代表當前主流觀點。

嵌入式開發作為新人,第一步C語言,有很多人自認為自己C語言很厲害,但是實際上一個從事嵌入式開發的老人,至少需要3-5年你才敢對C語言說精通,特別涉及到的常用的指針、數組、數據類型、運算符與表達式、控制語句時?你真的都懂麼?這些是學習嵌入式最基礎的知識。

第二步,有了這些代碼的基礎你才能能根據需求寫程序,也就是常說的應用層,應用層是相對簡單的。要有理解和編碼調試的能力,如系統編程、標準的I/O,文件I/O,庫的製作等等。一般而言這種應用層開發有1-2個月的時間都能學會。剩下的就是大量的編碼來提升自己的經驗。但只會這些也能找到工作,但我相信你看完下面的發現那絕對不是你的夢想!

第三步,更高級的內容也是最難的內容,前兩步更多是讓你會根據需求編碼,但是如何能讓你的程序能在硬件平臺上運行,這才是真正的難題。所以每當再進一步的話,我們會發現我們什麼有很多的東西都運行的是Linux系統,可是他們和我的PC運行的Linux有什麼區別呢,為什麼我電腦要用風扇而手機不用風扇呢,我們打開網頁查找手機的詳細參數的時候,會看到Cortex-A15 、四核 、ARM等等字眼,什麼是ARM,什麼是Cortex-A15,這需要進一步的瞭解。

瞭解完ARM之後,就需要利用開發板了。這時操作系統的移植又成了一個比較重要的內容了,什麼是bootloader,什麼是kernel,什麼是rootfs等等……。

花了很長時間系統做好了,發現板子上很多的什麼不能用,怎麼辦呢?這時我們需要寫一些驅動來驅動這些設備,這時我們需要知道,什麼是字符設備驅動、塊設備驅動、網絡設備驅動,為了更好的寫驅動我們需要了解更多的硬件相關的東西,我們需要看懂芯片手冊,我們需要看懂原理圖,只有我們懂我們的設備,才能更好的驅動它。等等,這裡就列舉更多的內容了,因為還有很多。

所以對於嵌入式開發者來說,他們都經歷了學習的痛苦。有句話說的好,不經歷風雨怎麼見彩虹。對於學習嵌入式我比較不贊成自學,他不同於一般的應用層開發。你會面臨很多問題。問百度?太慢了!來機構學習雖然花了一部分錢,從時間成本和效率上來講,無疑還是比較值得的。

嵌入式應該學習什麼如何學習

相信你在網上也看了很多關於嵌入式這方面的資料,我也就不在網上ctrl+C,ctrl+v了

嵌入式這個概念很寬泛,很多東西在學習中自然就慢慢明白了。你現在開始學C語言,不知道數電,微機原理這些學了沒?如果沒學,也無所謂。直接用C語言寫程序也行。

單片機就選51的,畢竟是最經典的,關於51資料多如牛毛,遇到問題也好找答案。

另外我想強調一點,51是最簡單的機型,也許現在在實際應用中不如別的芯片。但是對於初學者是最容易入門的,所以不要聽網上某些人 單片機已經過時了 的言論 。學習總是個積累的過程,特別是學這個,涉及到的知識點很多,更需要點耐心,不要指望短時間內就可以搞定,要堅持!

書就不用買了吧,但必須買塊51單片機的開雞板,也不貴 我以前買的150塊錢左右,淘寶上很多 你自己可以去搜。

關於51的教材,網上的電子檔教很多,基本也都大同小異,買51單片機的開發板的時候裡面一般也都包含教程資料。個人建議你看下數電,和微機原理 方面的書籍,基礎的東西還是要了解下。另外 你可以在網上找下 郭天祥 51單片的視頻教程,這個教程非常好,認真的看,邊看邊做!

彙編的事情,怎麼說呢,個人認為 學習單片機對硬件結構必須有細緻的瞭解,彙編語言可以直接對硬件 進行控制,用匯編語言編程可以更加深入的去了解認識硬件,個人認為:搞硬件的不懂彙編只能算個門外漢!

你現在才開始學,也有C語言的基礎, 那麼還是跟著 郭天祥的那個視頻 用C語言 邊做 邊學。有一定基礎後 也要慢慢嘗試 用匯編寫一點簡單的程序。

強調一點:彙編很重要,特別是做控制方面的程序時。雖然不同類型的芯片彙編 都不一樣,接觸多了會發現 ,那些其實也都相通的。

哦 還有不知道你學過CAD沒,沒的話還是 找本CAD 方面的書看下:protel 或者DXP 都行,不然 可能讀不懂電路圖

最後說一句:要有點耐心!呵呵

有問題 直接Q我,ID 就是我的Q號,註明 百度! 學習愉快

學嵌入式需要什麼基礎

現在嵌入式一般都是用c語言進行編程的,所以你應該先學會c語言,與英語關係不大

學習嵌入式系統必須學習什麼內容?學習嵌入式最重要的是什麼?

說起嵌入式,它是一個充滿挑戰的行業,是軟硬件結合的完美產物,所以要想學好嵌入式,需要軟硬件都有所瞭解掌握,但你可以偏重某一方面,以此作為求職方向目標。你看下這個微信公眾號“嵌入式資訊精選”,內容挺全的,很有用。

嵌入式系統需要學什麼語言?

本想學Java和Linux的嵌入式系統,但是看到學嵌入式系統的都是學C和C++的。不知道學Java可不可以、、、、

自學嵌入式開發應該先要學些什麼?

最基礎的 數電模電 要理解,能掌握最好

數電模電別看是最基礎的,大多數人都迷糊著呢。

掌握了數電模電,電路圖都能看懂了,你絕對不愁找不到工作!

專業基礎的話肯定從 《單片機》 入門 很簡單

不同學校,教的單片機型號可能不一樣,不過大同小異,差別很小

但很多學校器材比較老,可能學的還是MCS51系列

目前流行攻是ARM系列 ARM7 ARM9

ARM7上手較簡單,廣泛用於工業控制

ARM9較難些

不過目前的趨勢是 FPGA 門電路

與普通單片機有本質區別,用處更廣,功能更強

鑑於你現在可能還沒學完 數電 ,它們的區別就不給你說了

我的建議

1、模電數電 學好

2、單片機(入門簡單的如ARM7) 要多做做實驗,能完全理解控制方式。

要經常能去實驗室,自己動手焊板子。好好利用學校的器材資源,可以做一些小發明,會很有成就感。(不要像我,在學校沒好好利用。出來了,都是自己掏錢買材料研究,貴啊!!)

3、相信我,FPGA絕對是大勢所趨,你要是覺得學的差不多了就搞它吧。

嵌入式開發需要學習哪些東西

1、c\c++語言,這是計算機行業的必修課,必須找紮實實學好,可以安裝 turbo c編譯器為開發環境,聯繫C語言編程; 安裝vc++6.0學習C++編程。

2、操作系統,先在電腦上安裝一個vmware work station,然後在vmware work station裡安裝一個linux(redhat 企業版)虛擬機。學習一下操作系統的基本原理,熟悉linux環境下的開發環境,然後你就可以照著 《自己動手寫操作系統》寫個操作系統試試。

3、計算機組成原理,熟悉計算機的基本原理,看看一個計算機的基本組成及軟件在裡面是如何跑的。

4、單片機,其實就是一臺電腦,像現在的汽車控制、led控制、屏幕亮光程度控制,它都可以實現,自己買塊開發板弄一下,你能學到很多的別人學不到的。朱有鵬的單片機個人覺得很不錯,還有他的視頻,可以看看,不扎心,老鐵。

5、arm,現在最流行的微機,說白了就是32位的單片機,還可以跑操作系統哦,自己想辦法移植一個操作系統上去吧

6、硬件編程語言(FPGA),芯片到底是怎麼做成的,學習這門課,你就知道了

7、模擬電路&數字電路,硬件的基礎,如果可以的話,學習下protel ,自己做個硬件pcb板試試。

要學習嵌入式,現在需要學習哪些基本課程?

嵌入式方向很多,這是現在最流行的這個方向。

由於很多人總問這個問題,所以這裡做一個總結供大家參考。這裡必須先說明,以下的步驟都是針對Linux系統

的,並不面向WinCE。也許你會注意到,現在做嵌入式的人中,做linux研究的人遠比做WinCE的人多,很多產家

提供的資料也是以linux為主。我一直很難理解,其實WinCE的界面比linux的界面好看多了,使用起來也很方便

,更為重要的是,WinCE的開發和Windows下的開發基本一樣,學起來簡單得多,但是學linux或者使用linux做嵌

入式的人就是遠比WinCE多。在和很多工作的人交流時我瞭解到,他們公司從沒考慮使用WinCE,因為成本高,都

是使用linux進行開發。我讀研究生的的實驗室中也沒有使用WinCE的,大都研究linux,也有少部分項目使用

vxwork,但是就沒有聽說過使用WinCE的,原因就是開源!當然現在WinCE6.0聽說也開源,不過在成本和資源上

linux已經有了無人能擋的優勢。與此相對應的是,越來越多的電子廠商已經開始使用linux開發產品。舉個例子

,Google近期開發的智能手機操作系統Android其實就是使用linux-2.6.23內核進行改進得到的。

第一,學習基本的裸機編程。

對於學硬件的人而言,必須先對硬件的基本使用方法有感性的認識,更必須深刻認識該硬件的控制方式,如

果一開始就學linux系統、學移植那麼只會馬上就陷入一個很深的漩渦。我在剛剛開始學ARM的時候是選擇ARM7(

主意是當時ARM9還很貴),學ARM7的時候還是保持著學51單片機的思維,使用ADS去編程,第一個實驗就是控制

led。學過一段時間ARM的人都會笑這樣很笨,實際上也不是,我倒是覺得有這個過程會好很多,因為無論做多復

雜的系統最終都會落實到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認識就好很多了學習裸機的

編程的同時要好好理解這個硬件的構架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說,理解這個

硬件是怎麼組織這麼多資源的,這些資源又是怎麼由cpu、由編程進行控制的。比如說,s3c2410中有AD轉換器,

有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那

麼這些地址是什麼意思?又怎麼通過寄存器來控制這些外圍設備的運轉?還有,norflash內部的每一個單元在這

個芯片的內存中都有一個相應的地址單元,那麼這些地址與剛剛說的寄存器地址又有什麼關係?他們是一樣的嗎

?而與norflash相對應的nandflash內部的儲存單元並不是線性排放的,那麼s3c2410怎麼將nandflash的地址映

射在內存空間上進行使用?或者簡單地說應該怎麼用nandflash?再有,使用ADS進對ARM9行編程時都需要使用到

一個初始化的彙編文件,這個文件究竟有什麼用?他裡面的代碼是什麼意思?不要這個可以嗎?諸如此類都是對

硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以後更深一步的學習將有很大的幫助,如果跳過這

一步,我相信越往後學越會覺得迷茫,越覺得這寫東西深不可測。因為,你的根基沒打好。不過先聲明一下,本

人並沒有使用ADS對ARM9進行編程,我是學完ARM7後直接就使用ARM9學linux系統的,因此涉及使用ADS對ARM9進

行編程的問題我很難回答^_^,自己去研究研究吧。

對於這部分不久將提供一份教程,這個教程中的......

相關問題答案
嵌入式要學什麼?
嵌入式是幹什麼的?
嵌入式屬於什麼行業?
程式設計需要學什麼? ?
嵌入代碼是什麼?
初二英語主要學什麼?
網絡營銷需要學什麼?
高中主要學什麼?
網絡工程師需要學什麼?
黑客要學什麼編程語言?