回覆列表
  • 1 # 北辰劍心

    對於嵌入式驅動開發,個人理解可以主要分為三個層次,初級為自己熟悉模組的工作原理和暫存器操作有深入的認識,可以自己獨立開發模組驅動;中級為對整體驅動和SDK的設計有清楚的認知,並能理解設計原理;高階為硬體核心、匯流排設計、系統記憶體管理以及嵌入式作業系統有整體認識。初級階段:獨立模組的原理和暫存器操作

    作為一名嵌入式初級從業人員,需要對暫存器操作很清楚,知道如何設定、讀取和清除位元位。瞭解自己負責模組的工作原理,並且能夠根據原理圖和設計方案,編寫模組驅動,對外提供API介面。

    中級階段:熟悉驅動總體架構和SDK設計

    在初級階段工作一段時間,對於每個模組熟悉以後,需要對模組的總體架構設計有所瞭解,並清楚底層的驅動API到HAL層,並且到APP層的SDK封裝設計原理。

    高階階段:清楚核心、匯流排、記憶體和作業系統

    到了高階階段,你需要了解的就是ARM的核心結構設計,AHB和APB等匯流排設計,以及時鐘分頻。對記憶體管理的LMA和VMA有深入瞭解,知道bin檔案如何裝載執行。

    對於嵌入式作業系統如Freertos或者Ucos有一定了解,清楚程序和執行緒,對系統和IO外圍協同工作原理很清楚。

  • 2 # 閒人老盧

    最高境界的嵌入式開發者應該能透過對硬體的特性的分析和精巧的底層驅動程式碼來幫助團隊實現產品的差異化和低成本。

    這並不侷限於是否為arm處理器或51處理器,也不侷限於系統是跑Linux,rtos甚至是裸奔。個別需要甚至是跑Android。

    舉例,用處理器A為核心開發的產品,如果競爭對手也用此處理器開發了競品,那麼你們靠什麼打贏競品?是靠市場宣傳還是靠產品效能和功能?或是靠降低售價?

    因此,嵌入式開發者必須做到對硬體原件的底層完全理解,並能根據最終產品的形態重寫標準的原廠驅動以便形成差異性。同時,精巧的底層軟體還可以減少外部元器件的使用,幫助降低總體成本。

  • 中秋節和大豐收的關聯?
  • 現在手裡有加工洗衣液洗潔精的配方和原料,怎麼更好地變現?