STM32F103單片機工程移植到航順單片機HK32F103注意事項

一、簡介

????????作為國內MCU廠商中前三陣營之一的航順芯片,建立了世界首創超低功耗7nA物聯網、萬物互聯核心處理器浩瀚天際10X系列平臺,接受代理商/設計企業/方案商定制低于自主研發十倍以上成本,接近零風險自主品牌產品,芯片設計完成只需三個月,量產只需六個月。

????????目前,航順芯片的產品主要有四大類:大MCU類、大存儲類、大電源管理類、LCD/LED液晶驅動類。基于當下物聯網和智能設備領域的強勁需求,航順芯片著力打造超低功耗、高性能以及特定應用等物聯網MCU產品。

二、STM32F103與HK32F103對比

????????國產HK32F103xx,可直接替換ST的STM32F103C8T6、STM32F103R8T6,不用改程序。對比一下和ST的STM32F103xx的數據手冊,可以發現兩者的寄存器是一模一樣的。

概述

1、STM32F103穩定,價格貴,大牌廠商生產,服務及時,安全性極差;

2、HK32F103性能稍弱,價格便宜,國內公司生產,服務一般,安全性稍好;

資源

1、STM資源豐富,型號眾多,選擇性強;

2、HK32F103資源也不少,但是型號偏少,選擇性稍低;

3、HK32F103運行速度稍微強過STM32F103,但偶爾不穩定;

4、HK32F103和STM32F103的引腳定義與IO相同,內核一樣,需要小修改一下,但是HK32是有自己庫的,寄存器不一樣,如果是STM32F103的要完全移植到HK32F103需要花點時間。

5、加密性對比:據測試,STM32F103程序加密后被破解的時間只要半小時,而HK32F103破解則需要2天。顯而易見,HK32F103加密性能稍強,但還是需要提升,希望廠商盡快彌補;

6、售后:STM不管是燒錄生產還是售后服務都達到國際一流,HK還有很多第三方燒錄器沒有配套完善,廠商的代理、方案商也在建立中,不過HK在國內屬于最直接接近STM、GD的品牌,價格優勢極大。

三、注意事項

用慣了ST公司的M3系列單片機,而又要支持國產,所以找到了國產航順M3系列,驗證實驗如下:

1.將以前一個使用STM32F103RET6做的一個項目的PCB板子拿來,將板子上STM32芯片使用風槍吹下來,直接替換成HK32F103RBT6芯片;

2.使用STLink結合MDK5.27來調試;

3.直接下載程序;

問題一:

下載后,程序能夠跑起來,引腳控制、串口輸出、flash讀寫等等都沒有問題,唯一的問題是:感覺所有動作都慢半拍,運行得很慢!

測試

在systick中斷函數中讓板子上的任意一個IO口用作輸出,并每進一次中斷讓IO翻轉電平一次,發現本來1ms進入一次中斷,但是實際測試為8.7ms進入一次中斷。

找原因

1.首先懷疑是因為外部晶振沒有起振,導致芯片自動使用了內部低速時鐘:用示波器看晶振波形,結論是:晶振工作正常;

2.懷疑程序中其他程序模塊的影響:主函數中,將其他程序全部注釋掉,只剩下延時和LED,結論是:并不是這樣的;

3.一陣瞎折騰……

結論

最終結論:航順芯片內部啟動外部高速時鐘HSE耗時比STM32長一點,以至于在執行如下庫函數代碼時超時跳出,沒能正常啟動外部高速時鐘HSE:

解決辦法

1.打開stm32f10x.h,找到如下一行;

2.將超時時間HSE_STARTUP_TIMEOUT改長一些,這里將0x0500改為0xFFFF;(這里為了穩定,直接改為最長;實際改為0xF500即可),具體改為多長,可以測試。

3.重新編譯下載,解決問題。

..................

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23540.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23540.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23540.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

spring整合kafka

原文鏈接&#xff1a;spring整合kafka_spring集成kafka-CSDN博客 1、導入依賴 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.5.10.RELEASE</version> </depende…

