传感器网络应用程序的建模、仿真与自动代码生成框架
实现 WSN 应用程序
MANTIS线程和任务的计算主体以及TinyOS的命令实际上都是使用C语言编写的。在MANTIS中,集成非常直接,因为Real-Time Workshop Embedded Coder的ANSI C输出可直接用作用户线程。TinyOS的程序由高级抽象组成,但这些抽象的主体是使用C语言编写的,因而只需要一个代码转换器,以C语言代码作为输入,将代码分割成不同的部分(包括定义、函数等),并使用这些部分来生成nesC代码。
本文使用The MathWorks公司的 Target Language Compiler(TLC)实现这样的代码转换器。它提供了生成特定平台代码的机制,可接受来自ANSI C代码的部分(例如包含、定义、函数代码等),也可为目标平台添加自定义代码。使用Stateflow时无需考虑通用函数在TinyOS或MANTIS中的实际实现,因为TLC库中已经实现了这些函数,可用于任意操作系统。通过使用TLC脚本自动生成TinyOS或MANTIS应用程序,在无需修改的前提下为目标平台编译和执行这些应用程序。 并且,TLC可重写并修改源代码,分割源代码并使之适合底层平台。这不仅实现了比编译器更出色的优化,还能方便的在硬件和软件平台之间迁移应用程序。
评论