|
|||||||||||
| 技術(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 |
周工和各位大蝦入:關(guān)于ucos移植的中斷接口函數(shù)問題 |
| 作者:adaizhu 欄目:ARM技術(shù) |
在irq.inc中,有這樣一個宏 $IRQ_Label SUB LR, LR, #4 ; STMFD SP!, {R0-R3, R12, LR} ; MRS R3, SPSR ; MRS R3,SPSR STMFD SP, {R3, SP, LR}^ ; STMFD SP!,{R3} LDR R2, =OSIntNesting LDRB R1, [R2] ADD R1, R1, #1 STRB R1, [R2] SUB SP, SP, #4*3 ; 無 MSR CPSR_c, #(NoInt | SYS32Mode) ; 無 CMP R1, #1 ; 無 LDREQ SP, =StackUsr ; 無 BL $IRQ_Exception_Function ; MSR CPSR_c, #(NoInt | SYS32Mode) ; 無 LDR R2, =OsEnterSum ; 無 MOV R1, #1 ; 無 STR R1, [R2] ; 無 BL OSIntExit LDR R2, =OsEnterSum ; 無 MOV R1, #0 ; 無 STR R1, [R2] ; 無 MSR CPSR_c, #(NoInt | IRQ32Mode) ; 無 LDMFD SP, {R3, SP, LR}^ ; 無 LDR R0, =OSTCBHighRdy LDR R0, [R0] LDR R1, =OSTCBCur LDR R1, [R1] CMP R0, R1 ADD SP, SP, #4*3 ;LDMFD SP!,{R3} MSR SPSR_cxsf, R3 LDMEQFD SP!, {R0-R3, R12, PC}^ LDR PC, =OSIntCtxSw MEND 冒號后面是03年8月30日 版本的《ARM微控制器基礎(chǔ)和試驗》定義得這個宏,相比較現(xiàn)在這個宏,簡單一點,我也很容易就看明白了,但是現(xiàn)在這個有很多切換arm模式和修改sp, 比如 MRS R3, SPSR ; MRS R3,SPSR STMFD SP, {R3, SP, LR}^ ; STMFD SP!,{R3} ...... SUB SP, SP, #4*3 ; 無 MSR CPSR_c, #(NoInt | SYS32Mode) ; 無 CMP R1, #1 ; 無 LDREQ SP, =StackUsr ; 無 &n |
| 2樓: | >>參與討論 |
| 作者: adaizhu 于 2006/2/16 15:05:00 發(fā)布:
周工你幫我解釋一下啊 謝謝了 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |