GD32H759IMT6 Cortex-M7 OpenHarmony輕量系統移植——4.1版本升級到5.0.3

筆者在去年利用國慶時間,將Cortex-M7 的國產廠商兆易創新GD32H459移植OpenHarmony輕量系統,但是適配不太完善——只能選擇liteos-m接管中斷。這樣導致使用中斷非常麻煩。于是筆者最近將接管中斷模式修改為不接管,這樣可以方便的使用gd32提供的中斷。

相關開源地址:https://gitee.com/GD32H759_OpenHarmony/docs/blob/OpenHarmony-v5.0.3-Release/README.md

往期文章

  • 國產兆易創新Cortex-M7 GD32H459適配OpenHarmony輕量系統,代碼開源!

  • 兆易創新Cortex-M7 GD32H459適配OpenHarmony輕量系統適配教程

  • GD32H759IMT6 Cortex-M7 OpenHarmony輕量系統移植——接管中斷修改為不接管

如何在GD32H759IMT6 上使用OpenHarmony 5.0.3 輕量系統開發

1.首先搭建好OpenHarmony開發環境后,下載OpenHarmony輕量系統5.0.3r的hi3861代碼

# 下載v5.0.3 版本hi3861源碼
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v5.0.3-Release -m chipsets/hispark_pegasus.xml -g ohos:mini
repo sync -c
repo forall -c 'git lfs pull'# 安裝依賴
./build/build_scripts/env_setup.sh
source ~/.bashrc# 下載編譯工具
bash build/prebuilts_download.sh# 執行一遍3861的編譯命令確認環境有沒有問題
./build.sh --product-name wifiiot_hispark_pegasus --ccache --no-prebuilt-sdk

2.將本組織下GD32H759的vendordevice替換掉上一步拉取的3861代碼的vendor和device目錄

# 5.0.3版本中需要將third_party/cmsis回退到4.1
rm -rf third_party/cmsis
git clone -b OpenHarmony-v4.1-Release https://gitee.com/openharmony/third_party_cmsis.git third_party/cmsisrm -rf device
git clone -b OpenHarmony-v5.0.3-Release https://gitee.com/GD32H759_OpenHarmony/device.git devicerm -rf vendor
git clone -b OpenHarmony-v5.0.3-Release https://gitee.com/GD32H759_OpenHarmony/vendor.git

5.0.3版本中需要將third_party/cmsis回退到4.1,如果不回退,會顯示cmsis版本太高導致無法編譯通過(廠家提供的裸機文件一般是沒問題的)

[OHOS ERROR] ../../../device/soc/gigadevice/gd32h7xx/libraries/drivers/src/gd32h7xx_misc.c: In function 'nvic_irq_enable':
[OHOS ERROR] ../../../device/soc/gigadevice/gd32h7xx/libraries/drivers/src/gd32h7xx_misc.c:101:11: error: 'NVIC_Type' {aka 'struct <anonymous>'} has no member named 'IP'; did you mean 'IPR'?
[OHOS ERROR]   101 |     NVIC->IP[nvic_irq] = (uint8_t)temp_priority;
[OHOS ERROR]       |           ^~
[OHOS ERROR]       |           IPR[OHOS ERROR] Traceback (most recent call last):  

3.編譯固件

rm -rf out
./build.sh --product-name GD32H759IMT6_BOARD --ccache --no-prebuilt-sdk

image.png

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

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

相關文章

【算法競賽】樹上最長公共路徑前綴(藍橋杯2024真題·團建·超詳細解析)

目錄 一、題目 二、思路 1. 問題轉化&#xff1a;同步DFS走樹 2. 優化&#xff1a;同步DFS匹配 3. 狀態設計&#xff1a;dfs參數含義 4. 匹配過程&#xff1a;用 map 建立權值索引 5. 終止條件&#xff1a;無法匹配則更新答案 6. 總結 三、完整代碼 四、知識點總…

開源免費虛擬化平臺PVE軟件定義網絡

