5款國產ARM芯片(對標stm32f103c8t6)測試評估

5款國產ARM-Cortex3芯片(對標stm32f103c8t6)兼容性測試評估

前言:

​ 國產arm芯片近年來不斷的開疆拓土,建功立業。然而,隨着大變局時代的開啓,美國對中國科技的打壓,對中國芯片的鎖脖,ST芯片價格的一再高漲,更加有力推動了國產arm芯片的蓬勃發展。可以預計的未來,隨着國產arm在價格上的優勢和性能上的不斷提高,隨着國內企業對國外芯片不確定性恐懼的逐漸加深,國產arm市佔率必定持續攀升。

​ 因此, 很有必要把幾款國產芯片拿來說說事。一般的設計者都希望能直接兼容替代對應的ST產品,本文也主要探討各個產品基本的兼容性。如程序運行、下載等。拿來的5種國產芯片分別是:

GD32F103c8t6(北京易兆創新)

APM32F103c8t6(珠海極海)

HK32F103c8t6(深圳航順)

CKSF103c8t6(無錫中科芯)

CH32F103c8t6(南京沁恆)

五種數據手冊可下載:https://download.csdn.net/download/weixin_41565556/14121823

測試平臺:STm32最小系統,只更換芯片,其餘不變,

軟件:keil和Stm32CubeProgrammer

程序:HAL庫,blink程序

工具:usb轉串口

在這裏插入圖片描述

一、管腳兼容性

每個芯片的手冊裏的管腳定義分別如下5個圖,可以看到都兼容ST芯片。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述




二、結構框架、總線安排、時鐘分配等

爲保證兼容性,架構基本一致。因爲內核一樣,所以只能最多在外設等安排上進行刪減,總體上和ST結構類似。這裏只列舉ST公司和CH公司的參考比較。
在這裏插入圖片描述


三、寄存器、存儲器地址映射

**這個決定了芯片外設是否兼容,能否可以使用st官方驅動庫。**不一樣的地方、或者有增強的地方、或者省去的地方都可以一目瞭然,並且按照變化來增加或者刪減相關配置。其中只有GD芯片沒有按圖的方式,而是以表的方式給出,其它數據手冊都是按照自己的圖的方式給出。比較可以看出,基本外設地址都是一致的,部分的器件有功能的增加和減少,**這也意味着絕大多數的功能是可以兼容的,但用到一些特定的功能時,需要參考官方例程或者庫,或者移植寄存器地址設置。**例如CH公司在地址0x4002 3400處增加了自己的USBHD地址映射,這是其他芯片沒有的,加之其自有的BOOT,所以能夠輕鬆實現USB下載固件。其它可以按下圖仔細比較異同。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述








四、自帶的Bootloader兼容性評估

還是以ST的串口下載爲例,以目前官方主推的STM32CubeProgrammer軟件爲標準,看看是否能夠順利下載並運行點燈程序。

在這裏插入圖片描述
程序採用ST官方的HAL庫,主程序代碼如下:blink燈

int main(void)
{
   
   
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
   
   
    /* USER CODE END WHILE */
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
	HAL_Delay(1000);
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
	HAL_Delay(1000);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

在這裏插入圖片描述
測試結果:

GD32、APM32可以通過此軟件下載,其它幾種不可以,說明GD32和APM的BootLoader是和STM32兼容的

五、flash下載算法兼容性評估

兩種方法比較,一種是在編譯環境中,如keil裏採用stlink下載,算法仍然選擇ST中密度的。如下圖。

在這裏插入圖片描述
在這裏插入圖片描述

另外一種方法是仍然用STM32CubeProgrammer軟件下載,採用SWD方式下載。硬件連接方式和軟件配置如下:
在這裏插入圖片描述
在這裏插入圖片描述

測試結果:

GD32、APM32、HS32、CSK32都可以可以正常下載,只有CH32不可以,說明只有CH32的flash算法和ST不兼容。

值得說明的是,CH給出了自己的算法,但需要安裝依賴包器件庫,這樣在keil裏也可以正常下載,另外他自己的bootloader支持串口和usb下載,具體可參考博文:https://blog.csdn.net/weixin_41565556/article/details/111619741
部分公司也提供了自己的器件庫,可方便在keil環境裏開發。

六、總結

國產芯片都有較好的兼容性,並且各有特點,和ST對標,絕大部分內容都是兼容的,其它自身特點和新功能需要仔細查看數據手冊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章