?XYCOM XVME-674 項(xiàng)目管理器管理應(yīng)用程序的開發(fā),因而項(xiàng)目管理器向配置剪裁器提供應(yīng)用*編制的應(yīng)用程序的源文件路徑信息。嵌入式軟件的zui大特點(diǎn)就是應(yīng)用程序往往不是獨(dú)立存在的,它zui終和操作系統(tǒng)一道作為二進(jìn)制目標(biāo)代碼下載到目標(biāo)機(jī)。
所以,?XYCOM XVME-674配置剪裁器需把從項(xiàng)目管理器獲得的源文件路徑信息寫入對應(yīng)的Makefile文件中。 以用戶的應(yīng)用程序開發(fā)配置所需的應(yīng)用級模塊為例,將配置剪裁器工作步驟說明如下:
①選擇構(gòu)件庫中已有的應(yīng)用級模塊,定制操作系統(tǒng),將配置文件路徑保存在構(gòu)件庫管理器中。
②當(dāng)收到項(xiàng)目管理器獲得具體?XYCOM XVME-674操作系統(tǒng)配置文件的請求時(shí),查找構(gòu)件庫,得到保存的特定應(yīng)用的配置文件路徑。根據(jù)此路徑和文件名,打開文件進(jìn)行解析,獲得應(yīng)用所包含的應(yīng)用級模塊的個數(shù)和模塊名,生成初始的關(guān)系圖。 ③根據(jù)應(yīng)用級模塊的個數(shù)和模塊名,查找構(gòu)件庫,得到每個應(yīng)用級模塊的配置文件名和路徑。解析文件得到對應(yīng)的功能級模塊,將功能級模塊和對應(yīng)拓?fù)潢P(guān)系添加在關(guān)系圖中。
④以此類推,直到找到對應(yīng)的原子級模塊,zui終生成一個完整的關(guān)系圖。
⑤根據(jù)關(guān)系圖查找構(gòu)件庫,把原子級模塊映射到定制的操作系統(tǒng)實(shí)體上。本系統(tǒng)利用Linux自帶配置系統(tǒng),通過修改Linux的源碼系統(tǒng)中已有的Makefile和kconfig文件,來編譯內(nèi)核,生成用戶定制的操作系統(tǒng)內(nèi)核。
因此原子級模塊對應(yīng)于特定操作系統(tǒng)的實(shí)體信息就是kconfig文件中需添加的配置項(xiàng),如選擇了網(wǎng)絡(luò)模塊對應(yīng)的實(shí)體信息,即“CONFIG_NET=y”配置項(xiàng)。 結(jié)語 通過對操作系統(tǒng)定制技術(shù)進(jìn)行研究,抽象出操作系統(tǒng)定制過程通用模型OSTAILOR,并結(jié)合863項(xiàng)目“面向PDA手機(jī)的嵌入式軟件開發(fā)平臺”實(shí)現(xiàn)了一個嵌入式Linux的配置剪裁器。
?XYCOM XVME-674用戶可以使用本工具友好的圖形化界面對Linux內(nèi)核組件及應(yīng)用模塊進(jìn)行操作系統(tǒng)定制,自動生成各種配置中間文件,避免了手工編寫修改這些文件的繁瑣,從而演示了使用此模型來實(shí)現(xiàn)嵌入式操作系統(tǒng)定制過程的通用化的可行性。但是在本模型中,應(yīng)用*定制了特定的操作系統(tǒng),就必須使用該操作系統(tǒng)提供的應(yīng)用編程接口(API)。若需修改定制的?XYCOM XVME-674操作系統(tǒng),就必須替換應(yīng)用程序中對應(yīng)的API。如何在操作系統(tǒng)定制過程中,滿足應(yīng)用開發(fā)的操作系統(tǒng)無關(guān)性,將是本課題進(jìn)一步研究的方向。
Siemens Simatic S5 Input module,6ES5420-?1AA21
Siemens Simatic S5-110 Relaisbaugruppe?, 6ES5 417-7AA21
Siemens Simatic S7 CPU 312,6ES7 312-1AD10-0AB0,?E:02
Siemens Simatic S5 Analog OUT, 6ES5 470-8MA12,E:03
Siemens Sinumerik NCU572 Software, 6FC5250-3AX20-6?AH0
Siemens Simadyn 6DC1010-1AC,6DC?1 010-1AC
Siemens Simatic S7 TS Adapter V5.2, 6ES7 972-0CA34-0XA0
Siemens Simatic S5 CP524,6ES5 524-3UA15,6ES55?24-3UA15
Siemens Simatic S5 Rack, 6ES5187-5UA11,6?ES5 187-5UA11
Siemens Simatic S5 095U, 6ES5 095-8MA03
Siemens Simatic S7/VIPA Analog IN, 331-1KF01
Siemens Simatic S5 OP20 Speicher, 6AV3971-1NA01-0?CA0
Siemens Simatic S5 CPU 943, 6ES5 943-7UA11, E:09
Siemens Simatic S5 Analog Input,6ES5467-8?EE11,E:04
Siemens Simatic S5-110 Zeitbaugruppe, 6ES5 381-7AA11
Siemens Simatic/RAS IP-AS051-A1,IP-?AS 051-0KA1,E:03
Siemens Sinumerik Memory Modul, 6FX1128-1BB00
Siemens Simatic/RAS IP-AS052-A2,IP-?AS 052-0KA2,E:02