一、PVE SDN&#xff08;Software Defined Networking&#xff09;原理與使用邏輯 SDN&#xff08;軟件定義網絡&#xff09; 是一種將網絡控制邏輯從傳統交換機、路由器中分離出來的技術&#xff0c;使得網絡可以通過軟件集中管理和自動化配置。 Proxmox VE&#xff08;PVE&…

mysql 8.0.41下載安裝教程(附安裝包)mysql 8.0.41圖文詳細安裝教程

文章目錄 前言一、mysql 8.0.41 簡介二、安裝前準備三、MySQL 8.0 安裝流程解析1.解壓安裝包2.啟動安裝程序3.選擇安裝類型4.選擇安裝組件5.開始安裝6.配置設置&#xff08;部分步驟&#xff09;7.設置數據庫密碼8.完成安裝配置9.配置環境變量&#xff1a;10.驗證安裝&#xff…

JAVA基礎八股復習

1.局部變量一般存放在棧中&#xff0c;成員變量一般存放在堆中 2.什么是多態&#xff1f;談談對多態的理解&#xff1f; 在面向對象語言中&#xff0c;接口的多種不同的實現方式即為多態。用白話來說&#xff0c;就是多個對象調用同一個方法&#xff0c;得到不同的結果。 多態中…

10:00開始面試,10:08就出來了,問的問題有點變態。。。

從小廠出來&#xff0c;沒想到在另一家公司又寄了。 到這家公司開始上班&#xff0c;加班是每天必不可少的&#xff0c;看在錢給的比較多的份上&#xff0c;就不太計較了。沒想到8月一紙通知&#xff0c;所有人不準加班&#xff0c;加班費不僅沒有了&#xff0c;薪資還要降40%…

k8s核心資源對象一(入門到精通)

本文將深入探討Kubernetes中的核心資源對象&#xff0c;包括Pod、Deployment、Service、Ingress、ConfigMap和Secret&#xff0c;詳細解析其概念、功能以及實際應用場景&#xff0c;幫助讀者全面掌握這些關鍵組件的使用方法。 一、pod 1 pod概念 k8s最小調度單元&#xff0c;…

《Sqoop 快速上手:安裝 + 測試實戰》

推薦原文 見&#xff1a;http://docs.xupengboo.top/bigdata/di/sqoop.html Sqoop&#xff08;SQL-to-Hadoop&#xff09; 是 Apache 開源的工具&#xff0c;專門用于在 Hadoop 生態系統&#xff08;如 HDFS、Hive、HBase&#xff09; 和 關系型數據庫&#xff08;如 MySQL、O…

數據結構刷題之貪心算法

貪心算法&#xff08;Greedy Algorithm&#xff09; 是一種在每個步驟中都選擇當前最優解的算法設計策略。它通常用于解決優化問題&#xff0c;例如最小化成本或最大化收益。貪心算法的核心思想是&#xff1a;在每一步選擇中&#xff0c;都做出局部最優的選擇&#xff0c;希望…

重新定義PPT創作!ChatPPT發布全球首個AI PPT專用MCP Server

在這個AI技術日新月異的時代&#xff0c;ChatPPT團隊推出革命性的MCP Server&#xff08;Multimodal Collaboration Platform&#xff09;&#xff0c;這是全球首個專注于AI PPT生成領域的智能協作平臺。該平臺的誕生&#xff0c;標志著PPT創作正式邁入"智能協作"新紀…

未來蓉城:科技與生態共舞的詩意棲居-成都

故事背景 故事發生在中國四川成都的2075年&#xff0c;展現科技與自然深度交融的未來城市圖景。通過六個充滿想象力的生態裝置場景&#xff0c;描繪市民在智慧城市中詩意棲居的生活狀態&#xff0c;展現環境保護與人文傳承的和諧共生。 故事內容 在電子竹林輕軌站&#xff0c;通…

計算機網絡筆記-分組交換網中的時延

一、分組交換網絡中的四種時延類型 1. 排隊時延 在隊列中&#xff0c;當分組在鏈路上等著被傳輸時的時延為排隊時延&#xff0c;一個分組的排隊時延長度取決于該分組前方等待傳輸的分組數量&#xff0c;如果排隊隊列為空&#xff0c;且沒有正在傳輸的分組那么該分組的排隊時延…

