ARM筆記-嵌入式系統基礎

第一章 嵌入式系統基礎

1.1嵌入式系統簡介

1.1.1嵌入式系統定義

  • 嵌入式系統定義
    • 嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可剪裁,對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統 ------Any device that includes a computer!

1.1.2嵌入式系統的組成

  • 嵌入式系統由硬件軟件兩大部分組成

    • 硬件:整個系統的物理基礎,它提供軟件運行平臺和通信接口;
    • 軟件:實際控制系統的運行
  • 兩種嵌入式系統結構模型

    • 應用程序(Application)
      標準接口函數(API)
      操作系統(OS)
      硬件抽象層(HAL)、BSP、驅動
      底層硬件
    • 應用(Application)
      設備驅動程序
      底層硬件
一、硬件部分
  • 組成

    • 核心處理器

      • 硬件層的核心

      • 體系結構:采用馮諾伊曼體系結構哈佛體系結構

        • 馮諾伊曼體系結構:將程序指令存儲器和數據存儲器合并在一起的存儲器結構(eg.ARM7)
          • 單次取指令長度和取數據的長度相同

        • 哈佛體系結構:將程序指令存儲和數據存儲分開的存儲器結構(eg.ARM9的內核)

          • 指令和數據有不同的數據寬度
          • 分離的程序總線和數據總線可允許在一個機器周期內同時獲得指令字和操作數,從而提高執行速度,也提高了數據吞吐率

      • 指令系統:RISC和CISC

        • CISC(Complex Instruction Set Computer)

          • 具有大量的指令和尋址方式
          • 大多數程序只使用少量的指令就能運行
        • RISC(Reduced Instruction Set Computer)

          • 8/2原則:80%的程序只使用20%的指令。
          • 只包含最有用的指令。
          • 確保數據通道快速執行每一條指令。
          • 使CPU硬件結構設計變得更為簡單。
        • 二者的主要區別

          • 指標RISCCISC
            指令集一個周期執行一條指令,通過簡單指令的組合實現復雜操作,指令長度固定。指令長度不固定,執行需要多個周期。
            流水線流水線每周期前進一步指令的執行需要調用一段微程序
            寄存器更多通用寄存器用于特定目的的專用寄存器
            Load/Store結構獨立的Load/Store指令完成數據在寄存器 外部存儲器 之間的傳輸處理器能夠直接處理存儲器中的數據
          • RISC執行特殊功能效率低,但可以利用流水技術和超標量技術加以改進和彌補。

          • CISC處理特殊任務效率較高

    • 外圍電路

      • 組成:存儲器、I/O端口、復位電路、模數轉換器/數模轉換器(ADC/DAC)、電源
    • 外部設備

      • 嵌入式系統與真實環境交互的各種設備

二、軟件部分
  • 組成:嵌入式操作系統嵌入式應用軟件
    • 嵌入式系統軟件一般包含四個層面:應用程序應用程序接口API實時操作系統RTOS硬件抽象層(HAL)。有的版本將應用程序接口 API 歸屬于 OS 層,就是按照三層來劃分的。

1.1.3 嵌入式系統的特點

  • 嵌入式系統同通用計算機系統相比有以下特點:

    • 專用性強
    • 強調實時性
    • 具備可裁剪性
    • 可靠性要求高
    • 功耗低
    • 嵌入式系統開發需要開發工具和開發環境
  • 嵌入式微處理器的特點

    • 實時多任務有很強的支持能力。
    • 具有功能很強的存儲區保護功能–不同進程之間無法互相訪問其存儲空間
    • 可擴展的處理器結構。
    • 嵌入式微處理器功耗低。

1.1.4嵌入式系統的分類

  • 處理器位數
    • 4位嵌入式系統
    • 8位嵌入式系統
    • 16位嵌入式系統
    • 32位嵌入式系統
    • 64位嵌入式系統
  • 實時性
    • 非實時系統(PDA)
    • 軟實時系統(電子消費類產品)
    • 硬實時系統(數控、航空航天等工業和軍工系統)
  • 軟件結構:(important)
    • 循環輪詢系統
    • 前后臺系統
    • 單處理器多任務系統
    • 多處理器多任務系統
  • 應用場景
    • 通信類
    • 信息家電類
    • 移動終端類
    • 汽車電子類
    • 工業控制類

