在我們對(duì)DSP編程的時(shí)候,相信沒(méi)有人會(huì)把所有的代碼都放在同一個(gè)源文件里面:光各種寄存器的初始化代碼就有幾百上千行了,再加上我們自己書(shū)寫(xiě)的代碼,想想假如一個(gè).c文件里面有一萬(wàn)行,該如何管理、調(diào)試呢?所以要按照功能、寄存器分類(lèi)等進(jìn)行劃分,這樣一個(gè)工程就包含了很多的頭文件、源程序等等,每個(gè)源程序經(jīng)過(guò)編譯、匯編之后都會(huì)產(chǎn)生單獨(dú)的目標(biāo)文件。因?yàn)閷?duì)于程序的任何一點(diǎn)修改,都需要編譯器進(jìn)行編譯,如果每次都把所有的程序進(jìn)行重新編譯的話,是對(duì)時(shí)間和資源的極大浪費(fèi):特別是那些基于Eclipse的編譯環(huán)境,因?yàn)榛贘ava這樣的技術(shù),本身就很慢,如果一次編譯的文件很多,編譯過(guò)程是非常痛苦的等待,甚至經(jīng)常懷疑編譯環(huán)境是不是已經(jīng)掛掉了?所以為了提高效率,我們可以使用增量編譯技術(shù)只對(duì)有修改的文件進(jìn)行重新編譯和匯編,而沒(méi)有修改的則不需要更新目標(biāo)文件。但是因?yàn)榫幾g器和匯編器對(duì)每個(gè)源文件是單獨(dú)匯編的,它們并不知道某個(gè)模塊中的數(shù)據(jù)和程序相對(duì)于另一個(gè)模塊而言,具體位置在哪里,所以接下來(lái)我們就需要使用鏈接器把所有的目標(biāo)文件給“拼接”起來(lái),最終生成一個(gè)可以獨(dú)立運(yùn)行的文件,即可執(zhí)行文件。它的功能包括三個(gè)主要的步驟:
(1)將代碼和數(shù)據(jù)放入“假想”中的內(nèi)存:鏈接器基于.cmd文件中對(duì)存儲(chǔ)器地址的劃分,按照不同的段把代碼和數(shù)據(jù)分別裝入對(duì)應(yīng)的地址中;當(dāng)然這完全是在電腦上完成的,不需要實(shí)際的DSP和RAM“出面”。
(2)為數(shù)據(jù)和指令分配內(nèi)存地址:最簡(jiǎn)單的例子,為函數(shù)中斷的入口制定一個(gè)地址,這樣在進(jìn)中斷的時(shí)候,程序指針直接跳轉(zhuǎn)到中斷入口的地址就行了。
(3)修改內(nèi)部和外部的引用:鏈接器使用每個(gè)目標(biāo)文件中的重定位信息和符號(hào)表,來(lái)解析某個(gè)目標(biāo)文件中未定義的符號(hào),因?yàn)樗锌赡苁窃趧e的目標(biāo)文件中定義的。
為了更好地理解鏈接器的行為,我們就需要了解一下它的配置選項(xiàng)。鏈接器的配置選項(xiàng)也很多,但是和程序優(yōu)化的那些選項(xiàng)相比,其含義要更容易理解一些。表1是鏈接器的最基本選項(xiàng),定義了鏈接器正常工作所必須的參數(shù)。

鏈接器的文件搜索選項(xiàng)則是鏈接器用來(lái)尋找文件時(shí)使用的,例如查找某個(gè)和FPU運(yùn)行有關(guān)的浮點(diǎn)庫(kù)函數(shù),如表2所示。



上一篇:基于ARM+DSP的智能網(wǎng)絡(luò)視頻監(jiān)控終端設(shè)計(jì)
下一篇:基于DSP的四路同步水聲信號(hào)記錄儀設(shè)計(jì)
推薦閱讀最新更新時(shí)間:2024-05-02 23:07





