中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式技巧:ARM的三種中斷調(diào)試方法介紹

        嵌入式技巧:ARM的三種中斷調(diào)試方法介紹

        作者: 時(shí)間:2012-04-10 來源:網(wǎng)絡(luò) 收藏

        void ISR_IrqHandler(void)
        {
        IntOffSet = (unsigned int)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ù)。

        3

        軟件調(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)行時(shí),應(yīng)注意中斷入口位于SDRAM中或FLASH中0x18或0x1c地址,鏈接腳本文件必須使整個(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)用場合,強(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的0x18或0x1c地址,所以Bootloader搬運(yùn)程序還應(yīng)具有中斷入口的跳轉(zhuǎn)功能,即把PC指針由此轉(zhuǎn)向處于SDRAM空間的中斷程序入口表,就是整個(gè)用戶程序被搬運(yùn)到SDRAM的那一位置。

        如:LDR PC, =HandleIRQ

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

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

        上一頁 1 2 下一頁

        關(guān)鍵詞: 嵌入式 ARM 中斷調(diào)試

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