日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 參照嵌入式軟件的開發(fā)流程。第一步:工程建立和配置。第二步:編輯源文件。第三步:工程編譯和鏈接。第四步:軟件的調(diào)試。第五步:執(zhí)行文件的固化。 在整個(gè)流程中,用戶首先需要建立工程并對(duì)工程做初步的配置,包括

參照嵌入式軟件的開發(fā)流程。第一步:工程建立和配置。第二步:編輯源文件。第三步:工程編譯和鏈接。第四步:軟件的調(diào)試。第五步:執(zhí)行文件的固化。

在整個(gè)流程中,用戶首先需要建立工程并對(duì)工程做初步的配置,包括配置處理器和配置調(diào)試設(shè)備。編輯工程文件,包括自己編寫的匯編和C語言源程序,還有工程編譯時(shí)需要編寫的鏈接腳本文件,調(diào)試過程中需要編寫存儲(chǔ)區(qū)映像文件和命令腳本文件,以及上電復(fù)位時(shí)的程序運(yùn)行入口的啟動(dòng)程序文件。

對(duì)后四種文件的理解很重要,其作用解釋如下。

(1)鏈接腳本文件:在程序編譯時(shí)起作用。該文件描述代碼鏈接定位的有關(guān)信息,包括代碼段,數(shù)據(jù)段,地址段等,鏈接器必須使用該文件對(duì)整個(gè)系統(tǒng)的代碼做正確的定位。在SDRAM中調(diào)試程序、在FLASH中調(diào)試或固化后運(yùn)行的鏈接腳本文件應(yīng)加以區(qū)分。(在IDE開發(fā)環(huán)境中使用擴(kuò)展名*.ld)

(2)命令腳本文件:在SDRAM中調(diào)試程序時(shí)起作用。在集成環(huán)境與目標(biāo)連接時(shí)、軟件調(diào)試過程中以及目標(biāo)板復(fù)位后,有時(shí)需要集成環(huán)境自動(dòng)完成一些特定的操作,比如復(fù)位目標(biāo)板、清除看門狗、屏蔽中斷寄存器、存儲(chǔ)區(qū)映射等。這些操作可以通過執(zhí)行一組命令序列來完成,保存一組命令序列的文本文件稱為命令腳本文件(在IDE開發(fā)環(huán)境中使用擴(kuò)展名*.cs)。

(3)存儲(chǔ)區(qū)映像文件:在SDRAM中調(diào)試程序時(shí)起作用。在軟件調(diào)試過程中訪問非法存儲(chǔ)區(qū)在部分處理器和目標(biāo)板上會(huì)產(chǎn)生異常,如果異常沒有處理,則會(huì)導(dǎo)致軟件調(diào)試過程無法繼續(xù),為了防止以上問題并調(diào)整仿真器訪問速度以達(dá)到最合適的水平,提供這樣一種用于描述各個(gè)存儲(chǔ)區(qū)性質(zhì)的文件叫存儲(chǔ)區(qū)映像文件(在IDE開發(fā)環(huán)境中使用擴(kuò)展名*.map)。

在程序的調(diào)試過程中可以選擇使用存儲(chǔ)區(qū)映像文件*.map和命令腳本文件*.cs配合程序的調(diào)試。

(4)啟動(dòng)文件:它主要是完成一些和硬件相關(guān)的初始化的工作,為應(yīng)用程序做準(zhǔn)備。一般,啟動(dòng)代碼的第一步是設(shè)置中斷和異常向量;第二步是完成系統(tǒng)啟動(dòng)所必須的寄存器配置;第三步設(shè)置看門狗及用戶設(shè)計(jì)的部分外圍電路;第四步是配置系統(tǒng)所使用的存儲(chǔ)區(qū)分配地址空間;第五步是變量初始化;第六步是為處理器的每個(gè)工作模式設(shè)置棧指針;最后一步是進(jìn)入高級(jí)語言入口函數(shù)(Main函數(shù))。

中斷程序設(shè)計(jì)

中斷調(diào)試方面可以采用類似矢量中斷動(dòng)態(tài)處理方式,讓中斷對(duì)應(yīng)的確定地址代碼調(diào)轉(zhuǎn)到RAM的固定地址處,定義一個(gè)函數(shù)指針指向該固定地址,就可以隨時(shí)通過替換RAM固定地址處的代碼,實(shí)現(xiàn)動(dòng)態(tài)改變中斷處理函數(shù)。

具體方法是:

(1)將中斷源函數(shù)指針定義在RAM中相對(duì)的固定地址,建立中斷矢量表;

