在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Python在實(shí)時(shí)嵌入式系統(tǒng)中扮演怎樣的角色?

5RJg_mcuworld ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-10-17 08:53 ? 次閱讀

早年,雖然Python是一款比較容易上手的腳本語(yǔ)言,而且有強(qiáng)大的社區(qū)支持,一些非計(jì)算機(jī)專(zhuān)業(yè)領(lǐng)域的人都選它作為入門(mén)語(yǔ)言。遺憾的是,它不能實(shí)現(xiàn)一些非常底層的操控,所以在硬件領(lǐng)域并不起眼。

然而今時(shí)不同往日!

硬件圈同樣非常關(guān)注Python!

說(shuō)到Python用于硬件開(kāi)發(fā)。很多人可能想到的是樹(shù)莓派等支持linux系統(tǒng)的(樹(shù)莓派和Arduino應(yīng)用Python的的例子實(shí)在是多,比如,利用Raspberry Pi的硬件和Python語(yǔ)言來(lái)完成一個(gè)機(jī)器人制作。),然而現(xiàn)在Python已經(jīng)完全可以脫離系統(tǒng),直接進(jìn)行單片機(jī)的開(kāi)發(fā)了。

用Python語(yǔ)言控制單片機(jī)

MicroPython是在單片機(jī)上可以跑的Python,你可以通過(guò)Python腳本語(yǔ)言開(kāi)發(fā)單片機(jī)程序。MicroPython基于ANSI C,語(yǔ)法跟Pyton 3基本一致,擁有自家的解析器、編譯器、虛擬機(jī)和類(lèi)庫(kù)等。目前它支持基于32-bit的ARM處理器,比如STM32F405、STM32f407等,也就是說(shuō)ARM處理器STM32F405上直接可運(yùn)行Python語(yǔ)言,用Python語(yǔ)言來(lái)控制單片機(jī)。

借助Micro Python,用戶完全可以通過(guò)Python腳本語(yǔ)言實(shí)現(xiàn)硬件底層的訪問(wèn)和控制,比如說(shuō)控制LED燈泡、LCD顯示器、讀取電壓、控制電機(jī)、訪問(wèn)SD卡等。

下面這篇美國(guó)EDN發(fā)布的文章,介紹了Python在實(shí)時(shí)嵌入式系統(tǒng)中扮演的角色:Python's role in developing real time embedded systems。

Python具有良好的跨平臺(tái)性,比如Linux和Windows,或是諸如Raspberry Pi等單板計(jì)算機(jī)。不過(guò),隨著Python的日益普及,人們可能會(huì)問(wèn),在實(shí)時(shí)嵌入式系統(tǒng)中是否也有Python的一席之地。答案是肯定的。下面是開(kāi)發(fā)人員發(fā)現(xiàn)Python在實(shí)時(shí)嵌入式系統(tǒng)開(kāi)發(fā)中有可能扮演的五個(gè)主要角色。

作用# 1設(shè)備調(diào)試和控制

嵌入式軟件開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)人員常常需要分析總線通信量,如USB、SPI或I2C。有的分析僅僅是出于調(diào)試目的,但有時(shí)則需要控制總線分析儀并發(fā)送信息至嵌入式系統(tǒng)。許多總線分析儀和通信工具都有友好的用戶接口,可以用來(lái)控制工具。他們通常還提供一種方法來(lái)開(kāi)發(fā)腳本,也可以用來(lái)控制工具。Python是一種普遍支持的腳本語(yǔ)言,有時(shí)則是一些工具的接口,或是用來(lái)控制工具。

作用# 2–自動(dòng)化測(cè)試