1.2嵌入式處理器

1.2.1嵌入式處理器分類

  • 嵌入式微處理器(MPU–Microprocessor Unit)

    • 嵌入式微處理器是由通用計算機中的CPU演變而來的。 -----用來處理高性能計算(eg.服務器,手機等)
    • 嵌入式微處理器的特征:
      • 具有較高的性能,但價格也較高。
      • 嵌入式微處理器做的控制機具有體積小、重量輕、成本低、可靠性高的優點。
  • 嵌入式微控制器(MCU–Microcontroller Unit)

    • 嵌入式微控制器的典型代表就是單片機。
    • MCU是一種集成化的芯片,將處理器核心、**存儲器(如Flash、RAM)外圍設備(如GPIO、ADC、UART等)**集成在一個芯片上。-----(eg.家電、工業控制、傳感器節點等)
    • 占嵌入式系統70%的市場份額
  • 嵌入式DSP處理器(DSP–Digital Signal Processor)

    • DSP 處理器是專門用于信號處理方面的處理器。
    • 其在系統的結構指令算法方面進行了特殊的設計。
  • SOC片上系統(System on a Chip)

    • 一個芯片就是一個系統,或將一個系統放在一個芯片中。
    • SOC最大特點是實現了軟/硬件的無縫結合,直接在處理器芯片內部嵌入操作系統代碼模塊。

1.3嵌入式系統開發環境

  • 開發工具的選擇:硬件開發工具&軟件開發工具
    • 硬件開發工具:在線實時仿真器和其他檢測工具,如示波器等
    • 軟件開發工具:編輯、交叉編譯、鏈接、定位軟件和調試軟件等
  • 硬件調試工具的選擇
    • 實時在線仿真器(ICE)
    • 邏輯分析儀
    • ROM仿真器
  • 軟件組件的選擇
  • 開發環境
    • 交叉開發工具
    • 指令模擬器
    • 電路開發板

1.4 嵌入式操作系統

1.4.1嵌入式操作系統

  • 嵌入式操作系統EOS(Embedded Operating System)是支持嵌入式系統應用的操作系統,是軟、硬件資源的控制中心
  • EOS 是相對于一般操作系統而言的,它除具備了一般操作系統最基本的功能如:
    • 任務調度同步機制中斷處理文件功能等外,
    • 還有以下特點:
      • 可裝卸性;
      • 強實時性;
      • 強穩定性,弱交互性;
      • 固化代碼;
      • 更好的硬件適應性,也就是良好的移植性。
  • 嵌入式操作系統可分為:實時操作系統(RTOS)非實時操作系統

1.4.2 實時操作系統

  • 實時操作系統是指——能在確定的時間內執行其功能并對外部的異步事件做出響應的計算機系統。其操作的正確性不僅依賴于邏輯設計的正確程度,而且與這些操作進行的時間有關。
一、RTOS的重要概念
  1. 系統響應時間
    • 系統收到處理要求到系統給出應答信號的時間。
  2. 任務換道時間
    • 任務之間切換使用的時間
  3. 中斷延遲
    • 計算機接收到中斷信號到操作系統作出響應,并完成換道轉入中斷服務程序的時間。
  4. 任務(即線程)的四個狀態
    • 運行:獲得 CPU 的控制權
    • 就緒:進入任務就緒(等待)隊列,等待通過調度轉為運行狀態
    • 掛起:任務發生阻塞,移出任務就緒隊列,等待系統實時事件的發生而喚醒,從而轉為就緒或運行
    • 冬眠:任務因為完成或錯誤等原因被清除的任務,也可以認為是系統中不存在的任務
二、實時操作系統的分類
  • 按實時性要求
    • 軟實時系統
    • 硬實時系統
  • 按任務是否可被搶占
    • 可搶占系統–嚴格按照優先級執行(如:uC/OS-II)
    • 不可搶占系統

1.4.3常見的EOS(了解)

