欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

如何提高開源嵌入式處理應(yīng)用程序的性能

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-04-03 08:34 ? 次閱讀

隨著“開源”C / C ++算法成為嵌入式處理應(yīng)用程序中基于版稅的代碼越來越受歡迎的替代方案,它們帶來了新的技術(shù)挑戰(zhàn)。其中最重要的是如何優(yōu)化所獲取的代碼以在所選處理器上良好地工作。這個(gè)問題是至關(guān)重要的,因?yàn)闉榻o定處理器系列編寫的編譯器將利用該處理器的優(yōu)勢(shì),可能會(huì)犧牲其他領(lǐng)域的低效率。當(dāng)在不同平臺(tái)上直接運(yùn)行相同的算法時(shí),性能可能會(huì)降低。本文將探討將此類開源算法移植到ADI公司的Blackfin ?處理器,并在此過程中概述導(dǎo)致代碼優(yōu)化的“攻擊計(jì)劃”。

什么是開源?

通常理解的“開源”定義是指任何帶有源代碼的項(xiàng)目,可供其他程序員使用。開源軟件通常在軟件程序員社區(qū)內(nèi)協(xié)作開發(fā)并自由分發(fā)。例如,Linux操作系統(tǒng)就是以這種方式開發(fā)的。如果一切順利,最終的努力提供了一個(gè)不斷發(fā)展,強(qiáng)大的應(yīng)用程序,經(jīng)過充分測試,因?yàn)樵S多不同的應(yīng)用程序利用了代碼。鼓勵(lì)程序員使用代碼,因?yàn)樗麄儾槐貫榇烁顿M(fèi)或自行開發(fā),從而加快了他們的項(xiàng)目進(jìn)度。他們成功使用該代碼提供了進(jìn)一步的測試信息。

“開源”的認(rèn)證標(biāo)志由開源倡議(OSI)所有。如果分發(fā)條款符合OSI的開源定義,那么開發(fā)為可自由共享和發(fā)展的代碼可以使用開源商標(biāo)。這要求根據(jù)某些指導(dǎo)原則將軟件重新分發(fā)給其他人。例如,在通用公共許可證(GPL)下,必須提供源代碼,以便其他開發(fā)人員能夠改進(jìn)或發(fā)展它。

什么是Ogg?

整個(gè)開發(fā)人員社區(qū)都致力于為數(shù)字媒體創(chuàng)建開放標(biāo)準(zhǔn)和應(yīng)用程序。其中一個(gè)組織是Xiph.Org Foundation,一家非營利性公司,其目的是支持和開發(fā)免費(fèi),開放的協(xié)議和軟件,以服務(wù)于公共,開發(fā)和商業(yè)市場。這個(gè)傘式組織(見圖1)負(fù)責(zé)監(jiān)督視頻 - (Theora),音樂等技術(shù)的管理 - (有損Vorbis和無損Flac),以及語音(Speex)編解碼器。

如何提高開源嵌入式處理應(yīng)用程序的性能

術(shù)語Ogg表示保存多媒體數(shù)據(jù)的容器格式。它通常用作生成數(shù)據(jù)的特定編解碼器的前綴。我們將在這里討論的音頻編解碼器Vorbis使用Ogg將其比特流存儲(chǔ)為文件,因此它通常被稱為“Ogg Vorbis”。事實(shí)上,一些便攜式媒體播放器被宣傳為支持OGG文件,其中“Vorbis”部分是隱含的。下面討論的語音編解碼器Speex也使用Ogg格式將其比特流存儲(chǔ)為計(jì)算機(jī)上的文件。但是,互聯(lián)網(wǎng)協(xié)議語音(VoIP)和其他實(shí)時(shí)通信系統(tǒng)不需要文件存儲(chǔ)功能,并且使用像實(shí)時(shí)傳輸協(xié)議(RTP)這樣的網(wǎng)絡(luò)層來封裝這些流。因此,即使Vorbis通過多播分發(fā)服務(wù)器通過網(wǎng)絡(luò)傳輸也會(huì)丟失其Ogg shell。

什么是Vorbis?

Vorbis 是一種完全開放,無專利,免版稅的音頻壓縮格式。在許多方面,它在功能上與普遍存在的MPEG-1/2第3層(MP3)格式和較新的MPEG-4(AAC)格式非常相似。該編解碼器設(shè)計(jì)用于16至128 kbps /通道的可變比特率的中高質(zhì)量(8 kHz至48 kHz帶寬,> 16位,復(fù)音)音頻,因此它是音樂的理想格式。