voidSetInterrupt(U32vector,void(*handler)()){InterruptHandlers[vector]=handler;}

(2)在程序中,調(diào)用具體某中斷源的中斷處理函數(shù);

如:SetInterrupt(IIC_INT,IICWriteIsr);



(3)在018處的IRQ或01C處的FIQ中斷入口函數(shù)中,獲取中斷源、清除中斷掛起標(biāo)志、通過已定義的中斷源函數(shù)指針進(jìn)入用戶具體某中斷處理程序。

voidISR_IrqHandler(void){IntOffSet=(unsignedint)INTOFFSET;Clear_PendingBit(IntOffSet>>2);(*InterruptHandlers[IntOffSet>>2])();//調(diào)用具體某中斷處理程序}

采用動(dòng)態(tài)的中斷處理方法,在中斷源較多的情況下,中斷響應(yīng)時(shí)間和程序性能得到優(yōu)化。另外,在調(diào)試方面,此處理方法具有便于跟蹤調(diào)試的優(yōu)點(diǎn),并且根據(jù)需要,可以方便變換中斷處理函數(shù)。

中斷調(diào)試

軟件調(diào)試可以在SDRAM中或FLASH中進(jìn)行。在SDRAM中,讀寫方便,訪問速度快。一般軟件調(diào)試應(yīng)在RAM中完成,但當(dāng)RAM空間小于FLASH程序空間,程序只能在FLASH運(yùn)行和調(diào)試時(shí),或者用戶希望了解程序在FLASH中實(shí)際運(yùn)行情況時(shí),就可以在FLASH中進(jìn)行程序調(diào)試。

進(jìn)行中斷調(diào)試時(shí),應(yīng)注意中斷入口位于SDRAM中或FLASH中018或01c地址,鏈接腳本文件必須使整個(gè)系統(tǒng)的代碼正確定位于0x0起始處,但SDRAM或FLASH對(duì)應(yīng)的鏈接腳本文件及工程配置注意區(qū)別。

(1)程序在SDRAM中運(yùn)行

在SDRAM中調(diào)試,使用SDRAM對(duì)應(yīng)的鏈接腳本文件。調(diào)試過程需要以下幾步:編譯、鏈接工程;連接仿真器和電路板;下載程序(在IDE開發(fā)環(huán)境中使用擴(kuò)展名*.elf);調(diào)試。

下載程序前必須啟動(dòng)命令腳本文件完成前述的一些特定的操作,命令腳本文件的啟動(dòng)在連接仿真器時(shí)自動(dòng)進(jìn)行,其中存儲(chǔ)區(qū)映射應(yīng)與程序在SDRAM中運(yùn)行時(shí)相同,保證整個(gè)系統(tǒng)的代碼正確定位于0x0起始處。下載程序的起始地址也為0x0,下載成功后便可進(jìn)行調(diào)試工作。

(2)程序在FLASH中運(yùn)行

在FLASH中調(diào)試,使用FLASH對(duì)應(yīng)的鏈接腳本文件。調(diào)試過程需要以下幾步:編譯、鏈接工程;連接仿真器和電路板;程序格式轉(zhuǎn)換(*.elf轉(zhuǎn)換為*.bin);固化*.bin程序;調(diào)試。

連接仿真器后不需要下載程序,存儲(chǔ)區(qū)映射由本身工程中啟動(dòng)文件運(yùn)行完成,不需要命令腳本文件。在本環(huán)境調(diào)試過程中,可以設(shè)置兩個(gè)硬件斷點(diǎn)。

(3)程序從FLASH中調(diào)到SDRAM中運(yùn)行

在某些應(yīng)用場(chǎng)合,強(qiáng)調(diào)程序運(yùn)行速度的情況下,希望程序在SDRAM中運(yùn)行,這樣就需要將FLASH中存儲(chǔ)的程序,在系統(tǒng)上電后搬運(yùn)到SDRAM某空間位置,然后自動(dòng)運(yùn)行。這種所謂的Bootloader技術(shù),在DSP系統(tǒng)中常被采用。

調(diào)試過程分兩步:

(a)首先將用戶程序在SDRAM中調(diào)試通過,然后將*.bin文件固化到FLASH某一非0扇區(qū)地址空間;

(b)將自己編寫的Bootloader搬運(yùn)程序調(diào)試通過并將Bootloader.bin文件固化到FLASH的0扇區(qū)地址空間,搬運(yùn)程序在系統(tǒng)上電后,將(a)中FLASH某一非0扇區(qū)地址空間存儲(chǔ)的程序,搬運(yùn)到在SDRAM調(diào)試中同樣的空間位置,實(shí)現(xiàn)程序在SDRAM中運(yùn)行的目的。

另外注意,因?yàn)橛脩魧?shí)際的程序中斷入口必須位于FLASH的018或01c地址,所以Bootloader搬運(yùn)程序還應(yīng)具有中斷入口的跳轉(zhuǎn)功能,即把PC指針由此轉(zhuǎn)向處于SDRAM空間的中斷程序入口表,就是整個(gè)用戶程序被搬運(yùn)到SDRAM的那一位置。

