位置:51电子网 » 技术资料 » EDA/PLD

TinyOSEnvironment编译环境模块设计

发布时间:2012/4/7 19:45:38 访问次数:879

    TinyOSEnvironment模块的主要功能MP2104DJ-LF-Z是与MeshIDE for TinyOS和TinyOSCygwin的环境进行交互,提供代码编译和发布的功能。在编译或发布代码时,将使用一个执行模块,通过使用操作系统进程来操作TinyOSCygwin。这个执行模块同时通过执行TinyOSCygwin来获取相应的平台和make操作的extra选项信息。有了这些选项,可以方便地通过菜单选项来控制TinyOSCywin进行各种操作,大大方便了编译发布代码的操作过程。MeshIDE for TinyOS也提供一个TinyOSCygwin的弹出菜单,弹出一个Cygwin窗口,方便用户直接对Cygwin进行设置。它主要由下面几个重要的模块组成。
    (1)环境模块
    环境模块是MeshIDE for TinyOS与TinyOSEnvironment的接口,它实现了meshIDE.ep包中的3个接口。通过这个模块,可以实现MeshIDE for TinyOS和TinyOSEnvironment环境的信息交互。无论在编译代码、发布代码或者在获得节点编译参数的过程中,都需要环境模块和MeshIDE for TinyOS中的接口进行数据传递,这些功能都是由该模块实现的。
    (2)执行模块
    执行模块的主要功能是执行节点编译和发有的具体操作,即主要用于执行make操作。这个模块控制了make操作中的主要过程,提供异常处理和编译信息返回。这个模块由编译引擎启动,用操作系统进程TinyOSCygwin控制,发送编译所需的命令行至TinyOSCygwin环境中进行编译和发布。
    执行模块的最终任务是通过TinyOSCygwin执行对nesC代码执行make操作,从而编译和发布代码至传感器节点。因此,需获得Cygwin的工作路径和生成目标路径,最后执行。excute函数调用TinyOSCygwin进行编译和发布节点时,必须先保存原有Cygwin的仿UNIX环境的文件系统,并加载设置为现有工作路径的文件系统,在excute操作完毕后需要卸载这个文件系统。将make命令行存放在一个字符窜数组command变量中,如make mica2的命令行为i=0 value=make—C“/cygdrive/ef ECLIPS~1.2/RUNTIM~l/MESHID~l”mica2 -board=none。使用ProcessBuilder调用系统进程来执行命令行。需要修改进程生成器环境的字符串映射视图,删除其中的一些映射关系。完成后即可执行这个迸程,执行时创建两个StreamGobbler来从Cygwin中读出编译信息,并在控制台中输出。最后需要删除文件系统的加载点。
    执行操作系统进程( ProcessBuilder)分为4个步骤,即保存原有加载点、设置加载点、执行命令行和恢复加载点。由于Cygwin是模拟UNIX的文件系统,和Windows的文件系统具有很大的差别,所以必须对文件系统进行重新加载,创建各个驱动器的对应快捷方式。每次执行操作系统进程时,都需要从Windows的命令行程序cmd.exe开始,“/C”参数代表执行完毕后中止。mount.exe是Cygwin下的文件系统加载程序,它的功能和使用类似于UNIX下的mount程序。
    TinyOSEnvironment模块的主要功能MP2104DJ-LF-Z是与MeshIDE for TinyOS和TinyOSCygwin的环境进行交互,提供代码编译和发布的功能。在编译或发布代码时,将使用一个执行模块,通过使用操作系统进程来操作TinyOSCygwin。这个执行模块同时通过执行TinyOSCygwin来获取相应的平台和make操作的extra选项信息。有了这些选项,可以方便地通过菜单选项来控制TinyOSCywin进行各种操作,大大方便了编译发布代码的操作过程。MeshIDE for TinyOS也提供一个TinyOSCygwin的弹出菜单,弹出一个Cygwin窗口,方便用户直接对Cygwin进行设置。它主要由下面几个重要的模块组成。
    (1)环境模块
    环境模块是MeshIDE for TinyOS与TinyOSEnvironment的接口,它实现了meshIDE.ep包中的3个接口。通过这个模块,可以实现MeshIDE for TinyOS和TinyOSEnvironment环境的信息交互。无论在编译代码、发布代码或者在获得节点编译参数的过程中,都需要环境模块和MeshIDE for TinyOS中的接口进行数据传递,这些功能都是由该模块实现的。
    (2)执行模块
    执行模块的主要功能是执行节点编译和发有的具体操作,即主要用于执行make操作。这个模块控制了make操作中的主要过程,提供异常处理和编译信息返回。这个模块由编译引擎启动,用操作系统进程TinyOSCygwin控制,发送编译所需的命令行至TinyOSCygwin环境中进行编译和发布。
    执行模块的最终任务是通过TinyOSCygwin执行对nesC代码执行make操作,从而编译和发布代码至传感器节点。因此,需获得Cygwin的工作路径和生成目标路径,最后执行。excute函数调用TinyOSCygwin进行编译和发布节点时,必须先保存原有Cygwin的仿UNIX环境的文件系统,并加载设置为现有工作路径的文件系统,在excute操作完毕后需要卸载这个文件系统。将make命令行存放在一个字符窜数组command变量中,如make mica2的命令行为i=0 value=make—C“/cygdrive/ef ECLIPS~1.2/RUNTIM~l/MESHID~l”mica2 -board=none。使用ProcessBuilder调用系统进程来执行命令行。需要修改进程生成器环境的字符串映射视图,删除其中的一些映射关系。完成后即可执行这个迸程,执行时创建两个StreamGobbler来从Cygwin中读出编译信息,并在控制台中输出。最后需要删除文件系统的加载点。
    执行操作系统进程( ProcessBuilder)分为4个步骤,即保存原有加载点、设置加载点、执行命令行和恢复加载点。由于Cygwin是模拟UNIX的文件系统,和Windows的文件系统具有很大的差别,所以必须对文件系统进行重新加载,创建各个驱动器的对应快捷方式。每次执行操作系统进程时,都需要从Windows的命令行程序cmd.exe开始,“/C”参数代表执行完毕后中止。mount.exe是Cygwin下的文件系统加载程序,它的功能和使用类似于UNIX下的mount程序。

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!