最初的Vorbis實(shí)現(xiàn)是使用浮點(diǎn)運(yùn)算開發(fā)的,主要是因?yàn)?a href="http://www.delux-kingway.cn/v/tag/1315/" target="_blank">編程容易導(dǎo)致更快的發(fā)布。由于大多數(shù)電池供電嵌入式系統(tǒng)(如便攜式MP3播放器)使用成本更低,電池效率更高的定點(diǎn)處理器,開源開發(fā)人員社區(qū)創(chuàng)建了Vorbis解碼器的定點(diǎn)實(shí)現(xiàn)。被稱為 Tremor 的定點(diǎn)Vorbis解碼器的源代碼是根據(jù)許可證發(fā)布的,允許將其合并到開源和商業(yè)系統(tǒng)中。

在選擇特定的用于移植Vorbis解碼器的定點(diǎn)架構(gòu),分析從壓縮比特流中恢復(fù)音頻所涉及的處理類型非常重要。 Vorbis解碼過程(和其他類似算法)的通用處理器流程如圖2所示。與許多其他解碼算法一樣,有兩個(gè)主要階段:前端和后端。

如何提高開源嵌入式處理應(yīng)用程序的性能

< p>在前端階段,主要活動(dòng)是標(biāo)頭和數(shù)據(jù)包解包,表查找和霍夫曼解碼。這種操作涉及大量條件代碼和相對(duì)大量的程序空間,因此嵌入式開發(fā)人員通常使用微控制器作為前端。

后端處理由過濾函數(shù),逆變換和一般向量運(yùn)算定義。與前端階段相比,后端階段涉及更多的循環(huán)結(jié)構(gòu)和內(nèi)存訪問,通常使用較少量的代碼。由于這些原因,嵌入式系統(tǒng)中的后端處理歷來由成熟的DSP主導(dǎo)。

Blackfin處理器架構(gòu)統(tǒng)一了微控制器(MCU)和DSP功能,因此不再需要兩個(gè)單獨(dú)的設(shè)備。它可以有效地用于在單個(gè)芯片上實(shí)現(xiàn)前端和后端處理。

什么是Speex?

Speex 是開放式的-source,專利用于語音的專利音頻壓縮格式。雖然Vorbis用于壓縮所有類型的音樂和音頻,但Speex僅針對(duì)語音。出于這個(gè)原因,Speex在相同質(zhì)量水平的語音上可以取得比Vorbis更好的結(jié)果。

正如Vorbis與基于版稅的算法(如MP3和AAC)競爭一樣,Speex在語音編解碼器市場中與GSM-EFR和G.72x算法共享空間,例如G.729和G.722。 Speex還具有許多其他編解碼器中不存在的功能。這些包括可變比特率(VBR),在同一比特流(8 kHz,16 kHz和32 kHz)中集成多個(gè)采樣率,以及立體聲編碼支持。此外,Speex的最初設(shè)計(jì)目標(biāo)是促進(jìn)融入互聯(lián)網(wǎng)應(yīng)用程序,因此它是VoIP電話系統(tǒng)的一個(gè)非常強(qiáng)大的組件。

除了其獨(dú)特的技術(shù)特性,Speex還具有成本的主要優(yōu)勢(shì)“沒有“ - 可以分發(fā)和修改以符合特定的應(yīng)用程序。源代碼以類似于Vorbis的許可證分發(fā)。由于項(xiàng)目的維護(hù)者意識(shí)到將Speex嵌入到小型定點(diǎn)處理器中的重要性,因此在主代碼分支中引入了定點(diǎn)實(shí)現(xiàn)。

在Blackfin處理器上優(yōu)化Vorbis和Speex

當(dāng)現(xiàn)有應(yīng)用程序(如Vorbis或Speex)移植到新處理器時(shí),立即“開箱即用”代碼性能是最重要的考慮因素。但是,軟件工程師可以通過熟悉可用于優(yōu)化整體性能的眾多技術(shù)來獲得巨大回報(bào)。有些只需要很少的額外努力。

