亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? os_cpu_a.asm

?? 基于uCOS-II 的MMC/SD卡的讀寫源程序
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
        LDR     R4, =OSRunning                                          ;  OSRunning = TRUE
        MOV     R5, #1
        STRB    R5, [R4]

        LDR     R4, =NVIC_INT_CTRL                                      ;  trigger the PendSV exception
                                                                        ;  觸發軟件中斷
        LDR     R5, =NVIC_PENDSVSET
        STR     R5, [R4]

        CPSIE   I                                                       ;  enable interrupts at processor 
                                                                        ;  level使能所有優先級的中斷
OSStartHang
        B       OSStartHang             


;*********************************************************************************************************
;** Function name:			OSCtxSw
;** Descriptions:		    Perform a contex switch from task level  任務級上下文切換                          
;** Input parameters:	    None 無
;** Output parameters:	    None 無
;** Returned value:			None 無        
;** Created by:				Steven Zhou 周紹剛
;** Created Date:		    2007.01.18
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            Ni Likao 倪力考
;** Modified date:          2007.11.02
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
OSCtxSw
        PUSH    {R4, R5}
		LDR     R4, =NVIC_INT_CTRL                                      ;  trigger the PendSV exception
                                                                        ;  觸發軟件中斷
        LDR     R5, =NVIC_PENDSVSET
        STR     R5, [R4]
		POP     {R4, R5}
        BX      LR


;*********************************************************************************************************
;** Function name:			OSIntCtxSw
;** Descriptions:		    called by OSIntExit() when it determines a context switch is needed as the
;**                         result of an interrupt.
;**                         中斷級任務切換                 
;** Input parameters:	    None 無
;** Output parameters:	    None 無
;** Returned value:			None 無
;** Created by:				Steven Zhou 周紹剛
;** Created Date:		    2007.01.18
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            Ni Likao 倪力考
;** Modified date:          2007.11.02
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
OSIntCtxSw
        PUSH    {R4, R5}
		LDR     R4, =NVIC_INT_CTRL                                      ;  trigger the PendSV exception
                                                                        ;  觸發軟件中斷
        LDR     R5, =NVIC_PENDSVSET
        STR     R5, [R4]
		POP     {R4, R5}
        BX      LR
        NOP


;*********************************************************************************************************
;** Function name:			OSPendSV
;** Descriptions:		    Used to cause a context switch 用于上下文切換
;** Input parameters:	    None 無
;** Output parameters:	    None 無
;** Returned value:			None 無
;** Created by:				Steven Zhou 周紹剛
;** Created Date:		    2007.01.18
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            Ni Likao 倪力考
;** Modified date:          2007.11.02
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
OSPendSV
        IF OS_CRITICAL_INT_PRIO > 0	                                    ;  disable interupt 禁能中斷
		    MRS R3, BASEPRI
            LDR R1, =OS_CRITICAL_INT_PRIO
			MSR BASEPRI, R1
		ELSE
        	MRS     R3, PRIMASK                
        	CPSID   I
		ENDIF


		MRS     R0, PSP                                                 ;  PSP is process stack pointer  
                                                                        ;  PSP是任務的堆棧指針
        CBZ     R0, OSPendSV_nosave                                     ;  skip register save the first 
                                                                        ;  time第一次跳過保存

        SUB     R0, R0, #0x20                                           ;  save remaining regs r4-11 on 
                                                                        ;  process stack 保存r4-r11
        STM     R0, {R4-R11}

        LDR     R4, =OSTCBCur                                           ;  OSTCBCur->OSTCBStkPtr = SP;
        LDR     R4, [R4]
        STR     R0, [R4]                                                ;  R0 is SP of process being 
                                                                        ;  switched outR0是被切換開的任務
                                                                        ;  的堆棧指針