Arthas Profiler 事件監控場景介紹

CPU 使用情況 (cpu) 場景描述&#xff1a; 當應用程序響應緩慢或者CPU使用率異常高時&#xff0c;開發者需要找出導致高CPU消耗的具體方法調用。通過監控CPU使用情況&#xff0c;可以識別出那些占用大量CPU時間的熱點方法。 使用Arthas的步驟&#xff1a; 啟動CPU profiler:…

編譯等底層知識

目錄 一. GCC命令語句大全 二. GCC編譯4個階段 三. makefile的使用 四. CMake 五. GNU工具鏈開發流程圖 六. Keil中的地址段 七. 靜態庫和動態庫 一. GCC命令語句大全 -c只編譯源文件&#xff0c;生成目標文件&#xff08;.o 文件&#xff09;&#xff0c;不進行鏈接。…

CC++內存管理【new和delete操作符的詳細分析】【常見面試題】

C/C內存管理 1.C/C內存分布 我們先來看一段代碼&#xff0c;來了解一下C/C中的數據內存分布。 # include <stdlib.h>int globalVar 1; static int staticGlobalVar 1; // 比globalVar還要先銷毀,同一個文件下后定義的先析構 // 全局變量存在 數據段&#xff08;靜態…

[Unity]播放音頻卡頓問題

記錄一個問題&#xff1a; 游戲內播放完音頻A再去循環播放音頻B&#xff0c;在協程里使用等待n秒來實現拼接&#xff0c;發現在個別手機上會有卡頓的問題&#xff0c;盲猜是和幀率有關。 這是最初的實現方案&#xff1a; IEnumerator IEPlayAudio(){if(ASOnBeginDrag ! null)…

VSCode+Vite+Vue3斷點調試

目錄 lunch.json創建 vite.config.ts 打斷點運行 lunch.json創建 首先&#xff0c;點擊VSCode左上角&#xff0c;甲殼蟲運行的按鈕&#xff0c;然后點擊運行與調試&#xff0c;選擇chrome瀏覽器&#xff0c;修改成一下配置。 { // 使用 IntelliSense 了解相關屬性。 // 懸停…

codeforces round 949 div2

A Turtle and Piggy Are Playing a Game 題目&#xff1a; 思路&#xff1a;輸出2的冪次b使得2^b為最大的不超過x的數 代碼&#xff1a; #include <iostream>using namespace std;const int N 2e5 10;void solve() {int l, r;cin >> l >> r;if(r % 2) …

vscode 運行和調試

vscode使用斷點 1.安裝并激活擴展 Debugger for Chrome (棄用 --> JavaScript Debugger)Debugger for Firefox 2. 配置config文件 打開 config/index.js 并找到 devtool property。將其更新為&#xff1a; 如果你使用的是 Vue CLI 2&#xff0c;請設置并更新 config/in…

SpringBoot Redis讀寫與數據序列化 RedisTemplate 與 StringRedisTemplate 防轉字節

介紹 RedisTemplate 對象在底層默認會轉成字節&#xff0c;造成了內存的開銷很大&#xff0c;這是他底層進行處理的,造成可讀性差&#xff0c;如需要轉成簡單的字符串存儲需要進行序列化的配置。 RedisTemplate 配置類 Configuration public class RedisConfig {Beanpublic …

OpenGL系列(五)紋理貼圖

概述 OpenGL紋理是一種在三維圖形中應用紋理映射的技術。紋理是一張圖像&#xff0c;可以應用到三維模型的表面上&#xff0c;從而使得模型看起來更加真實和具有細節。通過紋理映射&#xff0c;可以將圖像的像素值與三維模型的頂點進行匹配&#xff0c;從而為模型的表面增加細節…

Java并發編程之由于靜態變量錯誤使用可能導致的并發問題