將任何軟件移植到Blackfin等嵌入式處理器的第一步是定制低級(jí)I / O例程以滿足系統(tǒng)需求。例如,Vorbis和Speex的參考代碼假定數(shù)據(jù)源自文件和處理后的輸出存儲(chǔ)到文件中(主要是因?yàn)檫@兩種實(shí)現(xiàn)最初都是在Unix / Linux系統(tǒng)上運(yùn)行的,其中文件是I / O例程可用)。然而,在嵌入式媒體系統(tǒng)中,輸入和/或輸出通常連接到在數(shù)字和現(xiàn)實(shí)模擬域之間轉(zhuǎn)換的A / D和D / A 數(shù)據(jù)轉(zhuǎn)換器。圖3顯示了可能基于Vorbis的媒體播放器實(shí)現(xiàn)的概念性概述。輸入比特流從閃存?zhèn)鬏?,解碼器輸出驅(qū)動(dòng)音頻DAC。此外,雖然一些媒體應(yīng)用程序(例如,便攜式音樂播放器)仍然使用文件來存儲(chǔ)數(shù)據(jù),但許多系統(tǒng)用網(wǎng)絡(luò)連接替換存儲(chǔ)。

如何提高開源嵌入式處理應(yīng)用程序的性能

當(dāng)優(yōu)化像Vorbis解碼器這樣的系統(tǒng)時(shí)有效地運(yùn)行,有一個(gè)有組織的攻擊計(jì)劃是一個(gè)好主意。一種可能性是首先從C內(nèi)優(yōu)化算法,然后簡化系統(tǒng)數(shù)據(jù)流,最后在裝配級(jí)別調(diào)整代碼的各個(gè)部分。圖4通過連續(xù)的優(yōu)化步驟說明了處理器負(fù)載的代表性減少,并顯示了該方法的效率。

如何提高開源嵌入式處理應(yīng)用程序的性能

編譯器優(yōu)化

可能是最有用的代碼優(yōu)化工具是一個(gè)很好的探測器。使用VisualDSP ++ for Blackfin中的統(tǒng)計(jì) profiler ,程序員可以快速關(guān)注在處理器執(zhí)行代碼時(shí)變得明顯的熱點(diǎn)。在許多實(shí)現(xiàn)中,20%的代碼占用了80%的處理時(shí)間。關(guān)注這些關(guān)鍵部分會(huì)產(chǎn)生最高的邊際回報(bào)。事實(shí)證明,循環(huán)是Vorbis等媒體算法優(yōu)化的主要候選者,因?yàn)槊芗瘮?shù)字運(yùn)算通常發(fā)生在它們內(nèi)部。

還有全局的代碼優(yōu)化方法。首先,編譯器可以優(yōu)化內(nèi)存保護(hù)或速度。此外,可以考慮將函數(shù)自動(dòng)內(nèi)聯(lián)到C代碼中的匯編指令。 (編譯器的inline關(guān)鍵字用于指示函數(shù)應(yīng)該具有在調(diào)用點(diǎn)內(nèi)聯(lián)生成的代碼。這樣做可以避免各種成本,例如程序流延遲,函數(shù)入口和退出指令以及參數(shù)傳遞開銷。)這也會(huì)創(chuàng)建在空間和速度之間進(jìn)行權(quán)衡。最后,像Blackfin可用的編譯器可以使用兩階段過程來導(dǎo)出單個(gè)項(xiàng)目中各種源文件之間的關(guān)系,以進(jìn)一步加快代碼執(zhí)行速度(過程間分析)。

如上所述,大多數(shù)媒體算法參考軟件都使用浮點(diǎn)運(yùn)算。但考慮到使用分?jǐn)?shù)定點(diǎn)機(jī)器編寫的軟件仍然錯(cuò)過了一個(gè)關(guān)鍵部分。大多數(shù)編解碼算法的首選語言是C語言,但C語言并不“本地”支持使用分?jǐn)?shù)定點(diǎn)數(shù)據(jù)。因此,許多分?jǐn)?shù)定點(diǎn)算法都使用整數(shù)數(shù)學(xué)進(jìn)行仿真。這可能使代碼具有高度可移植性,但它不能通過使用特定于機(jī)器的編譯器構(gòu)造重寫某些數(shù)學(xué)函數(shù)來獲得可達(dá)到的性能,以獲得最高的計(jì)算效率。

說明這一點(diǎn)的具體示例如圖5.左欄顯示了適用于所有整數(shù)機(jī)器的模擬分?jǐn)?shù)算術(shù)的C代碼和Blackfin編譯器輸出。執(zhí)行32位小數(shù)乘法的一次調(diào)用需要80個(gè)周期。右欄顯示了利用(mult_fr1x32x32)可獲得的性能改進(jìn),這是Blackfin編譯器的一個(gè)內(nèi)在函數(shù),它利用了底層的小數(shù)硬件。通過這種相當(dāng)容易的修改,可以實(shí)現(xiàn)86%的加速。

