色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式Arm中斷調試方法

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-12-08 15:11 ? 次閱讀

嵌入式軟件開發流程

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

在整個流程中,用戶首先需要建立工程并對工程做初步的配置,包括配置處理器和配置調試設備。編輯工程文件,包括自己編寫的匯編和 C 語言源程序,還有工程編譯時需要編寫的鏈接腳本文件,調試過程中需要編寫存儲區映像文件和命令腳本文件,以及上電復位時的程序運行入口的啟動程序文件。

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

(1) 鏈接腳本文件:在程序編譯時起作用。該文件描述代碼鏈接定位的有關信息,包括代碼段,數據段,地址段等,鏈接器必須使用該文件對整個系統的代碼做正確的定位。在 SDRAM 中調試程序、在 FLASH 中調試或固化后運行的鏈接腳本文件應加以區分。(在 IDE 開發環境中使用擴展名*.ld)

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

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

在程序的調試過程中可以選擇使用存儲區映像文件*.map 和命令腳本文件*. cs 配合程序的調試。

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

中斷程序設計

中斷調試方面可以采用類似矢量中斷動態處理方式,讓中斷對應的確定地址代碼調轉到 RAM 的固定地址處,定義一個函數指針指向該固定地址,就可以隨時通過替換 RAM 固定地址處的代碼,實現動態改變中斷處理函數。

具體方法是:

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

void SetInterrupt (U32 vector, void (*handler)()){ InterruptHandlers[vector] = handler;}

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

如:SetInterrupt(IIC_INT,IICWriteIsr);

/* 聲明 IIC 中斷處理函數,其中 IIC_INT 為 IIC 中斷源序號,IICWriteIsr 為 IIC 的寫中斷處理函數 */

(3)在 0x18 處的 IRQ 或 0x1C 處的 FIQ 中斷入口函數中,獲取中斷源、清除中斷掛起標志、通過已定義的中斷源函數指針進入用戶具體某中斷處理程序。

