stm32mp157f-dk2安裝鏡像并且部署qt全流程

? ? ? ? 在網上看的關于stm32mp157的開發教程太少了,于是乎寫一篇踩坑筆記,僅供學習參考

大概流程:在虛擬機通過stm32cubeprogrammer燒錄鏡像,然后燒錄成功之后,給stm32mp157連接網線,使得開發板有ip地址,然后通過scp復制把文件拷貝到開發板,然后在開發板上運行qt代碼,就部署成功了!!!

這個不僅僅是stm32mp157的開發流程,也是linux開發板的一篇教程,基本都是,虛擬機安裝ubuntu,然后通過ssh連接燒錄,把對應可執行文件放到開發板,然后就運行

由于stm32mp157的開發資料較少,所以我們可以參考正點原子的stm32mp157開發板資料,或者華清遠見的抑或是百問嵌入式的,雖然開發板不一樣,但是資料都是可以互通的,可以使用配套資料里面的虛擬機和鏡像,方便很多,并且也有很多工具和資料

鏈接;

正點原子:STM32MP157開發板 — 正點原子資料下載中心 1.0.0 文檔

華清遠見:華清遠見STM32MP157 Linux開發板 - 華清遠見研發中心

百問網:🎫100ASK_STM32MP157_PRO開發板 — 百問網資料下載中心 3.0 文檔

ok啊兄弟們,有資料就是事半功倍了呀

也可以參考這篇教程:STM32MP157使用記錄:OpenSTLinux試用與開發體驗-CSDN博客

1.第一步:安裝虛擬機

原因:可以使用虛擬機安裝stm32cubeprogrammer,下載安裝鏡像,而且qt的開發也可以用虛擬機來安裝,然后部署到開發板,虛擬機好處多多,window也能做,只不過會比較慢

步驟:下載安裝VMware,并且安裝Ubuntu鏡像

安裝過程不再敘述,你隨便在上面找一個里面都有詳細的教程

2.在虛擬機中,安裝基本環境

sudo apt update
sudo apt install -y build-essentialsudo apt install -y gawk git-core diffstat texinfo gcc-multilib chrpath socat cpio python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 pylint xterm
sudo apt install -y xsltproc docbook-utils fop dblatex xmlto
sudo apt install -y libmpc-dev libgmp-dev
sudo apt install -y libncurses5 libncurses5-dev libncursesw5-dev libssl-dev linux-headers-generic u-boot-tools device-tree-compiler bison flex libyaml-dev libmpc-dev libgmp-dev
sudo apt install -y python-is-python3# 設置使MMC支持分為16個分區
echo 'options mmc_block perdev_minors=16' > /tmp/mmc_block.conf
sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf

硬件連接:

注意有些usb線質量不行,供電電流遲遲達不到,建議使用品質較好的usb線,手機充電線就很不錯。

?3.在虛擬機安裝stm32cubeprogrammer,并且下載鏡像openstlinux

燒錄是通過 USB OTG 那個口進行的(DFU模式)。需要注意的是燒錄過程中設備會斷開重新連接,如果使用虛擬機的話需要把這個USB設備設置為自動轉到虛擬機或是在重新連接的過程中手動轉到虛擬機。

注意:燒錄鏡像的時候,要保證開發板背后的倆個開關全部關閉,撥桿到off,倆個都是,等到燒錄結束之后,再打開到on,不然虛擬機的stm32cubeprogrammer一直檢測不到usb的DFU,我原本以為是沒下載好dfu的驅動,其實是這個撥桿的問題

STM32CubeProgrammer用來將系統二進制文件燒錄到TF卡或eMMC中,可以從下面選擇合適的版本下載:
https://www.st.com/en/development-tools/stm32cubeprog.html
我這里通過Ubuntu自帶的瀏覽器下載,得到的 en.stm32cubeprg-lin_v2-10-0.zip 文件位于 ~/Downloads/ 目錄下。也可以使用window下載,下載之后,復制到虛擬機就可以