如何提高開源嵌入式處理應(yīng)用程序的性能

系統(tǒng)優(yōu)化

系統(tǒng)優(yōu)化以正確的內(nèi)存布局開始。在最好的情況下,所有代碼和數(shù)據(jù)都適合處理器的L1內(nèi)存。遺憾的是,這并不總是可行,特別是在網(wǎng)絡(luò)應(yīng)用程序中實(shí)現(xiàn)大型基于C的應(yīng)用程序時(shí)。

真正的困境是處理器經(jīng)過優(yōu)化,可通過直接內(nèi)存獨(dú)立于核心移動(dòng)數(shù)據(jù)訪問(DMA),但MCU程序員通常使用緩存模型運(yùn)行。雖然核心提取是不可避免的現(xiàn)實(shí),但使用DMA或高速緩存進(jìn)行大型傳輸對(duì)于保持性能是必不可少的。

為了介紹討論,讓我們考慮Blackfin總線體系結(jié)構(gòu)固有支持的幾個(gè)屬性。第一個(gè)是在沒有核心干預(yù)的情況下仲裁請(qǐng)求的能力。因?yàn)閮?nèi)部存儲(chǔ)器通常構(gòu)造在子庫中,所以DMA控制器和核心的同時(shí)訪問可以通過將數(shù)據(jù)放置在單獨(dú)的庫中而在單個(gè)周期中完成。例如,核心可以在一個(gè)子庫中的數(shù)據(jù)上操作,而DMA在第二子庫中填充新的緩沖器。在某些情況下,也可以同時(shí)訪問同一個(gè)子庫。

通常只有一條物理總線可用于訪問外部存儲(chǔ)器。結(jié)果,仲裁功能變得更加關(guān)鍵。下面是一個(gè)澄清挑戰(zhàn)的示例:在任何給定周期,可以訪問外部存儲(chǔ)器位置,以便在它作為傳入和傳出數(shù)據(jù)的源和目標(biāo)的同時(shí)填充指令緩存。

指令執(zhí)行

Blackfin處理器使用分層存儲(chǔ)器架構(gòu),力求平衡具有不同大小和性能級(jí)別的多個(gè)級(jí)別的存儲(chǔ)器。片上 L1存儲(chǔ)器最接近核心處理器,以全時(shí)鐘速率工作。該存儲(chǔ)器可以配置為SRAM和/或高速緩存。需要最大確定性的應(yīng)用可以在單核時(shí)鐘周期內(nèi)訪問片上SRAM。對(duì)于需要更大代碼尺寸的系統(tǒng),可提供額外的片上和片外存儲(chǔ)器 - 延遲增加。

SDRAM 比L1 SRAM慢,但存儲(chǔ)需要大型程序和數(shù)據(jù)緩沖區(qū)。但是,程序員可以通過多種方式利用快速L1內(nèi)存。如果目標(biāo)應(yīng)用程序直接適合L1存儲(chǔ)器,除了程序員將應(yīng)用程序代碼直接映射到該存儲(chǔ)空間之外,不需要特殊操作 - 如上述Vorbis示例中那樣。

如果應(yīng)用程序代碼對(duì)于內(nèi)部存儲(chǔ)器而言太大,例如,將網(wǎng)絡(luò)組件添加到Vorbis編解碼器時(shí),可以使用緩存機(jī)制來允許程序員訪問更大,更便宜的外部存儲(chǔ)器。 緩存用作在需要時(shí)自動(dòng)將代碼放入L1內(nèi)存的方法。一旦進(jìn)入L1,代碼就可以在單個(gè)核心周期中執(zhí)行,就像它首先存儲(chǔ)在芯片上一樣。這個(gè)過程的關(guān)鍵優(yōu)勢(shì)在于程序員不必管理進(jìn)出緩存的代碼移動(dòng)。

當(dāng)執(zhí)行的代碼本質(zhì)上是線性的時(shí),使用緩存是最好的。指令緩存實(shí)際上執(zhí)行兩個(gè)角色。首先,它有助于以更有效的方式從外部存儲(chǔ)器預(yù)取指令。此外,由于高速緩存通常使用某種類型的“最近最少使用”算法運(yùn)行,因此最常運(yùn)行的指令通常保留在高速緩存中。因此,如果代碼已經(jīng)被提取一次并且尚未被替換,那么它將在下一次循環(huán)時(shí)準(zhǔn)備好執(zhí)行。

