色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

手工打造基于MM32F5微控制器的MicroPython開(kāi)發(fā)板

CHANBAEK ? 來(lái)源:安德魯?shù)脑O(shè)計(jì)筆記本 ? 作者:安德魯蘇 ? 2023-06-16 10:57 ? 次閱讀

引言

為MicroPython啟用LittleFS文件系統(tǒng)的想法在我的腦袋里已經(jīng)醞釀了大半年。隨著MindSDK中QSPI驅(qū)動(dòng)的完善,以及基于flash存儲(chǔ)芯片的sfud組件和LittleFS組件的成功集成(感謝同事Hao的出色工作),使我得以在MM32F5微控制上運(yùn)行的MicroPython項(xiàng)目中,使用基于flash存儲(chǔ)芯片的LittleFS文件系統(tǒng),替換掉基于SD卡的FatFS文件系統(tǒng)。經(jīng)過(guò)剛剛過(guò)去兩天一夜的編碼和調(diào)試,終于大功告成!

在早期的MicroPython項(xiàng)目中使用的SD卡,本身也是一個(gè)獨(dú)立的小零件,很容易丟失或者損壞,并且因?yàn)槲锢磉B接件的問(wèn)題,有接觸不良的風(fēng)險(xiǎn),另外在開(kāi)發(fā)板之外再購(gòu)買SD卡也需要一定經(jīng)濟(jì)花銷。使用開(kāi)發(fā)板上集成的flash存儲(chǔ)芯片取代SD卡存儲(chǔ)設(shè)備,可以大大降低整個(gè)MicroPython開(kāi)發(fā)板的成本,并且易于維護(hù)。至于用戶體驗(yàn),無(wú)論腳本文件存放在SD卡還是flash芯片上,開(kāi)發(fā)板都能正常運(yùn)行Python腳本,并且能夠適配Thonny IDE,用戶不會(huì)感到一絲絲的不快。借用星爺?shù)囊痪湓挘骸耙粋€(gè)字,絕!”

在本文中,將講述如何自己動(dòng)手制作基于MM32F5微控制的最小系統(tǒng)板,并獲取與之配套的預(yù)先編譯好的MicroPython固件,以及使用圖形界面開(kāi)發(fā)環(huán)境Thonny IDE在MM32F5微控制器上使用Python進(jìn)行開(kāi)發(fā)的基本用法。幫助MicroPython的開(kāi)發(fā)者自己動(dòng)手制作一塊基于微控制器的開(kāi)發(fā)板。

MM32F5微控制器簡(jiǎn)介

MM32F5270 是上海靈動(dòng)微電子第一款搭載了安謀科技 Arm China STAR-MC1 內(nèi)核的 MCU 產(chǎn)品,也是MM32F5系列的第一款產(chǎn)品,其工作頻率可達(dá) 120MHz,內(nèi)置256KB Flash 和 192KB RAM,配置浮點(diǎn)運(yùn)算單元(Floating Point Unit, FPU)、數(shù)字信號(hào)處理單元(Digital Signal Processing,DSP)、信號(hào)間互聯(lián)矩陣 MindSwitch、可配置邏輯單元 CLU、三角函數(shù)加速單元 CORDIC等算法加速單元,并集成了豐富的外設(shè)模塊和充足的 I/O 端口。MM32F5270 相較于靈動(dòng)原有產(chǎn)品全面提升了性能、存儲(chǔ)容量、總線架構(gòu)和外設(shè)配置,旨在覆蓋更廣泛的工業(yè)、汽車和 IoT 應(yīng)用。

圖片

figure_mm32f5270_product_selection

圖1 MM32F5270系列微控制器選型## 制作MicroPython開(kāi)發(fā)板

基于MM32F5270微控制器,搭建一個(gè)可以運(yùn)行MicroPython的最小系統(tǒng),除了以MM32F5270微控制為核心的最小系統(tǒng)外,只要外接一個(gè)SPI接口的flash存儲(chǔ)芯片即可(例如復(fù)旦微的FM25Q128)。當(dāng)然,如果能附加一個(gè)USB轉(zhuǎn)串口的電路,將會(huì)顯著提升開(kāi)發(fā)者的使用體驗(yàn)。我手頭上有一塊內(nèi)部使用的小板子,剛好滿足這樣的要求。如圖2所示。如果有開(kāi)發(fā)者愿意自己設(shè)計(jì)MM32F5270的最小系統(tǒng)板,也是非常容易的。

圖片圖2 MM32F5270電路板

