DSQC500 3HAC3616-1/07資源管理 具有不同優(yōu)先級的多任務(wù)訪問共享資源需要使用資源管理機制進行協(xié)調(diào)。這些資源可以是一段臨界區(qū)代碼、調(diào)度程序、共享內(nèi)存或是數(shù)據(jù)結(jié)構(gòu),也可以是共享硬件設(shè)備。
DSQC500 3HAC3616-1/07系統(tǒng)在處理多個進程對共享資源的互斥訪問時,采用信號量對臨界區(qū)數(shù)據(jù)或資源加鎖,但是這樣可能會導(dǎo)致優(yōu)先級反轉(zhuǎn)。為了避免這種情況出現(xiàn),OSEK采用了優(yōu)先級zui高限度協(xié)議(PCP),即當(dāng)一個進程占用了一個資源后,該進程的優(yōu)先級會臨時升高為該資源優(yōu)先級。
當(dāng)該任務(wù)釋放了資源后,其優(yōu)先級回到要求訪問資源前的優(yōu)先級。使用該協(xié)議同時也解決了死鎖的問題。 報警器 報警器是OSEK為處理循環(huán)事件提供的服務(wù)機制,警報或者基于系統(tǒng)時鐘,或者基于其他的某種計數(shù)器。當(dāng)計數(shù)器到達(dá)警報設(shè)置值時被觸發(fā),此時可以激活進程也可以為某進程設(shè)置事件,或者執(zhí)行一個警報回調(diào)程序。
消息處理 任務(wù)之間是通過消息實現(xiàn)通信的,消息是應(yīng)用數(shù)據(jù)的容器,只有一個發(fā)送者,但是可以有多個接受者。OSEK規(guī)范將消息分為可排隊和不可排隊的。前者是靜態(tài)長度消息,內(nèi)部數(shù)據(jù)被組織成FIFO隊列,能被接受服務(wù)例程移走;不可排隊消息是不斷被刷新的消息,不能被服務(wù)例程移走。
錯誤處理 DSQC500 3HAC3616-1/07提供了系統(tǒng)的鉤子程序,以便在操作系統(tǒng)內(nèi)部操作時執(zhí)行用戶定義的函數(shù)。鉤子程序可用于:系統(tǒng)啟動,相應(yīng)鉤子程序在操作系統(tǒng)啟動后,進入調(diào)度程序之前執(zhí)行;系統(tǒng)關(guān)閉,相應(yīng)鉤子程序在應(yīng)用或操作系統(tǒng)(此時發(fā)生嚴(yán)重錯誤)請求系統(tǒng)停止運行時執(zhí)行;跟蹤、調(diào)試應(yīng)用以及現(xiàn)場切換時調(diào)用用戶定義的擴展程序;錯誤處理。
基于DSQC500 3HAC3616-1/07的OSEKOS設(shè)計
OSEKOS設(shè)計理念 根據(jù)OSEK規(guī)范和μC/OS-Ⅱ的內(nèi)核要求,CC1和ECC1這2個符合級別都只允許一個優(yōu)先級有一個進程,因此可以將優(yōu)先級從0到N-1分配給N個進程,使每個進程分配到的優(yōu)先級不同,N是系統(tǒng)中的進程數(shù)量,這樣可以使修改后的μC/OS-Ⅱ內(nèi)核滿足ECC1類模式。
DSQC500 3HAC3616-1/07由于BCC2和ECC2這2個符合級別可以允許每個優(yōu)先級有多個進程,因此要使用復(fù)雜的調(diào)度策略來追蹤各個進程。 設(shè)計的OSEKOS可以采用μC/OS-Ⅱ的調(diào)度結(jié)構(gòu)——就緒表,使用簡單的占先式的調(diào)度策略,將每個進程的就緒態(tài)標(biāo)志都放入就緒表中,然后從其中找到優(yōu)先級zui高的就緒態(tài)進程執(zhí)行,實現(xiàn)一個基于優(yōu)先級的可剝奪型的實時內(nèi)核。這樣不僅可以提高系統(tǒng)的實時性,而且可以降低操作系統(tǒng)的CPU負(fù)荷。
SIEMENS 6ES7-921-3AA20-0AA0 CONNECTOR LOT OF 3 NEW
TEM TECH LAB MODEL: HY NV-420M-1/6700-3 RANGE: 0~100PSIG NEW
NTN BALL SCREW MBSS1540F A06000C5A, STROKE:230mm,PITCH:4mm OVERALL LENGTH: 320mm
ZERO BACKPLANE BOARD VME-MONOLITHIC BUS 7-SLOT,BROOKS 921-057 REVAA,920-005 AA
KEMA KEUR POWER SUPPLY SPD14-2410P
OMRON GT1-OD16 GT1-BSCO2 DIGITAL UNIT, OMRON DRT1-COM COMMUNICATION UNIT
MKS INSTRUMENTS MFC MASS FLOW CONTROLLER 649A12T51CAVR-S 500SCCM He
F65 WKS MB,E.F.634.5/2d 90.27 BOARD
YASKAWA AC SERVO MOTOR,SGM-01A312 WORKING
OMRON PLC HOST LINK UNIT C200H-LK201-V1[2],C200H-LK202-V1[1] LOT OF 3
THK BEARING RB8016UUCC0 NEW
MMT MICRO MOTION TECHNOLOGY DOVETAIL XY STAGE, M3-118-L5.
E0R05-13067 BOARD
FANUC A16B-1212-0220/02A BOARD A320-1212-T226/01
ALLEN-BRADLEY OEMAX DEVICENET NXI/O-DNA CAT NXIO-END NEW
BLASTRONIX 232/4S 232/4S2P REV E BOARD WORKING
BITWIN GRAB BOARD 05.23
ORIENTAL MOTOR VEXTA A4318-9215TG 5PH STEPPING MOTOR #1
MITSUBISHI SERVO DRIVER MR-J2-10A TESTED WORKING