傳感器網(wǎng)絡(luò)應(yīng)用程序的建模、仿真與自動(dòng)代碼生成框架
實(shí)現(xiàn) WSN 應(yīng)用程序
MANTIS線程和任務(wù)的計(jì)算主體以及TinyOS的命令實(shí)際上都是使用C語言編寫的。在MANTIS中,集成非常直接,因?yàn)镽eal-Time Workshop Embedded Coder的ANSI C輸出可直接用作用戶線程。TinyOS的程序由高級(jí)抽象組成,但這些抽象的主體是使用C語言編寫的,因而只需要一個(gè)代碼轉(zhuǎn)換器,以C語言代碼作為輸入,將代碼分割成不同的部分(包括定義、函數(shù)等),并使用這些部分來生成nesC代碼。
本文使用The MathWorks公司的 Target Language Compiler(TLC)實(shí)現(xiàn)這樣的代碼轉(zhuǎn)換器。它提供了生成特定平臺(tái)代碼的機(jī)制,可接受來自ANSI C代碼的部分(例如包含、定義、函數(shù)代碼等),也可為目標(biāo)平臺(tái)添加自定義代碼。使用Stateflow時(shí)無需考慮通用函數(shù)在TinyOS或MANTIS中的實(shí)際實(shí)現(xiàn),因?yàn)門LC庫中已經(jīng)實(shí)現(xiàn)了這些函數(shù),可用于任意操作系統(tǒng)。通過使用TLC腳本自動(dòng)生成TinyOS或MANTIS應(yīng)用程序,在無需修改的前提下為目標(biāo)平臺(tái)編譯和執(zhí)行這些應(yīng)用程序。 并且,TLC可重寫并修改源代碼,分割源代碼并使之適合底層平臺(tái)。這不僅實(shí)現(xiàn)了比編譯器更出色的優(yōu)化,還能方便的在硬件和軟件平臺(tái)之間遷移應(yīng)用程序。
評(píng)論