預(yù)編譯的固件使用了特定的引腳,用于支持REPL通信UART,和連接flash存儲(chǔ)芯片的QSPI。對(duì)于不愿意重新改寫(xiě)代碼編譯MicroPython固件的開(kāi)發(fā)者們,在自行制作電路板時(shí),必須要使用同樣的引腳。實(shí)際上,這里的限制并不是很苛刻,對(duì)于使用了144引腳的芯片來(lái)說(shuō),僅綁定2個(gè)UART引腳和6個(gè)QSPI引腳并不是一件麻煩的事情,而搭建編譯MicroPython的環(huán)境并改寫(xiě)源碼重新編譯固件,則將會(huì)是一個(gè)比較繁瑣并且需要一定調(diào)試能力去解決各種瑣碎麻煩的過(guò)程。關(guān)于綁定引腳的清單,可見(jiàn)表1。

PS:甚至外擴(kuò)的flash存儲(chǔ)芯片都是不是必須的!如果你不打算讓芯片上電之后自動(dòng)運(yùn)行一個(gè)自行編寫(xiě)Python程序文件,僅使用基于UART的REPL同MicroPython內(nèi)核進(jìn)行交互的話,那么使用flash存儲(chǔ)芯片作為存儲(chǔ)介質(zhì)的文件系統(tǒng)也可以精簡(jiǎn)掉。

表1 MicroPython綁定MM32F5270最小系統(tǒng)板的引腳| MCU引腳 | 綁定功能 | 備注 |

| --------- | ----------- | ------ |

| PB6 | UART1_TX | 必需 |

| PB7 | UART1_RX | 必需 |

| PA6 | QSPI1_CS | 可選 |

| PG7 | QSPI1_SCK | 可選 |

| PG6 | QSPI1_D0 | 可選 |

| PA3 | QSPI1_D1 | 可選 |

| PB3 | QSPI1_D2 | 可選 |

| PG8 | QSPI1_D3 | 可選 |

MM32F5270電路板上有通過(guò)UART外接USB轉(zhuǎn)串口芯片部分的原理圖。如圖3所示。

圖片

figure-cubic-f5270-uart-sch

圖3 MM32F5270電路板的UART電路MM32F5270電路板上有通過(guò)QSPI外接flash存儲(chǔ)芯片部分的原理圖。如圖4所示。

圖片

figure-cubic-f5270-qspi-sch

圖4 MM32F5270電路板的QSPI電路我手上的另一塊MM32F5270微控制器的開(kāi)發(fā)板,PLUS-F5270開(kāi)發(fā)板,板子上集成了一顆W25Q64的flash存儲(chǔ)芯片和USB轉(zhuǎn)串口電路,也能滿足運(yùn)行MicroPython的條件。PLUS-F5270開(kāi)發(fā)板是成都逐飛科技有限公司設(shè)計(jì)生產(chǎn)的一款基于MM32F5270微控制器的開(kāi)發(fā)板,這也是靈動(dòng)官方軟件MindSDK支持的開(kāi)發(fā)板。這塊開(kāi)發(fā)板已經(jīng)對(duì)外出售,開(kāi)發(fā)者可以在市面上買到。PLUS-F5270開(kāi)發(fā)板的外觀如圖5所示。

圖片

圖5 PLUS-F5270開(kāi)發(fā)板

獲取并下載MicroPython固件到開(kāi)發(fā)板

為了獲取MicroPython的預(yù)編譯固件或者源代碼,可能需要一個(gè)CSDN或者gitee的賬號(hào),登錄到網(wǎng)站上下載對(duì)應(yīng)的文件。

獲取預(yù)編譯的可執(zhí)行文件

本例中使用的MM32F5270最小系統(tǒng)板:使用12MHz外部晶振,串口波特率115200。

https://download.csdn.net/download/suyong_yq/86246621

PLUS-F5270開(kāi)發(fā)板:使用12MHz外部晶振,串口波特率115200。QSPI1_CS引腳綁定到PB10引腳,其余引腳同本例相同。

https://download.csdn.net/download/suyong_yq/86246723

開(kāi)源的完整項(xiàng)目的代碼倉(cāng)庫(kù)

包含對(duì)MM32F5270微控制器支持的MicroPython項(xiàng)目代碼倉(cāng)庫(kù):

git@gitee.com:suyong_yq/micropython-su.git

下載可執(zhí)行文件到MM32微控制器

可以使用DAPLink或者JLink作為調(diào)試器,使用Keil或者Segger Ozone作為PC端軟件。

《使用DAP-Link單獨(dú)下載可執(zhí)行文件到MM32F5微控制器》一文中介紹了使用Keil和Ozone作為PC端軟件配合DAPLink調(diào)試器下載獨(dú)立的可執(zhí)行文件到MM32微控制器上,同樣的方法也適用于使用JLink調(diào)試器的情況。

