最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

從Flash和SRAM中觸發(fā)中斷的過程示例

作者:aMonster 欄目:ARM技術(shù)
FLASH.html">FLASHSRAM中觸發(fā)中斷的過程示例
    我是從網(wǎng)上看到的這篇應用筆記,感覺還可以,分享給大家。我粗略翻譯了一點,加了一點自己理解的注釋。后面的就不再翻譯了,大家想繼續(xù)看的話到菲利普網(wǎng)站上下吧。

    使用LPC2106的Timer 1 進行的簡單的中斷處理。示例代碼中Timer1分為FIQ和IRQ,用戶可以從FLASH.html">FLASH或者SRAM中運行這些代碼。
    示例展示了ARM構(gòu)架中中斷是如何操作的。提供的代碼表示了向量IRQ(中斷請求)和FIQ(快速中斷)兩種情況。中斷向量位于FLASH地址中的0x00-0x1C。如果需要從SRAM中運行,則中斷向量需要被remapped to 0x40000000-0x4000000C。這可以通過MEMORY Map register來做到。這些代碼用ADS1.2開發(fā),從FLASH中運行。提供了從SRAM中運行代碼的不同之處。中斷服務程序(ISR)使用C語言編寫IRQ,用匯編來編寫FIQ。
    示例使用下面的樣式排列:
1.    TIMER1 被配置為觸發(fā)IRQ中斷,代碼從FLASH中運行;
2.    代碼從SRAM中運行所需要的改變和增加;
3.    TIMER1被配置為觸發(fā)FIQ中斷,代碼從FLASH中運行;
4.    代碼從SRAM中運行所需要的改變和增加。

TIMER1 被配置為觸發(fā)一個IRQ中斷,代碼從FLASH中運行
這個示例包含下述文件:
1.    中斷向量表(ivt.s)
2.    啟動用的匯編代碼(init.s)
3.    主C文件

只包含了相關(guān)的文件。在不同的交叉編譯環(huán)境下,C文件不用改變太多,而匯編文件需要改變。

中斷向量表
這些代碼應該被連接到0x0。
;***********************************************************
;                     匯編指令
;*************************************************************
                   AREA    IVT,CODE        ;新的代碼段
                   CODE32                   ;ARM 代碼
                   IMPORT  start              ;導入外部函數(shù)。Start標志不應該在這個段內(nèi)定義
                   ENTRY                    ;定義程序入口  
;*********************************************************************
                  LDR         PC,=START
                  LDR         PC,Underfined_Addr
                  LDR         PC,SWI_Addr
                  LDR         PC,Prefetch_Addr
                  LDR         PC,abort_Addr

在 0x14用戶應當插入一個標識(CHECKSUM),這個標識允許bootloader決定是否允許在FLASH中存放用戶代碼。當前大多數(shù)FLASH編程工具(debuggers and isp utility)有這個內(nèi)在性能,所以用戶不用擔心。如果工具沒有提供這個功能,這個值需要自己計算,而且應當被插入到0x14。在LPC2104/5/6的用戶手冊中的FLASH編程的章節(jié)中可以找到CHECKSUM相關(guān)計算的細節(jié)。
                    DCD             ………..
                    LDR         PC,[PC,#=0Xff0]
                    LDR         PC,FIQ_Addr

Undefined_Addr      DCD         Undefined_Handler
SWI_Addr           DCD         SWI_Handler
Prefetch_Addr        DCD         Prefetch_Handler
Abort_Addr          DCD         Abort_Handler
FIQ_Addr           DCD         FIQ_Handler

;********************************************************************
;                  意外處理
;*******************************************************************
    下面虛擬的操作在本例子中不做任何有用的操作。這里寫下來僅僅是為了完整性

Undefined_Handler
                B             Undefined_Handler
SWI_Handler
                B             SWI_Handler
Prefetch_Handler
                B             Pretetch_Handler
Abort_Handler
                B             Abort_Handler
FIQ_Handler
                B             FIQ_Handler

END

    復位時,本例子執(zhí)行的第一條指令是:  
LDR   PC,=start
    將轉(zhuǎn)移到匯編啟動代碼,允許中斷,建立IRQ的堆棧指針核管理員模式。
    中斷向量的假肢就是IRQ中斷
             LDR   PC,[PC,#=0Xff0]
這條指令加載到PC,PC地址將從VIC向量地址寄存器(0Xffff F030)轉(zhuǎn)到ISR,并在這里執(zhí)行轉(zhuǎn)移。其余的向量都是虛擬的中斷操作。

啟動匯編代碼
;*********************************************************************
;                   匯編指令
;******************************************************************
                AREA   asm_code,CODE    ;新的代碼段
                CODE32                   ;ARM模式
     &
2樓: >>參與討論
001liujie
能否把源文件地址附上,謝了!
 
3樓: >>參與討論
aMonster
具體的地址不記得了
大概的地址在:http://www.semiconductors.philips.com/markets/mms/products/microcontrollers/documentation/appnotes/index.html

4樓: >>參與討論
gyf2000
幫朋友頂一下!
 
5樓: >>參與討論
zlgARM
版主建議:
謝謝aMonster 。

歡迎各位熱心網(wǎng)友將自己的心得和發(fā)現(xiàn)共享出來,與大家共享。
在幫助別人的同時,也是幫助自己。

謝謝。

6樓: >>參與討論
gyf2000
原文鏈接
http://www.semiconductors.philips.com/acrobat_download/applicationnotes/AN10254_1.pdf

7樓: >>參與討論
qihao
有價值的文章,尿一個,做個記號
有價值的文章,尿一個,做個記號

8樓: >>參與討論
czh
上面這段代碼講述了什么技術(shù)?
我看不出它和普通的用關(guān)鍵詞__irq寫的中斷函數(shù)有什么區(qū)別?能否指點一下?

9樓: >>參與討論
brekai
好貼
好貼.加精啊

10樓: >>參與討論
zxwty
down
正在學習,先下子,謝謝!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
我要用2104開發(fā)產(chǎn)品,關(guān)于JTAG的選用
確認一個問題:lpc2129 可以產(chǎn)生多少路中心對稱的PWM
周立功:配套服務有待完善
周工這邊看!
請問周功,你的板怎么不能用SCATTERED模式
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號