OSPendSV_nosave
        PUSH    {R14}                                                   ;  need to save LR exc_return 
                                                                        ;  value保存LR返回值

        LDR     R0, =OSTaskSwHook                                       ;  OSTaskSwHook();
        BLX     R0
        POP     {R14}
 	  
        LDR     R4, =OSPrioCur                                          ;  OSPrioCur = OSPrioHighRdy
        LDR     R5, =OSPrioHighRdy     
        LDRB    R6, [R5]
        STRB    R6, [R4]

        LDR     R4, =OSTCBCur                                           ;  OSTCBCur  = OSTCBHighRdy;
        LDR     R6, =OSTCBHighRdy      
        LDR     R6, [R6]
        STR     R6, [R4]

        LDR     R0, [R6]                                                ;  SP = OSTCBHighRdy->OSTCBStkPtr;
        LDM     R0, {R4-R11}                                            ;  restore r4-11 from new process
                                                                        ;  stack 從新任務的堆棧恢復r4-r11
        ADD     R0, R0, #0x20
        MSR     PSP, R0                                                 ;  load PSP with new process SP
                                                                        ;  從新任務的堆棧恢復PSP
 	   	
        ORR     LR, LR, #0x04                                           ;  ensure exception return uses 
                                                                        ;  PSP確保返回后使用PSP
        
		IF OS_CRITICAL_INT_PRIO > 0                                     ;  restore interrupts 恢復中斷  
		    MSR 	BASEPRI,  R3
		ELSE
			MSR     PRIMASK, R3
		ENDIF
		   
	    BX      LR                                                      ; exception return will restore 
                                                                        ;  remaining context 
                                                                        ;  返回時會恢復剩下的上下文
        NOP
      
 

;*********************************************************************************************************
;** Function name:      IntDisAll
;** Descriptions:	Disable all interrupts from the interrupt controller  關閉中斷控制器的所有中斷
;** Input parameters:	None 無
;** Output parameters:	None 無
;** Returned value:	None 無
;** Created by:		Steven Zhou 周紹剛
;** Created Date:	2007.12.12
;**-------------------------------------------------------------------------------------------------------
;** Modified by:         
;** Modified date:       
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
intDisAll
    CPSID   I
    BX      LR


    ALIGN


    END
