【正文】
一 個 模 塊 中 定 義 , 又 可 以 在 其 他 模 塊 中 引 用 的 符 號 。D S P 原理 與 應(yīng) 用 The principle and application of DSP 主 講 : 胡文靜 博士 Q Q: 228405520 Q Q群 : 18667844 Email: 第五章: C54x軟件開發(fā) ※ 軟件開發(fā)過程及開發(fā)工具 ★★ ※ 公共目標(biāo)代碼格式( COFF) ★★★★★ ※ 常用匯編偽指令 ★★★ ※ 鏈接命令文件 ★★★★★ ※ 匯編語言程序編寫 ★★★ ※ C54x C語言編程 ★★★★★ ※ 匯編與 C混合編程 ★★ CS o u r c e F i l e sC C o m p i l e rA s s e m b l e r S o u r c eA s s e m b l e rC O F F O b j e c t F i l e sL i n k e rE x e c u t a b l eC O F F F i l e sC r o s s r e f e r e n c e L i s t e rM a c r oS o u r c e F i l e sA r c h i v e rM a c r oL i b r a r yA r c h i v e rL i b r a r y o f C O F F O b j e c t F i l e sH e x C o n v e r s i o n U t i l i t yA b s o l u t e L i s t e rE P R O MP r o g r a m m e rA s s e m b l yT r a n s l a t i o nA s s i s t a n tA s s e m b l e r S o u r c eL i b r a r yB u i l dU t i l i t yR u n t i m eL i b r a r yS u p p o r tD e b u g g i n gT o o lC 5 4 xC編譯器匯編器鏈接器建 庫工 具歸檔器歸檔器調(diào) 試 工 具交 叉 引 用 列 表 器絕 對 地 址 列 表 器1 6 進 制 轉(zhuǎn) 換 工 具翻譯器C54x軟件開發(fā)流程及相關(guān)工具? 公共目標(biāo)文件格式( COFF) ※ 基 本 單 元 — — 段 ( S e c t i o n )段 是 C O F F 文 件 最 重 要 的 概 念 , 每 個 C O F F 文 件 都 分 為 若干 段 ;段 是 存 儲 器 中 占 據(jù) 相 鄰 空 間 的 代 碼 和 數(shù) 據(jù) 塊 , 段 與 段 彼 此獨 立 ;C O F F — — C o m m o n O b j e c t F i l e F o r m a t ;采 用 代 碼 段 和 數(shù) 據(jù) 段 的 形 式 ;匯 編 器 和 鏈 接 器 提 供 相 應(yīng) 的 偽 指 令 來 建 立 和 管 理 這 些 段 ;◆ . t e x t ( 文 本 段 ) : 包 含 可 執(zhí) 行 代 碼 ;◆ . d a t a ( 數(shù) 據(jù) 段 ) : 包 含 初 始 化 數(shù) 據(jù) ;◆ . b s s ( 保 留 空 間 段 ) : 為 未 初 始 化 變 量 保 留 存 儲 空 間 ;◆ 自 定 義 段 : 用 戶 自 定 義 的 段 , 與 上 述 三 種 段 分 開 匯 編 和存 儲 。?基本單元 —— 段( Section) 段 的 類 型 :( 1 ) 初 始 化 段 ( I n i t i a l i z e d S e c t i o n )包 含 初 始 化 數(shù) 據(jù) 和 程 序 代 碼 , 如. t e x t . d a t a . s e c t( 2 ) 未 初 始 化 段 ( U n i n i t i a l i z e d S e c t i o n )為 未 初 始 化 數(shù) 據(jù) 保 留 存 儲 空 間 , 如. b s s . u s e c t. b s s. d a t a. t e x tR A ME2P R O MR O M. . .目 標(biāo) 文 件 ( C O F F ) 目 標(biāo) 存 儲 器目 標(biāo) 文 件 段 與 目 標(biāo) 存 儲 器 對 應(yīng) 關(guān) 系?COFF文件中的符號 C O F F 文 件 中 有 一 個 符 號 表 ( S y m b o l L i s t ) , 用 于 記 錄 程 序中 有 關(guān) 符 號 的 信 息 。通 過 . d e f 、 . r e f 和 . g o b a l 偽 指 令 定 義 。. d e f x. r e f yx : A D D 5 6 H , AB y定 義 外 部 符 號 “ x ” , 引 用其 他 模 塊 定 義 的 符 號 “ y ” ?!? 未 初 始 化 段主 要 用 于 在 存 儲 器 中 為 未 初 始 化 數(shù) 據(jù) 保 留 存 儲 空 間 , 通 常被 定 位 到 R A M 區(qū) 。偽 指 令 句 法 :. b s s 符 號 , 字 數(shù)符 號 . u s e c t “ 段 名 ” , 字 數(shù)符 號 — — 保 留 的 存 儲 空 間 第 一 個 變 量 的 名 稱 ; 可 以 被 其 他段 引 用 或 通 過 . g l o b a l 命 令 定 義 為 全 局 符 號 ;字 數(shù) — — 保 留 存 儲 空 間 的 大 小 ( 字 數(shù) ) ;段 名 — — 自 定 義 段 的 名 字 。特 點 : 初 始 化 段 可 以 重 新 定 位 , 且 可 以 引 用 其 他 段 中 定 義的 符 號 。 指 定 時 為 S P C 定 義 一 個 起 始 值 , 每 個段 只 能 指 定 一 次 S P C , 而 且 是 第 一 次 遇 到 該 段 時 指 定 。 匯 編 器 利 用 S P C 對 不 同 類 型 的 段 分 別 進 行 連 續(xù) 匯編 。特 點 : 自 定 義 ; 分 開 匯 編 , 可 與 . t e x t , . d a t a , . b s s 位 于 不同 的 存 儲 位 置 。偽 指 令 句 法 :符 號 . u s e c t “ 段 名 ” , 字 數(shù). s e c t “ 段 名 ”. u s e c t — 產(chǎn) 生 與 . b s s 類 似 的 段 ;. s e c t — 產(chǎn) 生 與 . t e x t 和 . d a t a 類 似 的 段 。?匯編器對段的處理 ◆ 子 段較 大 段 中 的 小 段 , 用 于 對 存 儲 空 間 進 行 更 緊 湊 的 控 制 。 9 0 0 0 0 0 4 . d a t a 1 0 0 0 0 0 0 4 0 0 C C i v a l s . w o r d 0 c c h , 0 d d h , 0 e e h 0 0 0 0 0 5 0 0 D D 0 0 0 0 0 6 0 0 E E 1 1 0 0 0 0 0 0 v a r 2 . u s e c t n e w v a r s , 2 1 2 0 0 0 0 0 2 i n b u f f . u s e c t n e w v a r s , 8 1 3 0 0 0 0 0 5 . t e x t 1 4 0 0 0 0 0 5 m p y : 1 5 0 0 0 0 0 5 1 1 0 A L D 0 A H , B 1 6 0 0 0 0 0 6 m l o o p : 1 7 0 0 0 0 0 6 F 0 6 6 M P Y 0 A H , A 0 0 0 0 0 7 0 0 0 A 1 8 0 0 0 0 0 8 F 8 6 8 B C m l o o p , B N O V 0 0 0 0 0 9 0 0 0 6 39。偽 指 令 :◆ M E M O R Y , 用 于 定 義 目 標(biāo) 系 統(tǒng) 的 存 儲 器 配 置 空 間 , 包括 對 存 儲 器 各 部 分 的 命 名 , 以 及 規(guī) 定 它 們 的 起 始 地 址 和 長 度 ;◆ S E C T I O N , 告 訴 鏈 接 器 如 何 將 輸 入 段 組 合 成 輸 出 段 ,以 及 將 輸 出 段 放 在 存 儲 器 的 什 么 位 置 。?鏈接器默認的存儲器配置 .t e x t.d a t a.b s st a b le _ 1初 始 化 命 名 段u _ v a r s未 初 始 化 命 名 段.t e x t.d a t a.b s st a b le _ 1初 始 化 命 名 段u _ v a r s未 初 始 化 命 名 段F F T初 始 化 命 名 段file 1 .o b jfile 2 .o b j程 序 存 儲 器數(shù) 據(jù) 存 儲 器file1.textfile2.textfile2.datafile1.datafile1table_1file2table_1file2FFTfile1.bssfile2.bssfile2u_varsfile1u_varsunusedunusedu n c o n fig u re du n c o n fig u re d?段的重定位 (Reallocation)