娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

STM32有哪些國產替代者?

發布者:EtherealLight最新更新時間:2024-08-20 來源: elecfans關鍵字:STM32  MCU 手機看文章 掃描二維碼
隨時隨地手機看文章

說起MCU,ST(意法半導體)的STM32單片機十幾年來已經銷售了幾十億顆,在國內幾乎占有50%的市場,會使用STM32單片機也基本成為電子工程師的標配職業技能,然而2018年下半年的供貨緊張,以及中興事件,給我們硬件工程師敲了敲警鐘,假如有一天我們必須替換下STM32單片機,國產芯有哪些是可以替代的呢?

d8f7790c-57dd-11eb-8b86-12bb97331649.jpg

北京兆易創新-GD32系列 GD32作為中國32位通用MCU領域的主流之選,以累計超過2億顆的出貨數量、超過1萬的用戶數量、20個系列300余款產品型號選擇的廣闊應用覆蓋率穩居市場前列。GD32使用的是Cortex-M3內核,型號做到了與STM32相同型號的全兼容,方便替換,主頻頻率更高。


GD32F103是GD早期的產品,GD32E103和GD32F303是對GD32F103的升級和優化,所以4者是兼容的,雖然內核不同,但是通用外設幾乎很少涉及到內核部分,在時間急迫的情況下可以使用ST的庫開發。

d94a1694-57dd-11eb-8b86-12bb97331649.png

一、相同點

1)外圍引腳PIN TO PIN兼容,每個引腳上的復用功能也完全相同。

2)芯片內部寄存器、外部IP寄存器地址和邏輯地址完全相同,但是有些寄存器默認值不同,有些外設模塊的設計時序上和STM32有差異,這點差異主要體現在軟件上修改,詳情見下文。

3)編譯工具:完全相同例如:KEIL 、IAR

4)型號命名方式完全相同,所以替代只需找尾綴相同的型號即可,例如:STM32F103C8T6 與 GD32E103C8T6。

5)仿真工具:JLINK GDLINK

二、外圍硬件區別

三、硬件替換需要注意的地方

d98b9e70-57dd-11eb-8b86-12bb97331649.png

從上面的介紹中,我們可以看出,GD32F30/E103系列和STM32F103系列是兼容的,但也需要一些注意的地方。

1)BOOT0必須接10K下拉或接GND,ST可懸空,這點很重要。

2)RC復位電路必須要有,否則MCU可能不能正常工作,ST的有時候可以不要。

3)有時候發現用仿真器連接不上。因為GD的swd接口驅動能力比ST弱,可以有如下幾種方式解決:

a、線盡可能短一些;

b、降低SWD通訊速率;

c、SWDIO接10k上拉,SWCLK接10k下拉。

4)使用電池供電等,注意GD的工作電壓,例如跌落到2.0V~2.6V區間,ST還能工作,GD可能無法啟動或工作異常。

四、使用ST標準庫開發需要修改的地方

1)GD對時序要求嚴格,配置外設需要先打開時鐘,在進行外設配置,否則可能導致外設無法配置成功;ST的可以先配置在開時鐘。

2)修改外部晶振起振超時時間,不用外部晶振可跳過這步。

原因:GD與ST的啟動時間存在差異,為了讓GD MCU更準確復位。

修改:

將宏定義:#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)修改為:#define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF)

3)GD32F10X flash取值零等待,而ST需要2個等待周期,因此,一些精確延時或者模擬IIC或SPI的代碼可能需要修改。

原因:GD32采用專利技術提高了相同工作頻率下的代碼執行速度。

修改:如果使用for或while循環做精確定時的,定時會由于代碼執行速度加快而使循環的時間變短,因此需要仿真重新計算設計延時。使用Timer定時器無影響。

4)在代碼中設置讀保護,如果使用外部工具讀保護比如JFLASH或脫機燒錄器設置,可跳過此步驟。

在寫完KEY序列后,需要讀該位確認key已生效,修改如下:

總共需要修改如下四個函數:

d9e3aed0-57dd-11eb-8b86-12bb97331649.png

FLASH_Status FLASH_EraseOptionBytes(void);FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address, uint8_t Data);uint32_t FLASH_GetWriteProtectionOptionByte(void);FlagStatus FLASH_GetReadOutProtectionStatus(void);

5)GD與ST在flash的Erase和Program時間上有差異,修改如下:

da19a10c-57dd-11eb-8b86-12bb97331649.png

6)需求flash大于256K注意,小于256K可以忽略這項。

與ST不同,GD的flash存在分區的概念,前256K,CPU執行指令零等待,稱code區,此范圍外稱為dataZ區。兩者在擦寫操作上沒有區別,但在讀操作時間上存在較大差別,code區代碼取值零等待,data區執行代碼有較大延遲,代碼執行效率比code區慢一個數量級,因此data區通常不建議運行對實時性要求高的代碼,為解決這個問題,可以使用分散加載的方法,比如把初始化代碼,圖片代碼等放到data區。

總結:至此,經過以上修改,在不使用USB和網絡能復雜協議的代碼,就可以使用ST的代碼操作了。