;*********************************************************************************************************
;  END FILE                                               
;*********************************************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品综合久久久久久8888| 日韩欧美国产午夜精品| 日韩美女在线视频| 最新日韩在线视频| 色悠悠久久综合| 日韩欧美中文一区二区| 亚洲国产一二三| 成人av网站免费观看| 亚洲精品在线观看网站| 同产精品九九九| 91成人看片片| 亚洲欧美综合色| 国产麻豆日韩欧美久久| 日韩欧美国产一区二区三区| 亚洲成年人影院| 在线视频欧美精品| 一区二区在线观看视频| 99久久精品国产网站| 国产欧美一区二区三区在线老狼| 欧美96一区二区免费视频| 欧美精品一二三| 亚洲高清免费观看高清完整版在线观看| 成人短视频下载| 国产精品免费网站在线观看| 豆国产96在线|亚洲| 国产日韩欧美亚洲| 国产成人精品免费| 国产精品午夜免费| 波多野结衣亚洲| 1024成人网色www| 色婷婷综合久色| 亚洲精品高清在线| 国产精品免费视频网站| 成人国产精品免费观看动漫| 中文乱码免费一区二区| 99re免费视频精品全部| 亚洲人成电影网站色mp4| 日本韩国一区二区三区视频| 亚洲黄色在线视频| 欧美日韩在线观看一区二区 | 亚洲黄色录像片| 91麻豆国产福利精品| 夜夜夜精品看看| 91麻豆精品国产91久久久使用方法| 午夜视频在线观看一区二区三区 | 毛片一区二区三区| 久久这里只有精品6| 国产91精品入口| 一区二区三区久久久| 欧美另类变人与禽xxxxx| 久久99深爱久久99精品| 国产亚洲福利社区一区| 色乱码一区二区三区88| 奇米一区二区三区| 国产精品人人做人人爽人人添| 色呦呦日韩精品| 蜜桃一区二区三区在线| 久久久久久久久久久电影| 99精品久久99久久久久| 亚洲高清一区二区三区| 久久久精品一品道一区| 色诱亚洲精品久久久久久| 免费观看一级欧美片| 国产精品久久午夜夜伦鲁鲁| 欧美主播一区二区三区美女| 久久av资源站| 一区二区三区高清在线| 精品国产免费视频| 91成人看片片| 国产成人亚洲精品狼色在线| 亚洲激情在线激情| 久久蜜桃一区二区| 欧美无砖砖区免费| 国产91清纯白嫩初高中在线观看| 午夜欧美2019年伦理| 欧美激情一区二区三区在线| 欧美日韩精品一区二区| aaa亚洲精品| 国内欧美视频一区二区 | 黄页视频在线91| 亚洲最新视频在线播放| 国产欧美日韩在线视频| 欧美一区在线视频| 91国偷自产一区二区开放时间 | 三级欧美韩日大片在线看| 国产精品午夜电影| 精品国产sm最大网站免费看| 欧美日韩一区二区在线观看视频| 国产二区国产一区在线观看| 三级久久三级久久久| 亚洲美女少妇撒尿| 国产精品国产三级国产普通话99| 日韩欧美三级在线| 欧美日韩免费不卡视频一区二区三区| 北岛玲一区二区三区四区| 国产在线精品一区二区| 丝袜a∨在线一区二区三区不卡| 中文字幕日韩一区| 国产午夜精品理论片a级大结局| 欧美一区二区三级| 欧美美女一区二区| 欧美婷婷六月丁香综合色| 色丁香久综合在线久综合在线观看| 粗大黑人巨茎大战欧美成人| 国产精选一区二区三区| 久久精品国产色蜜蜜麻豆| 香蕉加勒比综合久久| 亚洲一区av在线| 一区二区三区在线高清| 亚洲综合色噜噜狠狠| 亚洲香蕉伊在人在线观| 亚洲一区在线观看免费观看电影高清 | 中文字幕一区二区三区av| 国产三级一区二区三区| 久久人人爽人人爽| 国产色爱av资源综合区| 国产精品欧美精品| 中文字幕制服丝袜一区二区三区| 国产精品久久久久久一区二区三区| 欧美国产日产图区| 成人免费在线观看入口| 亚洲乱码中文字幕| 亚洲成a人片在线观看中文| 婷婷丁香久久五月婷婷| 久久99国产精品久久| 国产成人无遮挡在线视频| 成人免费视频一区| 色呦呦日韩精品| 欧美一区二区三区视频在线 | 欧美午夜精品一区二区三区| 欧美丰满高潮xxxx喷水动漫| 欧美一区日韩一区| 欧美精品一区二区三区高清aⅴ| 久久久国产综合精品女国产盗摄| 中文成人av在线| 亚洲午夜久久久久久久久电影院 | 一区二区三区丝袜| 日韩福利电影在线观看| 国产剧情av麻豆香蕉精品| 99久久国产综合精品色伊| 欧美视频一区二区三区在线观看| 日韩一二三区视频| 国产欧美一区二区精品性色超碰 | 美女免费视频一区| jlzzjlzz国产精品久久| 欧美日本免费一区二区三区| 久久影院午夜片一区| 亚洲免费观看高清完整版在线| 丝袜诱惑制服诱惑色一区在线观看| 国产伦精一区二区三区| 色吧成人激情小说| 亚洲精品一区二区三区影院 | 中文字幕在线一区免费| 亚洲成人一区在线| 成人黄动漫网站免费app| 欧美精品一二三| 国产精品初高中害羞小美女文| 亚洲1区2区3区4区| www.性欧美| 欧美精品一区二区三区很污很色的 | 久久久久久久综合色一本| 亚洲国产色一区| av资源网一区| 欧美精品一区二区久久婷婷| 亚洲欧美日韩电影| 国产精品一区2区| 777色狠狠一区二区三区| 综合亚洲深深色噜噜狠狠网站| 精品一区二区在线观看| 欧美日韩一区国产| 自拍偷拍欧美精品| 高清久久久久久| 日韩美女视频一区二区在线观看| 一区二区三区成人| av在线不卡观看免费观看| 精品成人免费观看| 美女免费视频一区二区| 欧美美女视频在线观看| 亚洲一二三区视频在线观看| 99国内精品久久| 久久精品人人做人人爽97| 九一九一国产精品| 日韩一区二区三区在线视频| 亚洲成人自拍一区| 欧美性猛片xxxx免费看久爱| 1000精品久久久久久久久| 成人免费高清视频| 欧美极品少妇xxxxⅹ高跟鞋| 国产一区二区影院| 精品欧美乱码久久久久久1区2区| 免费观看在线色综合| 欧美一区二区三区四区视频| 日韩av电影免费观看高清完整版| 欧美日韩亚洲丝袜制服| 亚洲第一电影网| 欧美日韩成人综合| 日产国产欧美视频一区精品| 9191成人精品久久| 裸体一区二区三区| 精品国产欧美一区二区|