資料介紹
嵌入式系統(tǒng)是在有限的空間和有限的資源中運行,高效地實現(xiàn)某種特定功能或功能集合的裝置。
它的開發(fā)通常受到很多客觀條件的限制,諸如較弱的CPU處理能力、較小的內(nèi)存空間、較少的可供選擇的外設(shè)、有限的電源供應(yīng)等。每個嵌入式系統(tǒng)的開發(fā)無不是精打細(xì)算,以求用有限的資源發(fā)揮最大的功效。在各種嵌入式系統(tǒng)上運行的操作系統(tǒng)中,嵌入式Linux以其免費、高可靠性、廣泛的硬件支持以及開放源碼等眾多特性正在獲得越來越多的關(guān)注。其源碼開放特性使得開發(fā)者可以針對特定的嵌入式系統(tǒng)對Linux內(nèi)核進(jìn)行修改,以滿足開發(fā)要求,達(dá)到系統(tǒng)最優(yōu)化的目的。嵌入式Linux應(yīng)用中的一大問題是Linux的實時性問題。實時系統(tǒng)必須在限定時間內(nèi)對外部事件作出正確響應(yīng),重點放在對滿足突發(fā)性、暫時性的處理需求上。而Linux作為傳統(tǒng)的分時操作系統(tǒng),關(guān)注更多的是系統(tǒng)的整體數(shù)據(jù)吞吐量。如何提高Linux的實時性能是擺在廣大嵌入式系統(tǒng)級開發(fā)人員面前的挑戰(zhàn)。
1 相關(guān)研究
目前市面上有各種Linux發(fā)行版,但嚴(yán)格來說,Linux指的是Linus Torvalds維護(hù)的(及通過主要和鏡像網(wǎng)站發(fā)布的)內(nèi)核。建立嵌入式系統(tǒng)不需要特別的內(nèi)核,一個嵌入式Linux系統(tǒng)只是代表一個基于Linux內(nèi)核的嵌入式系統(tǒng),本文后面提及的Linux均指Linux內(nèi)核。目前已有很多改善Linux實時性能的工作在進(jìn)行中。最新的2.6版Linux已經(jīng)實現(xiàn)了可搶占式的內(nèi)核任務(wù)調(diào)度,但是不確定的中斷延時問題沒有得到解決。即2.6版的Linux高優(yōu)先級內(nèi)核空間進(jìn)程雖然能像在用戶空間里那樣搶占低優(yōu)先級進(jìn)程的系統(tǒng)資源,但是從中斷發(fā)出開始到中斷服務(wù)程序的第1條指令開始執(zhí)行的時間是不確定的。
除了Linux開發(fā)者的改進(jìn)工作之外,還有一些組織、公司為提高Linux的實時性做了大量工作。其中有代表性的是Fsm Labs公司的RT-Linux、Monta Vista公司的MontaVista Linux、由Paolo Mantegazza等人維護(hù)的RTAI(Realtime Application InteRFace)項目。這些項目采用的方法可歸納為兩類:
?。?)直接修改Linux內(nèi)核。MontaVista Linux采用的就是這種方法。它將Linux修改成稱為Relatively Fully Preemptable Kernel的可搶占式內(nèi)核,并使現(xiàn)了實時調(diào)度機(jī)制和算法,增加了一個細(xì)粒度定時器,這樣就將Linux修改成為一個軟實時內(nèi)核。
?。?)“雙內(nèi)核”方式。RTAI項目和RT-Linux采用了這種方法。這種方法將傳統(tǒng)Linux“架空”,作為新增加的小型實時內(nèi)核的一個優(yōu)先級最低的任務(wù)執(zhí)行,而實時任務(wù)則作為優(yōu)先級最高的任務(wù)。即在實時任務(wù)存在的情況下運行實施任務(wù),否則才運行Linux本身的任務(wù)。
MontaVista和RT-Linux的局限性在于它是一個商用軟件,不遵循GNU 的源代碼開放原則。若要在系統(tǒng)中使用這種Linux,則需要支付一筆頗為可觀的授權(quán)費用,這就違背了使用Linux的初衷—— 開源、免費,能夠發(fā)展自己的知識產(chǎn)權(quán)。
RTAI為了實時性能舍棄了Linux固有的很多優(yōu)點:對大量硬件的廣泛支持,優(yōu)秀的穩(wěn)定性、可靠性。開發(fā)者一方面要針對RTAI自定義的一個硬件抽象層RTHAL(Real Time Hardware Abstraction Layer)重新編寫驅(qū)動程序,而且龐大的Linux開發(fā)社區(qū)的成果也無法方便地應(yīng)用到實時核心中。
2 影響Linux實時性的因素
2.1 任務(wù)切換及其延時
任務(wù)切換延時是Linux從一個進(jìn)程切換到另一個進(jìn)程所需的時間,即高優(yōu)先級進(jìn)程從發(fā)出CPU 資源申請到進(jìn)程的第1條指令開始執(zhí)行的間隔。在實時系統(tǒng)中,任務(wù)切換延時必須越短越好。如之前所提到的,Linux 2.6.X已經(jīng)實現(xiàn)了可搶占式內(nèi)核,高優(yōu)先級內(nèi)核空間進(jìn)程可以像在用戶空間中那樣讓CPU在任何時候停止低優(yōu)先級進(jìn)程轉(zhuǎn)而執(zhí)行自己。但是有2種例外情況:
(1)進(jìn)程在臨界區(qū)(Critical Section)中執(zhí)行的時候不能被其他進(jìn)程搶占;
(2)中斷服務(wù)程序(Interrupt Service Routine)不能被其他進(jìn)程搶占。
2.2 基于優(yōu)先級的調(diào)度算法
在Linux 2.6中,采用了O(1)調(diào)度算法。它是一個基于優(yōu)先級的搶先式調(diào)度器,為每一個進(jìn)程分配一個唯一的優(yōu)先級,調(diào)度器保證在所有等待運行的任務(wù)中,首先被執(zhí)行的總是高優(yōu)先級的任務(wù),為此高優(yōu)先級的任務(wù)能夠搶占低優(yōu)先級的任務(wù)。
這個調(diào)度器開銷恒定,與當(dāng)前系統(tǒng)開銷無關(guān),能夠改善系統(tǒng)實時性能。但是調(diào)度系統(tǒng)沒有提供除CPU以外的其他資源剝奪運行,實時性能沒有得到根本改觀。如果兩個任務(wù)需要使用同一個資源(如高速緩存),高優(yōu)先級的任務(wù)已準(zhǔn)備就緒,而此刻低優(yōu)先級的任務(wù)正在用這個資源,高優(yōu)先級的任務(wù)就必須等待,直到低優(yōu)先級任務(wù)結(jié)束釋放了該資源后才能被執(zhí)行,這被稱為優(yōu)先級倒置。
2.3 中斷延時、中斷服務(wù)程序
中斷延時指的是從外設(shè)發(fā)出中斷信號開始到ISR的第1條指令開始執(zhí)行的時間間隔。由外部中斷引起的實時任務(wù)需求是實時系統(tǒng)處理量的主要組成部分,足夠快地中斷響應(yīng)和迅速地中斷服務(wù)程序處理是衡量實時系統(tǒng)的重要性能指標(biāo)。不同的ISR執(zhí)行時間是不一樣的,即使是相同的ISR也可能因為有多個出口而有不同的執(zhí)行時間。而ISR執(zhí)行時外部中斷是被禁用的,造成這樣一種情況,即使Linux的中斷延時非常小,如果在一個ISR執(zhí)行時某個外設(shè)也產(chǎn)生了一個中斷信號,因為正在執(zhí)行的ISR運行時間的不確定性和不可搶占性,也會產(chǎn)生Linux的中斷延時的不可預(yù)測性。
3 系統(tǒng)實時性能的提高
3.1 任務(wù)切換機(jī)倒的建立
在2.1節(jié)中提到進(jìn)程在臨界區(qū)中執(zhí)行的時候不能被搶占的問題,為了不影響系統(tǒng)穩(wěn)定性、減少調(diào)試和測試的時間,我們不打算對此進(jìn)行修改,而引入一個機(jī)制保證實時任務(wù)能夠得到優(yōu)先執(zhí)行。即在實時系統(tǒng)中,只有當(dāng)進(jìn)程的臨界區(qū)能在下一個實時任務(wù)開始之前結(jié)束才被允許進(jìn)入。
如何判斷下一個實時任務(wù)中斷信號的產(chǎn)生時間,一般來說中斷信號是為了那些開始時間不可預(yù)測的任務(wù)而設(shè)定的,它的產(chǎn)生是完全隨機(jī)的。為了使中斷信號的時間能夠被預(yù)測,將中斷信號的產(chǎn)生與時鐘中斷掛鉤:中斷信號只能與時鐘中斷同時產(chǎn)生。時鐘中斷由系統(tǒng)計時硬件以周期性間隔產(chǎn)生。這個間隔由內(nèi)核根據(jù)Hz值設(shè)定。Hz是一個與體系結(jié)構(gòu)有關(guān)的常數(shù),在文件中定義。當(dāng)前的Linux為大多數(shù)平臺定義的Hz值是100,亦即時鐘中斷周期是10ms。顯然這是達(dá)不到實時系統(tǒng)定時精度要求的。提高Hz值能夠帶來系統(tǒng)性能提升,但卻是以增加系統(tǒng)開銷為代價。這就必須仔細(xì)權(quán)衡實時性要求和系統(tǒng)開銷的平衡。一種方法是通過大量的測試確定的實時任務(wù)中斷請求發(fā)生的時間間隔和進(jìn)程在臨界區(qū)中的執(zhí)行時間,取一個稍大于大多數(shù)實時任務(wù)中斷間隔和臨界區(qū)執(zhí)行時間的數(shù)值。
它的開發(fā)通常受到很多客觀條件的限制,諸如較弱的CPU處理能力、較小的內(nèi)存空間、較少的可供選擇的外設(shè)、有限的電源供應(yīng)等。每個嵌入式系統(tǒng)的開發(fā)無不是精打細(xì)算,以求用有限的資源發(fā)揮最大的功效。在各種嵌入式系統(tǒng)上運行的操作系統(tǒng)中,嵌入式Linux以其免費、高可靠性、廣泛的硬件支持以及開放源碼等眾多特性正在獲得越來越多的關(guān)注。其源碼開放特性使得開發(fā)者可以針對特定的嵌入式系統(tǒng)對Linux內(nèi)核進(jìn)行修改,以滿足開發(fā)要求,達(dá)到系統(tǒng)最優(yōu)化的目的。嵌入式Linux應(yīng)用中的一大問題是Linux的實時性問題。實時系統(tǒng)必須在限定時間內(nèi)對外部事件作出正確響應(yīng),重點放在對滿足突發(fā)性、暫時性的處理需求上。而Linux作為傳統(tǒng)的分時操作系統(tǒng),關(guān)注更多的是系統(tǒng)的整體數(shù)據(jù)吞吐量。如何提高Linux的實時性能是擺在廣大嵌入式系統(tǒng)級開發(fā)人員面前的挑戰(zhàn)。
1 相關(guān)研究
目前市面上有各種Linux發(fā)行版,但嚴(yán)格來說,Linux指的是Linus Torvalds維護(hù)的(及通過主要和鏡像網(wǎng)站發(fā)布的)內(nèi)核。建立嵌入式系統(tǒng)不需要特別的內(nèi)核,一個嵌入式Linux系統(tǒng)只是代表一個基于Linux內(nèi)核的嵌入式系統(tǒng),本文后面提及的Linux均指Linux內(nèi)核。目前已有很多改善Linux實時性能的工作在進(jìn)行中。最新的2.6版Linux已經(jīng)實現(xiàn)了可搶占式的內(nèi)核任務(wù)調(diào)度,但是不確定的中斷延時問題沒有得到解決。即2.6版的Linux高優(yōu)先級內(nèi)核空間進(jìn)程雖然能像在用戶空間里那樣搶占低優(yōu)先級進(jìn)程的系統(tǒng)資源,但是從中斷發(fā)出開始到中斷服務(wù)程序的第1條指令開始執(zhí)行的時間是不確定的。
除了Linux開發(fā)者的改進(jìn)工作之外,還有一些組織、公司為提高Linux的實時性做了大量工作。其中有代表性的是Fsm Labs公司的RT-Linux、Monta Vista公司的MontaVista Linux、由Paolo Mantegazza等人維護(hù)的RTAI(Realtime Application InteRFace)項目。這些項目采用的方法可歸納為兩類:
?。?)直接修改Linux內(nèi)核。MontaVista Linux采用的就是這種方法。它將Linux修改成稱為Relatively Fully Preemptable Kernel的可搶占式內(nèi)核,并使現(xiàn)了實時調(diào)度機(jī)制和算法,增加了一個細(xì)粒度定時器,這樣就將Linux修改成為一個軟實時內(nèi)核。
?。?)“雙內(nèi)核”方式。RTAI項目和RT-Linux采用了這種方法。這種方法將傳統(tǒng)Linux“架空”,作為新增加的小型實時內(nèi)核的一個優(yōu)先級最低的任務(wù)執(zhí)行,而實時任務(wù)則作為優(yōu)先級最高的任務(wù)。即在實時任務(wù)存在的情況下運行實施任務(wù),否則才運行Linux本身的任務(wù)。
MontaVista和RT-Linux的局限性在于它是一個商用軟件,不遵循GNU 的源代碼開放原則。若要在系統(tǒng)中使用這種Linux,則需要支付一筆頗為可觀的授權(quán)費用,這就違背了使用Linux的初衷—— 開源、免費,能夠發(fā)展自己的知識產(chǎn)權(quán)。
RTAI為了實時性能舍棄了Linux固有的很多優(yōu)點:對大量硬件的廣泛支持,優(yōu)秀的穩(wěn)定性、可靠性。開發(fā)者一方面要針對RTAI自定義的一個硬件抽象層RTHAL(Real Time Hardware Abstraction Layer)重新編寫驅(qū)動程序,而且龐大的Linux開發(fā)社區(qū)的成果也無法方便地應(yīng)用到實時核心中。
2 影響Linux實時性的因素
2.1 任務(wù)切換及其延時
任務(wù)切換延時是Linux從一個進(jìn)程切換到另一個進(jìn)程所需的時間,即高優(yōu)先級進(jìn)程從發(fā)出CPU 資源申請到進(jìn)程的第1條指令開始執(zhí)行的間隔。在實時系統(tǒng)中,任務(wù)切換延時必須越短越好。如之前所提到的,Linux 2.6.X已經(jīng)實現(xiàn)了可搶占式內(nèi)核,高優(yōu)先級內(nèi)核空間進(jìn)程可以像在用戶空間中那樣讓CPU在任何時候停止低優(yōu)先級進(jìn)程轉(zhuǎn)而執(zhí)行自己。但是有2種例外情況:
(1)進(jìn)程在臨界區(qū)(Critical Section)中執(zhí)行的時候不能被其他進(jìn)程搶占;
(2)中斷服務(wù)程序(Interrupt Service Routine)不能被其他進(jìn)程搶占。
2.2 基于優(yōu)先級的調(diào)度算法
在Linux 2.6中,采用了O(1)調(diào)度算法。它是一個基于優(yōu)先級的搶先式調(diào)度器,為每一個進(jìn)程分配一個唯一的優(yōu)先級,調(diào)度器保證在所有等待運行的任務(wù)中,首先被執(zhí)行的總是高優(yōu)先級的任務(wù),為此高優(yōu)先級的任務(wù)能夠搶占低優(yōu)先級的任務(wù)。
這個調(diào)度器開銷恒定,與當(dāng)前系統(tǒng)開銷無關(guān),能夠改善系統(tǒng)實時性能。但是調(diào)度系統(tǒng)沒有提供除CPU以外的其他資源剝奪運行,實時性能沒有得到根本改觀。如果兩個任務(wù)需要使用同一個資源(如高速緩存),高優(yōu)先級的任務(wù)已準(zhǔn)備就緒,而此刻低優(yōu)先級的任務(wù)正在用這個資源,高優(yōu)先級的任務(wù)就必須等待,直到低優(yōu)先級任務(wù)結(jié)束釋放了該資源后才能被執(zhí)行,這被稱為優(yōu)先級倒置。
2.3 中斷延時、中斷服務(wù)程序
中斷延時指的是從外設(shè)發(fā)出中斷信號開始到ISR的第1條指令開始執(zhí)行的時間間隔。由外部中斷引起的實時任務(wù)需求是實時系統(tǒng)處理量的主要組成部分,足夠快地中斷響應(yīng)和迅速地中斷服務(wù)程序處理是衡量實時系統(tǒng)的重要性能指標(biāo)。不同的ISR執(zhí)行時間是不一樣的,即使是相同的ISR也可能因為有多個出口而有不同的執(zhí)行時間。而ISR執(zhí)行時外部中斷是被禁用的,造成這樣一種情況,即使Linux的中斷延時非常小,如果在一個ISR執(zhí)行時某個外設(shè)也產(chǎn)生了一個中斷信號,因為正在執(zhí)行的ISR運行時間的不確定性和不可搶占性,也會產(chǎn)生Linux的中斷延時的不可預(yù)測性。
3 系統(tǒng)實時性能的提高
3.1 任務(wù)切換機(jī)倒的建立
在2.1節(jié)中提到進(jìn)程在臨界區(qū)中執(zhí)行的時候不能被搶占的問題,為了不影響系統(tǒng)穩(wěn)定性、減少調(diào)試和測試的時間,我們不打算對此進(jìn)行修改,而引入一個機(jī)制保證實時任務(wù)能夠得到優(yōu)先執(zhí)行。即在實時系統(tǒng)中,只有當(dāng)進(jìn)程的臨界區(qū)能在下一個實時任務(wù)開始之前結(jié)束才被允許進(jìn)入。
如何判斷下一個實時任務(wù)中斷信號的產(chǎn)生時間,一般來說中斷信號是為了那些開始時間不可預(yù)測的任務(wù)而設(shè)定的,它的產(chǎn)生是完全隨機(jī)的。為了使中斷信號的時間能夠被預(yù)測,將中斷信號的產(chǎn)生與時鐘中斷掛鉤:中斷信號只能與時鐘中斷同時產(chǎn)生。時鐘中斷由系統(tǒng)計時硬件以周期性間隔產(chǎn)生。這個間隔由內(nèi)核根據(jù)Hz值設(shè)定。Hz是一個與體系結(jié)構(gòu)有關(guān)的常數(shù),在文件中定義。當(dāng)前的Linux為大多數(shù)平臺定義的Hz值是100,亦即時鐘中斷周期是10ms。顯然這是達(dá)不到實時系統(tǒng)定時精度要求的。提高Hz值能夠帶來系統(tǒng)性能提升,但卻是以增加系統(tǒng)開銷為代價。這就必須仔細(xì)權(quán)衡實時性要求和系統(tǒng)開銷的平衡。一種方法是通過大量的測試確定的實時任務(wù)中斷請求發(fā)生的時間間隔和進(jìn)程在臨界區(qū)中的執(zhí)行時間,取一個稍大于大多數(shù)實時任務(wù)中斷間隔和臨界區(qū)執(zhí)行時間的數(shù)值。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux路線
- 【嵌入式Linux(基礎(chǔ)篇)】從標(biāo)準(zhǔn)Linux到嵌入式Linux + 嵌入式Linux知識架構(gòu)
- 嵌入式linux實時性研究,嵌入式Linux內(nèi)核實時性研究及應(yīng)用
- 嵌入式Linux的淺淡
- 嵌入式Linux實時性能優(yōu)化
- 嵌入式linux+io+優(yōu)化,嵌入式Linux系統(tǒng)內(nèi)存優(yōu)化使用方法研究
- 嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試
- Linux+嵌入式實時操作系統(tǒng)開發(fā)與應(yīng)用
- 嵌入式Linux應(yīng)用程序例程
- 嵌入式Linux與物聯(lián)網(wǎng)軟件開發(fā)C語言內(nèi)核深度解析書籍的介紹
- 基于FPGA和嵌入式Linux的實時解析1553B+BM的設(shè)計與實現(xiàn) 3次下載
- 嵌入式Linux內(nèi)核實時性研究及改進(jìn)
- 基于RTAI的嵌入式Linux硬實時性能的研究與實現(xiàn)
- 基于Linux的嵌入式應(yīng)用淺析
- 嵌入式Linux 實時性分析與實時性改進(jìn)
- 簡化SBC的嵌入式Linux軟件開發(fā) 1.9k次閱讀
- 嵌入式系統(tǒng)的全面解析 3.7k次閱讀
- 嵌入式Linux啟動時間優(yōu)化的秘密之五-Bootloader 3.4k次閱讀
- 嵌入式Linux啟動時間優(yōu)化的秘密之四-啟動腳本 3k次閱讀
- 米爾科技嵌入式實時操作系統(tǒng)介紹 3k次閱讀
- 基于嵌入式軟件的JNI技術(shù)應(yīng)用解析 1.4k次閱讀
- 基于Yocto Project的定制嵌入式Linux產(chǎn)品設(shè)計淺析 1.1w次閱讀
- 關(guān)于嵌入式系統(tǒng)的特點和Linux內(nèi)核的實時應(yīng)用分析 1.5k次閱讀
- 怎么才能更好的理解嵌入式操作系統(tǒng)Linux實時化技術(shù)? 1.5k次閱讀
- 關(guān)于Linux嵌入式操作系統(tǒng)的優(yōu)勢特征詳解 6.1k次閱讀
- 關(guān)于Linux的特點析以及在嵌入式操作系統(tǒng)中的應(yīng)用詳解 1.3k次閱讀
- 基于Linux上進(jìn)行改進(jìn)的具有實時應(yīng)用能力的現(xiàn)代嵌入式操作系統(tǒng)解決方案詳解 1.2k次閱讀
- 對于嵌入式沒有嵌入式軟件架構(gòu)師的詳細(xì)解析 4.6k次閱讀
- 嵌入式Linux的學(xué)習(xí)方法解析 3.7k次閱讀
- 基于Linux的嵌入式實時操作系統(tǒng)的研究 6.7k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產(chǎn)品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創(chuàng)新應(yīng)用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項目案例及入門學(xué)習(xí)資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機(jī)主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論