嵌入式學習的正確步驟

2021-01-11 電子產品世界

  嵌入式門檻雖然較高,但也跟其他事物一樣,並不是牢不可破。只要我們用心去對待,冬雪終將化去,春風定會吹來。

本文引用地址:http://www.eepw.com.cn/article/198141.htm

具體步驟如下:

  1、《C語言》第二版 譚浩強 ; 《C程序設計語言》第二版 徐寶文譯 機械工業出版社
  你能區分開指針數組和數組指針嗎?你知道函數指針嗎?
  你能區分開定義一個變量時系統給它分配的空間與用malloc()函數給一個變量分配的空間有什麼不一樣嗎?

  2、《數據結構》C語言版  黃國愉、葉乃青編 清華大學出版社
  你能合上書本,用C語言實現書中的單鍊表、雙鍊表數據結構嗎?

  3、《實用C++程序設計》第二板 中國電力出版社 Steve_Oualline著
  此階段主要是學習其面向對象的編程思想,加深對C語言和數據結構的理解。

  4、學習單片機,最好能找個前輩帶一帶。
  你能用51單片機做出一樣實際的東西嗎?即使它再簡單!
  要注意加深對中斷的理解。

  5、學習ARM單片機。
  (1)、細讀《ARM微控制器基礎與實戰》周立工編寫(註:即使你不用書中的開發板)
  (2)、細讀相關晶片的原版英文文檔。如:arm920TE.pdf  S3C2410_1.2.pdf

  6、學習uCOS!!作業系統。
  (1)、細讀《嵌入式實時作業系統uC/OS-!!》第二版 召貝貝譯
  你能把uCOS!!移植到自己的平臺上嗎?
  (2)、能編寫在uCOS!!作業系統環境下運行的針對具體硬體的驅動程序

  7、熟悉Linux環境,學習Linux環境編程,學習交叉編程
  (1)、細讀《linux命令大全.pdf》
  (2)、細讀《GNU Make 使用手冊(中譯版).pdf》
  (3)、學習創建交叉編程環境.

  8、學習Linux作業系統。
  (1)、《UNIX環境高級編程》
  (2)、可以到一些好的網站下載一些比較好的書籍
  (3)、細讀《linux內核完全注釋》
  (4)、細讀《understanding the linux kernel 2》
  (5)、利用原始碼閱讀利器工具"Source Insight"進行真正的linux內核原碼刨析
  (6)、最後進行內核移植,並能編寫在linux作業系統環境下運行的針對具體硬體的驅動程序

  9、學習Linux設備驅動編寫。可參考《Linux設備驅動程序》

  10、複習C++,學習用QT進行圖形界面編程
  (1)、細讀《QT編程寶典》
  (2)、學會通過查看QT電子文檔進行QT GUI實地編程
  (3)、學習交叉編程.(其實就是把命令qmake變為tmake)

  11、當然,你也可學習一下PCB的製作和設計一個自己的CPU(即軟殼)

