在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

是先學STM8 還是學STM32?

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-04 11:05 ? 次閱讀

有朋友問:我學習過51,接下來我是先學習STM8,還是STM32呢?

1寫在前面

想要明白這個問題,其實就需要明白STM8和STM32之間有些什么差異,包括MCU基本信息、開發難度、以及應用場景等。

站在客觀的角度來說,STM8比STM32學起來更容易,C語言功底還不錯的朋友,直接上STM32也不是問題。

從大的方向來說,當你對一種MCU掌握的比較透徹,再學其他型號、其他廠商的MCU,相對來說,上手都要容易的多。

針對本文問題,我下面講述一下相關知識。

2

STM8和STM32內核差異

STM8 CPU 是一種專有架構,它保持了以前的 ST7 內核的傳統,同時在 8 位 CPU 效率和代碼密度方面實現了突破。

STM32 圍繞行業標準 ARM Cortex-M 32 位內核構建,并受益于與 ARM 處理器有關的開發工具和軟件解決方案的完整生態產業環境。

盡管它們被認為是兩種完全不同的處理器,但它們在架構方面實際有許多相似之處。

下面對比STM8S 和 STM32F1 (Cortex-M3)這兩種內核差異:

兩種內核均基于哈佛架構,它們采用 3 級流水線執行,可將執行時間降至最低,對于 STM8S,時鐘速度高達 24 MHz,對于 STM32F1系列,時鐘速度高達 72 MHz。

在代碼密度方面,它們均有優異的表現,這歸功于 STM8S 系列的 8 位CISC 指令集以及 STM32F1系列的 Cortex 內核引入的 16 位Thumb-2 模式。

3

片上外設差異

ST 8位和 32位 MCU 產品線之間的片上外設具有一致性,大多數基本 MCU 外設均定義和構建為可從一個產品系列移植到另一個產品系列。

這通過將 8 位外設簡單但有效地修改為 32 位字來實現。這樣做的好處是可節約成本和功耗,并且資源易于了解。

如果需要更高性能,可在系統層面通過更寬的總線和 DMA 控制器對資源加以補充。在了解了外設的工作原理后,可以將外設應用到 STM8S 和 STM32 系列,從而加速兩種器件之間的轉換。

ARM 處理器和外設符合 AMBA 總線規范,采用 32 位數據總線,而 STM8S 器件使用更為簡單但有效的8 位總線標準。從功能角度看,它們僅在以下方面存在差異:

寄存器大小: 8 位與 16 或 32 位

直接取決于 CPU 運行速度的最大時鐘頻率

DMA,可通過簡單數據管理減輕 CPU 的負荷并提高最大數據吞吐量

一些產品特定功能,如 I/O 端口管理

對比STM8S 和 STM32F1 的 SPI 框圖:

SPI寄存器:

從上面框圖和寄存器可以看出:除了幾個有區別的位和寄存器大小外,寄存器和位的名稱以及在寄存器中的位置都是相似的。

4

系統外設

當今的 MCU 是復雜的 SoC(片上系統),其中不僅包含許多外設,還包含一些高級系統特性,旨在縮減物料清單或增強系統的安全性和穩定性。

1.復位

STM8S 和 STM32 基本具有相同的復位電路,僅有細微的差異:

NRST 引腳既是輸入也是具有內置上拉電阻的開漏輸出。為實現 EMS(電磁敏感度)魯棒性,插入了一個濾波器以避免毛刺傳播到數字電路中。雙向復位有三個優點:

對于多 MCU 系統,雙向復位可確保在啟動或熱復位時所有子處理器均正確同步

對于其它 IC,在系統層面還可以使用 MCU 內嵌的電壓監控器(上電復位和欠壓復位)

當生成假內部復位時,在調試過程中會有很大幫助

2.時鐘

STM8和STM32時鐘都具有很強大的功能,特別是最近推出的STM32G0具有高精度內部時鐘,可以省去外部晶振,減少硬件及PCB

STM8不具備倍頻功能,各方面相對要弱一點。STM32具有倍頻、外設時鐘分頻等強大功能。同時,STM8和32都具有獨立外設時鐘使能功能,以降低功耗。

看下STM32F1時鐘樹,就大概了解有哪些功能了:

3.存儲器

兩種產品線均基于非易失性存儲器并具有一個選項字節加載器。此機制取代了用于 MCU 上電配置的傳統熔絲位:用戶可以在編程時選擇多種選項,這些選項會隨程序二進制映像一起寫入。