通過(guò)Python控制工具在嵌入式系統(tǒng)中發(fā)送和接收消息的能力,使得利用Python構(gòu)建自動(dòng)化測(cè)試(包括回歸測(cè)試)成為可能。Python腳本可以設(shè)置嵌入式系統(tǒng)進(jìn)入不同的狀態(tài),設(shè)置配置文件,并測(cè)試所有可能的干擾以及系統(tǒng)與外部環(huán)境的相互作用。使用Python開(kāi)發(fā)自動(dòng)化測(cè)試的好處是,回歸測(cè)試可以開(kāi)發(fā)持續(xù)測(cè)試并訓(xùn)練系統(tǒng)。任何的代碼變動(dòng)導(dǎo)致的bug或不合格的結(jié)果都將被實(shí)時(shí)的檢測(cè)出來(lái)。

作用# 3–數(shù)據(jù)分析

通過(guò)Web簡(jiǎn)單地搜索Python庫(kù),你會(huì)發(fā)現(xiàn),有許多免費(fèi)強(qiáng)大的Python庫(kù)都可以用來(lái)開(kāi)發(fā)應(yīng)用程序。Python可以用來(lái)接收非常重要的嵌入式系統(tǒng)數(shù)據(jù),然后存儲(chǔ)到數(shù)據(jù)庫(kù)或是本地進(jìn)行分析。開(kāi)發(fā)者還可以使用Python開(kāi)發(fā)實(shí)時(shí)可視化功能來(lái)展現(xiàn)臨界參數(shù),或是存儲(chǔ)這些參數(shù)用于后續(xù)分析。使用Python進(jìn)行數(shù)據(jù)分析的優(yōu)點(diǎn)之一是當(dāng)基礎(chǔ)性工作完成之后,新功能的植入會(huì)顯得比較簡(jiǎn)單。

作用# 4–實(shí)時(shí)軟件

Python已經(jīng)證實(shí)了自己的強(qiáng)大性和易使用性,甚至發(fā)現(xiàn)它是作為一門(mén)編程語(yǔ)言進(jìn)入實(shí)時(shí)嵌入式系統(tǒng)。是的,嵌入式軟件本身就是用Python寫(xiě)的而不是C/C++。用于實(shí)時(shí)軟件最廣泛的Python版本是MicroPython,大多是設(shè)計(jì)在ARM Cortex-M3/4微控制器上運(yùn)行。MicroPython并不孤立。Synapse和OpenMV公司在嵌入式系統(tǒng)中既使用MicroPython也使用他們自己的Python port。對(duì)MicroPython感興趣的讀者可能對(duì)DesignNews(EDN的姐妹機(jī)構(gòu))的繼續(xù)教育課程也感興趣。

作用# 5–學(xué)習(xí)面向?qū)ο缶幊?/p>

Python是一門(mén)免費(fèi)的編程語(yǔ)言,可以跨多個(gè)平臺(tái)使用,對(duì)于學(xué)生和非編程人員而言比較簡(jiǎn)單。該語(yǔ)言與C語(yǔ)言不同,它也是現(xiàn)代式的,并且可以在自由形態(tài)的腳本類(lèi)型中結(jié)構(gòu)化,或是作為一個(gè)復(fù)雜的面向?qū)ο蟮捏w系結(jié)構(gòu)。Python本身也很靈活。甚至還有這種情景:沒(méi)有編程經(jīng)驗(yàn)的電氣工程師可以利用Python寫(xiě)出有用的測(cè)試腳本或用最少的時(shí)間實(shí)施電板檢查。

Python的學(xué)習(xí)曲線并不陡峭,熟悉Python學(xué)習(xí)曲線的開(kāi)發(fā)人員發(fā)現(xiàn),當(dāng)你有了其它語(yǔ)言的基礎(chǔ)之后,學(xué)習(xí)Python比學(xué)習(xí)任意其他的編程語(yǔ)言都要簡(jiǎn)單。出于這些原因,當(dāng)開(kāi)發(fā)人員看到Python扮演著編程孵化器角色,并吸收其它缺乏經(jīng)驗(yàn)的工程師對(duì)宜早不宜遲的設(shè)計(jì)周期做出貢獻(xiàn)時(shí),不應(yīng)該感到驚訝。

什么?Python+FPGA???