ubuntu20.04.6LTS 安裝PCL 1.9.1

在虛擬機中&#xff0c;ubuntu20.04.6 LTS 安裝PCL 1.9.1&#xff0c;實測成功了。 注意&#xff1a; 1、編譯時選擇雙核&#xff0c;否則編譯到一半報錯&#xff0c;因為內存不夠進程被殺死。 虛擬機是4核心、內存8G。可能選3核更快一點&#xff0c;雙核編譯了2個多小時。 …

SQL:JOIN 完全指南:從基礎到實戰應用

JOIN 是 SQL 中最重要也最常用的操作之一&#xff0c;它允許我們從多個表中獲取關聯數據。本文將全面解析 SQL 中的各種 JOIN 類型&#xff0c;包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 以及 CROSS JOIN&#xff0c;并通過實際示例展示它們的應用場景。 一、JOIN 基…

IDEA 2024 Maven 設置為全局本地倉庫,避免新建項目重新配置maven

使用idea創建Java項目時每次都要重新配置Maven&#xff0c;非常麻煩。其實IDEA可以配置全局Maven。方法如下&#xff1a; 1.關閉所有項目進入初始頁面 2.選擇所有配置 3.設置為自己的路徑

UDP怎么樣實現可靠傳輸?

如果需要在基于UDP的應用中實現可靠傳輸&#xff08;例如確保數據不丟失、按順序到達等&#xff09;&#xff0c;通常需要在應用層實現相應的機制。 1. 確認應答機制 應用層可以使用確認應答機制來確保數據的可靠傳輸。當發送方發送一個數據包時&#xff0c;接收方收到數據包…

【CSS基礎】- 02(emmet語法、復合選擇器、顯示模式、背景標簽)

css第二天 一、emmet語法 1、簡介 ? Emmet語法的前身是Zen coding,它使用縮寫,來提高html/css的編寫速度, Vscode內部已經集成該語法。 ? 快速生成HTML結構語法 ? 快速生成CSS樣式語法 2、快速生成HTML結構語法 生成標簽 直接輸入標簽名 按tab鍵即可 比如 div 然后tab…

每日算法:洛谷U535992 J-C 小夢的寶石收集(雙指針、二分)

題目描述 小夢有 n 顆能量寶石&#xff0c;其中第 i 顆的能量為 ai?&#xff0c;但這些能量寶石十分不穩定&#xff0c;隨時有可能發生崩壞&#xff0c;導致他們全部消失&#xff01; 小夢想要留住寶石們&#xff0c;不希望他們發生崩壞&#xff0c;同時他發現&#xff1a;如…

Spring MVC 邏輯視圖(JSP、Thymeleaf、FreeMarker)與非邏輯視圖(JSON、Excel、PDF、XML)詳解及示例

Spring MVC 邏輯視圖與非邏輯視圖詳解及示例 一、邏輯視圖與非邏輯視圖的定義 類型定義邏輯視圖通過視圖解析器&#xff08;ViewResolver&#xff09;將邏輯名稱&#xff08;如 success&#xff09;映射到具體視圖實現。非邏輯視圖直接返回具體視圖對象&#xff08;如 JsonVie…

【AAOS】【源碼分析】CarAudioService(二)-- 功能介紹

汽車音頻是 Android 汽車操作系統 (AAOS) 的一項功能,允許車輛播放信息娛樂聲音,例如媒體、導航和通信。AAOS 不負責具有嚴格可用性和時間要求的鈴聲和警告,因為這些聲音通常由車輛的硬件處理。將汽車音頻服務集成在汽車中,徹底改變了駕駛體驗,為駕駛員和乘客提供了音樂、…

docker安裝軟件匯總(持續更新)

1、簡介 本文介紹一些常用的軟件通過docker安裝并啟動&#xff0c;持續更新。 2、docker安裝軟件 2.1、zookeeper & kafka # 1、拉取zookeeper鏡像 git pull wurstmeister/zookeeper # 2、啟動zookeeper容器 docker run -d --restartalways --log-driver json-file --lo…