色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-11-02 08:09 ? 次閱讀

ADSP-TS101S是美國(guó)ADI公司推出的一款具有極高性能的數(shù)字信號(hào)處理器(DSP芯片,其專為大信號(hào)處理任務(wù)和通信應(yīng)用進(jìn)行了結(jié)構(gòu)上的優(yōu)化設(shè)計(jì),在嵌人式信號(hào)處理中得到廣泛應(yīng)用。ADSP-TS101S的軟件設(shè)計(jì)可以采用匯編語(yǔ)言、高級(jí)語(yǔ)言(C/C )或高級(jí)語(yǔ)言與匯編語(yǔ)言混合編程。完全采用匯編編程,執(zhí)行效率高,但對(duì)于復(fù)雜算法編寫難度大,開發(fā)周期長(zhǎng),可讀性和可移植性差;而完全采用C編程雖然可以彌補(bǔ)匯編的缺陷,但是程序的執(zhí)行效率相對(duì)較低,大概只有匯編程序的10%~20%,對(duì)于實(shí)時(shí)性要求很高的處理,如雷達(dá)信號(hào)處理,很難滿足要求。采用混合語(yǔ)言編程,用c語(yǔ)言構(gòu)建框架,用匯編完成運(yùn)算量較大的核心處理模塊及硬件底層管理,就可以把兩者的優(yōu)點(diǎn)有效地結(jié)合起來(lái)。C和匯編語(yǔ)言的混合編程有三種形式:一是對(duì)C程序編譯后形成的匯編程序進(jìn)行手工修改與優(yōu)化;二是直接在C代碼中插入?yún)R編語(yǔ)句,只需在匯編語(yǔ)句兩邊加上雙引號(hào)和括號(hào),在括號(hào)前面加上標(biāo)識(shí)“asm”,如asm(“匯編語(yǔ)句”);三是分別編寫C程序和匯編程序,再獨(dú)立編譯成目標(biāo)代碼模塊鏈接。第一種方法對(duì)程序可讀性負(fù)面影響較大。第二種方法適用于C與匯編效率差異較大的情況,如進(jìn)入中斷的中斷子程序等。第三種方法最常用,需要遵循一些規(guī)定的接口規(guī)范和標(biāo)準(zhǔn)。

1 混合編程的接口規(guī)范和標(biāo)準(zhǔn)

①在C/C 環(huán)境下,TigerSHARC定義了一套嚴(yán)格的寄存器規(guī)則,它分為三類:

第一類是保留寄存器,j16~j25、k16~k25、xr24~xr31、yr24~yr31,共40個(gè),作為編譯系統(tǒng)庫(kù)函數(shù)專門使用的寄存器。編寫程序時(shí)應(yīng)避免使用這些寄存器,以免誤改了系統(tǒng)庫(kù)函數(shù)。若在子程序中使用到,必須在被調(diào)用時(shí)保存,調(diào)用完后釋放。

第二類是堆棧專用寄存器,k26、27和j26、j27四個(gè),這些寄存器在調(diào)用時(shí)都需要保護(hù)。

第三類是高速暫存寄存器,包括除了以上兩類寄存器以外的所有寄存器。用法和匯編中的普通寄存器是一樣的,使用前不需要保存寄存器內(nèi)容。

在默認(rèn)情況下,cjmp寄存器用作存放被調(diào)函數(shù)的返回地址,但在嵌套調(diào)用中,這個(gè)值會(huì)被修改。為了保證安全返回,一般把返回地址存放在堆棧頂偏移地址為0的地方。

函數(shù)調(diào)用有時(shí)需要參數(shù)傳遞,通常,若參數(shù)少于5個(gè),則通過(guò)寄存器傳遞,如表1所列。

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

如果在C/C 調(diào)用函數(shù)中作了正確的函數(shù)返回聲明,則被調(diào)用的匯編函數(shù)可使用寄存器j8、xr8和xr9返回有效值。j8用于返回整數(shù)或地址;xr9:8可提供雙字結(jié)果返回。若返回值大于2個(gè)字長(zhǎng),則必須為它們分配存儲(chǔ)空間,令j8為返回值,指向該空間的首地址即可。

