日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

一文解析MicroPython做嵌入式開發(fā)的優(yōu)缺點

 碼農(nóng)9527 2021-11-30

  Python編程語言只有一個簡單的學習曲線,這樣開發(fā)者就可以很容易地使用它。實際上,我見過學好Python的學生!Python為開發(fā)者提供了一種高級的編程語言,它可以用來構(gòu)建簡單的腳本,也可以用來開發(fā)復雜的、面向?qū)ο蟮募軜?gòu),它使用現(xiàn)代軟件項目的所有最佳實踐。相對于C語言,Python還提供了用于創(chuàng)建線程、處理錯誤以及容易集成到測試工具的內(nèi)置機制。

一文解析MicroPython做嵌入式開發(fā)的優(yōu)缺點

  轉(zhuǎn)變的風正在吹向我們,而MicroPython可能會成為你下一次構(gòu)建產(chǎn)品的編程語言。這節(jié)課,我們來看一下如何用MicroPython開發(fā)產(chǎn)品。參加者不會參加這門課程,并詳細了解他們要在下一次產(chǎn)品中使用MicroPython。

  其中有趣的是,這些語言特性讓開發(fā)團隊中的每一個成員都能成為程序員!MicroPython提供了一系列的庫,用來控制低層的微處理器的功能來減少復雜性。舉例來說,硬件工程師可能對微處理器(C)的工作原理一無所知,開發(fā)高級腳本,可以通過控制GPIO測試電路板,甚至與I2C設備進行通信。用C語言開發(fā)I2C驅(qū)動可能是很復雜的,但是MicroPython僅僅需要下面幾行代碼就可以創(chuàng)建一個I2C對象并把數(shù)據(jù)發(fā)送給依賴設備!所有處理I2C的基本工作都由MicroPython庫來完成,這極大地簡化了開發(fā)。(看一下我在C中使用的一個I2C驅(qū)動程序顯示了數(shù)千行代碼,讓它成為一種非常強大的實現(xiàn),并且在完成基本工作之后,可以使用總線進行交互)。

  當開發(fā)一個MicroPython的產(chǎn)品的時候,開發(fā)者有一些關(guān)鍵的因素需要考慮。在開始時,開發(fā)人員需要考慮如何保護應用程序代碼。MicroPython允許開發(fā)者加載Python腳本,或者將其編譯成字節(jié)碼,并將其放在a.mpy模塊中。這種方法的問題是,只要能訪問MicroPython文件系統(tǒng),就能方便地獲取應用程序代碼,而且易于實現(xiàn)。bytecode的確讓它有點難,但是把字節(jié)碼轉(zhuǎn)換回可讀的代碼并不困難。開發(fā)者需要考慮他們對系統(tǒng)安全的需求,并且可能會采取其他措施來保護知識產(chǎn)權(quán)。

  下一步,開發(fā)者需要考慮在出現(xiàn)問題時如何恢復系統(tǒng)。依據(jù)微處理器的選擇,其應用程序代碼可能位于MCU內(nèi)部,或者位于外部存儲裝置(例如SD卡)。在電力循環(huán)或欠壓情況下,文件系統(tǒng)的功能并不強。MicroPython會在文件系統(tǒng)被破壞的情況下通過將默認鏡像復制回文件系統(tǒng)來恢復。開發(fā)者需要確保他們的默認代碼被集成到內(nèi)核版本,這樣當問題發(fā)生時,至少可以把它恢復到出廠默認值,這樣,你就可以從設備上其他的內(nèi)存位置恢復更新。

  最終,開發(fā)者可能想要確保他們擁有多種可用的內(nèi)存設備。全新旗艦MicroPython開發(fā)板,pyboardD系列,包括兩個2MB的獨立SPI內(nèi)存設備。一種是用來儲存應用程式碼,另一種是儲存資料。產(chǎn)品系統(tǒng)應執(zhí)行類似的操作,甚至保持固件備份副本,這樣當問題發(fā)生時,應用程序可以恢復,同時不會給用戶造成任何問題。

  MicroPython的產(chǎn)品設計聽起來很有意思,有誰真的在開發(fā)商業(yè)產(chǎn)品呢?就我所知,MicroPython已經(jīng)在很多產(chǎn)品中使用了,毫無疑問,我不知道更多。舉例來說,MicroPython已經(jīng)被用在小衛(wèi)星上,用于電子動力和數(shù)據(jù)采集系統(tǒng)(有些是我自己自己參加的)。歐洲航天局已將MicroPython探測用于大型衛(wèi)星系統(tǒng)。MicroPython也被廣泛使用在流行的OpenMV模塊中,開發(fā)者可以創(chuàng)建機器視覺應用程序。這個模塊運行著MicroPython,讓開發(fā)者可以通過IDE交互的方式創(chuàng)建腳本,然后下載到這個模塊。開發(fā)者甚至可以對機器學習模型進行培訓,并把它轉(zhuǎn)換成OpenMV模塊運行!它說明MicroPython可以用來運行簡單的算法或者轉(zhuǎn)換某些I/O.

  用MicroPython構(gòu)建嵌入式產(chǎn)品不能滿足C/C++等每個開發(fā)團隊的需要,但是它為開發(fā)者提供了一種有趣的快速原型設計或者商業(yè)產(chǎn)品開發(fā)的解決方案。這其中肯定有一些挑戰(zhàn),比如保護基于MicroPython的系統(tǒng)和確定的行為。通過合適的應用設計,這些問題可以在事先解決。MicroPython的易用性以及Python的流行,使用MicroPython構(gòu)建嵌入式系統(tǒng)成為一種很有意義的機會。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多