ARM程式設計是什麼,STM32又是什麼?

時間 2021-05-10 14:52:29

1樓:醜劍客

STM32=意法半導體生產的晶元,晶元內封裝了Cortex-M3(內嵌的CPU)和一些外設。

ARM程式設計=採用Cortex-M3支援的ARM指令對Cortex-M3程式設計,基於Cortex-M3和STM32晶元手冊,通過暫存器(已對映為實體地址)訪問Cortex-M3和STM32提供的外設,支援STM32晶元所在PCB電路所期望的外部特徵。

實際工作總結,供參考。

2樓:魚鷹談微控制器

簡單的說,stm32的核心就是使用ARM公司的核心架構,但是呢,不是只有stm32採用這個核心,其他的晶元廠商的某些晶元也採用這個核心,他們的晶元之間的資源可能有些差別,但是核心都是一樣的。就比如說一件商品,可以用紙盒包裝,也可以用袋子包裝,甚至是鐵盒包裝,但是被包裝的東西還是那個商品,沒變化。只是說你可能在某些情況下,用紙盒包裝好,某些情況下用鐵盒包裝好,這都是根據你的需求來定的。

這裡的商品就是核心(arm核心),整個包裝(包括商品)就是乙個晶元(stm32)。可能這個比喻不是很恰當,但差不多就是這麼個意思

3樓:annic

STM32是基於ARM Cortex M核心的微控制器。STM32圖書推薦給你:https://www.

stmcu.com.cn/library

4樓:strongwong

買個野火的開發板,把他給的資料看完,差不多就明白了。還有你也可以去了解一下ARM發展史,了解一下背景,可以對比著Intel一起看,那基本上就是計算機發展史了。這樣你會理解更深刻些。

5樓:Nineteenoo

先學STM32(cortex-m3)。

再學arm9核的板子/arm11核的板子。

怎麼學?

買個資料齊全的開發板,聽課,跟著做,然後自己去實現乙個個功能。

熟練以後去做一些小的專案。

stm32學精就夠你學一段時間了。

以上說的是硬體外設的學法。

關於軟體,stm32學到後面應該學一下作業系統的知識,有了基礎知識以後去學FreeRtos或者ucos這種簡單的作業系統的原理。

這些東西搞清楚了以後再去碰arm9/arm11核的板子。不然學習難度曲線很陡,你很難搞定。

arm9/arm11要學的東西可就多了,裸機程式設計,Bootloader等。

這邊可以上Linux了,你要學Linux基本操作,在你電腦上面裝個虛擬機器裡面裝Linux吧。

關於Linux要學的太多了,你要適應命令列,vim下面直接程式設計,不用ide直接搞。後面還要學網路程式設計等一系列程式設計知識。

你後面還要學核心的裁剪移植……

還要學C++和QT……

這都是後話了……等你把stm32徹底搞清楚了再說這些吧。

6樓:櫻花飛雪

前面幾個知友,已經將ARM與STM的關係闡述清楚。我想說一下,學習STM程式設計。我在大學的時候,開始接觸微控制器,從51到32。

並不是很精通,但也做過幾個小專案。如果,你對電路模電數電有一定了解,那麼你就可以直接買一塊STM32的開發板,進行程式設計學習(前提你會c語言)。開發板可以買正點原子或者野火。

如果你沒有了解,建議你了解一下51微控制器。

STM32庫函式是什麼 有何意義

befreien 意義在於可以參考庫函式自己用暫存器加減化裁的重寫。庫函式為了復用通用搞得效率不咋地,再說用微控制器繞過暫存器心虛不虛? Ayaneru 除了原本類似於51的庫函式定義外,32的庫函式更為豐富,將專案的開發直接變為大部分呼叫庫函式,如51那樣直接操作暫存器的操作將被大大減少,基本都為...

請問stm32的底層驅動是什麼意思,需要學習那些知識?

無趣的人 誠然,正點原子和野火對國內stm32的推廣起到了很大的作用。但不得不說,要是真想學驅動開發建議直接上arm,用Linux來搞。實際編寫編譯鏈結過程你都能清清楚楚。我不是瞧不起Keil和mdk,我自己也用了四年。因為太方便了,所以一些底層的東西你不會接觸到。想學驅動,還是要學會看晶元手冊和原...

樹莓派,微控制器和stm32之類的用的程式語言是通用的嗎?

STM32屬於微控制器,微控制器型號非常的多,這裡以STM32來舉例。像彙編,C,C python之類的,他們是通用的。首先,無論是樹莓派還是STM32,他們都是支援多種語言的,本質上,程式最後都是編譯成機器碼,就是一串可以被直接被晶元識別的0和1,所以,只要你可以把C語言變成STM32的機器碼,那...