學習嵌入式,從零開始(硬體篇)

2021-08-04 03:17:57 字數 1553 閱讀 8271

這段時間很多關注者問起怎樣學習嵌入式,對於乙個剛開始接觸嵌入式的朋友來說,這的確是個問題。在這裡筆者就給大家講講怎樣利用【it指路燈】來學習嵌入式系統。

學習嵌入式之前我們需要了解什麼是嵌入式。

(官方說法)嵌入式系統是一種專用的計算機系統,作為裝置或裝置的一部分。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬體可 裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。舉些例子,手機、電子時鐘、智慧型報警裝置、自動監控器、計程車計費器等 等都屬於嵌入式系統。——由厚學網整理提供

嵌入式系統是硬體和軟體的綜合體,這裡來看看嵌入式系統的具體框圖,以手機為例吧。

(硬體篇)

1、基本電路知識

嵌入式硬體也是需要許多電路搭建起來的,學習嵌入式之前必須對電路基本知識有一定基礎。了解常用的基本器件,基本儀器使用,具有一定的電路分析能力。這樣你才能看得懂嵌入式系統的硬體電路圖,才能為後續開發奠定基礎。

2、基本語言知識

嵌入式驅動程式編寫需要用到c語言,因此在學習嵌入式之前還必須熟練c語言基本語法,並能編寫些普通程式**。這裡需要提醒,在學習c語言時養成規範的程式設計習慣,如新增備註、注意排版等,這將對以後的程式準確性有很大影響。

3、微控制器(51微控制器)

初學者首次接觸嵌入式處理器一般都是51微控制器,51微控制器入門相對簡單,並且通用度比較高,可以購買開發板動手學習。如學習編寫流水燈、按鍵掃瞄、數碼管、液晶顯示、ad/da取樣等簡單程式。

4、基於微控制器的電子系統自設計

有了前面的學習經歷,可自己脫離開發板,自己設計並繪製電路圖,自己焊接或者生產pcb板,設計小型的電子系統。如設計乙個尋線小車,溫度採集、時鐘顯示等嵌入式系統。

5、430、stm32、cortex-m3(可選)

430微控制器、stm32以及cortex-m3處理器作為學習嵌入式作業系統前的過渡階段,各位朋友可以自行選擇學習。為什麼需要用他們來過渡呢?

因為51微控制器內部暫存器很少,編寫程式時不需要對gpio口進行配置,預設就已經是輸入或者輸出。而當處理器功能強大之後,往往乙個gpio可實現多種 功能,如usb功能、iic功能、uart功能。在使用這種gpio時就必須先進行配置,才能滿足需求。因此在學習後面作業系統之前,有時間的同學可以從 這些微控制器過渡,這樣不至於後續學習摸不到頭腦。

6、arm9/arm11裸機學習

裸機程式編寫,即不帶作業系統的程式編寫,其作用和上面430微控制器的作用相似,目地就是為了熟悉arm架構,對arm暫存器有深入的了解,這將對以後的 驅動程式編寫帶來很大的方便。同樣,裸機程式學習可像51微控制器一樣,購買開發板,在開發板上進行一些中斷、gpio、uart的操作。

7、linux系統移植&bootloader

嵌入式系統學習特別注意又特別難的地方就是linux系統移植,對於系統的移植、系統的裁剪是學習的難點。搭建嵌入式作業系統的開發環境,即交叉編譯環境也比較麻煩,因此在學習過程中一定要一步一步動手實踐操作。

bootloader是作業系統啟動前,進行硬體初始化以及搭建作業系統執行環境的一段**,有點類似於pc機的bios程式。bootloader主要與硬體關係很大,需對處理器暫存器相當的熟悉,因此在初期學習的時候可以參考u-boot等學習。

從零開始學習嵌入式 筆記(1)

shell命令解析器 bin bash 或 bin sh 開啟不同的shell sh bourne shell bash bourne again shell 定義變數 例 a hello world echo a echo 傳入指令碼的命令列引數個數 所有命令列的引數值,在各個引數值之間有空格 0...

從零開始學習嵌入式Linux系統程式設計

從零開始學習嵌入式linux 系統程式設計,實驗手冊本身涵蓋所有知識點,包括大大小小 60 個左右的實驗 linux 系統程式設計 第一章 前言 23 第二章 最小 linux 系統 32 第三章 helloworld 76 第四章 linux使用者 使用者組 許可權等 92 第五章 專題 檔案 i...

嵌入式學習的準備 硬體篇

第一章 嵌入式學習前的準備 硬體篇 本人現畢業兩年,在公司從事硬體研發工作,長期以來對電路設計多少有些心得,但是對嵌入式語言方面的東西一直沒能很好的抓起來,這篇部落格將記錄我學習進步的一點一滴。電子專業的童鞋們學習一門新技術,比如微控制器或者嵌入式或者其他的等等常常離不開開發板,那麼針對嵌入式開發該...