《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > MicroPython做嵌入式開發的優缺點

MicroPython做嵌入式開發的優缺點

2019-06-15
關鍵詞: JAVA ADA Python

  C / C ++編程語言長期以來一直主導著嵌入式系統行業,很少有其他語言可以找到立足點。雖然JavaAda等語言已經嘗試過,但Python的流行程度不僅在不斷提高,而且已經在基于Linux的應用程序中找到了很長一段時間。但是,用于微控制器的Python似乎從未像MicroPython那樣適合該法案,MicroPython是一個設計用于在微控制器上運行的Python 3.0端口。隨著該項目現已進入第六個年頭,它已經越來越受歡迎和發展勢頭,使其成為您用來設計下一個產品的編程語言。

  讓我們來看看使用MicroPython的一些優缺點:

  Python編程語言具有淺薄的學習曲線,這使得開發人員可以非常輕松地開始使用它。事實上,我遇到過學習Python的小學生!Python為開發人員提供了一種高級編程語言,可用于構建簡單的腳本,或者可用于開發復雜的面向對象的體系結構,這些體系結構使用現代軟件項目的所有最佳實踐。與C相比,Python還提供了內置機制,用于創建線程,處理錯誤并輕松集成到測試工具中。

  變革之風正在我們身上,MicroPython可能是您用來構建下一個產品的編程語言。在本課程中,我們將研究如何使用MicroPython開發產品。與會者將遠離本課程,詳細了解他們需要做什么才能在下一個產品中使用MicroPython。

  這些語言特征的有趣之處在于它們使開發團隊的每個成員都可以成為程序員!MicroPython提供了一系列庫,可以控制低級微控制器功能,從而消除復雜性。例如,硬件工程師可以設計電路板,幾乎不知道微控制器(或C)的工作原理,開發可以通過控制GPIO測試電路板的高級腳本,甚至可以與I2C器件通信。在C中開發I2C驅動程序可能相當復雜,但使用MicroPython只需要以下代碼行來創建I2C對象并將數據發送到從屬設備:

  而已!處理I2C的所有基礎工作都由MicroPython庫處理,這大大簡化了開發。(看看我在C中的一個I2C驅動程序顯示了幾千行代碼,授予它是一個非常強大的實現,并提供了一些功能,一旦奠定了基礎工作,就可以與總線交互)。

5d01e28ea1956-thumb.png

  在考慮使用MicroPython進行產品開發時,開發人員需要考慮幾個關鍵因素。首先,開發人員需要考慮如何保護他們的應用程序代碼。MicroPython允許開發人員加載基于代碼文本的Python腳本或將這些腳本編譯為字節碼并將它們放入a.mpy模塊中。這些解決方案的問題在于,任何能夠訪問MicroPython文件系統的人都可以輕松獲得應用程序代碼,這很容易實現。字節碼確實使它更難一點,但將字節代碼轉換回可讀代碼并不困難。開發人員需要考慮他們需要系統的安全性,并可能采取額外措施來保護知識產權。

  接下來,開發人員需要考慮如果出現問題他們將如何恢復他們的系統。根據所選的微控制器,它們的應用程序代碼可以在MCU內部,也可以在外部存儲設備(如SD卡)上。我發現文件系統在電源循環或欠壓條件下不是很強大。如果文件系統損壞,MicroPython將通過將默認映像復制回文件系統來恢復它。開發人員需要確保將其默認代碼集成到其內核版本中,以便在出現問題時,至少將其恢復為出廠默認設置,然后可以從設備上可能存在的其他內存位置恢復任何更新。

  最后,開發人員可能希望確保他們有多個內存設備可供選擇。新的旗艦MicroPython開發板,pyboard D系列,包括兩個獨立的SPI內存設備,每個2 MB。一個用于存儲應用程序代碼,另一個用于存儲數據或其他信息。生產系統應該做類似的事情,甚至保留固件備份副本,以便在出現問題時,可以恢復應用程序而不會給用戶帶來任何問題。

  使用MicroPython進行產品設計聽起來很有趣,有沒有人真正用它來開發商業產品?據我所知,MicroPython已被用于多種產品中,毫無疑問,我不知道更多。例如,MicroPython已被用于小型衛星中,用于電子電源和數據采集系統(其中一些我親自參與過)。在歐洲航天局也已經在更大的衛星系統使用MicroPython調查。MicroPython還用于流行的OpenMV模塊,該模塊允許開發人員創建機器視覺應用程序。該模塊運行MicroPython,允許開發人員通過交互式IDE創建腳本,然后將開發人員的腳本下載到模塊。開發人員甚至可以訓練機器學習模型并將其轉換為在OpenMV模塊上運行!這表明MicroPython可用于運行不僅僅是簡單的算法或切換一些I / O.

  使用MicroPython構建嵌入式產品無法滿足每個開發團隊的需求,如C / C ++,但它為開發人員提供了一個有趣的快速原型設計或開發商業產品的解決方案。當然還存在一些挑戰,例如保護基于MicroPython的系統并確保確定性行為。這些挑戰可以通過適當的應用設計預先克服。MicroPython的易用性和Python的普及使得使用MicroPython構建嵌入式系統成為一個有趣的機會。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 538视频在线观看| 中国一级淫片aaa毛片毛片| 欧美牲交a欧美牲交aⅴ图片| 性xxxx视频播放免费| 久久国产精品张柏芝| 欧美一区二三区| 亚洲日本乱码在线观看| 玉蒲团之天下第一| 午夜伦理在线观看免费高清在线电影| 蜜桃臀av高潮无码| 国产天堂在线一区二区三区| 四虎最新永久免费视频| 国产精品无打码在线播放| 91精品国产9l久久久久| 天堂资源wwww在线看| 久久精品无码一区二区三区| 欧美在线一级精品| 亚洲欧洲专线一区| 欧美综合区自拍亚洲综合天堂| 人妻精品久久久久中文字幕69 | 小h片在线播放| 中国一级毛片在线观看| 无人高清视频免费观看在线动漫| 久久天天躁狠狠躁夜夜| 日韩精品一区二区三区老鸦窝 | 美女让男人捅爽| 国产aⅴ无码专区亚洲av麻豆| 里番全彩本子库acg污妖王 | 日韩不卡手机视频在线观看| 亚洲综合区图片小说区| 男男动漫全程肉无删减有什么| 午夜激情福利视频| 美女双腿打开让男人桶爽网站| 国产123在线观看| 老熟妇仑乱视频一区二区| 国产一精品一av一免费爽爽| 野花日本中文版免费观看| 国产亚洲精品拍拍拍拍拍| 野花社区在线观看www| 国产做无码视频在线观看| 999久久久无码国产精品|