如:LDRPC,=HandleIRQ

//HandleIRQ位于SDRAM空間中斷程序入口表

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

Sept. 10, 2025 ---- 根據(jù)TrendForce集邦咨詢最新發(fā)布的《全球電動(dòng)車逆變器市場(chǎng)數(shù)據(jù)》,2025年第二季受惠純電動(dòng)車(BEV)銷售成長(zhǎng),全球電動(dòng)車(注1)牽引逆變器裝機(jī)量達(dá)766萬臺(tái),年增19%。...

關(guān)鍵字: 增程式電動(dòng)車 SiC 牽引逆變器

Sept. 8, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季NVIDIA(英偉達(dá)) Blackwell平臺(tái)規(guī)模化出貨,以及北美CSP業(yè)者持續(xù)擴(kuò)大布局General Server(通用型...

關(guān)鍵字: SSD DDR4 服務(wù)器

Sept. 4, 2025 ---- Apple(蘋果)即將發(fā)布iPhone 17、iPhone 17 Air(暫名)、iPhone 17 Pro及Pro Max四款旗艦新機(jī),除了外觀辨識(shí)度升級(jí),處理器性能、散熱和拍攝功...

關(guān)鍵字: iPhone 16 A19處理器 折疊機(jī)

Sept. 3, 2025 ---- 根據(jù)TrendForce集邦咨詢最新發(fā)布的《2025近眼顯示市場(chǎng)趨勢(shì)與技術(shù)分析》報(bào)告,2025年隨著國(guó)際品牌陸續(xù)推出AR眼鏡原型,以及Meta預(yù)計(jì)在近期發(fā)布AR眼鏡Celeste,市...

關(guān)鍵字: AR眼鏡 OLED

Sept. 2, 2025 ---- TrendForce集邦咨詢表示,2025年第二季DRAM產(chǎn)業(yè)因一般型DRAM (Conventional DRAM)合約價(jià)上漲、出貨量顯著增長(zhǎng),加上HBM出貨規(guī)模擴(kuò)張,整體營(yíng)收為3...

關(guān)鍵字: DRAM 智能手機(jī) ASP

Sept. 1, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季因中國(guó)市場(chǎng)消費(fèi)補(bǔ)貼引發(fā)的提前備貨效應(yīng),以及下半年智能手機(jī)、筆電/PC、Server新品所需帶動(dòng),整體晶圓代工產(chǎn)能利用率與出貨...

關(guān)鍵字: 晶圓代工 智能手機(jī) 筆電

Aug. 28, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季NAND Flash產(chǎn)業(yè)雖面臨平均銷售價(jià)格(ASP)小幅下滑,所幸原廠減產(chǎn)策略緩解供需失衡,疊加中、美兩大市場(chǎng)政策推動(dòng),整體...

關(guān)鍵字: NAND Flash SSD AI

Aug. 26, 2025 ---- NVIDIA(英偉達(dá))近日推出的Jetson Thor被視為機(jī)器人的物理智慧核心,以Blackwell GPU、128 GB記憶體堆疊出2070 FP4 TFLOPS AI算力,是前...

關(guān)鍵字: 機(jī)器人 大型語言模型 AI算力

Aug. 21, 2025 ---- 根據(jù)TrendForce集邦咨詢最新液冷產(chǎn)業(yè)研究,隨著NVIDIA GB200 NVL72機(jī)柜式服務(wù)器于2025年放量出貨,云端業(yè)者加速升級(jí)AI數(shù)據(jù)中心架構(gòu),促使液冷技術(shù)從早期試點(diǎn)邁...

關(guān)鍵字: AI 數(shù)據(jù)中心 服務(wù)器

除了充電電路外,鋰電池的放電過程也需要保護(hù)。鋰電池的放電電壓不能低于3.0V,否則電池壽命會(huì)大幅縮短。為了實(shí)現(xiàn)這一保護(hù),工程師們?cè)O(shè)計(jì)了DW01芯片與8205 MOS管的電路組合。DW01芯片能夠監(jiān)控鋰電池的放電電壓和電流...

關(guān)鍵字: 鋰電池 電池
關(guān)閉