所有新型微控制器都具有以下幾個特性:

暫停、停止或待機模式下的復位:可在 MCU 意外進入低功耗模式時避免發生死鎖情況,適用于不能處理此類配置的應用

硬件/軟件看門狗,可以在復位之后立即通過硬件啟動看門狗

存儲器讀保護,用于防止對程序內容的竊取

存儲器寫保護,用于保護存儲器中包含關鍵代碼的部分。通常,這適用于自舉代碼或IAP(應用內編程)驅動程序

這些選項可自動使能安全性和可靠性特性,這樣即使在 CPU 獲取第一個指令之前出現干擾或攻擊,應用也可以恢復。

STM8S 和 STM32 器件具有嵌入式自舉加載器,通過它可以使用板上串行接口(例如 UART)重新燒寫內部 Flash。隨后可以將任何具有串行通訊接口的 PC 用作編程工具,來燒寫或更新 Flash 以及數據 EEPROM 存儲器的內容。 ST 提供了一個軟件實用程序來執行自舉加載器支持的所有操作。

當然,還有更多系統特性相關的內容,比如安全性、低功耗方面。這些設計都具有高度一致性。

5

軟件

STM8和STM32除了上面描述的一些內容具有高度一致性之外,其實,對應我們軟件開發工程師來說,軟件才是最為關心的一點。

在STM8和STM32產品設計之初,工程師早就考慮過這個問題。因為二者系統、內核及外設都具有一致性,所以軟件庫也是設計具有一致性。

1.寄存器、庫開發

這個我就不說了,從51過來的都知道,對于寄存器比較少的MCU來說,不是問題。對于STM8來說,其實我覺得還好,使用寄存器開發,就是需要更多時間了解寄存器。

我其實不是很建議大家使用寄存器開發,現在STM8有標準外設庫,庫的API函數接口也容易理解,直接拿來省事,也能方便理解寄存器。

那么對于STM32這種有大量寄存器的MCU,我同樣也是不建議大家直接使用寄存器開發,部分功能可以針對庫優化成寄存器。

2.STM8、32CubeMX工具

STM8CubeMX和STM32CubeMX這兩個工具我不止一次在公眾號提到,ST官方的目前的趨勢就是希望用戶使用這個工具來開發。

而且,大家已經發現,STM32有些新出來的MCU是沒有標準外設庫了。所以,這兩個工具建議大家也要學習。

STM8CubeMX目前更新至V1.3.0,只能提供配置,方便了解MCU使用資源情況,還不具備自動生成代碼功能,不過我覺得后面應該具有這個功能。

所以:如果基礎不怎么好,建議先STM8,等學到一定基礎可以再學STM32。如果自認基礎還可以,C語言也行,那么直接上STM32不成問題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356637
  • ARM處理器
    +關注

    關注

    6

    文章

    361

    瀏覽量

    41810
  • 引腳
    +關注

    關注

    16

    文章

    1204

    瀏覽量

    50679
  • STM8
    +關注

    關注

    18

    文章

    392

    瀏覽量

    56842
