今日帶來能夠完美替代STM32的產品是航順的HK32F103VET6和HK32F030M,后者是業界首顆1元內32位MCU產品。
航順芯片2014年成立于深圳,代理深圳市禾川興科技有限公司,軟硬件全兼容進口MCU航順造,作為世界頂級MCU研發團隊所打造的通用MCU平臺級企業,航順將孵化超過100+專用領域MCU原廠,打造強大MCU生態合作航空母艦,繼而深入耕耘孵化扶持航順內外部科技青年完成“航順無邊界科技生態平臺萬億級世界偉大企業戰略夢想。
21ic壇友zeshoufx表示,一次偶然機會在一個群里,一位群友發“ST低成本高性價比替代方案”,了解了航順科技,進入官網后覺得是一個很不錯的國產集成電路公司:因為他們除了做MCU外,存儲、電源、驅動、模擬都有涉及,MCU包括32位和8位,存儲包括spi型flash和EEPROM,電源包括DC-DC,LDO等,驅動主要是LCD驅動,模擬器件主要是各種運算放大器。
多說無益,直接看幾個21ic家網友關于這兩款開發板的測評:
【技術文檔】HK32F103VET6點亮LED 用戶:tlled 第一次使用HK32F103VET6的芯片,看芯片資料引腳和功能兼容STM32F103VET6,ST的芯片最近漲價漲的太離譜了,想測試下這個國產芯片來替代STM32F103,支持國產芯片。
在官網申請芯片也沒有申請到,就在X寶上購買了一片。芯片是LQFP100引腳的,發現購買的芯片引腳不是很對位,還好焊接沒有短路,上電先跑個點燈程序。官網也沒有找到芯片SDK包文件,翻論壇的帖子看到有下載資料的鏈接:https://bbs.21ic.com/icview-3055190-1-2.html
一、安裝軟件包 官網可以下載到IAR和MDK對應pack文件,我使用的是MDK,下載對應的文件。
二、硬件 開發板是自己設計的,點燈的硬件端口是PD3和PE0.
三、程序 3.1、GPIO端口應用分析
通過點燈程序來學習HK32F103芯片的GPIO端口的應用,通過HK32F103xCxDxE用戶手冊_V1.0.0來了解下GPIO端口的功能。 GPIO端口的每個位可以由軟件分別配置成多種模式,可配置的模式有下面內容: -- 輸入浮空
-- 輸入上拉
-- 輸入下拉
-- 模擬輸入
-- 開漏輸出
-- 推挽式輸出
-- 推挽式復用功能
-- 開漏復用功能
每個端口都可以根據硬件的功能來配置。
對應的程序部分
我的板子硬件外接的LED燈是上拉電阻到電源正極,可以配置的端口模式為開漏輸出或推挽式輸出。
HK32F103芯片的GPIO配置和STM32F103芯片的GPIO配置看資料是一樣的,代碼應該可以兼容使用的。
3.2、運行一個簡單的點燈程序
對應的GPIO口配置為輸出,程序里面我配置為推挽式輸出。 代碼:led.c
#include “led.h”#include “delay.h”void Led_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE, ENABLE); GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = LED0_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(LED0_GPIO_PORT, &GPIO_InitStructure); LED0_OFF; LED1_OFF;}
代碼:main.c
3.3、選擇開發工具
3.4、程序代碼
HK32F103C8T6_template(Keil v5).rar (4.31 MB, 下載次數: 4)
(下載鏈接:
https://bbs.21ic.com/forum.php?mod=attachment&aid=MTYwNTM3NHxmMGNkODViOXwxNjExMTI1OTQ2fDMwMjk2NTZ8MzA2MTE1Mg%3D%3D)
四、程序執行
下載程序后,復位板卡,開發板上的兩個LED交替點亮,實際拍攝視頻轉換成GIF圖片,看著效果不是很清晰,還是能夠看出交替點亮過程。
[HK32F030M]嚴謹的跑個分,不嚴謹的調個皮(頻),附測試源碼用戶:gddddd 先簡介一下來龍去脈,之前用HK32F030M做過一次CoreMark的跑分,但當時剛入手芯片,還沒弄清楚狀況,為了適應2Kram將CoreMark魔改過一番,但就是這番魔改導致跑分項目是不完整的,于是最后計算的分數也就虛高了。
后來經過測試發現其實HK32F030M也是有4Kram的,也就有了今天的這個完整也相對嚴謹的跑分成績了,但因為HK32F030M本身是沒有PLL倍頻的,所以高頻時加上flash等待后的結果就不如STM32F030來得順滑了,有深入興趣的壇友可以源碼再細調參數看看,總的來說54Mhz以下可以一戰。 好了話不多說直接上圖看療效,每Mhz得分在1.84左右,比STM32F030的每Mhz得分1.67左右稍微高一點點,還是相當不錯了,性價比杠杠的
下面是不嚴謹的調個頻,首先需要說的是實際產品應用請不要超頻使用,極少數場合比如對時序有較高要求(GPIO模擬低速USB時的666.6667ns就需要48Mhz的主頻來實現)可以考慮稍微調個皮來適配。 再就是這款HK32F030M本身沒有PLL鎖相環來倍頻,調整頻率靠的是RCC_CR中的HSICAL粗調和HSITRIM細調,而且調節方式也并不是手冊中提到的粗調2%和細調0.2%,而是一種非線性的比值,我也是靠笨辦法(主要是我懶,用示波器看MCO輸出的話才會精確)用串口是否亂碼來調節的頻率,因為串口本身誤碼率是有范圍的,所以調節的結果當然是相當的不嚴謹。
另一個原因是我手上的幾片HK32F030M出廠的HSICAL都是0x1C,但HSITRIM的值卻有不同,所以這種粗調加細調的方式調節主頻也有很大局限性,萬一出廠的HSICAL值不為0x1C的話那就會有很大頻率偏差。 但有興趣的壇友也可改改參數玩一玩,我是最高調整到了108Mhz,得分嘛就呵呵(高頻低能),所以我還是太年輕,太不嚴謹了,源碼僅供搗鼓玩耍,不要噴我,噴我~我也不負責任。 最后上兩張圖,標示出了調整頻率的地方,已經設置了32M、48M、54M、72M、96M、108M幾個選項,需要其他頻率的自己再搗鼓了。
最后說說這款MCU真的很不錯,VECT_TAB_OFFSET的設定很適合做IAP啊,這個可是CORTEX M0+和M3的功能,EEPROM雖然少點但也很實用,如果有DMA的話就吊炸天了。等空了打算研究一下圈圈的USB書,做個USB方式的IAP那就真香了。
HK32F030MF4P6_UpClock_Demo_coremark-loop.zip (316 KB, 下載次數: 10) (下載鏈接:https://bbs.21ic.com/forum.php?mod=attachment&aid=MTUyODUzMHxmMzhlYWYxN3wxNjExMTI3MjU4fDMwMjk2NTZ8MzAyMDY4Mg%3D%3D) 航順MCU開發入門及常見問題匯總 用戶:ifxz0123 問題0、航順(HK)MCU所需的IDE、仿真調試工具、批量燒錄工具分別是什么?是否有說明文檔?
答:開發環境(IDE):Keil(for ARM)、IAR(for ARM)。凡是開發過STM8、STM32、STC51的想必對這兩個軟件很熟悉,至少也有所耳聞。目前市面上流行的32位ARM架構的MCU,大部分用的都是這兩款軟件。 STM8的芯片開發還可以用ST自家的開發工具(IDE)STVD,免費的使用。當然,還有一些其他的IDE,我沒用過,這里也就不提了,有興趣的請自行網上搜索。(Keil建議V5版本)。
仿真調試工具:航順的MCU和ST的32位MCU一樣都是ARM CortexM0、CortexM3的內核,所有都是支持SWD調試接口的,因此ST的32位MCU調試工具,如J-LINK、U-Link、ST-Link、DAP-Link等都是可以用的。 國產的其他家的32位的ARM CortexM0/CortexM3的芯片這些仿真調試工具一般依舊是可以使用的。 批量燒錄工具:目前,好像航順沒有出自家的批量燒錄器,基本上都是第三方的。
第三方燒錄器清單_20200918.zip (5.57 KB, 下載次數: 10) 航順現在也出了自家的離線批量燒錄器
航順RX-0001離線編程器說明書 v1.0.00.pdf (1.34 MB, 下載次數: 2) (請點擊閱讀原文到原貼內下載) 補充: HK單獨的在線燒錄軟件: ST的STVP軟件:只支持同型號的航順MCU燒錄、讀寫FLASH、讀寫選項字、以及使能取消讀寫保護等。
JLINK Flash V6.70e:支持航順全系列MCU的燒錄。需要注意的是JLINK驅動必須是6.0以上,并且打了航順MCU的補丁包。
STM32 ST-LINK Utility:(測試了HK32F030F4P6,代碼正常運行)
HK Config:航順32MCU編程配置工具,航順自家出品的燒錄軟件,需要JLINK作為工具,支持航順全系列的MCU。能實現程序的燒錄、讀、選項字的配置等。
問題1、航順和ST同型號MCU的軟硬件兼容是啥意思?不用改硬件嗎?不用改軟件嗎?ST的程序能直接燒錄到HK的芯片里運行嗎?
答:是的,基本不用改硬件電路,基本不需要改動軟件代碼,可以直接將ST的程序直接燒錄到HK的芯片里運行,因為航順的芯片內核是ST的是一樣的,并且寄存器及寄存器地址也是一樣的。
可以用Keil + 仿真器,IAR + 仿真器,把程序燒錄到HK的芯片里。如果下載不成功,請安裝HK的MCU器件庫,并將工程芯片型號設置為HK的型號,工程的燒錄算法設置為HK的燒錄算法,然后編譯、連接、Download。 注意,ST的型號要和HK的型號對應,舉例STM32F030C8T6 -》 HK32F030C8T6, STM32F103C8T6 -》 HK32F103C8T6。 如果程序直接下載到HK的芯片,上電后運行有問題,請根據航順的芯片應用筆記對程序進行微調,讓芯片正確工作。
問題2、可以使用STM32MxCube開發航順的單片機嗎? 答:可以的,只要是和ST的MCU軟硬件兼容的同型號的航順單片機,是可以用STM32MxCube開發的。但是在應用中碰到航順應用筆記列舉的問題是需要手動去添加或修改一些代碼,讓航順的正確工作起來。 目前,航順的F103/F030/F031系列是可以的。 航順的MCU哪些型號是支持用STM32MxCube開發的呢,請看下圖:(只列舉了部分常用型號)
審核編輯:湯梓紅
-
單片機
+關注
關注
6023文章
44376瀏覽量
628407 -
mcu
+關注
關注
146文章
16667瀏覽量
347791 -
STM32
+關注
關注
2258文章
10828瀏覽量
352493 -
開發板
+關注
關注
25文章
4771瀏覽量
96178 -
航順芯片
+關注
關注
1文章
96瀏覽量
22740
發布評論請先 登錄
相關推薦
評論