處理器區別:
M 系列 ARM CPU 的指令集很小,通常沒有浮點單元,沒有內存管理,沒有緩存。它們針對低成本而非高性能進行了優化。它們一般與 FLASH、RAM 和外圍設備組合成一個微控制器芯片。它們主要用于控制硬件,可以對裸機進行編程,也可以與一些可以提供類似操作系統的功能的庫鏈接。
A 系列 ARM CPU 具有更大的指令集(其中 M 指令集是一個小的子集),并且它們通常具有浮點單元、內存管理單元和緩存。它們針對高性能,而不是低成本進行了優化。它們通常作為微處理器出售(通常與以太網、視頻、mpeg 解碼器等高端外圍設備結合使用),旨在與片外 RAM 和閃存結合使用。它們通常運行一些操作系統,通常是 Linux,將操作系統空間和應用程序空間分開。這些 CPU 通常用于手機和平板電腦。
M 用于微控制器,A 用于在電池供電的小工具上運行 Linux。
啟動流程區別:
cortex-M4與cortex-A的啟動流程基本一致:都是定義中斷向量表---->執行復位中斷服務Reset_Handler并在此中完成系統初始化----->跳轉至main函數。
對于后面中斷的處理過程也基本一致:都是查找中斷向量表獲取中斷服務函數入口地址---->執行中斷服務函數(保護現場、具體指向、恢復現場)------>指向完返回main。M4與A7的唯一不同可能就是對于系統中斷的封裝上,M4直接將所有中斷都列在了中斷向量表中。而A系列將所有中斷分為了兩級,其中我們常見的中斷都放在IRQ_Handler中,中斷發生時先執行IRQ_Handler,在IRQ_Handler中再具體指向中斷處理。
嵌入式開發流程:
M系列開發流程:
.Cortex-M系列處理器的開發流程,根據硬件外設自己編寫底層固件,他的引導程序在出廠是已經寫到芯片內部,我們只需要根據boot管腳的配置,就可以引導程序從哪里開始,剩下只需要配置時鐘和外設驅動+應用,該處理器主要在物聯網中作為終端設備,采集數據,簡單的處理數據以及控制領域的終端控制設備。
A系列的開發流程
嵌入式系統開發是一個系統性的工程,一個完整的開發過程總體來說包括了硬件系統設計、操作系統移植和應用軟件設計三個部分。
1. 硬件系統設計
硬件設計包括了硬件體系架構、電路圖設計、電路板制作、焊接和測試、電路板調試等步驟,其根本是得到一個在電氣連接上沒有錯誤、滿足設計需求的硬件電路板。
2. 操作系統移植
操作系統的移植是指當嵌入式硬件開發已經完成且保證沒有硬件錯誤之后將一個目標操作系統移植到硬件系統上并且運行的過程,其目標是在硬件系統上運行一個操作系統。
以Linux 為例來介紹操作系統的移植過程,大概可以分為以下 4 個步驟:
配置和編譯Bootloader,然后將 Bootloader 下載到開發板,其可以初始化硬件設備,建立內存空間的映射表,對操作系統進行引導。
下載操作系統的源代碼,建立交叉編譯環境,配置和編譯操作系統內核,并且根據硬件系統的特點對其進行相應裁剪和配置,然后將通過Bootloader 將完成的操作系統下載到目標板上。
為NAND FLASH 移植文件系統,通常來說是 YAFFS2 文件系統,這樣才能形成完整的操作系統應用環境。
建立嵌入式系統和開發環境的數據交互通道,可以是FTP,也可以是根文件映射等。
3. 應用軟件設計
應用軟件設計是指在已經移植完成操作系統的嵌入式系統上根據系統的特定需求進行軟件設計的過程,此時通常也需要交叉編譯環境。
審核編輯 :李倩
-
處理器
+關注
關注
68文章
19404瀏覽量
231123 -
嵌入式系統
+關注
關注
41文章
3620瀏覽量
129735 -
微處理器
+關注
關注
11文章
2274瀏覽量
82758
原文標題:處理器的區別和嵌入式開發流程
文章出處:【微信號:qrsworld,微信公眾號:嵌入式單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論