謹(jǐn)慎的實(shí)時(shí)程序員沒有信任緩存來獲得最好的系統(tǒng)性能,因?yàn)槿绻麍?zhí)行需要時(shí)指令塊不在高速緩存中,系統(tǒng)性能將降低。利用緩存鎖定機(jī)制可以避免此問題。當(dāng)關(guān)鍵指令加載到緩存中時(shí),可以鎖定緩存行以防止指令被替換。這允許程序員在緩存中保留他們所需的內(nèi)容,并允許緩存機(jī)制本身管理不太重要的指令。此功能使Blackfin處理器與其他信號(hào)處理器區(qū)別開來。

數(shù)據(jù)管理

在討論了如何最好地管理代碼以提高此應(yīng)用程序的性能之后,我們現(xiàn)在考慮數(shù)據(jù)移動(dòng)的選項(xiàng)。作為高速緩存的替代方案,可以使用獨(dú)立于內(nèi)核的DMA控制器將數(shù)據(jù)移入和移出L1存儲(chǔ)器。雖然內(nèi)核在一部分內(nèi)存上運(yùn)行,但DMA正在引入下一個(gè)要處理的數(shù)據(jù)緩沖區(qū)。

Blackfin數(shù)據(jù)存儲(chǔ)器架構(gòu)對(duì)于整體系統(tǒng)性能與指令一樣重要 - 時(shí)鐘速度。由于多媒體應(yīng)用程序中任何時(shí)候都經(jīng)常發(fā)生多次數(shù)據(jù)傳輸,因此總線結(jié)構(gòu)必須支持內(nèi)部和外部存儲(chǔ)器的所有區(qū)域的核心和DMA訪問。至關(guān)重要的是自動(dòng)處理DMA控制器和內(nèi)核的仲裁,否則性能將大大降低。只需要設(shè)置DMA控制器,然后在數(shù)據(jù)準(zhǔn)備好處理時(shí)響應(yīng)中斷,就需要進(jìn)行核心到DMA的交互。此外,數(shù)據(jù)緩存還可以提高整體性能。

在默認(rèn)模式下,Blackfin執(zhí)行數(shù)據(jù)提取作為基本核心功能。雖然這通常是用于傳輸數(shù)據(jù)的最低效機(jī)制,但它導(dǎo)致最簡單的編程模型。快速暫存器內(nèi)存通常作為L1內(nèi)存的一部分提供;但對(duì)于較大的片外緩沖區(qū),如果核心必須獲取所有內(nèi)容,則訪問時(shí)間將受到影響。不僅需要多個(gè)周期來獲取數(shù)據(jù),而且核心也將忙著進(jìn)行提取。

因此,在可能的情況下,應(yīng)始終使用DMA來移動(dòng)數(shù)據(jù)。 Blackfin處理器具有DMA功能,可在外設(shè)和內(nèi)存之間以及不同內(nèi)存段之間傳輸數(shù)據(jù)。例如,我們的Vorbis實(shí)現(xiàn)使用DMA將音頻緩沖區(qū)傳輸?shù)揭纛lD / A轉(zhuǎn)換器。

對(duì)于此音頻應(yīng)用程序,“旋轉(zhuǎn)門”雙緩沖區(qū)方案用于容納DMA引擎。由于串行端口DMA清空了循環(huán)雙緩沖器的一半,另一半填充有解碼的音頻數(shù)據(jù)。為了限制壓縮數(shù)據(jù)被解碼的速率,DMA中斷服務(wù)程序(ISR)修改解碼器可以讀取的信號(hào)量,以確保寫入雙緩沖區(qū)的特定一半是安全的。在缺乏操作系統(tǒng)(OS)的設(shè)計(jì)中,輪詢信號(hào)量意味著浪費(fèi)CPU周期;但是,在操作系統(tǒng)下,調(diào)度程序可以切換到另一個(gè)任務(wù)(如用戶界面)以使處理器忙于實(shí)際工作。