②在C/C 中聲明的全局變量及函數(shù),匯編中加“一”前綴才能使用;在匯編中的對(duì)象必須用“一”前綴命名,并用。g10bal聲明為全局變量,才可在C/C 中訪問到。具體格式如表2所列。

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

2 混合編程的調(diào)用和中斷

2.1 函數(shù)調(diào)用

C編譯器對(duì)函數(shù)調(diào)用有一系列嚴(yán)格的規(guī)則。除了特殊的運(yùn)行支持函數(shù)外。任何函數(shù)與c函數(shù)互調(diào)都必須遵循這些規(guī)則。函數(shù)調(diào)用的標(biāo)準(zhǔn)運(yùn)行模式為:①調(diào)用者將參數(shù)莊人堆棧。壓入時(shí)按照反序進(jìn)行,即最右邊的參數(shù)位于堆棧的頂部。②調(diào)用函數(shù)。③調(diào)用結(jié)束時(shí),調(diào)用者將參數(shù)彈出堆棧并返回。整個(gè)過(guò)程離不開堆棧操作。函數(shù)調(diào)用中的堆棧結(jié)構(gòu)示意圖如圖1所示。

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

ADSP-TS101S的堆棧是一個(gè)先入后出存儲(chǔ)區(qū)(如圖1),用堆棧指針(j/k27)和幀指針(j/k26)來(lái)管理堆棧。調(diào)用函數(shù)時(shí),編譯器在運(yùn)行棧中建立一個(gè)幀以存儲(chǔ)信息,當(dāng)前函數(shù)幀稱為局部幀。j/k26指向當(dāng)前函數(shù)的局部幀的開始,即棧底。j/k27指向棧頂,工作方式是向低地址變化。每調(diào)用一次函數(shù),就建立一個(gè)新幀。C環(huán)境利用局部幀來(lái)實(shí)現(xiàn)如下功能:

①保護(hù)函數(shù)的返回地址及相關(guān)寄存器:把函數(shù)返回地址保存在j27 0的位置(棧頂),同時(shí)設(shè)置jZ6為j27-0x40(棧底),得到長(zhǎng)度為64的棧區(qū),并在棧區(qū)內(nèi)保護(hù)相關(guān)寄存器。

②分配局部變量:在局部變量賦初值的時(shí)候,系統(tǒng)在堆棧內(nèi)給它分配一個(gè)空間。

③傳遞函數(shù)參數(shù):前4個(gè)參數(shù)傳遞給相應(yīng)寄存器(見表1),后續(xù)參數(shù)按順序裝載到堆棧j27 0xC起始的空間中。注意,如果傳遞的參數(shù)是結(jié)構(gòu)類型,則其所有元素將入棧。例:第五個(gè)參數(shù)是兩元素的結(jié)構(gòu)體,則元素一放于jZ7 0xC,元素二放于j27 0xD,匯編子程序在使用參數(shù)時(shí)只需從對(duì)應(yīng)的位置上讀取即可。

C環(huán)境在調(diào)用C函數(shù)時(shí)自動(dòng)管理這些操作,當(dāng)匯編與C接口時(shí),必須采用與C一樣的方式進(jìn)行操作。這個(gè)過(guò)程可用圖1詳細(xì)描述。特別需要注意的是,由于C編譯器不提供檢查堆棧溢出的任何手段,因此必須保證有足夠的空間用于堆棧;否則若發(fā)生溢出現(xiàn)象,將破壞程序的運(yùn)行環(huán)境,從而導(dǎo)致程序的癱瘓。

2.2 中 斷

