日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 嵌入式微處理器
[導(dǎo)讀]本文檔主要介紹,在python環(huán)境下,如何開發(fā)嵌入式應(yīng)用程序,以STM32H43板卡為例介紹. 從系統(tǒng)環(huán)境搭建,到編譯,到用python實(shí)現(xiàn)硬件控制。可作為入門教程。

1. 摘要

本文檔主要介紹,在python環(huán)境下,如何開發(fā)嵌入式應(yīng)用程序,以STM32H43板卡為例介紹. 從系統(tǒng)環(huán)境搭建,到編譯,到用python實(shí)現(xiàn)硬件控制。可作為入門教程。

2. 準(zhǔn)備工作

2.1 開發(fā)環(huán)境搭建

2.1.1 Win10自帶linux系統(tǒng)

開發(fā)環(huán)境可以自己使用虛擬機(jī)然后安裝ubuntu系統(tǒng),而Win10系統(tǒng)自帶有l(wèi)inux系統(tǒng),只需要使能就可以使用,比較方便,所以我們以win10自帶的linux子系統(tǒng)為例。

在控制面板中啟用linux子系統(tǒng),點(diǎn)擊啟用或關(guān)閉Windows功能。

如下圖勾選適用于linux的windows子系統(tǒng),然后重啟電腦




點(diǎn)擊立即重新啟動

重啟后進(jìn)入windows 10 應(yīng)用商店,搜索Ubuntu,可以選擇18.04或者20.02進(jìn)行安裝


下載安裝完畢,點(diǎn)擊啟動

設(shè)置用戶名和密碼,

安裝的默認(rèn)路徑是

C:Usershpp19AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalState ootfshome

路徑不能修改,至此linux環(huán)境就好了,可以輸入一些常用命令看看,如ls,cp, rm等命令。

Win10地下安裝的linux子系統(tǒng)只支持命令行, 沒有自己用虛擬機(jī)安裝的功能全面,但是對于開發(fā)micropython 足夠。

2.1.2 虛擬機(jī)安裝

如果不想用windows10 安裝的,想自己搭建也是可以,需要安裝虛擬機(jī)和下載ubunut的iso鏡像文件,進(jìn)行安裝,這種安裝網(wǎng)上很多,我們就不詳細(xì)列出了,推薦第一種安裝。

2.1.3 依賴軟件安裝

Git安裝,git用來獲取軟件包

使用克隆micropython的軟件包,也可以去官網(wǎng)自己下載,拷貝到linux環(huán)境的home目錄下。

使用git 克隆軟件包

如果網(wǎng)絡(luò)不好,要等一段時間,比較慢。也可以自己到官網(wǎng)下載,我已經(jīng)下好,大家可以找我索取當(dāng)前最新板micropython-1.13

http://www.micropython.org/download/


2.1.4 Micropython 目錄結(jié)構(gòu)

目錄結(jié)構(gòu)比較重要,只有清除目錄結(jié)構(gòu)了,你才能移植到不同的板卡。

詳細(xì)的目錄結(jié)構(gòu)介紹可以參考README.md

主要關(guān)注下目前micropython支持的ST開發(fā)板,和我們關(guān)系比較大的是H7系列,可以看到目前支持很多的ST芯片。

3. 交叉編譯工具鏈

在終端輸入sudo apt install gcc make 命令安裝 gcc, make

安裝完后可以查看下版本



輸入 sudo apt-get install gcc-arm-none-eabi ? 安裝針對ARM的編譯器




如果你的交叉工具鏈安裝下載比較慢的話,請按以下步驟修改,因為linux自帶的軟件源地址都是國外的,國內(nèi)更新下載安裝的話會比較慢,需要將列表更新為國內(nèi)

將打開的文件內(nèi)容全部刪除掉,替換為以下鏡像源

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse


deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse


deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse


deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse


deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse


deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse


deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse


deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse


deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse


deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse


修改完軟件源后,更新軟件列表和軟件:

sudo apt update


sudo apt upgrade



如果對vim編輯器命令不熟悉,可以自己百度,或者直接在以下目錄

C:Usershpp19AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalState ootfsetcapt 下將sources.list文件替換為以下阿里云鏡像源,這樣速度會很快。


