|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
對(duì)一個(gè)項(xiàng)目不同的文件分別使用ARM和Thumb指令編譯的方法: |
| 作者:pheavecn 欄目:ARM技術(shù) |
我用ADS1.2.項(xiàng)目是用周立功的ARM Execuable Image模板建立的。 1、在DebugInFlash Setting-->File Mappings里,加入擴(kuò)展名為.TC的"File Type",編譯器選“Thumb C Compiler”。目的是使用源代碼的擴(kuò)展名來(lái)區(qū)分是ARM還是Thumb指令編譯。 2、Language Settings-->ARM C Compiler和Thumb C Compiler的ATPCS頁(yè)里的"ARM/Thumb interworking"必須選上。 這樣,如果你想把一個(gè)文件用arm指令,就用.C擴(kuò)展名。要用thumb指令,就用.TC。另存為一下就可以了。 原來(lái)51KB的arm程序,用thumb指令編譯大部分程序后,只有37KB了。 |
| 2樓: | >>參與討論 |
| 作者: twentyone 于 2006/5/12 1:43:00 發(fā)布:
re ADS直接支持ARM/THUMB INTERWORKING的,使用方法如下: 新建一個(gè)ARM/THUMB INTERWORKING的工程,在工程里添加源文件,添加的時(shí)候,ADS會(huì)提示你加入到那些模板里去,如果你的一個(gè)源文件希望用編譯成THUMB指令,就只添加到THUMB開(kāi)頭的模板里去,否則,就添加到ARM開(kāi)頭的模板里面去. 這樣ADS編譯的時(shí)候,就會(huì)分別編譯,然后鏈接好.而且在ARM程序里調(diào)用THUMB程序,或者在THUMB程序里面調(diào)用ARM程序的地方,都會(huì)自動(dòng)插入狀態(tài)切換代碼. |
|
| 3樓: | >>參與討論 |
| 作者: lpcfans 于 2006/5/12 8:27:00 發(fā)布:
好。。。。 |
|
| 4樓: | >>參與討論 |
| 作者: pheavecn 于 2006/5/12 9:47:00 發(fā)布:
21兄的做法是周立功的標(biāo)準(zhǔn)做法,我覺(jué)得我的做法更靈活。 |
|
| 5樓: | >>參與討論 |
| 作者: hjf8031 于 2006/5/12 11:39:00 發(fā)布:
好! |
|
| 6樓: | >>參與討論 |
| 作者: twentyone 于 2006/5/12 14:30:00 發(fā)布:
to pheavecn 沒(méi)試驗(yàn)過(guò)你的方法,不知道你這么做鏈接器會(huì)不會(huì)自動(dòng)插入ARM/THUMB狀態(tài)切換的指令. |
|
| 7樓: | >>參與討論 |
| 作者: pheavecn 于 2006/8/1 8:45:00 發(fā)布:
回twentyone老兄,本方法使用到現(xiàn)在3個(gè)月,沒(méi)有發(fā)現(xiàn)任何問(wèn)題。 Language Settings-->ARM C Compiler和Thumb C Compiler的ATPCS頁(yè)里的"ARM/Thumb interworking"選上后,就可以自動(dòng)產(chǎn)生切換指令了。 * - 本貼最后修改時(shí)間:2006-8-1 8:47:19 修改者:pheavecn |
|
| 8樓: | >>參與討論 |
| 作者: twentyone 于 2006/8/1 10:42:00 發(fā)布:
RE 謝謝PHEAVECN提供的方法. |
|
| 9樓: | >>參與討論 |
| 作者: xxqarm 于 2006/8/1 10:48:00 發(fā)布:
好方法 不錯(cuò),是個(gè)好方法.按這個(gè)思路的話,把要編譯成ARM的C文件,擴(kuò)展名改為.ac,要編譯成Thumb的文件,擴(kuò)展名不變,這樣也可以吧?這樣只有少量幾個(gè)文件需改擴(kuò)展名. |
|
| 10樓: | >>參與討論 |
| 作者: 絡(luò) 于 2010/6/21 16:54:38 發(fā)布:
請(qǐng)問(wèn)這個(gè)兩個(gè)編譯有什么差別嗎? mtk35 一般用哪個(gè)編譯? |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào) |