上海靈動微電子-MM32系列 MM32系列基于ARM Cortex-M0及Cortex-M3 內核,產品包括:針對通用高性能市場的MM32F系列,針對超低功耗及安全應用的MM32L系列,具有多種無線連接功能的MM32W系列,電機驅動及控制專用的MM32SPIN系列,以及OTP型的MM32P系列等,同樣的管腳、型號等與ST全兼容,替換成本非常低。

da38da18-57dd-11eb-8b86-12bb97331649.jpg

華大半導體-HC32系列 有國企背景的HC32系列基于ARM Cortex-M0+及Cortex-M4內核,產品包括超低功耗應用的HC32L系列和針對電機應用市場的HC32M系列,針對通用市場的高性價比HC32F系列,與ST同型號產品管腳兼容,可以直接替換。

da665b96-57dd-11eb-8b86-12bb97331649.jpg

中科芯(CETC)

da8941d8-57dd-11eb-8b86-12bb97331649.png


中科芯的32位MCU產品可批量替換STM32的F103、F030、F031和F051等系列。基于ARM架構覆蓋Cortex-M0、M3、M4內核八大系列產品,硬件引腳與STM32 P2P兼容,軟件采用寄存器級兼容設計,對于已經使用ST系列MCU開發完成的程序,HEX文件可直接燒錄到中科芯對應型號的MCU中即可運行,無需過多改動。

雅特力(Artery)


雅特力的AT32F403A/F407/ F413/ F415/F421系列,可批量替換STM32的F030、F303、F103、F107、F072、F401和F411等系列,其產品硬件引腳與STM32 P2P兼容,軟件高度兼容,由于內核、SRAM、外設等性能相比STM32大幅度提升,AT32可一顆取代多顆STM32,另外還獨有安全性&二次開發功能: security Lib,更寬的工作溫度:-40~105度。

中微股份(CMSemicon)



中微股份的高性能低功耗高集成全領域的MCU,可批量替換STM32F030/031系列、STM32G030/031系列和STM32L031/051系列。

航順(Hangshun)

dbc85bc4-57dd-11eb-8b86-12bb97331649.png

dc248804-57dd-11eb-8b86-12bb97331649.png

航順已量產基于ARM Cortex-M0及Cortex-M3 內核的MCU產品包括:通用高性能市場的HK32F103家族,HK32F030/031/03X家族,存儲器EEPROM家族。2019年即將推出的超低功耗7nA及安全應用的HK32L家族以及具有多種無線連接功能的HK32W/B家族,以滿足客戶多元化需求。 國產芯任重道遠 國產芯片在國內MCU市場的占有率在2%左右,市場非常低,還有很大的進步空間。以GD32為代表的國內芯片廠商的崛起勢必沖擊ST,但是我們也必須看到與ST之間的差距,產品線不完整,產品性能以及穩定性還不能完全與其匹敵,未來5年能搶下多少份額,我們拭目以待。


關鍵字:STM32  MCU 引用地址:STM32有哪些國產替代者?

上一篇:關于STM32單片機的介紹
下一篇:淺談STM32定時器的輸入捕獲功能

推薦閱讀最新更新時間:2025-06-04 06:11

