wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4647|回復: 0
收起左側

嵌入式技巧:ARM的三種中斷調試方法介紹

[復制鏈接]
ID:199435 發表于 2020-5-20 09:59 | 顯示全部樓層 |閱讀模式
參照嵌入式軟件的開發流程。第一步:工程建立和配置。第二步:編輯源文件。第三步:工程編譯和鏈接。第四步:軟件的調試。第五步:執行文件的固化。

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

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

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

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

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

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

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

中斷程序設計

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

具體方法是:嵌入式技巧:ARM的三種中斷調試方法介紹
嵌入式軟件開發流程

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

在整個流程中,用戶首先需要建立工程并對工程做初步的配置,包括配置處理器和配置調試設備。編輯工程文件,包括自己編寫的匯編和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中運行的目的。
嵌入式技巧:ARM的三種中斷調試方法介紹
嵌入式軟件開發流程

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

在整個流程中,用戶首先需要建立工程并對工程做初步的配置,包括配置處理器和配置調試設備。編輯工程文件,包括自己編寫的匯編和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空間中斷程序入口表

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

如:LDR PC, =HandleIRQ
  // HandleIRQ位于SDRAM空間中斷程序入口表


(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空間中斷程序入口表
第三步:工程編譯和鏈接。第四步:軟件的調試。第五步:執行文件的固化。

在整個流程中,用戶首先需要建立工程并對工程做初步的配置,包括配置處理器和配置調試設備。編輯工程文件,包括自己編寫的匯編和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空間中斷程序入口表

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
免费观看成年人视频在线观看| 老司机凹凸av亚洲导航| 五十路中文字幕| 国产精品精品软件男同| 免费黄色福利视频| 韩国精品一区二区三区六区色诱| 在线观看日韩www视频免费| 亚洲一区二区在线视频| 国产精品一二三四区| 99精品美女| 欧美三级电影网址| 麻豆av在线免费看| 色视频网站在线观看| 天天操天天干天天插| 久久久久久久久久久久国产| 日本泡妞xxxx免费视频软件| 久久久国内精品| 国产日韩精品推荐| 全球成人中文在线| 日日骚av一区| 日韩免费成人网| 亚洲国产日韩在线一区模特| av毛片久久久久**hd| 国产欧美高清| 久久国产精品亚洲人一区二区三区| 中文字幕系列一区| 久久久久久国产精品免费无遮挡| 国产国产国产国产国产国产| 欧美黑人巨大xxxx猛交| jlzzjlzz亚洲女人18| 欧美精品亚洲精品日韩精品| 91中文字幕永久在线| gogogo高清免费观看在线视频| 日韩第一页在线观看| 国产成人成网站在线播放青青| 国内精品久久影院| 中文字幕亚洲图片| 日韩av有码在线| 欧美性欧美巨大黑白大战| 亚洲免费成人av| 99精品黄色片免费大全| 国内不卡的二区三区中文字幕| 欧美日韩亚洲国产精品| 国产欧美一区二区三区精品观看| 国产一区一区| 日本久久免费| 草美女在线观看| 成人在线观看黄色| 在线免费观看黄色片| 加勒比日本影视| 狠狠色丁香婷婷| 蝌蚪91视频| 国产又猛又黄又爽| 一本大道久久a久久精品| 亚洲成a人片77777精品| 中文字幕日本视频| 51国产偷自视频区视频| 国产无遮无挡120秒| 日韩在线视频网址| 中国美女黄色一级片| 色一情一交一乱一区二区三区| 中文在线观看免费视频| 久久人人爽人人爽人人片av高清| 亚洲高清福利视频| 日韩精品一区国产麻豆| 884aa四虎影成人精品一区| 欧美在线观看18| 在线看不卡av| 欧美日韩精品系列| 精品视频一区三区九区| 欧美日韩国产一区二区三区地区| 91久久精品国产91性色tv| 欧美性生交xxxxxdddd| 一本久久综合亚洲鲁鲁五月天| 欧美午夜精品伦理| 欧美在线视频不卡| 91精品国产综合久久精品| 7777精品伊人久久久大香线蕉最新版| 在线播放视频一区| 日韩精品中文字幕在线一区| 亚洲精品电影在线| 中文字幕日韩免费视频| 免费不卡欧美自拍视频| 欧美高清自拍一区| 欧美一级电影久久| 国产日韩欧美另类| 国产九色精品| 亚洲精品不卡| 特大黑人娇小亚洲女mp4| 日本中文字幕网址| 在线观看av网页| 美女扒开腿免费视频| www在线观看免费视频| 婷婷久久综合网| 在线永久看片免费的视频| 中文字幕无码乱码人妻日韩精品| 精品久久久免费视频| 中文字幕第八页| 青青草视频在线青草免费观看| v888av成人| 日本五码在线| 国产丝袜在线播放| 自拍偷拍亚洲| 欧美日韩在线二区| 性感少妇一区| av网站一区二区三区| 自拍偷自拍亚洲精品播放| 日韩欧美国产免费播放| 亚洲精品在线三区| 久久99国产精品自在自在app| 国产精品欧美久久久| 欧美日产一区二区三区在线观看| 久久99久久99精品| 中文字幕亚洲日本| 欧美极品视频在线观看| 国产精品国产一区二区三区四区 | 91麻豆文化传媒在线观看| 国产一区二区三区| 国产精品伦理久久久久久| 免费欧美在线视频| 国产欧美久久久精品影院| 五月综合激情网| 亚洲国产精久久久久久| 91精品国产电影| 国产主播一区二区三区四区| 国产美女作爱全过程免费视频| 岛国毛片在线播放| 尤物在线免费视频| 亚洲成人第一区| 灌醉mj刚成年的大学平面模特| 久青草国产在线| 日韩精品第一| 91亚洲国产| 国产suv精品一区二区三区| 亚洲午夜久久久久久久久久久 | 99在线视频精品| 午夜视频在线观看一区二区 | 亚洲你懂的在线视频| 日韩一区二区不卡| 久久噜噜噜精品国产亚洲综合 | 久久久久久久久影院| 天堂在线www天堂中文在线| 免费av高清| 成人性生活视频| 99视频精品全部免费在线视频| 国产一区二区日韩精品| 午夜a成v人精品| www亚洲精品| 国产日本一区二区三区| 久热在线视频观看| 中文字幕视频网| fpee性欧美| 国产在线一区二区视频| 中文有码一区| 国产suv精品一区二区6| 欧洲精品一区二区三区在线观看| 久久久久www| 日韩亚洲一区在线播放| 中文字幕在线视频播放| 91成人一区二区三区| jizzjizz免费大全| 九九精品调教| 亚洲天堂成人| 一区二区三区四区不卡在线| 神马久久桃色视频| 日韩一区国产在线观看| 国产人妻人伦精品1国产丝袜| 国产毛片久久久久| 国产传媒在线看| 天堂在线观看免费视频| 欧洲一级在线观看| 亚洲激情播播| 久久亚洲综合色一区二区三区| 精品va天堂亚洲国产| 99高清视频有精品视频| 巨乳女教师的诱惑| 精品国产九九九| 日中文字幕在线| 亚州综合一区| 久久久精品人体av艺术| 亚洲视频在线观看视频| 神马影院午夜我不卡影院| 日本成人午夜影院| 国产高清免费视频| 黄色污网站在线观看| 中文亚洲免费| 欧美色手机在线观看| 成人xxxx视频| 蜜桃视频无码区在线观看| www.我爱av| 91九色在线porn| 亚洲视频电影在线| 午夜影院久久久| 国产美女高潮久久白浆| 免费人成视频在线播放| 少妇高潮一区二区三区69| yiren22亚洲综合伊人22| 一区二区中文字| 狠狠躁夜夜躁久久躁别揉| 国产精品入口免费视频一| 午夜一级免费视频| 女人18毛片水真多18精品| 2024最新电影在线免费观看| 亚洲韩日在线| 69堂精品视频| 欧美日韩视频在线一区二区观看视频 | 中文字幕一区二区三区日韩精品| 成人毛片在线观看| 最近更新的2019中文字幕| 黄色网在线视频| 综合久久中文字幕| 国产高清在线| 国产一区白浆| 日韩你懂的在线观看| 日韩福利在线| 中文字幕一区二区三区精品| 在线天堂日本| 欧美成人精品一区二区三区在线看| 亚洲最大成人网4388xx| 国产色视频一区| 国产伦理片在线观看| h视频在线观看免费网站| 牛牛影视久久网| 亚洲国产成人av| 亚洲伊人一本大道中文字幕| 欧美人妻一区二区三区| 性色88av老女人视频| 日本在线中文字幕一区| 性欧美xxxx免费岛国不卡电影| 欧美韩国一区二区| 日本精品性网站在线观看| 国产人妻黑人一区二区三区| 国产精品入口麻豆电影| 韩国精品福利一区二区三区 | 国产欧美激情| 亚洲美女av电影| 国产一区亚洲二区三区| 亚洲欧洲精品视频| 在线看欧美视频| 国产亚洲精品超碰| 国产精品高潮呻吟视频| 国产主播av在线| 22288色视频在线观看| 在线日韩电影| 亚洲人a成www在线影院| 日本久久久久久久久久久久| av中文字幕网| 日本在线一区二区三区| 亚洲成人综合在线| 玛丽玛丽电影原版免费观看1977| 成年人视频在线免费看| 看黄网站在线观看| 懂色av一区二区夜夜嗨| 欧美中文字幕第一页| 99久久99久久精品免费看小说.| 黄页免费在线| 日韩高清国产一区在线| 久久九九免费视频| 亚洲av无码一区二区三区网址 | 亚洲精品久久久狠狠狠爱 | 国产xxxxx在线观看| 欧美精产国品一二三区| 亚洲区小说区图片区qvod按摩 | 超污黄色软件| 亚洲精品国产首次亮相| 日韩精品免费看| 午夜免费一级片| 免费在线播放av| 日韩午夜黄色| 久久综合免费视频| www.av天天| jizzjizz在线观看| 久久综合九色综合欧美98| 91视频8mav| 一本一道精品欧美中文字幕| 成人自拍视频网| 色诱视频网站一区| 国产精品50p| 美女喷水网站| 亚洲伦理一区| 欧美激情视频免费观看| 顶级黑人搡bbw搡bbbb搡| 国产二区在线播放| 97国产一区二区| 国产精品播放| 人妻精品无码一区二区| 麻豆成人入口| 欧美aaaaaa午夜精品| 欧美xxxx做受欧美| chinese全程对白| 日本动漫理论片在线观看网站 | 欧美亚洲日本黄色| 青青草手机在线观看| 精品日韩av| 亚洲国产乱码最新视频| 日韩久久久久久久久久久久| 国产9色视频| 日韩网站在线| 日本不卡高字幕在线2019| 极品国产91在线网站| 四虎精品永久免费| 日韩欧美专区在线| 日韩aaaaa| 免费av网站在线看| 一区二区国产盗摄色噜噜| 午夜探花在线观看| 三级全黄的视频在线观看| 久久亚洲图片| 91亚洲精品在线| xxxx18国产| 久久国产精品亚洲人一区二区三区| 久久久精品影院| 国产又大又黑又粗免费视频| 成人av在线播放| 亚洲精品电影网站| 日韩在线观看免| 久久精品 人人爱| 精品卡一卡二卡三卡四在线| 中国黄色a级片| www在线看| 欧美日韩和欧美的一区二区| 无码国产精品一区二区免费式直播| 日本福利在线| 欧美视频在线视频| 网站在线你懂的| 免费在线观看黄色| 色哟哟精品一区| 婷婷五月精品中文字幕| 精品一性一色一乱农村| 欧美高清一级片在线| 人妻少妇精品视频一区二区三区| 爱情岛亚洲播放路线| 8x福利精品第一导航| 蜜乳av中文字幕| 国产精品天堂蜜av在线播放| 日韩精品视频在线播放| 国产亚洲欧美久久久久| 久久影院资源站| 久久视频在线免费观看| 国产美女www爽爽爽| 成人羞羞视频播放网站| 青青草成人在线| 日本综合一区二区三区| 日韩精品一级二级 | www.国产一区二区| 国产尤物久久久| 日本电影亚洲天堂| 免费不卡中文字幕视频| 奇米在线7777在线精品| 日本不卡一区二区三区在线观看| 狠狠操视频网| 国产日韩成人精品| 丰满少妇在线观看| 91cn在线观看| 精品国产成人系列| 亚洲第一精品在线观看 | 国产福利在线免费观看| 欧美一级片免费看| 91在线网站视频| 国产黄色片中文字幕| 成人一级片在线观看| 男女啪啪免费视频网站| lutube成人福利在线观看| 欧美亚一区二区| 我不卡一区二区| jizz久久精品永久免费| 欧美激情精品在线| 亚洲 欧美 自拍偷拍| 久久综合综合久久综合| 一区二区三区国| 男人的天堂在线免费视频| 精品视频在线视频| 精品无码久久久久| 91精品精品| 久久国产精品一区二区三区| 黄色网免费看| 日韩欧美国产免费播放| 国产精品视频一区二区在线观看| 欧美亚洲tv| 国产日韩视频在线观看| www.尤物.com| 一区二区三区在线播| 精品无码在线视频| 天堂综合网久久| 成人夜晚看av| 天天色综合6| 亚洲成人av一区二区三区| 9.1片黄在线观看| av中文一区| 久久久综合亚洲91久久98| 资源视频在线播放免费| 欧美精品自拍偷拍动漫精品| 在线天堂中文字幕| 爽好多水快深点欧美视频| 91午夜在线观看| 2018av在线| 欧美大片免费观看| 91九色网站| 婷婷综合另类小说色区| 免费无遮挡无码永久在线观看视频 |