但若是使用JLink調(diào)試器,必須使用JLink v9以后的版本,之前市面上流行的老款JLink v8(俗稱“黑磚頭”)已經(jīng)不支持Arm Cortex-M33,以及MM32F5微控制器所使用的ArmChina STAR-MC1內(nèi)核。

單片機(jī)上運(yùn)行Python小程序

MM32F5270最小系統(tǒng)板上設(shè)計(jì)了一個(gè)可編程LED燈,對(duì)應(yīng)主控芯片的PC8引腳。接下來(lái)以編寫(xiě)Python程序控制這個(gè)LED燈為例,展示在電路板上運(yùn)行MicroPython的玩法。

MM32F5270電路板上有通過(guò)QSPI外接flash存儲(chǔ)芯片部分的原理圖。如圖6所示。

圖片

figure-cubic-f5270-led-sch

圖6 MM32F5270電路板的LED電路### 使用基于UART串口終端的REPL

將MM32F5270微控制器上的串口通過(guò)USB轉(zhuǎn)串口電路同電腦相連,啟動(dòng)串口終端軟件Tera Term,在終端界面中通過(guò)串口輸入Python腳本,如圖7所示。

圖片圖片

圖7 通過(guò)REPL編寫(xiě)MicroPython程序### 使用圖形開(kāi)發(fā)環(huán)境Thonny IDE

