arm板子和stm32有什麼聯繫,其實淵源頗深

2022-04-07     大方老師單片機

原標題:arm板子和stm32有什麼聯繫,其實淵源頗深

ARM與 STM32的關係

ARM介紹

1978年,奧地利籍物理學博Hermann Hauser,和他朋友,一位英國工程Chris Curry,共同創建了家名Cambridge Processor UnitCPU的公司,中文字面意思就劍橋處理器單,主要從事研發當地電子儀器設備的業務,比如街上的遊戲機之類的。

1979年,在經營逐漸進入正規後,原來的公司名不怎麼合適了,那個年代喜歡找個吉祥物作為公司名字Apple公司。這倆就以橡子為吉祥物,取名Acron Computer,中文字面意思就橡果公

1981年,也許是改了公司名字,運氣就來了,這一年,公司接到一個大單。英國廣播公BBC,計劃整個英國播放一套電腦普及的教育節目,希Acron公司可以生產一套配套的電腦,之後英國政府還會海採購電腦,在各個學校普及。

接下這個大單後Acron公司就開始研發產品了。當時處理器正816位過渡,他們就去找了美國家半導體和摩托羅拉公司生產16位處理器。評估後發現,這些處理器執行上有點慢,中斷的響應時間有長,還有就是太貴,一台電腦才500英鎊,處理器成本就100英鎊。於是又把目標轉向當時如日中天 Intel,希望對方提供一1680286處理器的設計資料和樣品,然Intel根本就不理他們。

最後Acorn公司沒辦法,臨時採用了便宜MOS科技生產86502處理器,勉強研發出符合要求個人電BBC Micro。絕處逢生Acorn公司發現處理器受制於人,為了後面長久的發展,於是決定自己發處理器。

Acorn公司的研發人員從美國加州大學伯克利分校,找到了一個關於新型處理器的研簡化指令集在此基礎上,歷4年的艱苦奮鬥,1985年完成了微處理器的設計,以後BBC Micro,都用這顆新處器。對於這塊晶片Acorn公司給它命名Acorn RISC MachineARM,中文字面意思就橡果指令集機,也就ARM的第一次出現。

這裡插講一下簡化指令(Reduced Instruction Set ComputerRISC),與之相對應的就是複雜指令集 (Complex Instruction Set ComputerCISC)。早期的處理器都CISC架構(比如前Intel處理器),隨著時推移,有越來越多的指令集加入。但是後來人們發現,整個指令集中,只有20%的指令常常會被使用到大約占了整個程序內容80%,而剩80%的指令,只占了整個程序內容20%(典型的二八原則)。於是 1979年美國加州大學伯克利分校David Patterson(前面提到的新型處理器研究的作),提出RISC想法,主張硬體專心加速常用的指令,不常用的指令則利用常用的指令去組合。

就在同一年198510月,英特爾發布80386Acorn公司ARM晶片被吊打80386CISC技術所有指令都支持,也就性能更好,但設計成本也高、功耗也大Acorn公司ARM晶片采RISI技術,只持常用指令,其它指令需要常用指令去組合,性能也就差一些,但成本低、功耗低、研發快Acorn公司不傻,性能比不過,就突出成本低,功耗低的優勢,總有要求成本低、功耗低,性能要求不高的場景,於就往我們現在所見的嵌入式方向發展。

1990Acorn公司Apple公司合作,成立新公Advanced RISC MachinesARM,中文字面意高級精簡指令集機,這就是現在大家常說ARM公司。

成立新公司後的幾年ARM公司業績平平,危機四起。於ARM決定改變他們的產品策略,他們不生產晶片,轉而以授權的方式,將晶片設計方案轉給其它公司。正ARM的這種授權模式,極大地降低自身的研發成本和研發風險。它以風險共擔、利益共享的模式,形成了一個ARM為核心的生態圈,使低成本創新成為可能。

隨後,德州儀(Texas InstrumentsTI)、意法半導(STMicroelectronicsST)、恩智浦半導(NXP SemiconductorsNXP)等半導體晶片廠商,相繼購ARM授權,然後根據自身行業需求,設計不同的外設口的晶片。

由上總結ARM具有以下三種含義:

.ARM是一家全球半導體行業技術領先的公司,主要業務是設RISC嵌入式處理器;

.ARM是一類微處理器晶片或產品的統稱,即所有采ARM公司提供方案開發RISC處理器;

.ARM是一項技術的名稱,即采RISC的處理器體系結構;

1985年發布第一ARM處理器開始ARM公司不斷升級疊代,加入新的指令系統、寄存器組、功特性,發展出不同架構。早期的經ARM處理器,架構命名規則比較混亂,現在這些處理器基本不常見了這裡就不展開介紹。ARMv7開始,采Cortex命名,將整個處理器分為三大類,如 2.2.2所示。

.這是現代多用戶多進程作業系統(比LinuxVxWorks)所必須的。該系列適用於高端消費電 sor),該系列有內存管理單(Memory Management UintMMU),實現虛擬內存,讓每個用戶進程都擁有自己獨立的地址空間這是現代多用戶多進程作業系統(比LinuxVxWorks)所必須的。該系列適用於高端消費電領域,比如智慧型手機、平板電腦、智能電視、路由器等;

.ARM Cortex-R:實時控制系列R表示應用程(Real Time Controller),該系列適用於高性能、高時性應用,比如硬/固態驅動控制器、企業網絡設備、消費電子領域的藍光播放器、汽車領域安全氣囊等;

.ARM Cortex-M:微控制器系列M表示應用程(Microcontroller Processors),該系列適用於低功耗高性能且對成本敏感的產品,比如家電產品、物聯網、無人機等;

針對不同的應用場景和需求,每個系列還會再細分,比ARM Cortex-M就再分ARM Cortex-M0ARM Cortex-M3ARM Cortex-M4等,區別如 2.2.1所示。

2.2.1 Cortex-M系列處理器區別

STM32介紹

2004ARM公司推出新一Cortex內核後ST公司抓住機遇,在很短的時間內就向市場推出了系列32位微控制器,同時提供基於庫的開發模式,加快用戶研發周期STM32ST公司基ARM Cortex-M3內核設計的微控制器,專為高性能、低功耗、低成本場景設計。

STM32如今產品系列非常豐富,主要ARM Cortex-M內核系MCU,也開始涉ARM Cortex-AMPU,如 2.2.3所示。按應用特性分類,可分為無WB/WL系列、超低功L0/L1/L3/L5系列、主 G0/G4/F0/F1/F3系列、高性F2/F4/F7/H7系列、全新MP1系列。

STM32的處理器種類眾多,通過了STM32的命令規範,可以了解整STM32家族產品,也方便以晶片選型STM32 MCU系列命名規則如 2.2.4所示。

STM32F103ZET6為例,解STM32晶片命名規範如 2.2.2所示。

2.2.2 STM32F103ZET6各部分含義

【總結】

ARM公司售Cortex-M系列的授權,意法半導體(STMicroelectronicsST)購買了該授權,生產了一些 STM32產品,這些使ARM技術的處理器,都習慣稱ARM處理器,其STM32F103ZET6就作為了本手配套開發板的處理器。

我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以~簡介里也有。

文章來源: https://twgreatdaily.com/zh-tw/6626512e88e6abccc25d1da6b7765cdf.html