STM32與GD32單片機
一、相同點 都是基于Arm Cortex-M3/M4內核的32位通用微控制器,廣泛應用于各種嵌入式系統和物聯網領域。 二、不同點 1.1 內核和主頻 GD32單片機采用的是二代的M3/M4內核;根據ARM公司的M3內核勘誤表,GD32使用的內核只有一個BUG。 STM32單片機主要采用的是一代的M3/M4內核;STM32使用的內核有多個BUG1。 所以GD32的內核更穩定和可靠! 高速外部時鐘(HSE)時,GD32的主頻最大可以達到108MHz,STM32的主頻最大只能達到72MHz; 高速內部時鐘(HSI)時,GD32的主頻最大可以達到108MHz,STM32的主頻最大只能達到64MHz2; 主頻越高,意味著單片機代碼運行的速度
[單片機]
不用串口,如何打印STM32單片機log
本文主要介紹在嵌入式開發中用來輸出log的方法。 最常用的是通過串口輸出uart log,這種方法實現簡單,大部分嵌入式芯片都有串口功能。但是這樣簡單的功能有時候卻不是那么好用,比如: 一款新拿到的芯片,沒有串口驅動時如何打印log 某些應用下對時序要求比較高,串口輸出log占用時間太長怎么辦?比如USB枚舉。 某些bug正常運行時會出現,當打開串口log時又不再復現怎么辦 一些封裝中沒有串口,或者串口已經被用作其他用途,要如何輸出log 下文來討論這些問題。 1輸出log信息到SRAM 準確來說這里并不是輸出log,而是以一種方式不使用串口就可以看到log。在芯片開發階段都可以連接仿真器調試,可以使用打斷點的方法調試,但是有
[單片機]
不用串口,如何打印<font color='red'>STM32</font><font color='red'>單片機</font>log
如何用STM32單片機蜂鳴器來演奏音樂
本文用STM32單片機蜂鳴器來演奏音樂,用的開發軟件是STM32CubeIDE。 蜂鳴器 有源蜂鳴器 內部有震蕩源,只要通電就會有響聲,但是聲音頻率固定。 無源蜂鳴器 內部不含振蕩源,蜂鳴器管腳輸出一定頻率的信號,才能發聲。 本實例中用到的是無源蜂鳴器,控制頻率高低發出不同聲調的聲音。 電路原理圖 由電路原理圖可知,蜂鳴器在PB5管腳,以一定頻率翻轉PB5管腳的電平,可以使蜂鳴器發聲。 STM32工程 打開STM32CubeIDE軟件,新建STM32工程。關于STM32CubeIDE軟件的使用方法,可以參考此文:STM32中PWM的配置與應用詳解。 配置時鐘。 項目設置。 設置調試模式。 開啟PB5管腳。
[單片機]
如何用<font color='red'>STM32</font><font color='red'>單片機</font>蜂鳴器來演奏音樂
STM32單片機通用定時器的編程設計
一、STM32通用定時器原理 STM32系列的CPU,有多達8個定時器,其中TIM1和TIM8是能夠產生三對PWM互補輸出的高級定時器,常用于三相電機的驅動,它們的時鐘由APB2的輸出產生。其它6個為普通定時器,時鐘由APB1的輸出產生。 下圖是STM32參考手冊上時鐘分配圖中,有關定時器時鐘部分的截圖: 從圖中可以看出,定時器的時鐘不是直接來自APB1或APB2,而是來自于輸入為APB1或APB2的一個倍頻器,圖中的藍色部分。 下面以通用定時器2的時鐘說明這個倍頻器的作用:當APB1的預分頻系數為1時,這個倍頻器不起作用,定時器的時鐘頻率等于APB1的頻率;當APB1的預分頻系數為其它數值(即預分頻系數為2、4、8或
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>通用定時器的編程設計
STM32單片機的按鍵檢測程序設計
STM32的按鍵檢測相對比較簡單,首先按部就班的初始化連接的到的i/o,然后寫一個按鍵掃描函數,這個和51單片機的差不多。 以下是一個比較典型的例子: 利用按鍵控制LED: key.h文件 #ifndef__KEY_H #define__KEY_H #include“sys.h“ #defineKEY0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//讀取按鍵0 #defineKEY1 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)//讀取按鍵1 #defineKEY2 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)//讀取按鍵2
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>的按鍵檢測程序設計
基于STM32單片機流水燈控制中的GPIO_Init()函數解析
學習STM32時,首先要熟悉流水燈例程,在這里就來分析流水燈中的GPIO_Init()函數 例如:流水燈例程中使用的端口是macLED1_GPIO_PORT=GPIOB, 控制的引腳是GPIO_Pin_0, 引腳的模式是GPIO_Mode_Out_PP(通用推挽輸出), 引腳的速率是GPIO_Speed_50MHz, 用到的寄存器是CRL 將上述的引腳、模式、速率換算成32位的16進制,分別是: 1)控制的引腳是GPIO_Pin_0 換算成32位的16進制是:0x0000 0001 2)引腳的模式是GPIO_Mode_Out_PP(通用推挽輸出) 換算成32位的16進制是:0x0000 0010 3)引腳的速率是GPIO_Sp
[單片機]
基于<font color='red'>STM32</font><font color='red'>單片機</font>流水燈控制中的GPIO_Init()函數解析
STM32單片機如何進行中斷調試
1、基本的GPIO配置,注意,因為需要用到普通IO口作為中斷輸入口,因此是用了IO口德復用功能,因此必須打開RCC_APB2Periph_AFIO時鐘,負責復用IO無效。 2、IO口復用功能映射 3、嵌套中斷向量配置 調試發現這幾句話是必須要的,不然不能產生中斷!!! NVIC_IRQChannel 這里的值需要注意一下,與固件庫給出的值不符!!定義在stm32f103x.h頭文件中。 4、外部中斷/事件配置 5、在stm32f10x_it.c中添加中斷處理函數,函數名稱格式為(PPP代表中斷名稱) 函數名稱在startup_stm32f10x_xx.s中尋找。 記得還需要在stm32f10x_it
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>如何進行中斷調試
STM32單片機中UART的使用過程
1、使用UART前必須啟動相應的外設時鐘,其主要用到固件庫的RCC_APBnPeriphClockCmd函數。 使能UART1:使用RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE) 使能UART2:使用RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2 , ENABLE) 2、使用中斷進行UART操作的需要配置NVIC,設置中斷優先級。如: /* Configure the NVIC Preemption Priority Bits */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0
[單片機]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 汝城县| 兴业县| 汪清县| 高密市| 瓦房店市| 宜良县| 六枝特区| 清镇市| 红河县| 和龙市| 清河县| 桦川县| 高碑店市| 集贤县| 深泽县| 青阳县| 长汀县| 青冈县| 辽宁省| 专栏| 龙山县| 兰溪市| 沧州市| 库车县| 土默特左旗| 丰台区| 兴业县| 宁都县| 镇原县| 三穗县| 高邮市| 麻城市| 英山县| 乡宁县| 泰兴市| 囊谦县| 封开县| 怀安县| 凭祥市| 武义县| 安岳县|