中斷是DSP控制程序執(zhí)行的重要方式。通常,DSP工作在包含多個(gè)外部異步事件的環(huán)境中,這些異步事件的隨機(jī)發(fā)生要求DSP能中斷當(dāng)前的處理程序并轉(zhuǎn)向執(zhí)行該事件處理程序,執(zhí)行完后又要求返回被中斷的原程序繼續(xù)處理步驟,這一過(guò)程就是中斷。中斷源可以來(lái)自片內(nèi)或片外的設(shè)備,例如時(shí)鐘、A/D等。中斷的設(shè)置包含兩步--①打開中斷屏蔽寄存器的相應(yīng)中斷位,②設(shè)置中斷服務(wù)程序的入口地址,這樣就能實(shí)現(xiàn)中斷的正常運(yùn)行。中斷服務(wù)程序是特殊的函數(shù),不能帶返回值,不能傳遞參數(shù),內(nèi)容須短而有效。標(biāo)準(zhǔn)運(yùn)行模式為:①保存斷點(diǎn)地址并保護(hù)所有用到的寄存器,②執(zhí)行中斷服務(wù)程序,③釋放寄存器并返回。

ADSP-TS101s中C語(yǔ)言中斷實(shí)現(xiàn)有兩種方法:一種是采用interrupt(int,vuid(*func(int)))函數(shù)來(lái)設(shè)置中斷矢量表,這個(gè)函數(shù)定義在signal.h頭文件中。第一個(gè)參量表示需響應(yīng)的中斷位,在這個(gè)頭文件中也有定義;第二個(gè)參數(shù)即是中斷服務(wù)程序。應(yīng)該引起注意的是,采用這種方法時(shí),IMASK寄存器的異常中斷位必須打開,因?yàn)閕nterrupt()庫(kù)函數(shù)要使用trap語(yǔ)句來(lái)產(chǎn)生陷阱,必須打開異常中斷,陷阱才能設(shè)置成功,中斷矢量表的設(shè)置才能完成,否則,中斷來(lái)l臨并不會(huì)進(jìn)入指定的中斷服務(wù)程序。另一種與匯編語(yǔ)言中斷服務(wù)程序的實(shí)現(xiàn)類似。以定時(shí)器O為例,設(shè)置好IMASK后,用_builtin_sysreg_write(_ⅣTIMEROHP,(int)timer0h_isr)函數(shù)設(shè)置中斷矢量表,用#pragma interrupt來(lái)標(biāo)識(shí)中斷服務(wù)程序即可。這種方法更簡(jiǎn)單快捷,但它只適用于Visua1DSP 3.5以上版本,而第一種方法適用于任何版本。

3 程序優(yōu)化

程序優(yōu)化包括匯編優(yōu)化和C優(yōu)化。手寫匯編程序的優(yōu)化空間相當(dāng)大,可以產(chǎn)生非常高效的程序代碼。由于許多相關(guān)書籍都有介紹,就不再贅述,這里主要介紹C程序的優(yōu)化。

一般DSP的C編譯器都會(huì)提供優(yōu)化編譯器,采用優(yōu)化編譯就可以生成效率更高的匯編代碼,在某些情況下,執(zhí)行優(yōu)化的程序代碼要快10~20倍。從某種程度上說(shuō),C程序的效率主要取決于C編譯器所能進(jìn)行優(yōu)化的范圍和數(shù)量。應(yīng)說(shuō)明的是,TSl01S編譯器的默認(rèn)設(shè)置是不使用優(yōu)化器,它可以進(jìn)行以下幾個(gè)不同級(jí)別的優(yōu)化,優(yōu)化程度由低到高:

①Debugging:“-g”開啟。編譯器產(chǎn)生調(diào)試信息,以確保目標(biāo)碼與相應(yīng)的源代碼匹配。

②DefauIt:編譯器進(jìn)行基本的高級(jí)優(yōu)化。例如對(duì)明確標(biāo)明的內(nèi)聯(lián)函數(shù)進(jìn)行內(nèi)聯(lián)。

③Procedural optimization:“-o”啟動(dòng)。編譯器對(duì)要編譯的文件中的每一過(guò)程進(jìn)行高級(jí)優(yōu)化。如果同時(shí)開啟“-g”,由于“-O”項(xiàng)有更高的優(yōu)先級(jí),會(huì)限制調(diào)試功能。

④Interprocedural optimization:“-ipa”打開。除了基本優(yōu)化外,編譯器將對(duì)所有源文件的整個(gè)程序進(jìn)行高級(jí)優(yōu)化操作,將刪除從沒被調(diào)用的函數(shù)和變量,會(huì)明顯減少代碼長(zhǎng)度。

