新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式OSEK配置器的設(shè)計(jì)與實(shí)現(xiàn)

嵌入式OSEK配置器的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-11-16 來源:網(wǎng)絡(luò) 收藏

3.2 利用XML技術(shù)OIL對(duì)象

基于XML的器,將OIL文件定義的屬性存放在初始化的XML模板文件中,并指定其默認(rèn)值。當(dāng)用戶添加、刪除OIL對(duì)象或者修改對(duì)象的屬性和參數(shù)時(shí),可通過KML解析器用戶界面與XML文件的同步。其過程如圖3中虛線部分所示。

例如,用戶在配置一個(gè)OIL對(duì)象ALarm時(shí),需要指定其3個(gè)屬性,分別是警報(bào)依附計(jì)時(shí)器COUNTER、警報(bào)動(dòng)作ACTION以及是否自動(dòng)啟動(dòng)AU-TOSTART。其中,ACTION和AU-TOSTART又包含各自的子屬性,使用XML技術(shù)可以很方便地管理和修改這些數(shù)據(jù)。

通過GUI配置一個(gè)報(bào)警器的屬性如下:警報(bào)依附計(jì)時(shí)器counterA,采用自動(dòng)啟動(dòng)方式,且其初次響應(yīng)時(shí)間和周期響應(yīng)時(shí)間分別為30ms和20 ms。OS-EK配置器通過XML解析器將這些屬性值讀取出來,并保存在XML源文件alarm.xml中。以下是此XML文件的源代碼;


3.3 利用XSLT技術(shù)生成OIL文件

用戶配置的OIL信息通過GUI保存為XML文件后,利用XSLT技術(shù)生成符合規(guī)范的OIL配置文件。XSLT文檔本身是一個(gè)良掏的XML文檔,它被鏈接到需要轉(zhuǎn)換的XML文檔上,通過XSLT處理器對(duì)XML文檔的解析和轉(zhuǎn)換過程。XSLT轉(zhuǎn)換的過程如圖4中虛線部分所示。

例如3.2節(jié)中保存ALARM配置信息的文件alarm.xml,通過定義XSL樣式表文件xml20il.xsl將其轉(zhuǎn)換為標(biāo)準(zhǔn)的OIL文件。為了保證XSL文件的通用性,對(duì)輸入XML文檔每個(gè)層次的節(jié)點(diǎn)都一個(gè)框架模板tem-plate,即為OIL對(duì)象的每個(gè)屬性和部分子屬性定義框架模板。這樣,當(dāng)OIL對(duì)象增加和刪除時(shí),XSL文件都可以快速地完成轉(zhuǎn)換而不需要做任何修改。使用Microsoftmsxml 4.o作為:XSLT處理器,xsl:output method=”text”indent=”no”/>定義轉(zhuǎn)換的輸出方式為文本格式。
轉(zhuǎn)換3.2節(jié)中。KML文件的部分關(guān)鍵源代碼如下:


3.4 讀取OIL配置文件和生成代碼

為了OIL文件的可移植性和可重用性,配置器還需要實(shí)現(xiàn)從外部直接讀取OIL文件(可由用戶手動(dòng)編寫或其他OSEK實(shí)現(xiàn)生成),并通過GUI顯示和修改屬性配置的功能。這個(gè)過程需要一個(gè)OIL語言解析器,通過解析器將OIL文件轉(zhuǎn)換成XML文件提供給GUI,并且生成與操作系統(tǒng)相關(guān)的C代碼和頭文件。本組件通過LEX和YACC語言開發(fā)OIL語言解析器。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