DSP編程技巧之2:揭開編譯器神秘面紗之處理器選項(xiàng)
也許你已經(jīng)熟練使用了CCS好多年,可是當(dāng)某一天出現(xiàn)一個(gè)與cl2000有關(guān)的錯(cuò)誤的時(shí)候,突然間也摸不著頭腦了;例如使用老版本的還不支持C2000 FPU的CCS來編譯28335的程序,cl2000就會(huì)提示你各種不支持然后報(bào)錯(cuò)不運(yùn)行了。Cl2000.exe是神馬?
本文引用地址:http://www.ex-cimer.com/article/198710.htm Cl2000.exe就是和我們的程序編譯密切相關(guān)的編譯器了,使用的方法是:
cl2000 [編譯器選項(xiàng)] [需要編譯的文件] [--運(yùn)行鏈接器 [鏈接器選項(xiàng)] 目標(biāo)文件]]
使用方法看起來很復(fù)雜,還好CCS已經(jīng)幫我們調(diào)用它了(或者說CCS就是一個(gè)框架,它完成的編譯、調(diào)試、鏈接等功能幾乎都需要調(diào)用一些別的exe來執(zhí)行,所以你可能體會(huì)過升級(jí)了一些庫文件、編輯器版本等,界面文件等卻不需要進(jìn)行任何的更改),這些句子會(huì)顯示在工程的屬性里面。當(dāng)然如果你想親自體驗(yàn)一把,也可以在ccs安裝目錄下面的toolscompilerc2000_6.1.5bin下面找到它,即cl2000.exe,然后用命令行的方式運(yùn)行起來)。舉個(gè)簡單例子:
cl2000 -v28 symtab.c file.c seek.asm --run_linker --library=lnk.cmd
--output_file=myprogram.out
在上面的例子中,如果需要編譯的文件,例如幾個(gè).c或者.asm找不到,CCS就會(huì)提示xxx.c或者xxx.asm找不到或者未定義了;或者你改了目標(biāo)文件的名字,例如改成了a.out,但是加載程序到DSP中的時(shí)候卻仍然使用更改前的b.out,自然有可能出現(xiàn)預(yù)料之外的結(jié)果了:在以前幫助網(wǎng)友解決問題的時(shí)候,確實(shí)出現(xiàn)過這樣的狀況。
明白了編譯器的調(diào)用方法之后,我們就更進(jìn)一步,揭開編譯器中形形色色選項(xiàng)的神秘面紗,從此看到編譯器提示的形形色色的警告和錯(cuò)誤不再用發(fā)怵。
具體說來,編譯器的選項(xiàng)有多大20個(gè)大類,超過一百個(gè)具體的選項(xiàng)。當(dāng)然這些選項(xiàng)是有輕重之分的,有的是必須用到的,例如支持一下FPU等功能;有的則是不常接觸的,例如MISRA這樣的汽車工業(yè)軟件可靠性檢查,只有在對軟件進(jìn)行標(biāo)準(zhǔn)化時(shí)才會(huì)用到。所以我們首先看一下最常用的選項(xiàng),例如處理器的選項(xiàng),它們的意義在于定義了在編譯程序時(shí)CPU的模式。補(bǔ)充一點(diǎn)是,cl2000的幫助里看到的選項(xiàng)都是很長的名字,在CCS里面為了書寫方便(因?yàn)檫x項(xiàng)框就那么點(diǎn)面積啊),一般用別名來代替;沒有別名的則直接使用選項(xiàng)名字。
c++相關(guān)文章:c++教程
評論