以上“-g”、“-O”、“-ipa”在編譯信息中可以看到。優(yōu)化級(jí)越高,優(yōu)化的范圍就越廣。應(yīng)注意的是,使用C優(yōu)化編譯可以提高程序的運(yùn)行效率,但由于優(yōu)化時(shí)采用了一些優(yōu)化措施,使得C和匯編的交叉列表文件不如在不用優(yōu)化時(shí)得到的那樣清晰。因此,在調(diào)試程序時(shí),最好先不用優(yōu)化編譯進(jìn)行調(diào)試,待程序調(diào)試成功后再用優(yōu)化編譯進(jìn)行優(yōu)化。采用C優(yōu)化編譯時(shí),為了保證程序的正確性,特別需要注意幾點(diǎn):

①使用asm行匯編語(yǔ)句時(shí)必須特別小心。優(yōu)化器在優(yōu)化過(guò)程中會(huì)對(duì)程序代碼重新進(jìn)行組織,寄存器使用也比較靈活,同時(shí)程序中的有些變量或表達(dá)式可能會(huì)被刪除。雖然asm語(yǔ)句不會(huì)被刪除,但asm語(yǔ)句的前后環(huán)境可能因優(yōu)化而發(fā)生很大的變化。因此,當(dāng)asm語(yǔ)句涉及到C環(huán)境或訪問C變量時(shí),使用優(yōu)化器可能會(huì)得到不正確的結(jié)果。此時(shí),必須對(duì)編譯后得到的匯編語(yǔ)句進(jìn)行仔細(xì)的檢查,以確保asm語(yǔ)句在程序中的正確性。一般而言,當(dāng)asm語(yǔ)句僅涉及諸如控制中斷寄存器或I/0口等硬件操作時(shí),使用優(yōu)化是比較安全的。

②在高級(jí)優(yōu)化中,C語(yǔ)言源函數(shù)中從未使用過(guò)的變量和函數(shù)將被刪除。若匯編子函數(shù)的C外部變量在C程序中從未使用過(guò),有可能被刪除并導(dǎo)致編譯失敗。使用retain_name pragma可以避免變量和函數(shù)因優(yōu)化而被刪除。例如:

保留函數(shù)

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

③使用volatile變量避免優(yōu)化。一個(gè)定義為volatile的變量是說(shuō)這個(gè)變量可能會(huì)被意想不到地改變,比如,并行設(shè)備的硬件寄存器(如狀態(tài)寄存器),一個(gè)中斷服務(wù)子程序中會(huì)訪問到的非自動(dòng)變量,多線程應(yīng)用中被幾個(gè)任務(wù)共享的變量。采用volatile限定詞,優(yōu)化器在用到這個(gè)變量時(shí)必須每次都重新讀取這個(gè)變量的值,而不是使用保存在寄存器里的備份。

④C語(yǔ)言程序應(yīng)盡量避免使用指針運(yùn)算。指針轉(zhuǎn)換會(huì)在一定程度上降低運(yùn)行效率。

⑤在“-ipa'‘使能的情況下,在循環(huán)前使用#pragmann_alias可以起到進(jìn)一步優(yōu)化程序的功能。一般來(lái)說(shuō),對(duì)于循環(huán)中不存在迭代運(yùn)算(使用上一次結(jié)果)的情況,優(yōu)化效果很好。

⑥使用PM限定詞定義數(shù)據(jù)塊。默認(rèn)情況下數(shù)組存放在DM區(qū),即第一塊數(shù)據(jù)區(qū)(0x80000-0x8ffff)中。使用PM限定的數(shù)組放在第二塊數(shù)據(jù)區(qū)(0x100000-0x10ffff)中。由于兩塊數(shù)據(jù)區(qū)有獨(dú)立的128位數(shù)據(jù)總線相連,因此可以實(shí)現(xiàn)單周期內(nèi)的雙數(shù)據(jù)同時(shí)訪問。

4 混合編程在系統(tǒng)程序管理中的應(yīng)用