void ISR_IrqHandler(void){ IntOffSet = (unsigned int)INTOFFSET; Clear_PendingBit(IntOffSet>>2) ;

(*InterruptHandlers[IntOffSet>>2])();// 調用具體某中斷處理程序}

采用動態的中斷處理方法,在中斷源較多的情況下,中斷響應時間和程序性能得到優化。另外,在調試方面,此處理方法具有便于跟蹤調試的優點,并且根據需要,可以方便變換中斷處理函數。

中斷調試

軟件調試可以在 SDRAM 中或 FLASH 中進行。在 SDRAM 中,讀寫方便,訪問速度快。一般軟件調試應在 RAM 中完成,但當 RAM 空間小于 FLASH 程序空間,程序只能在 FLASH 運行和調試時,或者用戶希望了解程序在 FLASH 中實際運行情況時,就可以在 FLASH 中進行程序調試。

進行中斷調試時,應注意中斷入口位于 SDRAM 中或 FLASH 中 0x18 或 0x1c 地址,鏈接腳本文件必須使整個系統的代碼正確定位于 0x0 起始處,但 SDRAM 或 FLASH 對應的鏈接腳本文件及工程配置注意區別。

(1)程序在 SDRAM 中運行

在 SDRAM 中調試,使用 SDRAM 對應的鏈接腳本文件。調試過程需要以下幾步:編譯、鏈接工程;連接仿真器和電路板;下載程序(在 IDE 開發環境中使用擴展名*.elf);調試。

下載程序前必須啟動命令腳本文件完成前述的一些特定的操作,命令腳本文件的啟動在連接仿真器時自動進行,其中存儲區映射應與程序在 SDRAM 中運行時相同,保證整個系統的代碼正確定位于 0x0 起始處。下載程序的起始地址也為 0x0,下載成功后便可進行調試工作。

(2)程序在 FLASH 中運行

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

連接仿真器后不需要下載程序,存儲區映射由本身工程中啟動文件運行完成,不需要命令腳本文件。在本環境調試過程中,可以設置兩個硬件斷點。

(3)程序從 FLASH 中調到 SDRAM 中運行

在某些應用場合,強調程序運行速度的情況下,希望程序在 SDRAM 中運行,這樣就需要將 FLASH 中存儲的程序,在系統上電后搬運到 SDRAM 某空間位置,然后自動運行。這種所謂的 Bootloader 技術,在 DSP 系統中常被采用。

調試過程分兩步:

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

(b) 將自己編寫的 Bootloader 搬運程序調試通過并將 Bootloader.bin 文件固化到 FLASH 的 0 扇區地址空間,搬運程序在系統上電后,將(a)中 FLASH 某一非 0 扇區地址空間存儲的程序,搬運到在 SDRAM 調試中同樣的空間位置,實現程序在 SDRAM 中運行的目的。

另外注意,因為用戶實際的程序中斷入口必須位于 FLASH 的 0x18 或 0x1c 地址,所以 Bootloader 搬運程序還應具有中斷入口的跳轉功能,即把 PC 指針由此轉向處于 SDRAM 空間的中斷程序入口表,就是整個用戶程序被搬運到 SDRAM 的那一位置。

如:LDR PC, =HandleIRQ

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

審核編輯黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5087

    文章

    19145

    瀏覽量

    306120
  • 調試
    +關注

    關注

    7

    文章

    582

    瀏覽量

    33981
收藏 人收藏

    評論

    相關推薦

    ARM架構嵌入式主板特點

    極其廣泛。ARM架構嵌入式主板有什么特點呢?一、工作時間及環境:ARM主板不受時間限制,可常開機,無需人員維護。在有電源調節的情況下,只要接通電源,就會自動啟動,
    的頭像 發表于 12-31 16:03 ?215次閱讀
    <b class='flag-5'>ARM</b>架構<b class='flag-5'>嵌入式</b>主板特點

    ARM嵌入式通信協議及應用

    隨著科技的飛速發展,嵌入式系統在各個領域扮演著越來越重要的角色。ARM處理器因其高性能、低功耗的特點,在嵌入式系統中得到了廣泛應用。通信協議作為嵌入式系統的重要組成部分,對于實現設備間
    的頭像 發表于 12-28 09:18 ?249次閱讀

    ARM嵌入式編程高效技巧

    隨著物聯網和智能設備的快速發展,ARM嵌入式系統的應用越來越廣泛。從智能手機到智能家居,再到工業自動化,ARM處理器幾乎無處不在。因此,掌握ARM
    的頭像 發表于 12-28 09:17 ?241次閱讀

    ARM嵌入式實時操作系統比較

    嵌入式系統領域,實時操作系統(RTOS)是確保任務按時完成的關鍵技術。ARM架構因其低功耗、高性能的特點,在嵌入式系統中得到了廣泛應用。本文將對幾款流行的ARM
    的頭像 發表于 12-28 09:15 ?353次閱讀

    為何嵌入式控制器首選ARMxy?深度解析

    嵌入式ARM控制器是一種基于ARM架構的嵌入式系統控制器,廣泛應用于各種嵌入式系統中,包括工業物聯網關、邊緣計算網關、智慧城市、智能設備、工
    的頭像 發表于 09-21 10:09 ?334次閱讀
    為何<b class='flag-5'>嵌入式</b>控制器首選ARMxy?深度解析

    ARM處理器的異常中斷響應過程

    ARM處理器的異常中斷響應是嵌入式系統設計中一個至關重要的環節,它確保了系統在面對內部或外部事件時能夠穩定、可靠地運行。
    的頭像 發表于 09-10 11:18 ?1061次閱讀

    ARM MCU嵌入式開發 | 基于國產GD32F10x芯片+嵌入的開始

    嵌人系統的分類方法是依照系統主控制芯片的復雜性進行分類。可以分為型嵌入式系統、中等規模嵌入式系統、復雜嵌入式系統。 認識一下
    發表于 09-09 14:48

    嵌入式linux開發的基本步驟有哪些?

    之前,首先需要選擇合適的硬件平臺。硬件選擇需要考慮以下幾個方面: 1.1 處理器 嵌入式Linux開發需要一個處理器,常見的處理器有ARM、MIPS、PowerPC等。選擇處理器時,需要考慮處理器的性能、功耗、成本等因素。 1.2 存儲器
    的頭像 發表于 09-02 09:11 ?535次閱讀

    【「ARM MCU嵌入式開發 | 基于國產GD32F10x芯片」閱讀體驗】+書籍整體概況

    一、導言 上周收到《ARM MCU嵌入式開發 | 基于國產GD32F10x芯片》書籍,該紙質書籍內容可謂是面面俱到,由“清華大學出版社”出版,印刷第1版時間為2024年6月份,總共464千字
    發表于 08-25 22:48

    嵌入式C編程常用的異常錯誤處理

    。 3. 中斷服務程序 (Interrupt Service Routines, ISR) 在嵌入式系統中,中斷是處理異常情況的常用方法。ISR用于處理硬件
    發表于 08-06 14:32

    嵌入式系統怎么學?

    系統設計與調試:需要掌握嵌入式系統的設計方法調試技術,包括硬件設計、軟件設計、電路調試等,以確保系統的穩定性和可靠性。 隨著技術的不斷進
    發表于 07-02 10:10

    如何提升嵌入式編程能力?

    :掌握嵌入式系統的基本原理,包括中斷、并發、實時操作、低功耗設計等。 3. 實踐編程:通過實際編寫和測試代碼來提高技能。從簡單的LED閃爍程序開始,逐步過渡到更復雜的項目,如定時器PWM應用、串口、IIC
    發表于 06-21 10:01

    嵌入式片上系統和ARM哪個更好

    嵌入式片上系統和ARM各有其優勢,難以直接比較哪個更好,因為它們在不同的應用場景和需求下都有各自的價值。
    的頭像 發表于 03-28 15:14 ?530次閱讀

    嵌入式軟件開發應該掌握哪些知識?

    知識點學習 熟悉 Linux 的基本使用對于嵌入式軟件開發至關重要。包括文件系統的管理、用戶權限的控制、軟件包管理等。嵌入式開發人員需要能夠在 Linux 環境下進行開發、調試和部署工作。因此我們需要
    發表于 02-19 11:23

    嵌入式學習步驟

    硬件組件。 (4).開發固件:編寫嵌入式系統的固件,這是嵌入式系統的軟件部分。固件負責控制硬件并執行特定任務。 (5).調試和測試:在將嵌入式系統部署到實際環境中之前,您需要對其進行
    發表于 02-02 15:24
    主站蜘蛛池模板: 精品久久99麻豆蜜桃666| 欧美精品一卡二卡| 日韩熟女精品一区二区三区| 成人国产精品免费网站| 我要干av| 久久久无码AV精品亚洲A片软件 | 成人小视频在线观看| 向日葵视频app下载18岁以下勿看| 狠狠干老司机| 99久久免费热在线精品| 无人在线观看免费高清视频播放| 精品无码乱码AV| p影院永久免费| 亚洲国产在线精品国自产拍五月| 麻豆国产MV视频| 国产极品美女视频福利| 永久免费精品影视网站| 秋霞av伦理片在线观看| 国产一区二区三区国产精品| 777EY_卡通动漫_1页| 窝窝午夜色视频国产精品东北| 久久精品一区二区免费看| 成年人免费观看视频网站| 亚洲视频91| 乳交高H糙汉宠文| 久久精品中文字幕| 国产成人8x视频一区二区| 最近在线视频观看2018免费| 特级aa 毛片免费观看| 久久永久影院免费| 国产美女一区二区| japanese色系free日本| 亚洲一区二区三区91| 色欲AV久久综合人妻蜜桃| 看了n遍舍不得删的黄文| 国产人妻精品久久久久久很牛| 99视频在线观看免费视频| 野花日本大全免费高清完整版| 四虎永久免费| 人妻少妇久久久久久97人妻| 久欠热视频精品首页|