- 熱門(mén)資源推薦
- 熱門(mén)放大器推薦
- 生于毫末,成于萬(wàn)象——德州儀器推出全球超小尺寸MCU
- 歐盟 CRA 落地,開(kāi)源軟件何去何從?
- 一篇文章帶您玩轉(zhuǎn)T113的ARM+RISC-V+DSP三核異構(gòu)!-米爾電子
- 意法半導(dǎo)體STM32WBA6新系列高集成度無(wú)線微控制器, 集更多功能、性能和能效于一身
- 貿(mào)澤開(kāi)售適用于AI和嵌入式應(yīng)用的 全新Raspberry Pi Compute Module 5
- 從創(chuàng)新平臺(tái)到行業(yè)落地:萊迪思Nexus 2驅(qū)動(dòng)AI市場(chǎng)應(yīng)用
- 釋放 AI 潛能,Arm 計(jì)算平臺(tái)構(gòu)建計(jì)算與存儲(chǔ)的未來(lái)
- 實(shí)現(xiàn)真正無(wú)人駕駛的三個(gè)問(wèn)題
- 整車(chē)電氣線束布置過(guò)程中的設(shè)計(jì)原則
- 如何用ST-LINK給STM32下載HEX文件
- 降低誤報(bào)率—煙霧報(bào)警器如何通過(guò)漢堡包煙霧干擾報(bào)警測(cè)試
- Imagination和浙江大學(xué)信息與電子工程學(xué)院宣布建立合作關(guān)系
- 華為王軍:車(chē)載顯示進(jìn)入光成像時(shí)代 最近還有大事發(fā)生
- 小白學(xué)習(xí)HC-05藍(lán)牙透?jìng)髂K
- PLC死機(jī)的軟件或硬件原因分析
- 如何將安全LPC804 MCU芯片配置編程呢??jī)H可通過(guò)ISP模式么?
- 硅鋼片表面電阻測(cè)試儀TS1700電工鋼表面絕緣電阻測(cè)量裝置
- 通用數(shù)字存儲(chǔ)示波器的基本功能及技術(shù)參數(shù)
- DeepSeek動(dòng)搖不了英偉達(dá)的“芯片帝國(guó)”?
- 現(xiàn)代摩比斯在電氣化轉(zhuǎn)型中擴(kuò)大車(chē)載芯片生產(chǎn)
- 中控屏排行榜:新勢(shì)力們卷了半天,能上榜的沒(méi)幾個(gè)?
- 沃爾沃汽車(chē)?yán)萌斯ぶ悄芎吞摂M世界打造更安全的汽車(chē)
- 洛陽(yáng)基地開(kāi)工,寧德時(shí)代打造全球電池重鎮(zhèn)
- 全球安全法規(guī)倒逼傳感升級(jí),艙內(nèi)雷達(dá)將加速上車(chē)
- 2月動(dòng)力電池榜出爐!弗迪電池9倍增幅,欲復(fù)制乘用車(chē)神跡
- 比亞迪超級(jí)e平臺(tái)開(kāi)啟「油電同速」新時(shí)代
- 英飛凌首次登頂全球MCU市場(chǎng),但挑戰(zhàn)猶存
- 2025年1月中國(guó)乘用車(chē)新車(chē)激光雷達(dá)TOP3供應(yīng)商份額達(dá)92.2%
- 答題贏京東卡|PI InnoSwitch產(chǎn)品系列學(xué)習(xí)中心
- 直播已結(jié)束【解鎖 TI Sitara AM2x MCU 在電機(jī)驅(qū)動(dòng)中的新可能】
- 泰克MDO系列:1招搞定6大儀器,輕松穿越模擬、數(shù)字、頻域測(cè)量
- Microchip直播:?jiǎn)纹瑱C(jī)編程不再難, 利用MPLAB®代碼配置器(MCC)實(shí)現(xiàn)快速開(kāi)發(fā)
- jameswangsynnex帶你進(jìn)入智能電網(wǎng)世界
- 悅覽 PI 節(jié)能技術(shù)資料,參與測(cè)試、評(píng)論贏雙重好禮!
- 您的無(wú)人機(jī)安全嗎?使用電路保護(hù)應(yīng)對(duì)安全隱患
- MPS探索營(yíng) “正經(jīng)玩技術(shù)”!創(chuàng)意征集 | 解鎖鋰電池充電的無(wú)限玩法!
- Microchip 有獎(jiǎng)直播|如何構(gòu)建車(chē)載充電器
- 聯(lián)想Z5 Pro GT版已開(kāi)放現(xiàn)貨
- 讓人工智能成為強(qiáng)大動(dòng)能
- 蘋(píng)果官網(wǎng)隱藏代碼顯示AirPower等好處 將公布
- AI+軟件+硬件+服務(wù)=機(jī)器人 傅盛連發(fā)五款機(jī)器人
- 三星S10 5G版將于4月5日正式開(kāi)售
- 220千伏三塘湖—淖毛湖輸電工程貫通 哈密新能源再添送出通道
- 簽訂合同2900余個(gè) 國(guó)網(wǎng)浙江電力拓展綜合能源服務(wù)業(yè)務(wù)
- 國(guó)網(wǎng)四川電力配電物聯(lián)網(wǎng)建設(shè)進(jìn)入實(shí)施階段
- 全面推廣“網(wǎng)上國(guó)網(wǎng)”助泛在電力物聯(lián)網(wǎng)建設(shè)
- 國(guó)內(nèi)機(jī)器人企業(yè)虧損達(dá)853% 2020年或?qū)⒂龅焦拯c(diǎn)