cd ~/Downloads/
unzip en.stm32cubeprg-lin_v2-10-0.zip 
./SetupSTM32CubeProgrammer-2.10.0.linux

?當然我也建議使用windows來安裝stm32cubeprogrammer,然后使用windows來下載也可以。

問題的關鍵是在燒錄什么的鏡像,這里我們燒錄openstlinux

鏡像鏈接:?OpenSTLinux BSP 軟件包在哪里下載呢

上面這個是鏡像下載:

下面這個是工具下載,交叉編譯器的工具

?下載好鏡像之后

連接設備,打開下面目錄中對應的燒錄配置文件(.tsv):
~/mp157/ecosystem/starter/stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/images/stm32mp1/flashlayout_st-image-weston/(里面還有一層,找到)

?注意的是,這個里面有幾個開發板的鏡像,請選擇正確對應開發板的鏡像源


然后二進制文件路徑選擇下面這個:
~/mp157/ecosystem/starter/stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/images/stm32mp1/(這個路徑選文件夾)
最后點擊 Download 進行燒錄即可

?等待十幾分鐘之后,就可以燒錄進去了,這就是燒錄后的顯示

4.qt的安裝和編譯

我們需要在虛擬機中安裝qt,并且把qt的工程編譯,然后把編譯后的工程放到開發板

安裝qt,這里也不敘述,網上資料很多,而且前面的資料鏈接里面也有對qt的安裝和部署

這一步最重要的是安裝交叉編譯器,這里我們使用st提供的交叉編譯器,

這里就是交叉編譯器的下載位置?

我們應該下載mp1-dev-x86這個交叉編譯器,因為arm那個編譯器是專門給arm架構的編譯器,我們虛擬機是x86架構,所以使用x86架構的

cd ~/Downloads/
tar xvf en.SDK-x86_64-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17.tar.xz# 建立SDK安裝目錄
mkdir -p ~/mp157/ecosystem/developer/SDK
# 執行腳本安裝SDK
chmod +x stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1.11-openstlinux-5.10-dunfell-mp1-21-11-17.sh
./stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1.11-openstlinux-5.10-dunfell-mp1-21-11-17.sh -d $HOME/mp157/ecosystem/developer/SDK# 設置SDK
# 下面方式是臨時的,每次打開終端都需要重新設置
cd ~/mp157/ecosystem/developer/
source SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
# echo $ARCH
# echo $CROSS_COMPILE
# $CC --version
# echo $OECORE_SDK_VERSION

使用 make 進行編譯。編譯得到的二進制文件可以通過網絡傳輸到開發板中(比如使用 scp gtk_hello_world root@<board ip address>:/usr/local 方式),然后在開發板中運行(比如通過串口終端來運行)。運行運行上面程序會在開發板的屏幕上出現一個帶有按鈕的窗體:

?然后在開發板就能運行,這個頁面了

問題:怎么設置開發板連接到筆記本來共享網絡

解決方案:

一、設置電腦為WLAN共享模式
1、在桌面右鍵wifi圖標,選擇--打開網絡和Internet設置。

2、選擇更改適配器選項

3、右擊WLAN選擇屬性?

4、設置WLAN共享設置(家庭網絡連接設置為,你開發板和電腦有線連接,用的是哪個網卡,就選擇哪個)

?5、跳出電腦提示,電腦自動分配網關,開發板通過該ip上網(記住網關:192.168.137.1)

?二、設置以太網IP
1、選擇以太網屬性

2、 雙擊lnternet協議版本4(TCP/IPv4)屬性

3、查看lnternet協議版本4的ip地址是否為共享WLAN所對應的ip(若不是,則需要自己設置)

?

參考文章:開發板上網(保姆級教程)_開發板聯網-CSDN博客

以上就是mp157,設計頁面設置的一個教程了

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

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

相關文章

遺像照片尺寸要求及手機制作打印方法

遺像作為寄托哀思的重要載體&#xff0c;其規格和質量都有嚴格要求。本文將詳細介紹遺像照片的標準尺寸規范&#xff0c;并提供使用手機快速制作合規遺像的完整方案。一、遺像照片的標準尺寸要求遺像照片的尺寸主要分為傳統黑白遺像和現代彩色遺像兩種規格。傳統黑白遺像一般采…