在復習的時候可以看看ppt

  • Linux
  • uCLinux
  • Android
  • Windows CE
  • VxWorks
  • uC/OS-II
  • pSOSystem
  • Nucleus、eCos

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82557.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82557.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82557.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大語言模型(LLM)入門項目推薦

推薦大語言模型(LLM)的入門項目 TiaoYu-1。 https://github.com/tiaoyu1122/TiaoYu-1 項目優點: 幾乎每一行代碼(一些重復的代碼除外)都添加了注釋,詳細介紹了代碼的作用,方便閱讀與理解。基本上覆蓋了常見 LLM 模型的全部訓練流程&#x…

Linux里more 和 less的區別

在 Linux/Unix 系統中,more 和 less 都是用于分頁查看文本文件的命令,但 less 是 more 的增強版,功能更強大。以下是它們的核心區別和用法對比: 1. 基礎功能對比 特性moreless(更強大)向前翻頁? 僅支持向…

基于PDF流式渲染的Word文檔在線預覽技術

一、背景介紹 在系統開發中,實現在線文檔預覽與編輯功能是許多項目的核心需求,但在實際的開發過程中,我們經常會面臨以下難點: 1)格式兼容性問題:瀏覽器原生不支持解析Word二進制格式,直接渲染會…

ai學習--python部分-1.變量名及命名空間的存儲

初學代碼時總有一個問題困擾我:a 10 # a指向地址0x1234(存儲10) 變量a的值10存儲在0x1234,那么變量a需要存儲嗎?a又存儲在什么地址呢 目錄 1. ??命名空間的本質?? 2. ??命名空間的內存占用?? 3. ??…

Leetcode 3563. Lexicographically Smallest String After Adjacent Removals

Leetcode 3563. Lexicographically Smallest String After Adjacent Removals 1. 解題思路2. 代碼實現 題目鏈接:3563. Lexicographically Smallest String After Adjacent Removals 1. 解題思路 這次的最后一題同樣沒有自力搞定,簡直了…… 這道題還…

微信小程序之Promise-Promise初始用

我們來嘗試使用Promise。 1、需求&#xff0c;做個抽獎的按鈕&#xff0c; 抽獎規則&#xff1a; 30%的幾率中獎&#xff0c;中獎會提示恭喜恭喜&#xff0c;獎品為10萬 RMB 勞斯萊斯優惠券&#xff0c;沒中獎會提示再接再厲。 2、先搭界面&#xff1a; <view class&qu…

spring-boot-starter-data-redis應用詳解

一、依賴引入與基礎配置 添加依賴 在 pom.xml 中引入 Spring Data Redis 的 Starter 依賴&#xff0c;默認使用 Lettuce 客戶端&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis<…

全能郵箱全能郵箱:實現郵件管理的自動化!

全能郵箱全能郵箱&#xff1a;實現郵件管理的自動化&#xff01; 全能郵箱全能郵箱的配置教程&#xff1f;如何注冊烽火域名郵箱&#xff1f; 全能郵箱全能郵箱作為一種創新的郵件管理解決方案&#xff0c;正逐漸改變我們處理郵件的方式。蜂郵EDM將圍繞全能郵箱全能郵箱&…

Real2Render2Real:無需動力學仿真或機器人硬件即可擴展機器人數據

25年5月來自UC Berkeley 和 TRI 的論文“Real2Render2Real: Scaling Robot Data Without Dynamics Simulation or Robot Hardware”。 擴展機器人學習需要大量且多樣化的數據集。然而&#xff0c;現行的數據收集范式——人類遙操作——仍然成本高昂&#xff0c;且受到手動操作…

Cadence學習筆記之---PCB的布線與鋪銅

目錄 01 | 引 言 02 | 環境描述 03 | 布 線 04 | 鋪 銅 05 | 總 結 01 | 引 言 在上一篇文章中介紹了Cadence元件放置和布局相關的操作方法和步驟&#xff0c;當完成全部的器件布局后&#xff0c;就可以進行下一步&#xff1b; 本篇文章主要介紹Cadence中布線和鋪銅相關的…

redis-7.4.2 通過 systemd管理,rpmbuild spec文件參考