如果不考慮數(shù)據(jù)一致性,使用DMA會(huì)導(dǎo)致錯(cuò)誤的結(jié)果。因此,與音頻DAC關(guān)聯(lián)的音頻緩沖區(qū)被放置在非高速緩存的存儲(chǔ)空間中,因?yàn)槌艘蒁MA傳輸?shù)木彌_區(qū)之外,高速緩存可能保存的數(shù)據(jù)版本更新。

裝配優(yōu)化

優(yōu)化的最后階段與用匯編語言重寫開源C代碼的孤立段有關(guān)。通過程序集重寫提高性能的最佳選擇通常是中斷服務(wù)程序(ISR)和可重用的信號(hào)處理模塊。

在程序集中編寫中斷處理程序的動(dòng)力是低效的ISR會(huì)降低其他中斷處理程序的響應(yīng)速度。例如,某些音頻設(shè)計(jì)必須使用音頻ISR格式化為音頻DAC綁定的AC97數(shù)據(jù)。由于這種情況會(huì)定期發(fā)生,因此長音頻ISR會(huì)降低其他事件的響應(yīng)速度。減少中斷處理程序循環(huán)計(jì)數(shù)的最佳方法是在匯編中重寫它。

可重用信號(hào)處理模塊的一個(gè)很好的例子是修改的離散余弦變換(MDCT)用于后端Vorbis處理,將時(shí)域信號(hào)轉(zhuǎn)換為頻域表示。編譯器永遠(yuǎn)不會(huì)像熟練的匯編程序員那樣生成“緊”的代碼,因此MDCT的C版本效率低下。相同功能的匯編版本可以利用Blackfin架構(gòu)的硬件功能,例如單周期蝶形加/減和硬件位反轉(zhuǎn)。

