[導(dǎo)讀]為解決數(shù)據(jù)密碼卡由ISA接口升級(jí)到PCI接口所出現(xiàn)的問(wèn)題,文中介紹了一種基于PCI總線接口芯片的實(shí)現(xiàn)方法,給出了基于CH365接口芯片的PCI總線的組成框圖和核心模塊,成功實(shí)現(xiàn)了鐵路軍交系統(tǒng)數(shù)據(jù)密碼卡的硬件系統(tǒng)升級(jí)。
0 引言
VxWorks是美國(guó)WRS(Wind River System)公司推出的一個(gè)具有微內(nèi)核、可裁剪的高性能強(qiáng)實(shí)時(shí)操作系統(tǒng),該實(shí)時(shí)操作系統(tǒng)在航空、廣播、運(yùn)輸、醫(yī)療、自動(dòng)化生產(chǎn)和科學(xué)研究等領(lǐng)域中有著廣泛的應(yīng)用,尤其是在國(guó)防和軍事上的一些高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,就更體現(xiàn)出了其優(yōu)越的性能。
X86或80X86是Intel公司開發(fā)的微處理器體系結(jié)構(gòu)的泛稱。采用X86架構(gòu)的Intel CPU及其兼容CPU都使用X86指令集,作為個(gè)人計(jì)算機(jī)的標(biāo)準(zhǔn)平臺(tái),它們構(gòu)成了當(dāng)今數(shù)量最大的CPU陣營(yíng)。VxWorks可支持多種不同體系結(jié)構(gòu)的32位CPU,其中就包括現(xiàn)在使用最為廣泛的X86系列CPU。
1 VxWorks for x86系統(tǒng)中的系統(tǒng)時(shí)間
我們知道,在VxWorks for x86系統(tǒng)中沒有直接讀取RTC(實(shí)時(shí)時(shí)鐘控制器)的函數(shù),在目標(biāo)板每次加電或重啟后,用time.h中的函數(shù)第一次讀到的時(shí)間始終是“THU JAN 01 00:00:00 1970”。這里取到的系統(tǒng)時(shí)間是從開機(jī)到現(xiàn)在的時(shí)間,也就是說(shuō),VxWorks的系統(tǒng)日期和時(shí)間是相對(duì)于一個(gè)基準(zhǔn)的日期時(shí)間計(jì)算出來(lái)的,這一基準(zhǔn)時(shí)間就是“THU JAN O1 00:00:00 1970”,其他日期時(shí)間對(duì)系統(tǒng)來(lái)說(shuō)都是相對(duì)于這一基準(zhǔn)時(shí)間已經(jīng)過(guò)的秒數(shù)。因此,這樣取到的系統(tǒng)時(shí)間是沒有任何使用價(jià)值的。
然而,在實(shí)際應(yīng)用中,我們經(jīng)常需要用到“真實(shí)的”VxWorks系統(tǒng)時(shí)間,比如在文件系統(tǒng)中創(chuàng)建文件時(shí),我們就希望文件創(chuàng)建的時(shí)間是實(shí)時(shí)時(shí)鐘的時(shí)間,同時(shí)在日志文件中記錄的時(shí)間也希望是實(shí)時(shí)時(shí)鐘的時(shí)間。但是,在文件系統(tǒng)中能直接訪問(wèn)的卻是上述那個(gè)“沒有使用價(jià)值的”系統(tǒng)時(shí)間。這種情況就為應(yīng)用帶來(lái)了很大的不便。
為了獲得一個(gè)有實(shí)際使用價(jià)值的系統(tǒng)時(shí)間,我們就需要系統(tǒng)時(shí)間能與目標(biāo)板的實(shí)時(shí)時(shí)鐘保持同步。
實(shí)際上。在VxWorks for x86系列的機(jī)器中,可以通過(guò)讀寫特定的端口來(lái)讀?。O(shè)置保存在BIOS中的實(shí)時(shí)時(shí)鐘。
2 VxWorks for x86中系統(tǒng)時(shí)間和實(shí)時(shí)時(shí)鐘的同步
使用VxWorks的ansiTime庫(kù)(time.h)中的time()函數(shù)可以讀取當(dāng)前秒鐘形式的日歷時(shí)間,也就是系統(tǒng)加電后相對(duì)于基準(zhǔn)時(shí)間所經(jīng)過(guò)的秒數(shù);使用locatime ()函數(shù)則可以將此日歷時(shí)間轉(zhuǎn)換成tm型結(jié)構(gòu)的日期和時(shí)間;之后,再使用asctime()函數(shù)可將tm型結(jié)構(gòu)的日期和時(shí)間轉(zhuǎn)換成包含日期和時(shí)間的字符串。
使用以上這些函數(shù)可以編寫一個(gè)顯示當(dāng)前系統(tǒng)時(shí)間的函數(shù)GetSysTime(),其內(nèi)容如下:
系統(tǒng)加電后,調(diào)用GetSysTime (函數(shù),其顯示內(nèi)容為“time is:THU JAN 01 00:00:00 1970”。而在實(shí)際應(yīng)用中,通常希望獲取保存在BIOS中的實(shí)時(shí)時(shí)鐘,并使用這個(gè)實(shí)時(shí)時(shí)鐘來(lái)設(shè)置系統(tǒng)時(shí)間,從而使系統(tǒng)時(shí)間與實(shí)時(shí)時(shí)鐘保持同步。因此,在VxWorks for x86系統(tǒng)中,可以通過(guò)讀寫端口0x70,0x71來(lái)訪問(wèn)BIOS中的實(shí)時(shí)時(shí)鐘。其中,端口地址0x70對(duì)應(yīng)的是實(shí)時(shí)時(shí)鐘的索引寄存器(表1所列是實(shí)時(shí)時(shí)鐘索引寄存器的定義),端口地址0x71對(duì)應(yīng)的是實(shí)時(shí)時(shí)鐘的數(shù)據(jù)寄存器。實(shí)時(shí)時(shí)鐘的秒、分、時(shí),日、月、年在索引寄存器中的存放地址分別是0x00、0x02、0x04,0x07、0x08、0x09。
需要注意的是,從端口中讀到的數(shù)據(jù),其格式為BCD碼,因此在使用前還需要將其轉(zhuǎn)換為十進(jìn)制數(shù)。
在把轉(zhuǎn)換后的實(shí)時(shí)時(shí)鐘的秒、分、時(shí),日、月、年等數(shù)據(jù)賦給tm型結(jié)構(gòu)變量的相應(yīng)成員后,可使用ansiTime庫(kù)(time.h)中的mktime ()函數(shù)將tm型結(jié)構(gòu)的日期和時(shí)間轉(zhuǎn)換成秒鐘形式的日歷時(shí)間,并烙其賦給timespec型結(jié)構(gòu)變量的tv-sec成員(timespec型結(jié)構(gòu)的tv_nsec成員可設(shè)置為0),這樣,通過(guò)使用clockLjb庫(kù)中的clock_settime()函數(shù)就可以將系統(tǒng)時(shí)間設(shè)置為實(shí)時(shí)時(shí)鐘的時(shí)間,從而實(shí)現(xiàn)系統(tǒng)時(shí)間與實(shí)時(shí)時(shí)鐘同步。
函數(shù)BCD2BIN ()用來(lái)將BCD碼轉(zhuǎn)換為十進(jìn)制數(shù),它的輸入為BCD碼,返回值為十進(jìn)制數(shù)。其內(nèi)容如下:
函數(shù)BIOSTimeGet ()用來(lái)從端口讀取BIOS時(shí)間,在該函數(shù)內(nèi)部調(diào)用BCD2BIN()函數(shù),其返回值為tm型結(jié)構(gòu)的日期和時(shí)間。具體內(nèi)容如下:
函數(shù)SetSysTime ()可用來(lái)將系統(tǒng)時(shí)間設(shè)置為實(shí)時(shí)時(shí)鐘時(shí)間,在該函數(shù)的內(nèi)部調(diào)用BIOSTimeGet ()函數(shù)的內(nèi)容如下:
調(diào)用SetSysTime()函數(shù)后再調(diào)用GetSysTime()函數(shù),其顯示內(nèi)容就是當(dāng)前實(shí)時(shí)時(shí)鐘的時(shí)間,這表明系統(tǒng)時(shí)間和實(shí)時(shí)時(shí)鐘已實(shí)現(xiàn)了同步。
3 實(shí)時(shí)時(shí)鐘的特定時(shí)間設(shè)置
在某些應(yīng)用中,有時(shí)我們也希望能校正實(shí)時(shí)時(shí)鐘,也就是能將BIOS中的實(shí)時(shí)時(shí)鐘設(shè)置為某個(gè)特定時(shí)間。這個(gè)功能同樣可以通過(guò)訪問(wèn)端口0x70,0x71來(lái)實(shí)現(xiàn)。
需要注意的是,寫入到端口的數(shù)據(jù),其格式為BCD碼,因此在使用前,需要將數(shù)據(jù)從十進(jìn)制數(shù)轉(zhuǎn)換為BCD碼。
函數(shù)BIN2BCD()可用來(lái)將十進(jìn)制數(shù)轉(zhuǎn)換為BCD碼,它的輸入為十進(jìn)制數(shù),返回值為BCD碼。其內(nèi)容如下:
函數(shù)BIOSTimeSet()用來(lái)通過(guò)端口設(shè)置BIOS時(shí)間,在該函數(shù)內(nèi)部調(diào)用BIN2BCD()函數(shù),它的輸入為tm型結(jié)構(gòu)的日期和時(shí)間。其內(nèi)容如下:
函數(shù)SetBIOSTime()可用來(lái)將當(dāng)前時(shí)間或某個(gè)特定時(shí)間(如:2009-10-1 10:10:10)設(shè)置為實(shí)時(shí)時(shí)鐘的時(shí)間,在該函數(shù)的內(nèi)部調(diào)用BIOSTime-Set ()函數(shù)的內(nèi)容如下:
在調(diào)用SetBIOSTime()函數(shù)設(shè)置實(shí)時(shí)時(shí)鐘后,再調(diào)用SetSysTime ()函數(shù)即可使系統(tǒng)時(shí)間與剛設(shè)置的實(shí)時(shí)時(shí)鐘保持同步。
該程序在VxWorks5.4.2,Tomad02.0.2,BSP包為pcPentium的Pentium主板上已調(diào)試運(yùn)行通過(guò)。
4 結(jié)束語(yǔ)
VxWorks因其卓越的性能在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占據(jù)了領(lǐng)導(dǎo)地位,x86雖然不是一個(gè)專門的嵌入式平臺(tái),但因其具有低廉的價(jià)格、豐富的軟硬件資源而得到了廣泛的應(yīng)用。該系統(tǒng)可通過(guò)操作目標(biāo)板上的硬件端口來(lái)讀寫保存在BIOS中的實(shí)時(shí)時(shí)鐘,并使VxWorks的系統(tǒng)時(shí)間和實(shí)時(shí)時(shí)鐘保持同步。這個(gè)方法為VxWorks for x86這一目前流行的嵌入式平臺(tái)中的相關(guān)應(yīng)用提供了支持。
欲知詳情,請(qǐng)下載word文檔
下載文檔
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
歐洲藥品管理局人用藥品管理委員會(huì) (CHMP) 的積極建議是基于 EFFISAYIL® 1 研究結(jié)果,該研究是針對(duì)泛發(fā)性膿皰型銀屑病 (GPP) 發(fā)作患者的最大的臨床研究[1] 與斑塊狀銀屑病不同,GP...
關(guān)鍵字:
HM
BSP
GP
FOR
(全球TMT2022年10月14日訊)以“自由構(gòu)建 探索無(wú)限”為主題的亞馬遜云科技中國(guó)峰會(huì)在線上召開。在本次為期2天的峰會(huì)上,亞馬遜云科技發(fā)布了云計(jì)算技術(shù)趨勢(shì)展望,宣布“連中外、襄百業(yè)、攜伙伴、促綠色”四大戰(zhàn)略舉措,進(jìn)...
關(guān)鍵字:
FOR
亞馬遜
SAP
NVIDIA
《財(cái)富》雜志(Fortune)公布了2022年財(cái)富改變世界(Fortune Change the World)榜單,其中列出了50多家公司,這些公司今年通過(guò)盈利戰(zhàn)略和運(yùn)營(yíng)對(duì)社會(huì)或環(huán)境產(chǎn)生了重要影響。榜單包括54家公司:北...
關(guān)鍵字:
美團(tuán)
FOR
CHANGE
DEVELOPMENT
10月6日,阿科瑪宣布其在華合作伙伴山東澳帆新材料有限公司的生產(chǎn)裝置成功開車,這符合集團(tuán)先前宣布的發(fā)展氟化物特種解決方案1233zd供應(yīng)的計(jì)劃。此外,在其位于美國(guó)Calvert City的生產(chǎn)基地,阿科瑪也已啟動(dòng)1233...
關(guān)鍵字:
FOR
新材料
AN
據(jù)德國(guó)聯(lián)邦經(jīng)濟(jì)與氣候保護(hù)部最新消息,該部委托 WifOR 機(jī)構(gòu)所做的 2021 年德國(guó)醫(yī)療保健領(lǐng)域經(jīng)濟(jì)核算數(shù)據(jù)顯示,德國(guó)醫(yī)療保健行業(yè)增長(zhǎng)顯著。 數(shù)據(jù)顯示,在 ?2021 年新冠期間,該領(lǐng)域顯著增長(zhǎng),并達(dá)到了毛附加價(jià)值為...
關(guān)鍵字:
FOR
據(jù)研究機(jī)構(gòu)Mercury Research公布的報(bào)告顯示,今年二季度全球臺(tái)式機(jī)CPU出貨量出現(xiàn)了自1994年以來(lái)的最大幅度同比降幅。報(bào)告稱,市場(chǎng)需求下降和OEM庫(kù)存調(diào)整是主要驅(qū)動(dòng)因素。其中,AMD在二季度與英特爾的競(jìng)爭(zhēng)中...
關(guān)鍵字:
ARM
AMD
服務(wù)器CPU
X86
現(xiàn)在的汽車,作為“輪子上的計(jì)算機(jī)”,它需要囊括的已不只是被動(dòng)安全,信息娛樂(lè)已經(jīng)成為汽車制造的新需求,軟件定義汽車已是它的新方向。通過(guò)對(duì)比X86、ARM與RISC-V的應(yīng)用區(qū)別,就可以很清楚的知道為什么在汽車板塊RISC-...
關(guān)鍵字:
車規(guī)級(jí)芯片
RISC-V
X86
ARM
(全球TMT2022年9月21日訊)"邁向智能世界"峰會(huì)在華為全聯(lián)接大會(huì)(HUAWEI CONNECT 2022)期間舉辦。華為常務(wù)董事、ICT基礎(chǔ)設(shè)施業(yè)務(wù)管理委員會(huì)主任汪濤發(fā)表"擁抱5.5G時(shí)代,邁向智能世界"主題發(fā)...
關(guān)鍵字:
華為
5G
5G時(shí)代
FOR
下一代LinuxONE服務(wù)器擴(kuò)展了IBM幫助行業(yè)客戶實(shí)現(xiàn)可持續(xù)目標(biāo)的能力,花旗銀行就是很好的例子 北京2022年9月14日 /美通社/ -- IBM(紐約證券交易所:IBM)于美國(guó)東部時(shí)間9月13日發(fā)布其下一...
關(guān)鍵字:
IBM
Linux
X86
數(shù)據(jù)中心
北京2022年9月10日 /美通社/ -- 9月9日,于美國(guó)納斯達(dá)克上市的靈活用工下的本地化社區(qū)服務(wù)平臺(tái)趣活集團(tuán)發(fā)布了2021年全年財(cái)務(wù)報(bào)告。財(cái)報(bào)顯示,趣活集團(tuán)2021年全年總營(yíng)收40.25億元,同比增長(zhǎng)56%。 根據(jù)...
關(guān)鍵字:
共享單車
FOR
創(chuàng)始人
納斯達(dá)克
新加坡2022年9月5日 /美通社/ -- 全球科技領(lǐng)導(dǎo)者思科(Cisco)在最新發(fā)布的2022年亞洲最佳職場(chǎng)(Best Workplaces in Asia)榜單中排名第二...
關(guān)鍵字:
思科
Cisco
COM
FOR
(全球TMT2022年9月2日訊)休閑虛擬現(xiàn)實(shí)(VR)游戲企業(yè)ForeVR Games宣布推出其第三款游戲ForeVR Cornhole。Cornhole現(xiàn)在加入了包括ForeVR Bowl和ForeVR Darts的...
關(guān)鍵字:
FOR
VR
EV
虛擬現(xiàn)實(shí)
這款備受歡迎的后院游戲加入熱門運(yùn)動(dòng)游戲ForeVR Bowl和ForeVR Darts,作為元宇宙中家庭"快樂(lè)時(shí)光"游戲選擇 ForeVR Cornhole現(xiàn)已在Oculus Quest 2...
關(guān)鍵字:
VR
FOR
EV
BSP
第15屆亞洲杯板球錦標(biāo)賽將通過(guò)YuppTV在70多個(gè)國(guó)家/地區(qū)的OTT平臺(tái)"直播"。 亞特蘭大2022年8月25日 /美通社/ -- 全球領(lǐng)先的OTT平臺(tái)之一YuppTV獲得了2022年亞洲杯板球錦...
關(guān)鍵字:
TV
ASIA
FOR
RIGHT
這檔西班牙語(yǔ)版網(wǎng)絡(luò)系列節(jié)目每周播出,旨在幫助零售交易者應(yīng)對(duì)不斷變化的金融市場(chǎng)行情。 澳大利亞墨爾本2022年8月23日 /美通社/ -- 對(duì)投資者和交易者來(lái)說(shuō),過(guò)去幾年上演...
關(guān)鍵字:
ST
RS
AD
FOR
(全球TMT2022年8月18日訊)為加速發(fā)展"智慧醫(yī)療",臺(tái)北榮民總醫(yī)院(以下稱臺(tái)北榮總)引入 IBM Cloud Pak for Data 平臺(tái),運(yùn)用云原生架構(gòu),打破醫(yī)療數(shù)據(jù)孤島、保護(hù)數(shù)據(jù)隱私及安全、降低使用者門坎...
關(guān)鍵字:
FOR
IBM
AI
建模
(全球TMT2022年8月15日訊)全球電子設(shè)計(jì)制造大廠USI環(huán)旭電子運(yùn)用優(yōu)化電路板設(shè)計(jì)與線路布局技術(shù)(Placement & Layout Optimization Technology),發(fā)展出Ultra-...
關(guān)鍵字:
FACTOR
FOR
SMALL
ULTRA
(全球TMT2022年8月11日訊)電通(Dentsu)宣布,在領(lǐng)先的全球研究和咨詢公司Forrester Research, Inc新發(fā)布的《Forrester Wave™:2022年第三季度全球營(yíng)銷服...
關(guān)鍵字:
FOR
TE
ST
RESEARCH
(全球TMT2022年8月10日訊)近日,深圳市江波龍電子股份有限公司(簡(jiǎn)稱"江波龍")與華強(qiáng)電子網(wǎng)集團(tuán)達(dá)成合作,F(xiàn)ORESEE品牌入駐華強(qiáng)商城,其存儲(chǔ)系列產(chǎn)品入駐華強(qiáng)商城原廠專區(qū),華強(qiáng)商城成為江波龍的線上銷售和推廣合...
關(guān)鍵字:
華強(qiáng)
FOR
電子
SE
(全球TMT2022年8月10日訊)亞馬遜云科技宣布推出游戲行業(yè)解決方案,為游戲客戶提供從游戲開發(fā)、運(yùn)行到增長(zhǎng)的全生命周期賦能,助力行業(yè)打造"下一代游戲體驗(yàn)"。亞馬遜云科技通過(guò)全球覆蓋的基礎(chǔ)設(shè)施、專門構(gòu)建的行業(yè)解決方案...
關(guān)鍵字:
亞馬遜
FOR
STUDIO
分布式