freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]第4章c55x處理器的軟件設(shè)計(jì)(已修改)

2024-10-28 18:46 本頁面
 

【正文】 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 1 第 4章 C55x處理器的軟件設(shè)計(jì) 內(nèi)容提要 C55x系列處理器應(yīng)用靈活 、 處理能力強(qiáng)大 , 為開發(fā) 、 使用提供了一個(gè)很好的硬件平臺(tái) , 要使這個(gè)平臺(tái)更好的發(fā)揮作用 , 高效 、 方便的軟件設(shè)計(jì)是不可或缺的 。 程序的主體框架和對實(shí)時(shí)性要求不高的部分采用C/C++語言 , 而算法實(shí)現(xiàn)采用匯編語言 , 這樣能夠充分發(fā)揮二者的優(yōu)點(diǎn) , 解決易讀性和效率之間的矛盾 。同時(shí)也改善了軟件的移植性 , 在軟件移植時(shí)不用改變程序的主體框架 , 只要為處理器提供相應(yīng)的算法即可 。 本章主要介紹了 C55x處理器的程序基本結(jié)構(gòu) , C語言編程以及優(yōu)化 , C語言與匯編語言的混合編程 ,通用目標(biāo)文件格式 , 最后對 C55x處理器的數(shù)字信號(hào)處理庫和圖像 、 視頻處理庫進(jìn)行了介紹 。 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 2 第 4章 C55x處理器的軟件設(shè)計(jì) C55x處理器程序基本結(jié)構(gòu) C語言程序開發(fā)及優(yōu)化 C語言與匯編語言的混合編程 通用目標(biāo)文件格式 C55x處理器的數(shù)字信號(hào)處理庫和圖像 、視頻處理庫 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 3 第 4章 C55x處理器的軟件設(shè)計(jì) C55x處理器軟件開發(fā)流程 C/C++ 源文件 C編譯器 匯編 源代碼 COFF 目標(biāo)文件 匯編器 鏈接器 可執(zhí)行 COFF 文件 宏源文件 歸檔器 宏調(diào)用庫 歸檔器 目標(biāo)文件庫 運(yùn)行支持庫 建立運(yùn)行支持庫 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 4 第 4章 C55x處理器的軟件設(shè)計(jì) ● 匯編器: 是把匯編源代碼轉(zhuǎn)換成機(jī)器語言。 ● 鏈接器: 則將多個(gè)目標(biāo)文件結(jié)合成一個(gè)可執(zhí)行文件 。 ● 歸檔器: 可以把一組文件歸檔為一個(gè)庫,供用戶使用。 如果用戶只用匯編語言編寫程序,則將跳過 C編譯器而直接通過匯編器生成目標(biāo)文件。 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 5 第 4章 C55x處理器的軟件設(shè)計(jì) C55x處理器程序基本結(jié)構(gòu) 根據(jù)任務(wù)調(diào)度的方式不同 , C55x處理器程序大體可以分為兩類 : (1) 由程序自己完成任務(wù)調(diào)度 程序運(yùn)行效率高 , 對硬件中斷響應(yīng)快 , 程序運(yùn)行穩(wěn)定 ,適合于任務(wù)較為單一 , 實(shí)時(shí)性較強(qiáng)的應(yīng)用; (2) 由嵌入式操作系統(tǒng)完成任務(wù)調(diào)度 但如果要利用處理器同時(shí)完成多個(gè)任務(wù) , 應(yīng)用嵌入式操作系統(tǒng)是十分有必要的 , 這是因?yàn)榍度胧讲僮飨到y(tǒng)可以將應(yīng)用分解為多個(gè)任務(wù) , 簡化了應(yīng)用系統(tǒng)軟件設(shè)計(jì) , 更為重要的是良好的多任務(wù)設(shè)計(jì)有助于提高系統(tǒng)的穩(wěn)定性和可靠性 。 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 6 第 4章 C55x處理器的軟件設(shè)計(jì) 自我調(diào)度程序的基本結(jié)構(gòu) 雖然嵌入式操作系統(tǒng)已經(jīng)發(fā)展得較為成熟,但通過程序自身完成任務(wù)調(diào)度仍然保持著旺盛的生命力,這是因?yàn)檫@種方式適合于 DSP這種需要對大量實(shí)時(shí)數(shù)據(jù)完成順序處理的應(yīng)用。下面給出自我調(diào)度程序的基本結(jié)構(gòu)。 中斷程序 1; …… 中斷程序 m。 Main() { DSP_INT(){……}。 //DSP初始化 For(。) //主循環(huán) { if(條件 1) //判斷條件 1 { 處理模塊 1。 //條件滿足運(yùn)行處理模塊 1 } …… if(條件 n) //判斷條件 n { 處理模塊 n。 //條件滿足運(yùn)行處理模塊 n } } } 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 7 第 4章 C55x處理器的軟件設(shè)計(jì) ? 初始化部分通常完成 DSP軟、硬件的初始化設(shè)置,啟動(dòng)系 統(tǒng)硬件,使能 DSP中斷,啟動(dòng) DMA傳送等工作。 ? 主循環(huán)部分是程序的主體,將由它完成數(shù)據(jù)輸入、處理和輸出等工作。主循環(huán)由條件判斷和處理模塊組成,當(dāng)滿足條件時(shí)運(yùn)行處理模塊,不滿足條件則自動(dòng)跳到下一個(gè)判斷條件。 ? 中斷程序通常不進(jìn)行數(shù)據(jù)處理,只通過設(shè)置判斷標(biāo)志來影響主循環(huán)部分的運(yùn)行。 自我調(diào)度程序通常由中斷程序部分、初始化部分和主循環(huán)部分組成 : 自我調(diào)度程序的基本結(jié)構(gòu) 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 8 第 4章 C55x處理器的軟件設(shè)計(jì) 為了滿足實(shí)時(shí)運(yùn)行的要求,自我調(diào)度程序的主循環(huán)部分必須將處理時(shí)延限制在最大可接受時(shí)延內(nèi),具體來說就是運(yùn)行主循環(huán)的所有分支的時(shí)間總和必須小于最大可接受時(shí)延,如果不能滿足這一條件,則在最壞情況下,會(huì)造成處理數(shù)據(jù)的不連續(xù),而無法實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)處理。 當(dāng)所編寫的程序沒有滿足上述條件時(shí),則需要對處理流程進(jìn)行修改,或修改處理算法以滿足條件。 自我調(diào)度程序的基本結(jié)構(gòu) 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 9 第 4章 C55x處理器的軟件設(shè)計(jì) TMS320C55x處理器為 C語言開發(fā)提供了一系列工具,包括:優(yōu)化 C/C++編譯器、鏈接器和歸檔器。 并支持混合編程。 C語言的優(yōu)點(diǎn)在于程序可讀性強(qiáng)。 C語言程序開發(fā)及優(yōu)化 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 10 第 4章 C55x處理器的軟件設(shè)計(jì) C語言中的數(shù)據(jù)類型 C55x支持下列數(shù)據(jù)類型包括字符、定點(diǎn)數(shù)、浮點(diǎn)數(shù)、指針等。 C語言程序開發(fā)及優(yōu)化 類型 長度 內(nèi)容 最小值 最大值 signed char(有符號(hào)字符 ) 16位 ASCII碼 32768 32767 char, unsigned char (無符號(hào)字符 ) 16位 ASCII碼 0 65535 short, signed short(短整型 ) 16位 二進(jìn)制補(bǔ)碼 32768 32767 unsigned short(無符號(hào)短整型 ) 16位 二進(jìn)制數(shù) 0 65535 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 11 第 4章 C55x處理器的軟件設(shè)計(jì) char, unsigned char pointers(數(shù)據(jù)指針) 小存儲(chǔ)器模式 16位 0xFFFF 類 型 長 度 內(nèi) 容 最 小 值 最 大 值 int, signed int(整型) 16位 二進(jìn)制補(bǔ)碼 ?32768 32767 unsigned int(無符號(hào)整型) 16位 二進(jìn)制數(shù) 0 65535 long, signed long(長整型) 32位 二進(jìn)制補(bǔ)碼 ?2 147 483 648 2 147 483 647 unsigned long(無符號(hào)長整型) 32位 二進(jìn)制數(shù) 0 4 249 967 295 long long( 40位長整型) 40位 二進(jìn)制補(bǔ)碼 ?549 755 813 888 549 755 813 887 unsigned long long( 40位無符號(hào)長整型) 40位 二進(jìn)制數(shù) 0 1 099 511 627 775 emum(枚舉型) 16位 二進(jìn)制補(bǔ)碼 ?32768 32767 float(浮點(diǎn)型) 32位 32位浮點(diǎn)數(shù) 494e?38 282 346e+38 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 12 第 4章 C55x處理器的軟件設(shè)計(jì) 類 型 長 度 內(nèi) 容 最 小 值 最 大 值 double(雙精度浮點(diǎn)數(shù)) 32位 32位浮點(diǎn)數(shù) 494e?38 282 346e+38 long double(長雙精度浮點(diǎn)數(shù)) 32位 32位浮點(diǎn)數(shù) 494e?38 282 346e+38 大存儲(chǔ)器模式 23位 二進(jìn)制數(shù) 0 0x7FFFFF pointers(程序指針) 24位 二進(jìn)制數(shù) 0 0xFFFFFF 指針分為程序指針和數(shù)據(jù)指針兩種,其區(qū)別在于程序指針尋址是按字節(jié)尋址,而數(shù)據(jù)指針以字為單位進(jìn)行尋址。 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 13 第 4章 C55x處理器的軟件設(shè)計(jì) C55x處理器包含數(shù)據(jù)空間和 I/O空間,為了在 C/C++中對I/O空間進(jìn)行尋址,編譯器給出了關(guān)鍵字 ioport,以支持 I/O尋址模式。 ioport關(guān)鍵字可以用在數(shù)組、結(jié)構(gòu)、聯(lián)合以及枚舉類型當(dāng)中。 當(dāng)用在數(shù)組中時(shí), ioport可以作為數(shù)組中的元素;在結(jié)構(gòu)中使用 ioport,只能是指向 ioport數(shù)據(jù)的指針而不能直接作為結(jié)構(gòu)的成員。 C語言程序開發(fā)及優(yōu)化 對 I/O空間進(jìn)行尋址 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 14 第 4章 C55x處理器的軟件設(shè)計(jì) ioport類型只能用來聲明全局或靜態(tài)變量,如果在本地變量中使用 ioport類型,則變量必須用指針聲明。接下來給出指針聲明 ioport類型的例子: void foo (void) { ioport int i。 /* 無效的聲明 */ ioport int *j。 /* 有效聲明 */ } 應(yīng)當(dāng)注意聲明 ioport類型的指針只有 16位,這是因?yàn)?I/O空間是 16位尋址,而不受大 /小存儲(chǔ)器模式的限制。 對 I/O空間進(jìn)行尋址 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 15 第 4章 C55x處理器的軟件設(shè)計(jì) 在 printf()中不能直接引用 ioport指針,如果要引用,則必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換 “ void *‖,具體例子如下: ioport int *p。 printf(―%p\n‖, (void*)p)。 對 I/O空間進(jìn)行尋址 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 16 第 4章 C55x處理器的軟件設(shè)計(jì) 這段代碼的編譯結(jié)果如下: _foo: MOV _i,port(_ioport_pointer) 。 存儲(chǔ) i在 I/O空間的地址 MOV port(_ioport_pointer),AR3 。 載入 i的地址 MOV
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1