在嵌入式軟體方面最重要的課程包括:

  (1) 嵌入式微處理器結構與應用:

  這是一門嵌入式硬體基礎課程,我們說過,嵌入式是軟硬體結合的技術,搞嵌入式軟體的人應對ARM處理器工作原理和接口技術有充分了解,包括ARM的彙編指令系統。若不了解處理器原理,怎麼能控制硬體工作,怎麼能寫出節省內存又運行高速的最優代碼(嵌入式軟體設計特別講究時空效率),怎麼能寫出驅動程序(驅動程序都是與硬體打交道的)?很多公司招聘嵌入式軟體人員時都要求熟悉ARM處理器,將來若同學到公司中從事嵌入式軟體開發,公司都會給你一本該設備的硬體規格說明書 (xxx Specification),你必須能看懂其中的內存分布和埠使用等最基本的說明(就像x86彙編一樣),否則怎麼設計軟體。有些同學覺得嵌入式處理 器課程較枯燥,這主要是硬體課程都較抽象的原因。還有同學對ARM彙編不感興趣,以為嵌入式開發用C語言就足夠了。其實不應僅是將彙編語言當成一個程序設計語言,學彙編主要是為了掌握處理器工作原理的。一個不熟悉彙編語言的人,怎麼能在該處理器寫出最優的C語言代碼。在嵌入式開發的一些關鍵部分,有時還必須寫彙編,如Bootloader等(可能還包括BSP)。特別是在對速度有極高要求的場合(如DSP處理器的高速圖像採集和圖像解壓縮),目前還會用到彙編寫程序的,儘管用到的機會相對C要小得多。當你在一個嵌入式公司工作時,在查看描述原理的手冊時,可能很多都是用彙編描述的,這是因為很多硬體設計人員只會寫或者喜歡用彙編描述,此時你就必須看懂彙編程序,否則軟硬體人員可能就無法交流。很多嵌入式職位招聘時都要求熟悉彙編。

  [小知識] 目前嵌入式處理器常見的有ARM、PowerPC、MIPS、Motorola 68K、ColdFire (冷火)等,但ARM佔據了絕對主流(有資料說手機中幾乎90%都是ARM處理器)。ARM是一個只賣智慧財產權的公司,目前獲得購買了ARM CPU核授權許可的大公司很多,包括Intel、Samsung、Amstel、Motorola、Philip等,他們都在ARM CPU核的基礎上進行了一些外圍擴展,形成自己的處理器(如Samsung S3C2410,Motorola i.MXL9328等處理器都是採用ARM 9內核,指令一級是相同的)。而眾多中小公司又購買了這些處理器,設計了各種各樣的開發板,如華恆等國內很多著名嵌入式公司都生產基於SamsungS3C2410的開發板,供最終用戶使用或供教學實驗。在ARM這個食物鏈上,ARM公司是大魚,Intel、Samsung等公司是小魚,而華恆等則是蝦米,最終用戶(我們這些要採購嵌入式開發板的)則是餵蝦米的。Intel早期生產的是低端ARM(Strong ARM,相當於ARM 7),現在轉向主要生產高端ARM(即Intel Xscale處理器,屬於ARMv5家族,主要用在高端PDA上,如HP和DELL生產的PDA都採用Intel Xscale,價格較高)。目前應用最多的是ARM 7和ARM 9兩類處理器。 ARM 7較便宜,可跑uclinux(是一個不支持高級內存管理功能的嵌入式Linux系統統)、Vxworks、uc/os II等實時作業系統,但因處理器不帶內存管理單元MMU(無內存分頁和地址映射機制,所以不能使用虛擬內存),所以不能跑Windows CE,另外通用Linux中的某些內存管理功能也不能用在ARM 7上。ARM 9大都是一個帶MMU功能的高端處理器,可跑WinCE或通用Linux的大多數功能。ARM7和ARM9的區別是在與體系結構上,前者是馮?諾伊曼結 構,後者是哈佛結構——指令和數據總線是分開的。以上是我的一點了解,可能有不對的地方。我們學院有十幾套ARM 7開發系統(採用Samsung S3C44b0x開發板,主要用於嵌入式處理器結構、實時作業系統等課程實驗用),ARM 9的系統好象也已經到了(採用的晶片我不知道也沒去問),還有以前的十幾套MPC860開發板(聽說價格都很貴,很容易損壞),同學應愛護使用和珍惜這樣 的實驗機會。

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

可控矽相關文章:可控矽工作原理

51單片機相關文章:51單片機教程

c語言相關文章:c語言教程

linux相關文章:linux教程

比較器相關文章:比較器工作原理

c++相關文章:c++教程