夏宇聞老師幾個(gè)月前在微信上推薦了一個(gè)帖子,說(shuō)的是有人用Digilent的PYNQ-Z1板卡實(shí)現(xiàn)了超強(qiáng)的加速性能。

早年,關(guān)于FPGA的開(kāi)發(fā)都是基于硬件描述語(yǔ)言,從開(kāi)始的VHDL到現(xiàn)在更為流行的Verilog,軟件應(yīng)用也從由最開(kāi)始的匯編語(yǔ)言發(fā)展到現(xiàn)在的c/c++實(shí)現(xiàn),這些都是目前為大多數(shù)FPGA開(kāi)發(fā)者所熟悉的FPGA發(fā)展路程。上個(gè)月,IEEE收錄了一篇關(guān)于使用Python開(kāi)發(fā)FPGA應(yīng)用的論文。

在美國(guó)納帕舉行的第25屆關(guān)于可編程計(jì)算機(jī)器領(lǐng)域IEEE國(guó)際討論會(huì)上,一篇名為“評(píng)估通過(guò)Python快速開(kāi)發(fā)異構(gòu)處理器FPGA應(yīng)用性能”的短篇論文獲得了最佳短篇論文獎(jiǎng)。這篇論文主要討論了Python開(kāi)發(fā)FPGA應(yīng)用的優(yōu)勢(shì)和效率,論文中針對(duì)Digilent的PYNQ-Z1板卡(內(nèi)部集成一個(gè)Xilinx Zynq SoC),通過(guò)支持Python編程和Jupyter Notebooks框架的PYNQ開(kāi)發(fā)環(huán)境,應(yīng)用Python對(duì)此板卡進(jìn)行開(kāi)發(fā)編程,并最終評(píng)估開(kāi)發(fā)結(jié)果的優(yōu)勢(shì)和效率。值得一提的是,發(fā)表這篇論文的作者都是業(yè)界大佬,包括高級(jí)計(jì)算機(jī)科學(xué)家AndrewG.Schmidt、計(jì)算機(jī)科學(xué)家Gabriel Weise以及來(lái)自美國(guó)南加州大學(xué)工程技術(shù)科學(xué)協(xié)會(huì)的研究室主任Matthew French。在論文中,Matthew French教授主要就利用PYNQ開(kāi)發(fā)環(huán)境,應(yīng)用Python語(yǔ)言對(duì)Xilinx Zynq器件進(jìn)行編程應(yīng)用開(kāi)發(fā)時(shí)對(duì)FPGA器件的影響、性能結(jié)果以及瓶頸影響進(jìn)行了評(píng)估。此外,各位教授就基于Python的開(kāi)發(fā)結(jié)果與已經(jīng)存在的基于C語(yǔ)言的開(kāi)發(fā)及手動(dòng)開(kāi)發(fā)結(jié)果進(jìn)行了比較分析。

在論文中,各位教授還對(duì)PYNQ開(kāi)發(fā)環(huán)境的優(yōu)缺點(diǎn)進(jìn)行了闡述:

首先來(lái)說(shuō),PYNQ應(yīng)用開(kāi)發(fā)框架是一個(gè)開(kāi)源的開(kāi)發(fā)環(huán)境,提供了標(biāo)準(zhǔn)的可以約束芯片I/O引腳的“Overlay”比特流,同時(shí),開(kāi)發(fā)人員可以在此開(kāi)發(fā)環(huán)境中,利用Python對(duì)FPGA進(jìn)行快速編程開(kāi)發(fā)。此外,PYNQ開(kāi)發(fā)環(huán)境內(nèi)部集成標(biāo)準(zhǔn)的編程范式,支持HDMI視頻流的輸出輸出,同時(shí)具有兩組12pin的PMOD連接器和一個(gè)兼容Arduino的連接器(可以連接或配置為Arduino系列板卡)。其中,默認(rèn)的overlay中實(shí)例化了多個(gè)可以驅(qū)動(dòng)多I/O接口的微Blaze處理器核,也可以配置一些支持圖像濾波功能和試驗(yàn)SIMT(單指令,多線程)編程軟邏輯GPU的overlay。同時(shí),PYNQ也提供了支持比特流編程的API和可擴(kuò)展的通用Python庫(kù)和包,并且可以通過(guò)存儲(chǔ)映射I/O(MMIO)直接尋址可編程邏輯單元,另外還支持DMA交易(不需要經(jīng)過(guò)器件驅(qū)動(dòng)和核模塊之間的不斷握手確認(rèn))。