收藏 人收藏

    評論

    相關推薦

    什么是光子

    ? 本文概述了光子,包括其基本原理、關鍵技術、應用和新興趨勢。 一、光子的基本原理 光子是一門研究光和其他形式輻射能的學科。它涉及使用光學元件、激光、光纖和電子光學儀器來產生、操縱和檢測光。它
    的頭像 發表于 10-29 06:21 ?207次閱讀

    STM8到MSPM0遷移指南

    電子發燒友網站提供《STM8到MSPM0遷移指南.pdf》資料免費下載
    發表于 08-23 08:31 ?0次下載
    <b class='flag-5'>STM8</b>到MSPM0遷移指南

    STM32為什么首選F103C8T6?

    STM32F103C8T6是STMicroelectronics(ST)推出的一款基于ARMCortex-M3內核的32位微控制器單片機(MCU)。它具有一系列優勢和廣泛的應用場景。這里就來介紹一下
    的頭像 發表于 05-18 08:04 ?6192次閱讀
    <b class='flag-5'>學</b><b class='flag-5'>STM32</b>為什么首選F103C<b class='flag-5'>8</b>T6?

    請問STM8如何與STLINK連接?

    幫別人寫一個簡單的程序...用的是STM8S103F3PMCU 手里有STM32F0308Discovery..下載程序的時候該如何用 Discovery上自帶的STLINK給STM8下載程序呢?
    發表于 05-17 07:21

    請問STM8stm32的區別是什么?

    菜鳥群求STM8stm32的區別
    發表于 05-16 06:34

    哪個STM8的開發工具最好用,最便捷?

    最近兩天剛開始搞STM8,本以為用過STM32之后,STM8應該很容易的。沒想到兩天就栽在STM8的開發工具里了,俺實在是才疏學淺,覺得STM8
    發表于 05-15 08:11

    stm8stm32有什么不同?

    stm8stm32有什么不同
    發表于 05-14 07:35

    stm8蜂鳴器引腳關閉時是什么狀態?

    請教一下STM8的BEEP引腳(PD4) 第一個問題:需要配置該引腳為推挽輸出才能用蜂鳴器嗎?還是直接配置蜂鳴器相關寄存器就可以用了? 第二個問題:關閉蜂鳴器以后,該引腳恢復到什么模式,是懸浮輸入
    發表于 05-13 07:25

    測試STM8的UART的時候,STM8S003好像燒不進程序了,為什么?

    小弟剛STM8,遇到個問題,望不吝賜教我剛剛在測試STM8的UART的時候,發現我所使用的STM8S003好像燒不進程序了,就是進入debug界面的時候的程序更新了,然后也跳出bus
    發表于 05-11 08:18

    linux下怎樣開發STM8

    RT,網上很多都是STM32的,但沒有介紹STM8
    發表于 05-07 06:21

    求助,關于STM8供電的疑問求解

    ,led是不是就不能達到5V的最大亮度? 2、led燈和STM8都用5V穩壓芯片輸出的電壓供電。這種情況對STM8有沒有影響? 另外,如果我要使用STM8的ADC的話,需不需要再加一顆參考電壓芯片,
    發表于 04-29 06:42

    請問學習stm是庫函數好還是寄存器好?

    學習stm是庫函數好還是寄存器好?
    發表于 04-28 07:18

    STVP燒錄stm8的hex文件不運行,但在IAR for stm8下調試正常,為什么?

    可以運行,但再一次燒錄同一hex文件后又不能運行,不明白這是什么原因。以前用stm8的時候從未遇到這樣奇怪的問題,我感覺是軟件設置的問題,但實在找不到原因,請各位高手不吝賜教,謝過了。我用的編程器是ST-link/V2
    發表于 04-10 08:17

    IAR FOR ARM和IAR FOR STM8無法共存怎么解決?

    IAR FOR ARM和IAR FOR STM8無法共存, 先用的ARM開發STM32,最近有個STM8的要開發。 電腦:WIN10 64位。 ARM版本:EWARM-CD-8321-18631
    發表于 04-07 07:39

    基于薄膜鈮酸鋰的高性能集成光子研究

    3月25日,Marko Lon?ar 博士出席光庫科技與 HyperLight 聯合主辦的“薄膜鈮酸鋰光子技術與應用”論壇,并發表了題為“基于薄膜鈮酸鋰的高性能集成光子”的演講。
    的頭像 發表于 03-27 17:18 ?933次閱讀
    基于薄膜鈮酸鋰的高性能集成光子<b class='flag-5'>學</b>研究
    主站蜘蛛池模板: 国产精品性| 特黄一级视频| 欧美成人免费| 一级毛片免费全部播放| 女性私密部位扒开的视频| 成人人免费夜夜视频观看| 天天视频观看| 777奇米影视一区二区三区| 69久久| 午夜影院视频| 欧美在线bdsm调教一区| 波多野结衣50连精喷在线| japan日韩xxxx69hd| 日本xxxxx69| aa视频在线观看| www.91大神| 中国女人a毛片免费全部播放| 亚洲国产成人久久三区| 国产精品第9页| 亚洲va中文字幕无码| 综合网 色天使| 偷偷要色偷偷| 婷婷色爱区综合五月激情韩国| 四虎影院永久| 四虎国产永久在线精品免费观看| 婷五月综合| 欧美三级小视频| 男女爱爱福利| 国产ar高清视频+视频| 天天操天天射天天色| 台湾毛片| 网站在线观看视频| 欧美3区| 一本大道一卡二卡四卡| 又粗又大又猛又爽免费视频| 亚综合| 亚洲五月婷婷| 四虎精品影院在线观看视频| 蕾丝视频在线播放| 天天看天天摸色天天综合网| 免费观看成人欧美1314www|