Java并發編程之由于靜態變量錯誤使用可能導致的并發問題 1.1 前言1.2 業務背景1.3 問題分析1.4 為什么呢&#xff1f;1.5 修復方案2 演示示例源碼下載 1.1 前言 我們知道在 Java 后端服務開發中&#xff0c;如果出現并發問題一般都是由于在多個線程中使用了共享的變量導致的。…

JVM相關:Java內存區域

Java 虛擬機&#xff08;JVM)在執行 Java 程序的過程中會把它管理的內存劃分成若干個不同的數據區域。 Java運行時數據區域是指Java虛擬機&#xff08;JVM&#xff09;在執行Java程序時&#xff0c;為了管理內存而劃分的幾個不同作用域。這些區域各自承擔特定的任務&#xff0c…

Day23 自定義對話框服務

?本章節實現了,自定義對話框服務的功能 當現有的對話框服務無法滿足特定需求時,我們可以采用自定義對話框的解決方案,以更好地滿足一些特殊需求。 一.自定義對話框主機服務步驟 在Models 文件夾中,再建立一個 IDialogHostService 接口類,繼承自 IDialogService 對話框服…

計算兩個LocalDateTime的相差時長

在Java中&#xff0c;你可以使用java.time.Duration類來計算兩個LocalDateTime對象之間的時間差。以下是一個示例代碼&#xff0c;展示了如何計算兩個LocalDateTime實例之間相差的時長&#xff1a; import java.time.Duration; import java.time.LocalDateTime;public class D…

絕對實用Linux命令行下的文件夾逐層創建術,從小白到大神的必學技能

哈嘍&#xff0c;大家好&#xff0c;我是木頭左&#xff01; 基礎篇&#xff1a;初識Linux文件系統 在深入了解如何在Linux中逐層創建文件夾之前&#xff0c;需要對Linux的文件系統有一個基本的認識。Linux文件系統以其樹狀結構而著稱&#xff0c;其中/&#xff08;根目錄&…

實用的供應商管理系統推薦:提升效率的合適選擇

隨著全球化和供應鏈的復雜性增加&#xff0c;供應商管理系統已經成為企業提高運營效率和競爭力的重要工具。一個優秀的供應商管理系統不僅能幫助企業優化采購流程&#xff0c;還能有效地管理供應商關系、降低成本、提高產品質量和服務水平。 供應商管理系統,供應商管理系統推薦…

SIMBA方法解讀

目錄 預處理scRNA-seqscATAC-seq 圖構建&#xff08;5種場景&#xff09;scRNA-seq分析scATAC-seq分析多模態分析批次整合多模態整合 圖學習SIMBA空間中查詢實體識別TF-target genes 預處理 scRNA-seq 過濾掉在少于三個細胞中表達的基因。原始計數按文庫大小標準化&#xff0…

DDS自動化測試落地方案 | 懌星科技攜最新技術亮相是德科技年度盛會

5月28日&#xff0c;懌星科技作為是德科技的重要合作伙伴亮相Keysight World Tech Day 2024。在此次科技盛會上&#xff0c;懌星科技不僅展示了領先的DDS自動化測試解決方案等前沿技術&#xff0c;還分享了在“周期短、任務重”的情況下&#xff0c;如何做好軟件開發和測試驗證…

前端開發之性能優化

本文章 對各大學習技術論壇知識點&#xff0c;進行總結、歸納自用學習&#xff0c;共勉&#x1f64f; 文章目錄 1. [CDN](https://www.bootcdn.cn/)2.懶加載3.緩存4.圖片壓縮5.圖片分割6.sprite7.Code Splitting8.gzip9.GPU加速10.Ajax11.Tree Shaking12.Resource Hints 1. CD…

YOLO系列模型 pt文件轉化為ONNX導出

文章目錄 啥是onnx怎么導出導出之后 啥是onnx Microsoft 和合作伙伴社區創建了 ONNX 作為表示機器學習模型的開放標準。許多框架&#xff08;包括 TensorFlow、PyTorch、scikit-learn、Keras、Chainer、MXNet 和 MATLAB&#xff09;的模型都可以導出或轉換為標準 ONNX 格式。 在…