Thonny是由愛(ài)沙尼亞的Tartu大學(xué)開(kāi)發(fā),非常適合初學(xué)者和教學(xué)的一款輕量級(jí)IDE,提供可視化的編程界面,并可逐句調(diào)試運(yùn)行Python程序。可從官網(wǎng)上下載適配多操作系統(tǒng)平臺(tái)的安裝包(https://thonny.org/)。如圖8所示。

圖片

figure-thonny-overview

圖8 Thonny概覽啟用圖形開(kāi)發(fā)環(huán)境Thonny IDE中,指定串口同MM32F5270電路板相連,然后在代碼編輯區(qū)中輸入Python程序,或從電腦上導(dǎo)入預(yù)先寫(xiě)好的Python程序文件。然后通過(guò)Thonny IDE運(yùn)行腳本,在Thonny內(nèi)置的串口終端界面中可以產(chǎn)生輸出。Thonny內(nèi)置的串口終端界面也可以像REPL一樣,直接輸入Python語(yǔ)句立即執(zhí)行。如圖9所示。

圖片

demo-micropython-thonny

圖9 在Thonny中運(yùn)行Python程序### 將Python程序保存在文件系統(tǒng)中上電自啟

如果希望編寫(xiě)的Python程序能在開(kāi)發(fā)板上電復(fù)位后自動(dòng)運(yùn)行,可以將Python腳本文件保存在MicroPython掛載的文件系統(tǒng)中。之后,通過(guò)電路板的硬件復(fù)位或者M(jìn)icroPython的軟件復(fù)位,都可以激活已經(jīng)存入文件系統(tǒng)中的腳本運(yùn)行。如圖10所示。

圖片

demo-micropython-thonny-2

圖10 保存程序文件到文件系統(tǒng)中## 總結(jié)

作者將早期開(kāi)發(fā)MicroPython項(xiàng)目中的文件系統(tǒng)從SD卡遷移到開(kāi)發(fā)板的flash存儲(chǔ)器上,在完全不影響用戶使用體驗(yàn)的情況下,簡(jiǎn)化了電路系統(tǒng),降低了整個(gè)MicroPython電路系統(tǒng)的成本,提高了系統(tǒng)的可靠性。

當(dāng)然,如果進(jìn)一步考慮,還可以將文件系統(tǒng)從片外flash遷入片內(nèi)flash,利用未使用的flash存儲(chǔ)空間做文件系統(tǒng),可以繼續(xù)降低成本。但是,使用片內(nèi)文件系統(tǒng)也要面臨一些麻煩:

  • 程序的可移植性變差了,每個(gè)不同的微控制器芯片可能使用不同的片內(nèi)flash,對(duì)應(yīng)的操作方式不同。
  • 需要足夠大的片內(nèi)flash,并不是每款微控制器芯片都有很大的片內(nèi)flash。
  • 單位空間的片內(nèi)flash比片外flash貴。
  • 操作片內(nèi)flash比操作片外flash麻煩,可能需要將存放在片內(nèi)flash上操作flash的函數(shù)搬運(yùn)到RAM中才能正常工作。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7542

    瀏覽量

    151316
  • 文件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    284

    瀏覽量

    19904
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5032

    瀏覽量

    97375
  • Micropython
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    4731
  • MM32F5
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    531
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    帶靈動(dòng)微MM32F5的Plus-F5270開(kāi)發(fā)板怎么玩?

    雖然你現(xiàn)在可以使用Keil MDK,但Keil MDK此刻還不認(rèn)得搭載靈動(dòng)微MM32F522E芯片的開(kāi)發(fā)板。咱們需要安裝靈動(dòng)微官網(wǎng)MM32F522E系列的開(kāi)發(fā)支持包。
    的頭像 發(fā)表于 08-18 15:21 ?1101次閱讀
    帶靈動(dòng)微<b class='flag-5'>MM32F5</b>的Plus-<b class='flag-5'>F</b>5270<b class='flag-5'>開(kāi)發(fā)板</b>怎么玩?

    基于MM32F5微控制器的FSMC接口外接SRAM存儲(chǔ)的用法

    MM32F5微控制器基于Arm STAR-MC1微控制器,最高主頻可達(dá)120MHz,集成了FPU單元和DSP擴(kuò)展指令集,有不錯(cuò)的算力。
    發(fā)表于 07-17 15:08 ?1452次閱讀
    基于<b class='flag-5'>MM32F5</b><b class='flag-5'>微控制器</b>的FSMC接口外接SRAM存儲(chǔ)<b class='flag-5'>器</b>的用法

    MicroPython入門|開(kāi)發(fā)板種類那么多,哪塊才適合你玩?

    MicroPython開(kāi)發(fā)板  TPYBoard是一款MicroPython開(kāi)發(fā)板,它是Python語(yǔ)言的一種精益和快速的實(shí)現(xiàn),將Python經(jīng)過(guò)優(yōu)化運(yùn)行在
    發(fā)表于 06-20 18:13

    MicroPython入門:能跑MicroPython開(kāi)發(fā)板大盤(pán)點(diǎn)!

    MicroPython開(kāi)發(fā)板 TPYBoard是一款MicroPython開(kāi)發(fā)板,它是Python語(yǔ)言的一種精益和快速的實(shí)現(xiàn),將Python經(jīng)過(guò)優(yōu)化運(yùn)行在
    發(fā)表于 07-06 14:43

    MicroPython開(kāi)發(fā)板—TPYBoard開(kāi)發(fā)板測(cè)評(píng)分享!

    的 LED 保持長(zhǎng)亮。 至此編寫(xiě)和運(yùn)行第一個(gè) MicroPython 程序就完成了,加油!那么TPYBoard開(kāi)發(fā)板和傳統(tǒng)的微控制器相比怎么樣?正如它的創(chuàng)造者所說(shuō)的:和Arduino
    發(fā)表于 08-14 00:18

    MM32F522E芯片的Plus-F5270開(kāi)發(fā)板怎么玩?

    盒子,里面一共有5件東西:1、 Plus-F5270開(kāi)發(fā)板2、 創(chuàng)芯工坊PWLINK2(DAP)3、 母對(duì)母杜邦線12根4、 USB Type-C數(shù)據(jù)線5
    發(fā)表于 08-16 15:35

    【BPI-Pico-RP2040 開(kāi)發(fā)板】+MicroPython初體驗(yàn)

    為了突破Python不能再單片機(jī)上運(yùn)行的限制,他花費(fèi)了六個(gè)月的時(shí)間來(lái)打造Micro Python。是跑在MCU(微控制器)上的Python,通過(guò)內(nèi)置的解釋執(zhí)行py文件或者py命令,就可以讓
    發(fā)表于 03-18 18:42

    如何設(shè)計(jì)微控制器開(kāi)發(fā)板

     您可以在接口上添加芯片使用您選擇的微控制器來(lái)增強(qiáng)您的開(kāi)發(fā)板為其用戶提供的可用性或功能。
    的頭像 發(fā)表于 08-29 11:04 ?3793次閱讀
    如何設(shè)計(jì)<b class='flag-5'>微控制器</b><b class='flag-5'>開(kāi)發(fā)板</b>

    使用微控制器開(kāi)發(fā)板來(lái)作為單板計(jì)算機(jī)

    半導(dǎo)體供應(yīng)商利用評(píng)估和演示開(kāi)發(fā)板為其微控制器提供支持。這些的預(yù)期用途是讓工程師能夠首先熟悉目標(biāo)
    的頭像 發(fā)表于 10-30 05:42 ?505次閱讀

    [長(zhǎng)文干貨](méi)MicroPython移植到野火STM32F429開(kāi)發(fā)板

    [長(zhǎng)文干貨](méi)MicroPython移植到野火STM32F429開(kāi)發(fā)板
    發(fā)表于 12-05 18:51 ?27次下載
    [長(zhǎng)文干貨](méi)<b class='flag-5'>MicroPython</b>移植到野火STM32<b class='flag-5'>F</b>429<b class='flag-5'>開(kāi)發(fā)板</b>

    PY32F003系列微控制器開(kāi)發(fā)板的詳細(xì)說(shuō)明

    開(kāi)發(fā)板支持PY32F003和PY32F030兩種系列單片機(jī)。可以前往淘寶或者1688購(gòu)買。 PY32F003系列微控制器采用高性能的32位
    的頭像 發(fā)表于 06-29 17:07 ?4565次閱讀
    PY32<b class='flag-5'>F</b>003系列<b class='flag-5'>微控制器</b><b class='flag-5'>開(kāi)發(fā)板</b>的詳細(xì)說(shuō)明

    PIC18 PIN (16F628A) 微控制器開(kāi)發(fā)板

    電子發(fā)燒友網(wǎng)站提供《PIC18 PIN (16F628A) 微控制器開(kāi)發(fā)板.zip》資料免費(fèi)下載
    發(fā)表于 07-27 10:34 ?0次下載
    PIC18 PIN (16<b class='flag-5'>F</b>628A) <b class='flag-5'>微控制器</b><b class='flag-5'>開(kāi)發(fā)板</b>

    基于STM8S105K6微控制器的sduino UNO開(kāi)發(fā)板

    電子發(fā)燒友網(wǎng)站提供《基于STM8S105K6微控制器的sduino UNO開(kāi)發(fā)板.zip》資料免費(fèi)下載
    發(fā)表于 08-24 10:26 ?3次下載
    基于STM8S105K6<b class='flag-5'>微控制器</b>的sduino UNO<b class='flag-5'>開(kāi)發(fā)板</b>

    使用arduino開(kāi)發(fā)板對(duì)89S52微控制器進(jìn)行編程

    電子發(fā)燒友網(wǎng)站提供《使用arduino開(kāi)發(fā)板對(duì)89S52微控制器進(jìn)行編程.zip》資料免費(fèi)下載
    發(fā)表于 12-09 10:01 ?0次下載
    使用arduino<b class='flag-5'>開(kāi)發(fā)板</b>對(duì)89S52<b class='flag-5'>微控制器</b>進(jìn)行編程

    MicroPython應(yīng)用基礎(chǔ)-準(zhǔn)備基于MM32F5MicroPython開(kāi)發(fā)板

    本文主要面向 **2023年全國(guó)大學(xué)生物聯(lián)網(wǎng)設(shè)計(jì)競(jìng)賽安謀科技命題** ,使用星辰處理的靈動(dòng)MM32F5微控制器開(kāi)發(fā)板,基于MicroPython
    的頭像 發(fā)表于 10-19 18:27 ?1305次閱讀
    <b class='flag-5'>MicroPython</b>應(yīng)用基礎(chǔ)-準(zhǔn)備基于<b class='flag-5'>MM32F5</b>的<b class='flag-5'>MicroPython</b><b class='flag-5'>開(kāi)發(fā)板</b>
    主站蜘蛛池模板: 国产三级在线精品男人的天堂 | 好男人视频免费高清在线观看www| 美女扒开屁股让男人桶| 乌克兰肛交影视| jjzz大全| 美娇妻的性奴史1一4| 羞羞答答影院在线| 成年女人免费影院播放| 看80后操| 伊人草久久| 國産麻豆AVMDMD0179| 双性人皇上被c到哭| 啊灬啊别停灬用力啊在线观看视频| 久久久精品免费视频| 亚洲九九精品| 国产精品久久久久精品A片软件| 欧美精品华人在线| 中文字幕精品在线视频| 精品无码日本蜜桃麻豆| 亚洲 日韩 欧美 另类 蜜桃 | 国产欧美一区二区三区免费| 日韩 国产 欧美视频二区| 99er4久久视频精品首页| 久久视频精品3线视频在线观看| 亚洲精品成人无码区一在线观看| 国产精品18久久久久网站| 日韩亚洲中文欧美在线| YELLOW视频在线观看最新| 欧美多毛的大隂道| 99re热精品视频国产免费| 理论片午午伦夜理片I| 在线观看亚洲免费视频| 久久国产精品无码视欧美| 亚洲乱亚洲乱妇13p| 国色精品VA在线观看免费视频| 小处雏一区二区三区| 国产 亚洲 另类 欧美 在线| 日韩精品专区在线影院重磅| 成年人视频免费在线观看| 日本黄色官网| 吃奶摸下的激烈免费视频|