今天,Vorbis和Speex的Blackfin端口都存在,可根據(jù)要求提供。這些端口在ADSP-BF533 EZ-KIT Lite上運(yùn)行。在blackfin.uclinux.org上也可以找到μClinux的開源端口。它們共同實(shí)現(xiàn)了各種各樣的應(yīng)用程序,這些應(yīng)用程序可以集成免版稅的語音或音樂功能,同時(shí)保留足夠的處理空間以實(shí)現(xiàn)其他特性和功能。例如,新的ADSP-BF536和ADSP-BF537及其集成的以太網(wǎng)MAC為低成本的網(wǎng)絡(luò)音頻和語音應(yīng)用打開了大門。很明顯,開源代碼預(yù)示著嵌入式處理領(lǐng)域的一場革命,Blackfin處理器有望充分利用這種情況。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19440

    瀏覽量

    231326
  • 嵌入式
    +關(guān)注

    關(guān)注

    5096

    文章

    19191

    瀏覽量

    308043
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73895
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    對(duì)嵌入式應(yīng)用程序進(jìn)行性能優(yōu)化

    嵌入式系統(tǒng)由于受功耗、成本和體積等因素的制約,嵌入式微處理器的處理能力與桌面系統(tǒng)處理器相比也存在較大差距,故嵌入式系統(tǒng)對(duì)
    發(fā)表于 12-22 07:46

    嵌入式系統(tǒng)應(yīng)用程序移植的研究

    隨著嵌入式系統(tǒng)的大量使用,對(duì)各類應(yīng)用程序的需求也日益增長,為了避免應(yīng)用程序的重復(fù)開發(fā),往往需要將基于某一嵌入式操作系統(tǒng)平臺(tái)的應(yīng)用程序移植到另
    發(fā)表于 09-18 11:51 ?12次下載

    基于FPGA的原型系統(tǒng)的嵌入式應(yīng)用程序

    嵌入式應(yīng)用程序通常需要使用標(biāo)準(zhǔn)的微機(jī)和定制的接口。 本文講的是基于FPGA的原型系統(tǒng)的嵌入式應(yīng)用程序。 Embedded applications usually require th
    發(fā)表于 05-22 14:48 ?21次下載
    基于FPGA的原型系統(tǒng)的<b class='flag-5'>嵌入式</b><b class='flag-5'>應(yīng)用程序</b>

    MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究

    MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究
    發(fā)表于 10-19 13:22 ?7次下載
    MATLAB平臺(tái)的DSP<b class='flag-5'>嵌入式</b><b class='flag-5'>應(yīng)用程序</b>設(shè)計(jì)的研究

    基于MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究

    基于MATLAB平臺(tái)的DSP嵌入式應(yīng)用程序設(shè)計(jì)的研究
    發(fā)表于 10-20 15:09 ?5次下載
    基于MATLAB平臺(tái)的DSP<b class='flag-5'>嵌入式</b><b class='flag-5'>應(yīng)用程序</b>設(shè)計(jì)的研究

    如何為應(yīng)用程序選擇嵌入式系統(tǒng)

    PC的性能和能力的應(yīng)用程序。嵌入式解決方案的前景發(fā)生了翻天覆地的變化,一切只為更好地服務(wù)于這些應(yīng)用程序: (1)嵌入式系統(tǒng)技術(shù)和設(shè)計(jì)的演進(jìn)
    發(fā)表于 10-20 16:27 ?0次下載

    基于嵌入式Linux應(yīng)用程序開發(fā)詳解

    基于嵌入式Linux應(yīng)用程序開發(fā)詳解
    發(fā)表于 10-25 14:17 ?12次下載
    基于<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>應(yīng)用程序</b>開發(fā)詳解

    構(gòu)建和優(yōu)化嵌入式和物聯(lián)網(wǎng)應(yīng)用程序

    構(gòu)建和優(yōu)化嵌入式,移動(dòng)和物聯(lián)網(wǎng)應(yīng)用程序
    的頭像 發(fā)表于 05-31 09:23 ?1752次閱讀

    ARM嵌入式處理器的GNU工具應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是ARM嵌入式處理器的GNU工具應(yīng)用程序免費(fèi)下載。
    發(fā)表于 07-05 16:11 ?7次下載
    ARM<b class='flag-5'>嵌入式</b><b class='flag-5'>處理</b>器的GNU工具<b class='flag-5'>應(yīng)用程序</b>免費(fèi)下載

    增強(qiáng)開源應(yīng)用程序中的處理性能

    增強(qiáng)開源應(yīng)用程序中的處理性能
    發(fā)表于 05-15 13:41 ?4次下載
    增強(qiáng)<b class='flag-5'>開源</b><b class='flag-5'>應(yīng)用程序</b>中的<b class='flag-5'>處理</b>器<b class='flag-5'>性能</b>

    嵌入式Linux應(yīng)用程序例程

    嵌入式Linux應(yīng)用程序例程(arm嵌入式開發(fā)步驟)-嵌入式Linux應(yīng)用程序例程,有需要的可以參考!
    發(fā)表于 07-30 13:23 ?16次下載
    <b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>應(yīng)用程序</b>例程

    《從實(shí)踐中學(xué)嵌入式Linux應(yīng)用程序開發(fā)》pdf完整版資源分享

    《從實(shí)踐中學(xué)嵌入式Linux應(yīng)用程序開發(fā)》內(nèi)容簡介: 《從實(shí)踐中學(xué)嵌入式linux應(yīng)用程序開發(fā)》結(jié)合大量實(shí)例,講解了嵌入式linux
    發(fā)表于 11-01 17:07 ?0次下載
    《從實(shí)踐中學(xué)<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>應(yīng)用程序</b>開發(fā)》pdf完整版資源分享

    嵌入式Linux應(yīng)用程序開發(fā)-(1)第一個(gè)嵌入式QT應(yīng)用程序

    第一個(gè)嵌入式QT應(yīng)用程序在成功安裝 Qt Creator 開發(fā)環(huán)境后,我們通過一個(gè)簡單的嵌入式Qt應(yīng)用程序,來說明一下如何構(gòu)建和編譯一個(gè)Qt界面應(yīng)用
    發(fā)表于 11-01 17:21 ?16次下載
    <b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>應(yīng)用程序</b>開發(fā)-(1)第一個(gè)<b class='flag-5'>嵌入式</b>QT<b class='flag-5'>應(yīng)用程序</b>

    嵌入式Linux應(yīng)用程序開發(fā)之圖形編程

    嵌入式Linux應(yīng)用程序開發(fā)之圖形編程資料分享。
    發(fā)表于 04-12 14:50 ?2次下載

    使用微型嵌入式設(shè)備實(shí)現(xiàn)嵌入式語音識(shí)別應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《使用微型嵌入式設(shè)備實(shí)現(xiàn)嵌入式語音識(shí)別應(yīng)用程序.zip》資料免費(fèi)下載
    發(fā)表于 12-09 10:00 ?0次下載
    使用微型<b class='flag-5'>嵌入式</b>設(shè)備實(shí)現(xiàn)<b class='flag-5'>嵌入式</b>語音識(shí)別<b class='flag-5'>應(yīng)用程序</b>