編譯mpy-cross, mpy-cross是一個micropython的輔助工具,在編譯過程中會用到,在micropython的源碼根目錄中輸入命令make -C mpy-cross

至此交叉編譯工具鏈就安裝完畢,可以編譯STM32的程序了。

4. 編譯程序

在源碼根目錄下輸入命令make -C ports/stm32 ?如果不指定BOARD,則默認(rèn)編譯的是ports/stm32下的PYBV10板子,而我們需要的是能在H743上跑,所以需要裁剪移植一個對H743的板子,查看下可以看到micropython目前支持的STM32板卡有F091, F401,F429,F446,F(xiàn)746,H743等,

復(fù)制NUCLEO_H743ZI命名為BODEBOARD

輸入命令ls查看下已經(jīng)有BODEBOARD文件夾和文件,進(jìn)入查看下

主要有5個文件,而我們就需要修改這里面的文件

首先修改時鐘為25000000,主要是修改stm32h7xx_hal_conf.h文件

修改mpconfigboard.h

將時鐘修改為如下配置,可以復(fù)制我們之前IAR工程下的時鐘配置。


修改其他管腳,這一節(jié)我們只以修改三個LED和UART1等管腳為例,在文檔的下一個版本更新中,會更新所有用到的硬件管腳,還是在這個文件中繼續(xù)修改對應(yīng)的硬件管腳


保存退出

修改pins.csv文件

添加LED和UART1的管腳



保存退出。


因為我們是參照的NUCLEO_H743ZI,所以mpconfigboard.mk文件不用修改。至此修改完畢,可以編譯,在micropython根目錄下輸入命令 make -C ports/stm32 BOARD=BODEBOARD

等待編譯完成。

可以看到生成了.hex和.dfu固件,任選一種下載入H743板子,這樣板卡里就有了python解析器,可以識別python語言

編譯好的固件怎么樣復(fù)制到windows主機(jī)呢,當(dāng)然你可以直接去生成的目錄底下拷貝,在win10 的linux子系統(tǒng)中默認(rèn)已經(jīng)將windows分區(qū)掛載好了,我們可以在/mnt目錄下看到

這樣我們就可以直接使用命令cp拷貝到windows了,當(dāng)然如果你不習(xí)慣命令行操作,可以安裝midinight commander 軟件,可以方便的管理文件,輸入命令sudo apt install mc 進(jìn)行安裝,安裝完后,輸入mc可以直接打開軟件。


不管用那種方法,將Hex文件下載到硬件板卡,下載完畢后,給板子重新上電,可以看到出現(xiàn)一個PYBFLASH類似U盤的盤符,打開里面有boot.py

main.py 等四個文件,我們最后的應(yīng)用程序直接寫在main.py就可以運(yùn)行了。


5. 測試

我們先來演示使用putty來控制板子上的LED燈,打開putty,配置波特率和串口號,

導(dǎo)入LED庫,就可以控制LED了

可以觀察H743的板子三個LED燈依次點(diǎn)亮,通過Putty可以控制硬件就完成了,那么如何讓板子上電就三個LED燈點(diǎn)亮,而不需要通過Putty控制呢。?

這就要編輯我們前面提到的main.py文件,使用任何文本編輯器打開,寫入python代碼,保存退出,就可以運(yùn)行了。

通過以上代碼就實(shí)現(xiàn)了LED的點(diǎn)亮控制,實(shí)現(xiàn)用python控制單片機(jī)。至此就可以用python編寫很多好玩的東西在單片機(jī)上跑了。


6. 參考文檔

序號

文獻(xiàn)

1

www.micropython.org ?




-END-


來源 | 嵌入式程序猿

作者|武國平


|?整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有?|

|?如有侵權(quán),請聯(lián)系刪除?|


【1】國內(nèi)MCU能替代國外產(chǎn)品嗎?MCU的未來又將如何?

【2】35歲真的是程序員的坎兒嗎?

【3】不同編程語言能耗不同?看這27種語言對比!

【4】超長干貨為你解析:從串口驅(qū)動到Linux驅(qū)動模型,嵌入式必會!

【5】本文把TCP/IP講絕了!


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