其次,就目前來(lái)說(shuō),PYNQ還不支持任何高級(jí)的綜合,也無(wú)法將Python應(yīng)用直接移植到FPGA中。這就意味著,開(kāi)發(fā)者依然原型必須使用FPGA來(lái)創(chuàng)建一個(gè)設(shè)計(jì),即當(dāng)PYNQ提供一個(gè)支持板卡IO接口的Overlay框架以時(shí),任何用戶邏輯依然必須由開(kāi)發(fā)者親自創(chuàng)建并綜合。不過(guò),開(kāi)發(fā)者仍然可以使用高級(jí)綜合工具或上面提到的Python-to-HDL工程來(lái)完成這個(gè)任務(wù),但是最終,開(kāi)發(fā)者依然需要基于此設(shè)計(jì)并創(chuàng)建一個(gè)整合了Python代碼比特流文件。

也正是由于PYNQ存在這方面的缺陷,論文的作者并沒(méi)有簡(jiǎn)單依賴現(xiàn)存的PYNQ API接口和overlay,他們開(kāi)發(fā)出一個(gè)基于Redsharc項(xiàng)目的特定應(yīng)用程序內(nèi)核進(jìn)行研究。

結(jié)果如何呢?論文最后,作者對(duì)給出了Python開(kāi)發(fā)Zynq應(yīng)用的各項(xiàng)評(píng)估結(jié)果。結(jié)果中給出了通過(guò)c/c++實(shí)現(xiàn)這項(xiàng)研究的一般圖像處理管道性能,以及定制的硬件加速器和Python實(shí)現(xiàn)的性能結(jié)果(下圖所示),幫助我們更好地理解了Python + FPGA開(kāi)發(fā)環(huán)境的性能和能。表中可以看出,結(jié)果十分明顯,通過(guò)PYNQ實(shí)現(xiàn)較c實(shí)現(xiàn)速度提高了30倍之多,更甚者,從結(jié)果中可以看出,當(dāng)Python實(shí)現(xiàn)時(shí)有更加有效的可用庫(kù)時(shí),比如OpenCV,其性能可以增長(zhǎng)更多。

Python軟件實(shí)現(xiàn)和FPGA性能潛力的結(jié)合是一個(gè)非常有意義的工作,將會(huì)開(kāi)創(chuàng)出一個(gè)類(lèi)似于樹(shù)莓派和Arduino的廣大的開(kāi)發(fā)者社區(qū)。Python+FPGA是一個(gè)廣闊的未經(jīng)勘察過(guò)的領(lǐng)域——一個(gè)全新的更加高效的開(kāi)發(fā)空間——通過(guò)PYNQ開(kāi)發(fā)環(huán)境將會(huì)吸引更多的系統(tǒng)開(kāi)發(fā)者加入的領(lǐng)域。

日前在賽靈思OPENHW2017創(chuàng)新大賽暨教師峰會(huì)上,北京理工大學(xué)嵩天副教授《Python編程語(yǔ)言和PYNQ在中國(guó)》的演講,科普了Python編程風(fēng)靡全球的原因。

Python編程語(yǔ)言舉例,只用了21行代碼就完成了一個(gè)圖像素描的處理,Python大大提升了開(kāi)發(fā)效率。

人工智能機(jī)器學(xué)習(xí)走熱,讓 Python 從眾多編程語(yǔ)言中脫穎而出。

還等什么呢?

人生苦短,我用Python

聲明:本文內(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)注

    5091

    文章

    19176

    瀏覽量

    307193
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    84987