redis-7 和 redis 5 版本在配置為systemd 方式管理時&#xff0c;配置關于有些許區別&#xff0c;否則會報systemctl status redis 如下錯誤&#xff1a; redis.service: control process exited, codeexited status1 Failed to start Redis persistent key-value database. Un…

2025-05-26 什么是“AI 全棧”

AI全棧&#xff1a;模型 表示學習 向量庫 API UI 一句話定義&#xff1a; ? AI 全棧開發&#xff0c;是指開發者從原始文本/語音/圖像開始&#xff0c;結合大模型能力&#xff0c;構建完整應用閉環的技術能力棧。 AI全棧應用的過程 AI應用 ≠ 一個GPT接口&#xff0c;…

康師傅的“價值戰”答卷:一碗面的創新與擔當

低價策略、口味雷同、營銷跟風……方便面行業曾長期陷于同質化競爭的泥潭&#xff0c;不過近年來&#xff0c;行業競爭邏輯已悄然改變。 一方面來源于宏觀環境的變化&#xff0c;想要在縮量市場下保住大盤&#xff0c;一定要保持逆向思維的能力&#xff0c;另一方面&#xff0…

高性能管線式HTTP請求

高性能管線式HTTP請求:原理、實現與實踐 目錄 高性能管線式HTTP請求:原理、實現與實踐 1. HTTP管線化的原理與優勢 1.1 HTTP管線化的基本概念 關鍵特性: 1.2 管線化的優勢 1.3 管線化的挑戰 2. 高性能管線式HTTP請求的實現方案 2.1 技術選型與工具 2.2 Java實現:…

傳輸線上的信號速度與阻抗無關,主要由頻率決定

阻抗與傳播速度無關 通過計算我們可以知道&#xff0c;導體流過電流時&#xff0c;電子實際上的速度只有1cm/s。是很慢的。 導線的電阻對傳輸線上信號的傳播速度幾乎沒有任何影響。只在一些極端的情況下&#xff0c;互連的電阻才會影響信號的傳播速度&#xff0c;并且這個影響…

YOLOv1 詳解:單階段目標檢測算法的里程碑

在目標檢測領域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;系列算法憑借其高效性和實用性&#xff0c;成為了行業內的明星算法。其中&#xff0c;YOLOv1 作為 YOLO 系列的開山之作&#xff0c;首次提出了單階段目標檢測的思想&#xff0c;徹底改變了目標檢測算…

免費開源 PDF 閱讀器 自帶虛擬打印機功能 多格式兼容

各位辦公小能手們&#xff0c;今天咱來聊聊一款超厲害的PDF工具——PDFLite&#xff01; 這PDFLite啊&#xff0c;那可是輕量級、免費又開源的好東西。它能干啥呢&#xff1f;主要就是能讀PDF文件&#xff0c;還能轉換文件格式&#xff0c;做基礎的文檔管理。下面咱就說說它的…

Mac Python 安裝依賴出錯 error: externally-managed-environment

Mac Python 使用 ip3 install -r requirements.txt 出錯 This environment is externally managed ╰─> To install Python packages system-wide, try brew installxyz, where xyz is the package you are trying toinstall.If you wish to install a Python library th…

Windows11+WSL2+Ubuntu22 安裝

1.首先要獲得管理員權限 2.直接在電腦搜索欄搜索 “Turn Windows features on or off”, 勾選下面兩個條目&#xff1a; Virtual Machine Platform 和 Windows Subsystem for Linux 3.重啟電腦 4.電腦搜索欄搜索“Windows PowerShell”&#xff0c;運行下面命令設置WSL2為默…

解決 iTerm2 中 nvm 不生效的問題(Mac 環境)

解決 iTerm2 中 nvm 不生效的問題&#xff08;Mac 環境&#xff09; 標題 《為什么 iTerm2 無法使用 nvm&#xff1f;—— 解決 Mac 終端環境變量沖突指南》 問題描述 許多開發者在 Mac 上使用 nvm 管理 Node.js 版本時&#xff0c;發現&#xff1a; 原生終端&#xff1a;n…