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

正文內(nèi)容

[工學(xué)]第4章c55x處理器的軟件設(shè)計(jì)-資料下載頁

2025-10-07 18:46本頁面
  

【正文】 原理及應(yīng)用 58 第 4章 C55x處理器的軟件設(shè)計(jì) 如果在編譯器中設(shè)置 ml選項(xiàng) , 則編譯器將按照大存儲器模式編譯程序 。 大存儲器模式下可以更加方便地存放數(shù)據(jù) , 而不必過多地考慮數(shù)據(jù)頁的限制 。 在該模式下 , 數(shù)據(jù)指針為 23位 , 而堆棧和系統(tǒng)堆棧必須放在同一頁中; 代碼段可以跨越頁邊界以外; 除代碼段外的其他所有的段只能放在一頁存儲器之中 。 2.大存儲器模式 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 59 第 4章 C55x處理器的軟件設(shè)計(jì) C55x的堆棧主要用來保存處理器信息 , 向函數(shù)傳遞參數(shù)以及分配局部變量 。 堆棧在一塊地址按由高到低排列的連續(xù)存儲器之中 , 編譯器通過堆棧指針 ( SP) 操作堆棧 。 C55x還存在輔助堆棧 , 主堆棧主要存放低 16位地址 , 而輔助堆棧則存放 C55x返回的高 8位地址 , 編譯器通過輔助堆棧指針 ( SSP) 操作輔助堆棧 。 堆 棧 的 大 小 由 鏈 接 器 設(shè) 置 , __STACK_SIZE 和__SYSSTACK_SIZE兩個全局符號存放的是堆棧的長度值 。 系統(tǒng)默認(rèn)主堆棧和輔助堆棧的長度都是 1000個字節(jié) 。 3. C/C++系統(tǒng)堆棧 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 60 第 4章 C55x處理器的軟件設(shè)計(jì) 編譯器為動態(tài)內(nèi)存分配提供了如下函數(shù): malloc calloc realloc 在 C語言中調(diào)用這些函數(shù)會在 .sysmem段定義的內(nèi)存池中分配內(nèi)存 。 __SYSMEM_SIZE中存放的內(nèi)存池的大小 ( 單位為字節(jié)) , 系統(tǒng)默認(rèn)大小為 2021個字節(jié) 。 動態(tài)內(nèi)存分配只能通過指針訪問 , 可分配的內(nèi)存大小受內(nèi)存池中剩余空間限制 , 動態(tài)內(nèi)存的優(yōu)點(diǎn)是系統(tǒng)只在需要時(shí)才分配 , 不用時(shí)就可以釋放所申請的空間 , 被系統(tǒng)使用 。 4.動態(tài)內(nèi)存分配 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 61 注意:如果所申請的空間需要經(jīng)常訪問 , 建議申請靜態(tài)內(nèi)存, 因?yàn)槿绻暾埡歪尫艃?nèi)存的操作很頻繁 , 將過多占用系統(tǒng)資源 , 降低程序的執(zhí)行效率 。 第 4章 C55x處理器的軟件設(shè)計(jì) 4.動態(tài)內(nèi)存分配 接下來給出申請動態(tài)內(nèi)存的例子 , 由例子可以看到在定義變量指針時(shí)不需要定義數(shù)組的大小 , 而只在申請內(nèi)存時(shí)才需給出申請的內(nèi)存長度 。 struct big *table。 table =( struct big *) malloc( 100*sizeof( struct big)) 。 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 62 第 4章 C55x處理器的軟件設(shè)計(jì) 5.結(jié)構(gòu)的對齊 當(dāng)編譯器為結(jié)構(gòu)分配空間時(shí) , 將為結(jié)構(gòu)的所有成員分配空間 。 例如一個結(jié)構(gòu)包含一個長整型的成員 ( 32位 ) ,則長整型會被分配到長整型邊界上 。 為了保證分配 , 編譯器會在結(jié)構(gòu)的開頭 、 中間或結(jié)尾進(jìn)行填充 , 以保證結(jié)構(gòu)的長度為偶數(shù) 。 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 63 第 4章 C55x處理器的軟件設(shè)計(jì) 鏈接器對匯編器編譯好的代碼和數(shù)據(jù)進(jìn)行鏈接時(shí) , 所依據(jù)的是鏈接命令文件 , 即 .cmd文件 。 在鏈接命令文件中定義了段名 , 段的起始地址 , 段的長度, 初始化段的初始值等 。 鏈接命令文件 下面給出一個 .cmd文件的具體實(shí)例: /**************************************************************** * lnk55x obj files... o out file m map file * cl55x src files... z o out file m map file /****************************************************************/ c /*不區(qū)分大小寫 */ m /*生成 .map文件 */ 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 64 第 4章 C55x處理器的軟件設(shè)計(jì) stack 0x1800 /*主堆棧尺寸 */ sysstack 0x1800 /*系統(tǒng)堆棧尺寸 */ heap 0x100 /*動態(tài)內(nèi)存大小 */ /* Set entry point to Reset vector*/ /* Allows Reset ISR to force IVPD/IVPH to point to vector table.*/ e RESET_ISR /*設(shè)置系統(tǒng)內(nèi)存映射 */ /* 載入及鏈接使用字節(jié)地址 */ MEMORY { PAGE 0: MMR ( RWIX) : o=0000000h, l=00000C0h DARAM0 ( RWIX) : o=00000C0h, l=000af40h DARAM1 ( RWIX) : o=000b000h, l=0000800h DARAM2 ( RWIX) : o=000b800h, l=0000800h DARAM3 ( RWIX) : o=000c000h, l=0000800h DARAM4 ( RWIX) : o=000c800h, l=0000800h SARAM0 ( RWIX) : o=0010000h, l=0010000h SARAM1 ( RWIX) : o=0020210h, l=0010000h SARAM2 ( RWIX) : o=0030000h, l=0020210h CE0 ( RWIX) : o=0050000h, l=0100000h CE1 ( RWIX) : o=0400000h, l=0400000h PDROM ( RX) : o=0FF8000h, l=0008000h PAGE 1: CE2 ( RWIX) : o=0400000h, l=0202100h CE3 ( RWIX) : o=0600000h, l=01000 0h PAGE 2: IOPORT ( RWI) : 0000h, l=0020210h } 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 65 第 4章 C55x處理器的軟件設(shè)計(jì) /*為段分配內(nèi)存地址 */ SECTIONS { .text SARAM0 /* CODE*/ .switch SARAM0 /* SWITCH TABLE INFO */ .const SARAM0 /* CONSTANT DATA */ .cinit SARAM0 /* INITIALIZATION TABLES */ .pinit SARAM0 /* INITIALIZATION TABLES */ 2021年 11月 10日 TMS320C55x DSP原理及應(yīng)用 66 第 4章 C55x處理器的軟件設(shè)計(jì) .data DARAM0 fill=0xBEEF /* INITIALIZED DATA */ .bss DARAM0 fill=0xBEEF /* GLOBAL amp。 STATIC VARS */ .sysmem DARAM0 fill=0xBEEF /* DYNAMIC MALLOC AREA */ .stack DARAM0 fill=0xBEEF /* PRIMARY SYSTEM STACK */ .sysstack DARAM0 fill=0xBEEF /* SECONDARY SYSTEM STACK */ .cio DARAM0 fill=0xBEEF input DARAM1 fill=0xBEEF /* Input data */ output DARAM2 fill=0xBEFF /* Output data */ writdata DARAM3 fill=0xBEFF /* Write pen point */ para DARAM4 fill=0xBEFF /* Tranfer parameter */ intvecs DARAM5 fill=0xBEFF paradata DARAM6 fill=0x7 time DARAM7 fill=0 .ioport IOPORT PAGE 2 }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1