下面是一個(gè)嵌入式系統(tǒng)管理實(shí)例。系統(tǒng)由4片DSP構(gòu)成,作為系統(tǒng)管理的DSP0負(fù)責(zé)通過(guò)IRQ0接收控制臺(tái)從RS232串口傳來(lái)的控制字,譯碼,并通過(guò)控制flag3產(chǎn)生下降沿觸發(fā)IRQ3中斷來(lái)啟動(dòng)其他各片DSP.這里用C搭建框架,匯編控制底層硬件,效率高,可讀性強(qiáng)。由于篇幅限制,這里略去了串口初始化、串口數(shù)據(jù)接收函數(shù)以及其他芯片的處理程序。

以下是系統(tǒng)管理中的混合編程。

Main.c文件:

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

有利于嵌入式系統(tǒng)軟件優(yōu)化的混合編程介紹

5 總 結(jié)

實(shí)踐證明,采用混合編程的軟件更加符合一般系統(tǒng)對(duì)時(shí)間和空間的嚴(yán)格約束。設(shè)計(jì)良好的混合編程軟件既能有效滿足嵌入式系統(tǒng)對(duì)功能與性能的需求,也可以為程序的擴(kuò)展和移植預(yù)留足夠的空間。總之混合編程是嵌入式系統(tǒng)軟件優(yōu)化的重要途徑。

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

    關(guān)注

    68

    文章

    19329

    瀏覽量

    230149
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    50910

    瀏覽量

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

    關(guān)注

    5086

    文章

    19141

    瀏覽量

    305978
  • 匯編語(yǔ)言
    +關(guān)注

    關(guān)注

    14

    文章

    410

    瀏覽量

    35843
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是嵌入式系統(tǒng)

    什么是嵌入式系統(tǒng)嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。硬件包括處理器/微處理器、
    發(fā)表于 08-12 14:37

    嵌入式系統(tǒng)軟件嵌入式系統(tǒng)軟件

    嵌入式系統(tǒng)軟件嵌入式系統(tǒng)軟件
    發(fā)表于 08-20 10:24

    解析嵌入式軟件開發(fā)語(yǔ)言:嵌入式C編程

    系統(tǒng),如需要功耗只有mW甚至μW級(jí)。 3、具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)軟件結(jié)構(gòu)已經(jīng)模塊化,而為了避免在軟件模塊之間出現(xiàn)
    發(fā)表于 10-18 10:09

    嵌入式系統(tǒng)軟件編程語(yǔ)言

    獨(dú)立工作的器件。 嵌入式系統(tǒng)軟件部分包括操作系統(tǒng)軟件(要求實(shí)時(shí)和多任務(wù)操作)和應(yīng)用程序編程。操作系統(tǒng)
    發(fā)表于 07-17 07:34

    混合編程嵌入式系統(tǒng)軟件優(yōu)化中有什么優(yōu)勢(shì)?

    。ADSP-TS101S的軟件設(shè)計(jì)可以采用匯編語(yǔ)言、高級(jí)語(yǔ)言(C/C )或高級(jí)語(yǔ)言與匯編語(yǔ)言混合編程。完全采用匯編編程,執(zhí)行效率高,但對(duì)于復(fù)雜算法編寫難度大,開發(fā)周期長(zhǎng),可讀性和可移植性差;而完全采用C
    發(fā)表于 08-23 07:59

    求一種基于VB和VC++混合編程的EMI標(biāo)準(zhǔn)自動(dòng)測(cè)試系統(tǒng)軟件設(shè)計(jì)

    求一種基于VB和VC++混合編程的EMI標(biāo)準(zhǔn)自動(dòng)測(cè)試系統(tǒng)軟件設(shè)計(jì)
    發(fā)表于 04-27 06:37

    嵌入式系統(tǒng)軟件開發(fā)環(huán)境

    嵌入式系統(tǒng)的概念嵌入式系統(tǒng)的基本架構(gòu)嵌入式操作系統(tǒng)的基本組成和分類
    發(fā)表于 11-08 08:37

    構(gòu)造嵌入式系統(tǒng)軟件的構(gòu)件模型研究

    目前嵌入式系統(tǒng)軟件開發(fā)方法不利于嵌入式系統(tǒng)的發(fā)展,如何將高級(jí)的構(gòu)件技術(shù)應(yīng)用到嵌入式
    發(fā)表于 06-03 09:55 ?17次下載

    嵌入式系統(tǒng)軟件編程語(yǔ)言

    嵌入式系統(tǒng)軟件編程語(yǔ)言 1、引言:  隨著計(jì)算機(jī)技術(shù)和微電子技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)應(yīng)用領(lǐng)域越來(lái)越廣泛。當(dāng)今,
    發(fā)表于 01-15 10:24 ?767次閱讀

    基于ARM的嵌入式系統(tǒng)軟件設(shè)計(jì)部分

    基于ARM的嵌入式系統(tǒng)軟件設(shè)計(jì)部分
    發(fā)表于 01-14 12:32 ?15次下載

    ARM的嵌入式系統(tǒng)軟件設(shè)計(jì)

    ARM的嵌入式系統(tǒng)軟件設(shè)計(jì)
    發(fā)表于 10-27 15:00 ?8次下載
    ARM的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)軟件</b>設(shè)計(jì)

    基于RTOS的嵌入式系統(tǒng)軟件設(shè)計(jì)

    基于RTOS的嵌入式系統(tǒng)軟件設(shè)計(jì)說(shuō)明。
    發(fā)表于 04-19 14:38 ?17次下載

    EE-125:ADSP-218x嵌入式系統(tǒng)軟件管理和在系統(tǒng)編程(ISP)

    EE-125:ADSP-218x嵌入式系統(tǒng)軟件管理和在系統(tǒng)編程(ISP)
    發(fā)表于 05-18 16:37 ?10次下載
    EE-125:ADSP-218x<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)軟件</b>管理和在<b class='flag-5'>系統(tǒng)編程</b>(ISP)

    基于RTOS的嵌入式系統(tǒng)軟件的設(shè)計(jì)講解

    基于RTOS的嵌入式系統(tǒng)軟件的設(shè)計(jì)講解(樹莓派嵌入式開發(fā)板)-該文檔為基于RTOS的嵌入式系統(tǒng)軟件的設(shè)計(jì)講解文檔,是一份很不錯(cuò)的參考資料,具
    發(fā)表于 07-30 10:03 ?8次下載
    基于RTOS的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)軟件</b>的設(shè)計(jì)講解

    慕課嵌入式系統(tǒng)(第五章.ARM匯編與C混合編程)

    慕課電子科技大學(xué).嵌入式系統(tǒng).第五章.ARM匯編程序設(shè)計(jì).ARM匯編與C混合編程0 目錄5 ARM匯編程序設(shè)計(jì)5.3 ARM匯編與C
    發(fā)表于 11-04 10:21 ?16次下載
    慕課<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>(第五章.ARM匯編與C<b class='flag-5'>混合編程</b>)
    主站蜘蛛池模板: 国产精品无码无卡毛片不卡视 | 国产精品99久久久久久AV色戒| 欧美午夜a级精美理论片| yellow日本动漫观看免费| 入禽太深视频免费视频| 国产午夜亚洲精品一区| 一二三四韩国免费观看| 女性性纵欲派对| 国产精品人妻99一区二| 永久免费在线观看视频| 欧美夜夜噜2017最新| 国产乱码卡二卡三卡4W| 中文日产无乱码AV在线观| 日本黄色www| 狠狠插影院| p影院永久免费| 性色少妇AV蜜臀人妻无码| 久久这里有精品| 高h肉文合集| 御姐被吸奶| 日日噜噜夜夜狠狠视频| 精品少妇爆AV无码专区| 扒开 浓密 毛| 一本大道手机在线看| 清冷受被CAO的合不拢| 娇妻玩4P被三个男人伺候电影| 老熟女毛茸茸浓毛| 儿子你得太大了慢点插| 伊人精品久久久大香线蕉99| 日本xxx片免费高清在线| 成人网络电视破解版| 国产一区二区内射最近更新| 美女厕所撒尿ass| 视频一区在线免费观看| 一品道门在线观看免费视频| 被滋润的艳妇疯狂呻吟白洁老七| 国产午夜久久影院| 奶头被客人吸得又红又肿| 无码日本亚洲一区久久精品| 最近2019中文字幕免费| 国产精品成人无码久免费|