久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡

你的位置:首頁 > 互連技術 > 正文

嵌入式技巧:深度理解三種中斷調試方法

發布時間:2016-09-27 責任編輯:susan

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

 
 
在整個流程中,用戶首先需要建立工程并對工程做初步的配置,包括配置處理器和配置調試設備。編輯工程文件,包括自己編寫的匯編和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空間中斷程序入口表
要采購仿真器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索

關閉

?

關閉

久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡
亚洲成人av观看| 日本一区二区三区视频在线看| 亚洲天堂av影院| 国产成人1区| 在线观看精品| 国产精品97| 亚洲三级在线| 偷拍亚洲精品| 国产精品乱战久久久| 成人美女视频| 亚洲免费婷婷| 国产精品一区亚洲| 香蕉成人av| 久久亚洲不卡| 国产精品久久久久av蜜臀| 国产白浆在线免费观看| 免费视频一区三区| 亚洲精品大片| 国产成人精品一区二区免费看京| 日韩欧美一区二区三区在线观看| 日韩一区二区免费看| 国产精品网在线观看| 国内不卡的一区二区三区中文字幕| 久久狠狠婷婷| 国产亚洲电影| 激情婷婷亚洲| 久久国产婷婷国产香蕉| 成人精品亚洲| 国产福利资源一区| 在线亚洲激情| 日韩电影免费在线观看| 色狠狠一区二区三区| 伊人久久高清| 麻豆国产欧美一区二区三区| 亚洲一区欧美激情| 欧洲一级精品| 欧美韩日一区| 欧美久久精品| 亚洲午夜免费| 亚洲一卡久久| 韩日一区二区三区| 成年男女免费视频网站不卡| 国产精品资源| 视频一区中文字幕精品 | 国产一区二区视频在线看| 欧美中文字幕| 国产精品99免费看| 午夜精品久久久久久久久久蜜桃| 欧美国产另类| 国产精品hd| 国产美女亚洲精品7777| 欧美女激情福利| 91精品成人| 亚洲视频www| 国产女优一区| 视频一区欧美精品| 中文字幕一区二区三区日韩精品| 久久亚洲电影| 亚洲精品麻豆| 欧美日韩中文| 国产精品久久久久久妇女| 国产精品一国产精品| 麻豆精品在线观看| 国产videos久久| 欧美精品资源| 亚洲国产日韩欧美在线| 美女网站视频一区| 伊人久久婷婷| 免费看日韩精品| 日本aⅴ精品一区二区三区| 91精品国产自产精品男人的天堂| 欧美一区精品| 国产在线观看www| 亚洲国产综合在线看不卡| 亚洲永久字幕| 欧美视频精品全部免费观看| 精品国产中文字幕第一页| 久久久久久免费视频| 免费看日韩精品| 精品视频91| 国产亚洲精品久久久久婷婷瑜伽| 五月婷婷亚洲| 国产精品一区毛片| 国产高清一区| 久久国产乱子精品免费女| 日韩毛片视频| 色8久久久久| 日本久久成人网| 欧美精品三级在线| 精品在线播放| 成人一区而且| 亚洲精品日本| 亚洲欧美综合| 麻豆91在线播放| 亚洲一区二区动漫| 欧美一区久久久| 五月国产精品| 黄色欧美日韩| 久久国产毛片| 精品国产亚洲一区二区三区大结局| 好吊日精品视频| 欧美视频久久| 一本色道久久精品| av在线资源| 九九九精品视频| 日韩精品中文字幕一区二区| 欧美不卡在线| 99久久精品费精品国产| 麻豆精品久久久| 日韩av中文字幕一区二区 | 日韩精品免费一区二区三区| 蜜臀国产一区二区三区在线播放| 福利片在线一区二区| 日韩精品亚洲专区| 在线亚洲观看| 99国产精品免费视频观看| 国产一区二区三区精品在线观看| 欧美日韩在线二区| 欧美日韩国产一区二区三区不卡| 欧美粗暴jizz性欧美20| 日韩精品高清不卡| 伊人网在线播放| 久久免费精品| 999久久久精品国产| 日韩精品三区四区| 日本久久综合| 国产日韩免费| 日本在线不卡视频| 一区二区亚洲视频| 在线亚洲免费| 好看的av在线不卡观看| 成人免费电影网址| 国产一区二区三区四区五区| 日本亚洲最大的色成网站www | 精品国产乱码| 日韩高清一区二区| 亚洲少妇在线| 鲁大师成人一区二区三区| 激情综合亚洲| 亚洲精品小说| 天堂资源在线亚洲| 影音国产精品| 99在线观看免费视频精品观看| 久久久久国产一区二区| 日本蜜桃在线观看视频| 国产精选在线| 欧美精选一区二区三区| 久久久噜噜噜| 欧美日韩国产高清电影| 午夜在线精品偷拍| 日本中文字幕视频一区| 国产日韩视频在线| 国产第一亚洲| 欧美91福利在线观看| 美女精品在线| 国产情侣久久| 天堂а√在线最新版中文在线| 日韩免费福利视频| 欧美成人午夜| 日韩三级一区| 97精品一区| 免费人成在线不卡| 国产日产一区| 91精品国产成人观看| 亚洲小说春色综合另类电影| 国产精品调教| 国产模特精品视频久久久久| 国产精选久久| 中文欧美日韩| 91日韩欧美| 日韩中文av| 99tv成人| 国产精品入口久久| 怡红院精品视频在线观看极品| 欧美一区免费| 欧美日韩亚洲在线观看| 日本免费在线视频不卡一不卡二| 久久精品国产99国产精品| 欧美精品一卡| 日韩综合在线| 好看的亚洲午夜视频在线| 成人污污视频| 国产免费播放一区二区| 99在线精品免费视频九九视| 国产91欧美| 国产日韩1区| 亚欧洲精品视频在线观看| 91久久国产| 日韩亚洲一区在线| 国产精品极品国产中出| 老牛影视一区二区三区| 99久久婷婷| 国产日韩亚洲欧美精品| 亚洲视频二区| 国产麻豆综合| 天堂av在线一区| 久久亚洲国产| 日韩精品一卡| 成人在线丰满少妇av| 六月婷婷综合|