原文標(biāo)題:Python正向硬件圈殺來(lái)!工程師們,別再問(wèn)需不需要學(xué)Python了!

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CPLD 嵌入式系統(tǒng)的應(yīng)用

    現(xiàn)代電子設(shè)計(jì)領(lǐng)域,復(fù)雜可編程邏輯器件(CPLD)因其靈活性、成本效益和快速開(kāi)發(fā)周期而在嵌入式系統(tǒng)扮演著重要角色。 1. CPLD簡(jiǎn)介 C
    的頭像 發(fā)表于 01-23 09:50 ?98次閱讀

    PLD嵌入式系統(tǒng)的應(yīng)用實(shí)例

    隨著技術(shù)的發(fā)展,嵌入式系統(tǒng)各個(gè)領(lǐng)域扮演著越來(lái)越重要的角色。從簡(jiǎn)單的家用電器到復(fù)雜的工業(yè)控制系統(tǒng)
    的頭像 發(fā)表于 01-20 09:42 ?107次閱讀

    嵌入式主板的概述與發(fā)展

    隨著科技的迅猛發(fā)展,嵌入式系統(tǒng)現(xiàn)代電子產(chǎn)品扮演著越來(lái)越重要的角色
    的頭像 發(fā)表于 01-13 16:30 ?278次閱讀
    <b class='flag-5'>嵌入式</b>主板的概述與發(fā)展

    LDO嵌入式系統(tǒng)的應(yīng)用 常見(jiàn)LDO故障及解決方法

    LDO嵌入式系統(tǒng)的應(yīng)用 LDO(Low Dropout Regulator,低降壓線性穩(wěn)壓器)是一種常用的電源管理集成電路,它在嵌入式
    的頭像 發(fā)表于 12-13 09:08 ?840次閱讀

    HAL庫(kù)嵌入式系統(tǒng)的應(yīng)用

    HAL庫(kù)(Hardware Abstraction Layer Library,硬件抽象層庫(kù))嵌入式系統(tǒng)扮演著至關(guān)重要的
    的頭像 發(fā)表于 12-02 11:32 ?840次閱讀

    mmc卡在嵌入式系統(tǒng)的使用

    隨著科技的發(fā)展,嵌入式系統(tǒng)我們的日常生活扮演著越來(lái)越重要的角色。從智能手機(jī)到家用電器,再到工
    的頭像 發(fā)表于 11-25 09:58 ?369次閱讀

    嵌入式 Linux 操作系統(tǒng)配置

    隨著物聯(lián)網(wǎng)(IoT)和智能設(shè)備的快速發(fā)展,嵌入式系統(tǒng)各個(gè)領(lǐng)域扮演著越來(lái)越重要的角色。Linux因其開(kāi)源、靈活和穩(wěn)定的特性,成為
    的頭像 發(fā)表于 11-06 10:22 ?583次閱讀

    ROM嵌入式系統(tǒng)的應(yīng)用

    ROM(Read-Only Memory,只讀存儲(chǔ)器)是一種非易失性存儲(chǔ)器,即使斷電的情況下也能保持存儲(chǔ)的數(shù)據(jù)。嵌入式系統(tǒng),ROM
    的頭像 發(fā)表于 11-04 10:06 ?498次閱讀

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    會(huì)更加模塊化和集成化,允許更容易的硬件和軟件的切換和升級(jí)。這會(huì)提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性,會(huì)使得系統(tǒng)能夠適應(yīng)不斷變化的應(yīng)用需求。 5. 生態(tài)可持續(xù)性與環(huán)保材料
    發(fā)表于 09-12 15:42

    嵌入式系統(tǒng)實(shí)時(shí)操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運(yùn)行、相互交互和與外界通信的底層軟件機(jī)制。本節(jié),您將了解嵌入式軟件開(kāi)發(fā)人員使用哪些流行RTOS以及它們運(yùn)行
    的頭像 發(fā)表于 08-20 11:28 ?537次閱讀

    機(jī)器視覺(jué)嵌入式的應(yīng)用

    機(jī)器視覺(jué)嵌入式系統(tǒng)的應(yīng)用是一個(gè)廣泛而深入的話題,涉及到許多不同的領(lǐng)域和技術(shù)。 機(jī)器視覺(jué)嵌入式
    的頭像 發(fā)表于 07-16 10:30 ?593次閱讀

    嵌入式系統(tǒng)怎么學(xué)?

    、C++或者Python。這些語(yǔ)言嵌入式系統(tǒng)開(kāi)發(fā)中都被廣泛應(yīng)用。 3、微處理器/微控制器架構(gòu):學(xué)習(xí)常見(jiàn)的微處理器和微控制器架構(gòu),如ARM、AVR、PIC等,了解其特性和應(yīng)用場(chǎng)景。
    發(fā)表于 07-02 10:10

    STM32__UCOSII系統(tǒng)啟動(dòng)過(guò)程中空閑任務(wù)和統(tǒng)計(jì)任務(wù)扮演怎樣角色

    如題STM32__UCOSII系統(tǒng)啟動(dòng)過(guò)程中空閑任務(wù)和統(tǒng)計(jì)任務(wù)扮演怎樣角色
    發(fā)表于 05-08 07:37

    再談嵌入式實(shí)時(shí)操作系統(tǒng)

    程序的可移植性得到了增強(qiáng),系統(tǒng)開(kāi)發(fā)的工作量減輕的同時(shí)也提高了開(kāi)發(fā)效率。對(duì)實(shí)時(shí)性和可靠性日益增長(zhǎng)的要求正在塑造某些現(xiàn)代領(lǐng)域的嵌入式實(shí)時(shí)操作系統(tǒng)
    的頭像 發(fā)表于 04-09 17:27 ?847次閱讀
    再談<b class='flag-5'>嵌入式</b><b class='flag-5'>實(shí)時(shí)</b>操作<b class='flag-5'>系統(tǒng)</b>

    嵌入式系統(tǒng)發(fā)展前景?

    設(shè)備、健康監(jiān)測(cè)等領(lǐng)域有著廣泛的應(yīng)用前景。隨著人們對(duì)健康的重視程度不斷提高,嵌入式系統(tǒng)將更為深入地應(yīng)用于醫(yī)療設(shè)備和健康護(hù)理,實(shí)現(xiàn)個(gè)人健康管理的智能化和實(shí)時(shí)化。 汽車(chē)電子和自動(dòng)駕駛是
    發(fā)表于 02-22 14:09
    主站蜘蛛池模板: 最刺激黄a大片免费观看 | 午夜色网站 | 可以直接看的黄址 | 国产高清在线观看 | 四虎一区二区三区精品 | 国产精品免费看久久久香蕉 | 久久久精品2021免费观看 | 欧美日韩一区二区视频图片 | 你懂得的在线观看免费视频 | 18女毛片| 亚洲精品aaa揭晓 | 色香焦 | 岛国午夜精品视频在线观看 | 一级片aaa | 韩国三级无遮挡床戏视频 | 免费视频一区二区 | 爱爱免费视频网站 | 456性欧美欧美在线视频 | 俺也啪| 嫩草影院在线入口 | 亚洲免费不卡 | 啪啪网站免费 | 国产精品成人va在线观看入口 | 色天使美国 | 五月天婷婷网站 | 宅男69免费永久网站 | 两人性潮高免费视频看 | 欧美不卡在线视频 | 亚洲人成伊人成综合网久久 | 日本媚薬痉挛在线观看免费 | 日日操夜夜操免费视频 | 男女做性无遮挡免费视频 | 欧美精品高清在线xxxx | 亚州一级毛片 | 天天干视频网 | 一区二区不卡视频在线观看 | 成 人 免 费 黄 色 | 业余性自由色xxxx视频 | 色综合久久综合欧美综合网 | 国产免费一级高清淫日本片 | 亚洲一本高清 |