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

正文內(nèi)容

dsp技術(shù)04電子通信10-資料下載頁(yè)

2024-12-31 06:27本頁(yè)面
  

【正文】 0。( 自定義段)File1.textFile2.textFile1.dataFile2.dataFile1.bssFile2.bsslnittables可執(zhí)行代碼.text初始化數(shù)據(jù) .data為變量保留空間 .bsslnittables可執(zhí)行的目標(biāo)模塊 119( 1)鍵入命令 lnk500( 2)鍵入命令  lnk500 –o( 3) 鍵 入命令 lnk500 鏈 接器 是 名 為 的可執(zhí)行程序應(yīng)包含如下內(nèi)容:o 建立一個(gè)名為 (默認(rèn)情況)的可重新定位的輸出模塊。 2.鏈接器選項(xiàng) 120 ( 1)把一個(gè)或多個(gè) COFF目標(biāo)文件中的各種段作為鏈接器的輸入段,經(jīng)鏈接后在一個(gè)可執(zhí)行的 COFF輸出模塊中建立各個(gè)輸出段。( 2)為各個(gè)輸出段選定存儲(chǔ)器地址。鏈 接器在 對(duì) 段 進(jìn) 行 處 理 時(shí) ,主要完成 匯編器在需要引用重新定位的符號(hào)處都留了一個(gè)重定位入口。鏈接器對(duì)符號(hào)重定位時(shí),利用這些入口修正對(duì)符號(hào)的引用值。 121 鏈接器將輸入段組合成一個(gè)可執(zhí)行的目標(biāo)模塊122例 :列表文件中,匯編器為需要重新定位的符號(hào)所留的重定位入口。1.refX;20000.text30000FO73BY;生成一個(gè)重定位入口00010004’40002F020LDX,A;生成一個(gè)重定位入口00030000!50004F7E0Y:RESET在 .text段對(duì) X的引用是一次外部引用 (!).text段內(nèi)對(duì)Y的引用是一次內(nèi)部引用(’) .text段內(nèi) 定 義 Y另一個(gè)模 塊 中定 義 的 X,本模塊使用 123假設(shè)鏈接時(shí) X重新定位在地址 7100h, .text段重新定位到從地址 7200h開始,那么 Y的重定位值為 7204h。鏈接器利用兩個(gè)重定位入口,對(duì)目標(biāo)文件中的兩次引用進(jìn)行修正:F073BY  變成 F0730004’     7204F020LDX,A變成 F0200000!   7100在 COFF目標(biāo)文件中有一張重定位入口表。鏈接器在處理完之后就將重定位入口消去,以防止在重新鏈接或加載時(shí)再次重新定位。124 ( 1)將 有多個(gè) 選項(xiàng) 的命令 , 寫成一個(gè) 鏈 接器命令文 件 .cmd。 ( 2)運(yùn)行 鏈 接器命令文件 .cmd后 , 生成一個(gè)映象文 件 .map和一個(gè)可 執(zhí) 行的 輸 出文件 .out ( 3)進(jìn)行存儲(chǔ)器分配主要 功能 使用方法 Lnk500 鏈 接器命令文件 名 .cmd125例 鏈接器命令文件舉例。  /*輸入文件名 */o/*選項(xiàng) */m/*選項(xiàng) */MEMORY/*MEMORY命令 */{PAGE0:ROM:origin=1000h,length=0100hPAGE1:RAM:origin=0100h,length=0100h}SECTIONS/*SECTIONS命令 */{   .text:ROM   .data:ROM   .bss:RAM}126n 輸入文件名。就是要鏈接的目標(biāo)文件和文檔庫(kù)文件或者是其它的命令文件。如果要調(diào)用另一個(gè)命令文件作為輸入文件,此句要放在本命令文件的最后,因?yàn)殒溄悠鞑荒軓男抡{(diào)用的命令文件返回。n 鏈接器選項(xiàng)。這些選項(xiàng)既可以用在鏈接器命令行,也可以編在命令文件中。n MEMORY和 SECTIONS都是 鏈 接器命令。 如果鏈接命令文件中沒有 MEMORY和 SECTIONS命令 (默認(rèn)情況 ),則鏈接器就從地址 0080h一個(gè)段接一個(gè)段進(jìn)行配置。n 注 釋 的內(nèi)容 應(yīng) 當(dāng)用 /*和 */符號(hào)括起來(lái)。 1275.兩條鏈接器命令的使用方法MEMORY命令用來(lái)定義目標(biāo)系統(tǒng) 中所包含的各種形式存 儲(chǔ) 器 的 存儲(chǔ)器配置圖 ,包括對(duì)存儲(chǔ)器各部分命名,以及規(guī)定它們的起始地址和長(zhǎng)度。( 1) MEMORY命令 功能128MEMORY{PAGE 0: name 1 [( attr) ]: origin=constant, length=constant┆PAGE n: name n [( attr) ]: origin=constant, length=constant}MEMORY命令的一般句法對(duì)一個(gè)存儲(chǔ)空間加以標(biāo)記,每一個(gè) PAGE代表一個(gè)完全獨(dú)立的地址空間。頁(yè)號(hào) n最多可規(guī)定為 255,取決于目標(biāo)存儲(chǔ)器的配置。通常 PAGE 0定為程序存儲(chǔ)器, PAGE 1定為數(shù)據(jù)存儲(chǔ)器。如果沒有規(guī)定 PAGE,則鏈接器就將目標(biāo)存儲(chǔ)器配置在 PAGE 0。129MEMORY{PAGE 0: name 1 [( attr) ]: origin=constant, length=constant┆PAGE n: name n [( attr) ]: origin=constant, length=constant}名字可以包含 8個(gè)字符, A~ Z、 a~ z、 $、 .、 _均可。名字并沒有特殊的含義,用來(lái) 標(biāo)記存儲(chǔ)器的區(qū)間 而已;名字都是內(nèi)部記號(hào),不需要保留在輸出文件或者符號(hào)表中。不同 PAGE上的存儲(chǔ)器區(qū)間可以取相同的名字,但在同一 PAGE內(nèi)的名字不能相同,且不許重疊配置。130EMEORY{PAGE 0: name 1 [( attr) ]: origin=constant, length=constant┆PAGE n: name n [( attr) ]: origin=constant, length=constant}任選項(xiàng),為命名區(qū)規(guī)定1~ 4個(gè)屬性。如果有選項(xiàng),應(yīng)寫在括號(hào)內(nèi)。當(dāng)輸出段定位到存儲(chǔ)器時(shí)可利用屬性加以限制。規(guī)定一個(gè)存儲(chǔ)區(qū)的起始地址。鍵入 origin、 或 o都可以。這個(gè)值是一個(gè) 16位二進(jìn)制常數(shù),可以用十進(jìn)制數(shù)、八進(jìn)制數(shù)或十六進(jìn)制數(shù)表示。 規(guī)定一個(gè)存儲(chǔ)區(qū)的長(zhǎng)度,鍵入 length、 len或 l都可以。 131  R規(guī)定可以對(duì)存儲(chǔ)器執(zhí)行讀操作?!?W 規(guī)定可以對(duì)存儲(chǔ)器執(zhí)行寫操作?!?X規(guī)定存儲(chǔ)器可以裝入可執(zhí)行的程序代碼?!?I規(guī)定可以對(duì)存儲(chǔ)器進(jìn)行初始化。  如果命令中一項(xiàng)屬性都沒有選,就可以將輸出段不受限制地定位到任何一個(gè)存儲(chǔ)器位置。任何一個(gè)沒有規(guī)定屬性的存儲(chǔ)器都默認(rèn)有全部 4項(xiàng)屬性。屬性選項(xiàng)一共有 4項(xiàng): 132  例 MEMORY命令的使用方法。/* Example mand file with MEMORY directive */ /* Input files */o /* Options   */MEMORY{ PAGE0: ROM: origin=C00h, length=1000h PAGE1: SCRTCH: origin=60h, length=20h ONCHIP: origin=80h, length=200h}定 義 名 為 ROM的 程序存 儲(chǔ) 器: 4K字,起始地址 C00h 名為 SCRATCH的數(shù)據(jù)存儲(chǔ)器: 32字 RAM,起始地址 60h。名為 ONCHIP的數(shù)據(jù)存儲(chǔ)器: 512字 RAM,起始地址為 80h133告訴鏈接器如何將輸入段合成輸出段在可執(zhí)行程序中定義輸出段規(guī)定輸出段在存儲(chǔ)器中的存放位置允許重新命名輸出項(xiàng)。( 2) SECTIONS命令 功能 在 鏈 接器命令文件中, SECTIONS命令用大寫字母,緊 隨其后并用大括號(hào)括起來(lái)的是關(guān)于 輸 出段的 詳細(xì)說(shuō)明。每一個(gè) 輸 出段的 說(shuō) 明都從段名開始。段名后面是一行 說(shuō) 明段的內(nèi)容和如何 給 段分配存 儲(chǔ)單 元的屬性參數(shù)。 134SECTIONS{   name: [property,property,property,…]   name: [property,property,property,…]   name: [property,property,property,…] }SECTIONS命令的一般句法 屬性參數(shù)1) loadallocation定義將輸出段加載到存儲(chǔ)器中的 什么位置。句法: load=allocation或者用大于號(hào)代替 “l(fā)oad=”allocation或者省掉 “l(fā)oad=”allocation其中: allocation是關(guān)于輸出段地址的說(shuō)明,即給輸出段分配存儲(chǔ)單元。 135.text: load=0x1000將輸出段 .text定位到一個(gè)特定地址。.text: ROM將輸出段 .text定位到名為 ROM的存儲(chǔ)區(qū).bss: ( RW ) 將 .bss段定位到屬性為 R、 W 的存儲(chǔ)區(qū)。.text: align=0x80將 .text定位到 0x80開始的存儲(chǔ)區(qū)。.text:PAGE0將輸出段 .text定位到 PAGE0。1362) Runallocation用來(lái)定義輸出段在存儲(chǔ)器的什 么位 置 上開始運(yùn)行。句法: run=allocation或者用大于號(hào)代替等號(hào)runallocation 鏈接器為每個(gè)輸出段在目標(biāo)存儲(chǔ)器中分配兩個(gè)地址:一個(gè)是加載的地址,另一個(gè)是執(zhí)行程序的地址。通常,這兩個(gè)地址是相同的,可以認(rèn)為每個(gè)輸出段只有一個(gè)地址。 如果要想把程序的加載區(qū)和運(yùn)行區(qū)分開(如先將程序加載到 ROM,然后在 RAM中以較快速度運(yùn)行),只要用 SECTIONS命令讓鏈接器對(duì)這個(gè)段定位兩次就行了。一次是設(shè)置加載地址,另一次是設(shè)置運(yùn)行地址。例如: .firload=ROM,run=RAM1373) Inputsections用來(lái)定義由哪些輸入段組成輸出段句法: {input_sections} 大多數(shù)情況下,在 SECTIONS命令中是不列出每個(gè)輸入文件的輸入段的段名的:SECTIONS{ .text: {*( .text)} .data: {*( .text)} .bss: {*( .text)}}這樣 ,在 鏈 接 時(shí) , 鏈 接器就將所有 輸 入文件的 .text段 鏈 接成 .text輸 出段,其它段也一 樣 。 138SECTIONS{ .text: /* 建立 .text 輸出段 */ { ( .text) /* 鏈接源于 .text段 */ ( sec1) /*鏈接源于 sec1段 */ /*鏈接源于 */ ( .text,sec2) /*鏈接源于 .text 段和 sec2段 */ }}用文件名和段名來(lái)明確地規(guī)定輸入段1394) Sectiontype為特殊的段類型定義標(biāo)記5) Fillvalue為未初始化空單元定義一個(gè)值Fill=value或 text:…=value140如果沒有利用 MEMORY和 SECTIONS命令,鏈接器就按默認(rèn)算法來(lái)定位輸出段:MEMORY{PAGE 0: PROG: origin=0x0080, length=0xFF00PAGE 1: DATA: origin=0x0080, length=0xFF80}SECTIONS{.text: PAGE=0.data: PAGE=0.cinit: PAGE=0.bss: PAGE=1} (3)MEMORY和 SECTIONS命令的 默認(rèn) 算法所有的 .text輸 入段, 鏈 接成一個(gè) .text輸出段,它是可 執(zhí) 行的 輸 出文件; 所有的 .data輸 入段組 合成 .data輸 出段所有的 .bss輸 入段 則組 合成一個(gè) .bss輸 出段 已初始化 變 量和常數(shù)表1416.多個(gè)文件的鏈接 例 編寫復(fù)位向量文件 。.title “” .ref _c_int00 .sect “.vectors” B _c_int00 .end引用其他模 塊中 .def c_int00定 義 的 標(biāo) 號(hào)定義一個(gè)有名段142假設(shè)目標(biāo)存儲(chǔ)器的配置如下:程序存儲(chǔ)器:EPROME000h~ FFFFh(片外)數(shù)據(jù)存儲(chǔ)器:SPRAM0060h~ 007Fh(片內(nèi))DARAM0080h~ 017Fh(片內(nèi))例 : 編寫鏈接器命令文件 。o m 鏈接生成的映象文件 鏈接生成的可執(zhí)行輸出文件匯編后生成的兩個(gè)目標(biāo)文件 143MEMORY{ PAGE 0: EPROM: =0E000h, len=100h VECS: =0FF80h, len=04h PAGE 1: SPRAM: =0060h, len=20h DARAM: =0080h, len=100h}SECTIONS{ .text: EPROM PAGE 0 .data: EPROM PAGE 0 .bss: SPRAM PAGE 1 STACK: DARAM PAGE 1 .vectors: VECS PAGE 0}144鏈接后生成一個(gè)可執(zhí)行的輸出文件 和映象文件 。映象文件中給出了存儲(chǔ)器的配置情況、程序文本段、數(shù)據(jù)段、堆棧段、向量段在存儲(chǔ)器中的定位表,以及全局符號(hào)在存儲(chǔ)器中的位置???執(zhí) 行 輸 出文件 標(biāo) 系 統(tǒng) 后就可以運(yùn)行了。系 統(tǒng) 復(fù)位后, PC首先指向 0FF80h,這 是復(fù)位向量地址。在 該 地址上,有一條 B _c_int00指令,程序 馬 上跳 轉(zhuǎn) 到 _c_int00語(yǔ) 句 標(biāo) 號(hào),從程序起始地址 0E000h開始 執(zhí) 行復(fù)位主程序。 145例 由上例得到的映象文件 。**************************************************************************TMS320C54x COFF Linker PC Version ******
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1