相關焦點

  • 嵌入式學習方法步驟是什麼?
    嵌入式學習方法步驟是什麼?我看一些初學者問的很多,分享一下。2.數據結構掌握數據結構的概念及相關知識點,是嵌入式開發基礎學習的重點,這一階段中,學習的內容包括數據結構介紹、線 性表、線性表的順序表示、線性表的鏈式表示、棧、隊列、樹、圖、排序算法。
  • 程式設計師及嵌入式的一些學習建議
    那麼,如何從零開始學習嵌入式開發技術, 進入嵌入式開發大門呢,筆者根據自己的嵌入式學習經歷和多年的嵌入式linux教學經驗,談談自己對嵌入式學習的一些想法和意見,希望對大家有所幫助。基於以上原因,我的建議是學嵌入式開發,就學嵌入式linux開發,相對於wince等其他的嵌入式平臺,你可以真正學到更多的東西,學到嵌入式技術的精髓,同時他又符合嵌入式產業發展的方向,不容易被日新月異的技術發展所淘汰。有了嵌入式開發的基礎,又知道了我們為什麼要學習嵌入式linux開發,那我們就要開始動手開始學習了,那如何開始學習嵌入式linux開發,從哪裡開始著手呢?
  • 嵌入式linux內核的編譯步驟
    嵌入式linux內核的編譯步驟 華清遠見 發表於 2020-06-19 09:30:24   編譯嵌入式Linux內核都是通過make的不同命令來實現的,它的執行配置文件是Makefile。
  • 嵌入式Linux學習方法 適合初學者設計學習計劃
    2.過程以及目的:  這一階段的學習主要是熟悉嵌入式的硬體,為以後的linux驅動打基礎。因為嵌入式主打處理器架構就是arm,所以針對arm來學習。首先學習基礎知識,然後通過在開發板上的練習來掌握。這一階段所用的資料主要有:  (1) 《ARM嵌入式基礎教程》 這本書主要看arm基礎的知識。這本書是講arm7的,但是arm的基礎的指令集以及模型是一樣的。
  • 某嵌入式培訓機構教學總監總結的嵌入式學習路線
    網上看了很多的嵌入式學習路線,有的還湊活,有的純粹是打廣告賣板子,有的東拼西湊,簡直是嵌入式勸退指南。大致給你梳理一下我從事的一個嵌入式的課程培訓體系吧。基礎個人建議只要會一些基本的操作就行了,不需要太深入的學習每一個命令,用到的時候會去搜索就行了。
  • 某嵌入式培訓機構教學總監總結的嵌入式學習路線
    網上看了很多的嵌入式學習路線,有的還湊活,有的純粹是打廣告賣板子,有的東拼西湊,簡直是嵌入式勸退指南。大致給你梳理一下我從事的一個嵌入式的課程培訓體系吧。基礎個人建議只要會一些基本的操作就行了,不需要太深入的學習每一個命令,用到的時候會去搜索就行了。
  • 初中英語學習方法之閱讀正確步驟
    正確的解題步驟應為:     1、快速通讀全文,捨棄無關緊要的細節,全力把握文章主旨與每段大意以及文章中各種信息的主要位置以便再讀時查找;     2、看題;     3、帶著問題根據通讀全文後對文章信息的印象在文章中迅速找出細節題答案並對文章進判斷、推理、總結得出判斷、推理
  • 嵌入式課程學習大綱分享,零基礎入門嵌入式技術
    嵌入式課程學習大綱分享,零基礎入門嵌入式技術 2018年12月18日 18:55作者:黃頁編輯:黃頁 嵌入式課程學習都要學哪些呢?
  • C語言是嵌入式開發學習的基礎
    打開APP C語言是嵌入式開發學習的基礎 發表於 2019-06-19 17:16:45 想要學習嵌入式開發需要知道什麼是嵌入式
  • 學習嵌入式的書籍推薦,嵌入式編程入門教程學習大綱
    學習嵌入式的書籍推薦,嵌入式編程入門教程學習大綱 2018年10月30日 16:50作者:黃頁編輯:黃頁 嵌入式系統是當前熱門、具發展前景的IT
  • 嵌入式系統應該學習那些知識
    嵌入式系統應該學習那些知識 21IC 發表於 2021-01-03 17:47:00   嵌入式系統是當今的熱門系統之一,在諸多領域,嵌入式系統都有所應用。
  • 嵌入式LED觀片燈的安裝和操作步驟
    嵌入式LED觀片燈採用超高亮度側發光光源排列方式,亮度範圍可達0~4500cd/㎡。使用的PWM數字高頻調光技術,照度100級可調,亮度調整更線性;8000K冷白色溫,無眩光不傷眼,閱片更清晰明了。嵌入式觀片燈安裝步驟:1、嵌入式安裝,現在預留位置開孔,開孔大小為:2聯(785×488mm)、3聯(1140×488mm)、4聯(1500×488mm),尺寸公差為±3mm。2、將電源適配器的插頭插入電源接口。
  • 5大關鍵步驟!如何構建深度學習模型?
    本文將詳細討論構建深度學習模型的五個基本步驟,以及如何使用這些步驟來處理各種深度學習項目。1.定義架構深度學習是解決複雜任務的最優方法之一,例如圖像分類或分割、人臉識別、目標檢測、聊天機器人等。一旦訓練完成並對固定數量的周期進行分析後,就可以繼續進行第四個步驟——評估並使用訓練好的模型進行預測。4.評估和預測評估深度學習模型是檢驗構建模型是否按預期工作的一個十分重要的步驟。構建的深度學習模型在現實應用程式中可能運行不佳。因此,評估深度學習模型變得至關重要。
  • 十年資深嵌入式大神:教你真正好學的嵌入式開發學習路線
    十年資深嵌入式大神:教你真正好學的嵌入式開發學習路線 2018年11月20日 18:10作者:黃頁編輯:黃頁 Linux 是一個開源、免費的作業系統
  • 嵌入式arm開發學習第四天
    嵌入式學習第四天知識點補充:SP3232E 是一款UART電平轉換晶片,實現TTL電平和EIA電平之間轉換TTL電平:處理器一開始發出的電平信號 數字1電平:1.8v~3.3v 數字0電平:0v~1.4vEIA電平:串口線上的電平(適合遠距離傳輸) 數字1電平:-3v~-15v
  • 乾貨筆記 | 嵌入式學習路線你知道嗎?
    這一階段的主要目的是學習程式語言、開發環境、和培養自己的編程思維,為進一步學習嵌入式開發打下良好的基礎。2學習ARM體系結構編程這一階段才是真正的嵌入式編程,首先我們要選擇一款嵌入式CPU和一款嵌入式開發平臺,目前ARM 嵌入式CPU應用最廣泛,這一階段重點是學習嵌入式CPU的裸機編程,熟悉中斷、定時器、串口、NAND
  • 嵌入式學習之UART串口
    嵌入式學習之UART串口計算機常見的幾種通信方式:GPIO通信接口:如,LED燈,蜂鳴器UART通信接口:如,BT,GPS,GPRSI2C總線通信接口:如,重力傳感器,電容屏,攝像頭SPI總線通信接口:如,norflash,SD卡,WIFI晶片1-wire總線通信接口:如,DS18B20溫度傳感器,DHT11
  • 想要學習嵌入式開發選擇教程哪家好?
    想要學習嵌入式開發選擇教程哪家好? 2018年10月25日 18:20作者:黃頁編輯:黃頁 想要學習嵌入式開發選擇教程哪家好?
  • 做嵌入式門檻高嗎?如何學習嵌入式ARM?需要996嗎?(文末福利)
    以前,我總是聽說已經工作多年,具有一定的行業經驗的工程師,或者是師兄師姐們告訴我們,說是嵌入式是有多難學,門檻有多高,既要懂軟體,也要懂硬體,還要搞懂各種某某原理、協議、算法等。在學習嵌入式的過程中,也遇到不少的難題,走過不少彎路,無的放矢地學習雜七雜八的知識,才能找到一份還湊合的工作。
  • 新手學習嵌入式Linux和Android開發板推薦
    二,選擇開發板學習嵌入式離不開開發板,選擇一款合適的開發板會讓學習事半功倍。對於學習來說嵌入式開發板的選擇要看幾點。1.看硬體性能及軟體支持情況,是否滿足自己的開發要求,Linux學習目前iMX6ULL開發板比較適合,零基礎來說學習linux後期打算進一步學習安卓,四核4412開發板是不錯的選擇。2. 看資料,系統以及相應的驅動是否提供源碼、開發工具、調試工具、學習用原始碼、底板原理圖、及學習教程等。