適配器模式 (Adapter Pattern)

適配器模式 (Adapter Pattern) 適配器模式是一種結構型設計模式&#xff0c;用于解決兩個不兼容接口之間的兼容性問題&#xff0c;充當兩個不同接口之間的橋梁。 &#x1f31f; 核心思想轉換接口&#xff1a;將一個類的接口轉換成客戶端期望的另一個接口&#xff0c;使原本不兼…

03-虛幻引擎藍圖類的各父類作用講解

虛幻引擎&#xff08;Unreal Engine&#xff09;的藍圖系統提供了多種父類&#xff0c;每種父類都有其特定的用途和生命周期。理解這些父類的作用&#xff0c;是高效使用藍圖開發游戲的基礎。以下是虛幻引擎中常見藍圖父類的詳細講解&#xff1a;1. Actor 作用&#xff1a;所有…

141 個 LangChain4j Maven 組件分類解析、多場景實戰攻略

141 個 LangChain4j Maven 組件分類解析、多場景實戰攻略 文章目錄 141 個 LangChain4j Maven 組件分類解析、多場景實戰攻略 1. 引言 2. LangChain4j 組件分類 2.1. 核心模塊 (Core Modules) 2.2. LLM 集成 (LLM Integrations) 2.3. 向量存儲集成 (Embedding Store Integratio…

Python可迭代歸約函數深度解析:從all到sorted的進階指南

在Python中&#xff0c;歸約函數&#xff08;Reduction Functions&#xff09;是處理可迭代對象的利器。它們通過遍歷元素并逐步收斂為單個結果&#xff0c;廣泛應用于數據分析、邏輯判斷和數值計算等場景。本文將系統梳理這些函數的核心特性、使用技巧及底層邏輯&#xff0c;助…

大帶寬服務器都有哪些應用場景?

大帶寬服務器憑借著高速的數據傳輸能力和強大的網絡承載能力&#xff0c;通常被企業應用在需要高流量和高并發處理能力的業務場景當中&#xff0c;下面&#xff0c;就讓我們共同了解一下大帶寬服務器的應用場景吧&#xff01;首先&#xff0c;隨著科學技術的快速發展&#xff0…

爬蟲實戰指南:從定位數據到解析請求的全流程解析

爬蟲的本質是什么&#xff1f; 爬蟲的本質就是用代碼模擬人類在瀏覽器里的操作&#xff0c;像點擊網頁、填寫表單、提交數據等行為&#xff0c;自動化地進行網頁數據的獲取和處理。比如&#xff1a; 發送 GET 請求 來請求網頁內容&#xff0c;相當于你在瀏覽器地址欄輸入網址…

Sentinel dashboard 添加context-path后無法信息無法上傳問題

Sentinel dashboard 添加context-path后無法加載問題 添加server.servlet.context-path/sentinel后可以正常訪問&#xff0c;但是客戶端啟動后信息上報失敗。 transport: dashboard: localhost:8858/sentinel 經查閱文檔需要加入api-path&#xff0c;但是我配置提示無api-path所…

iOS —— 3Gshare項目總結與思考

登陸注冊及推出主頁面這部分有兩種寫法&#xff1a;一種是在SceneDelegate中推出LoginVC&#xff0c;后在判斷登陸成功后退去主要程序。另一種則是先加載主程序&#xff0c;后推出登陸頁面。通過同組同學實踐證明&#xff0c;后者在推出登陸頁面時會閃一下&#xff0c;因此還是…

硅基計劃3.0 學習總結 貳 順序表與鏈表 初版

文章目錄一、順序表——ArrayList1. 實現自己MyArrayList1. 實現add基礎方法2. 實現指定位置加元素add方法3. 完善數組打印方法display4. 完善根據下標找元素get5. 完善判斷數字是否在數組中contains6. 根據數字找下標indexOf7. 更新指定下標元素set8. 獲取數組有效長度size9. …

Postman/Apipost中使用Post URL編碼發送含換行符參數的問題分析

Postman/Apipost中使用Post URL編碼發送含換行符參數的問題分析 在使用Postman或Apipost等API測試工具進行POST請求時&#xff0c;當參數中包含換行符(\n或\r)通過UI界面復制參數時會遇到參數發送失效的問題。 問題原因分析URL編碼規范限制&#xff1a; x-www-form-urlencoded格…

Swap Face 使用遇到的問題

INFO Extracting: 文件名 ERROR Unable to extract model file: File is not a zip file 因為插件沒有下載成功&#xff0c;可以開個代理。復制報錯的網址下載模型&#xff0c;解壓后手動放入D:\Program Files\faceswap\.fs_cache\ 插件GIT地址 chttps://github.com…

誤操作后快速恢復數據 binlog 解析為反向 SQL

誤操作后快速恢復數據 binlog 解析為反向 SQL 1.前言 本文將介紹使用 reverse_sql 工具將 GreatSQL 數據庫的 binlog 解析為反向 SQL 語句。模擬誤操作后&#xff0c;恢復數據。該工具可以幫助客戶在發生事故時快速恢復數據&#xff0c;避免進一步的損失。使用 reverse_sql 工具…

ABP VNext + Grafana Loki:集中式日志聚合

&#x1f4dd; ABP VNext Grafana Loki&#xff1a;集中式日志聚合 &#x1f4da; 目錄&#x1f4dd; ABP VNext Grafana Loki&#xff1a;集中式日志聚合一、引言? TL;DR二、環境與依賴&#x1f6e0;? 平臺版本&#x1f517; NuGet 包?? 基礎服務三、Serilog Loki 集成…

分布在內側內嗅皮層(MEC)的帶狀細胞對NLP中的深層語義分析有什么積極的影響和啟示

帶狀細胞&#xff08;Band Cells&#xff09;作為內側內嗅皮層&#xff08;Medial Entorhinal Cortex, MEC&#xff09;層Ⅱ/Ⅲ的核心空間編碼單元&#xff08;如網格細胞、頭方向細胞等&#xff09;&#xff0c;其獨特的神經計算機制為自然語言處理&#xff08;NLP&#xff09…

Django Ninja

Django Ninja 是一個用于 Django 框架的快速、現代化的 API 開發庫&#xff0c;旨在簡化構建高性能、類型安全的 RESTful API。它受到 FastAPI 的啟發&#xff0c;結合了 Django 的強大功能和 FastAPI 的簡潔與現代化設計&#xff0c;特別適合需要快速開發、易于維護且具有強類…

iic時序

數據和應答信號都規定在SCL在高電平期間&#xff0c;SDA電平穩定&#xff1b;SCL在低電平期間&#xff0c;SDA電平才可以變化。要不然容易被誤認為起始或停止信號。應答信號&#xff1a;1. 第九個SCL之前的低電平期間將SDA拉低2. 確保在SCL為高電平時&#xff0c;SDA為穩定的低…

GitHub+Git新手使用說明

Git Git是一個在本地用于隨時保存和查看歷史版本的軟件Git的三個概念&#xff1a;提交commit、倉庫repository、分支branch Git安裝 在電腦里面按winR&#xff0c;輸入cmd進入終端后輸入git --version&#xff0c;然后再次輸入where git&#xff0c;查看git所在位置 Git常用語句…

前端圖像視頻實時檢測

需求&#xff1a;在目標檢測時&#xff0c;我們要求前端能夠將后端檢測的結果實時渲染在圖片或者視頻上。圖片是靜態的&#xff0c;只需要渲染一次&#xff1b;而視頻是動態的&#xff0c;播放時需要根據幀數來實時渲染標注框&#xff0c;可以想象視頻就是由一張張圖片播放的效…

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘sqlalchemy’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘sqlalchemy’問題 摘要 在使用 PyCharm 控制臺執行 pip install sqlalchemy 后&#xff0c;仍然在代碼中提示 ModuleNotFoundError: No module named sqlalche…