新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > DSP編程技巧之11-揭開編譯器神秘面紗之文件、目錄與擴(kuò)展名

DSP編程技巧之11-揭開編譯器神秘面紗之文件、目錄與擴(kuò)展名

作者:paradoxfx 時(shí)間:2014-05-12 來源:電子產(chǎn)品世界 收藏

  前面講了很多次和優(yōu)化、匯編這些相關(guān)的選項(xiàng),如果以前接觸這些概念少的話,難免是云里霧里迷惑半天,需要多多練習(xí)、嘗試才能加深理解。所以這次換一些容易理解的,包括文件類型、目錄結(jié)構(gòu)、擴(kuò)展名等。這些概念并不新鮮,因?yàn)樗鼈兘M成了操作系統(tǒng)里面最基本的文件管理功能。在一個(gè)工程中包含的文件較少的時(shí)候,這些元素在編程環(huán)境例如CCS3.3里的管理并不復(fù)雜,大不了把所有要用到的文件都拷到同一個(gè)目錄下然后添加進(jìn)工程就行了。但是在更復(fù)雜的工程和更高級(jí)版本的編程環(huán)境里,例如在CCS5.x甚至剛剛推出的CCS6.x里,工程的管理看起來要復(fù)雜的多(也是為了更加有條理地管理文件和目錄結(jié)構(gòu)),有的文件是我們自己編寫的,有的頭文件/源程序/庫文件引用了TI官方出版的外設(shè)與頭文件示例,有的文件是從我們或者別人以前寫好的程序里引用過來的,不同的文件夾、外設(shè)類型揉雜在一起,有時(shí)候即使你反復(fù)確認(rèn)了每個(gè)文件、每個(gè)路徑結(jié)構(gòu)都對(duì)了,可是編譯的時(shí)候它就是通不過了。甚至別人全部編譯通過的工程,你原封不動(dòng)地復(fù)制過來,它突然就是死活編譯不了;例如,Hex2000.exe是CCS編譯器自帶的,把C2000的工程輸出文件.out轉(zhuǎn)換為Flash燒寫文件.hex的,通常它位于CCS安裝目錄下面的 oolscompilerc2000_6.2.0bin里面。但是如果別人的工程把它放在了一個(gè)很復(fù)雜的文件目錄下,例如C:UsersxxxDesktopPiccoloBootDebug>.................PiccoloFWHex2000.exe,你拷過來,導(dǎo)入Workspace再運(yùn)行的時(shí)候。。。所以對(duì)這些選項(xiàng)還是要仔細(xì)看一看的。

本文引用地址:http://m.butianyuan.cn/article/246689.htm

  表1中的選項(xiàng)可以讓我們讓強(qiáng)制把某些文件解讀為特定類型的文件。這個(gè)說起來可能感覺很奇怪,什么文件就用什么擴(kuò)展名唄,為什么需要這么做。事實(shí)上筆者確實(shí)遇到過這樣的情況,在一個(gè)老外給的例子里,用頭文件、C和C++和匯編文件一起來讀程序的時(shí)候,經(jīng)常讀著讀著程序就在某處中斷了,找不到任何跳轉(zhuǎn)信息。后來才發(fā)現(xiàn),很多C函數(shù)寫到了其它類型的文件里面了,例如某些不知道是不是他自定義的.s文件里;默認(rèn)情況下編輯器和編譯器是不認(rèn)識(shí)這種文件類型的,所以根本就沒有把它們作為源程序添加到工程里面。

  舉例說明,我們有個(gè)后綴名為.s的文件,里面是C程序,這時(shí)我們就可以使用下面的選項(xiàng)讓編譯器自動(dòng)把它讀取為C程序了:cl2000 –v28 –c_file=file.s

  舉例說明,我們有個(gè)名為fit.rrr的文件,里面是匯編語言程序,這時(shí)我們就可以使用下面的選項(xiàng)讓編譯器讀取它,并編譯輸出相關(guān)的目標(biāo)文件.o(而不是默認(rèn)的obj):

  cl2000 –v28 –asm_extension=.rrr –obj_extension=.o fit.rrr

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

移動(dòng)電源相關(guān)文章:移動(dòng)電源是什么


c++相關(guān)文章:c++教程


全息投影相關(guān)文章:全息投影原理


關(guān)鍵詞: DSP 嵌入式 匯編器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