编译调试
发布时间:2012/4/3 0:48:57 访问次数:862
在MantisOS中应用程序是与内核一起ATMEGA16L-8MU 进行编译的,必须对平台进行定制才能将源代码编译成目标文件,步骤如下。
启动Cygwin环境,进入到MantisOS主目录下,找到一个autogen.sh的脚本文件,并执行autogen.sh俞令,等待成功执行完毕以后,再进入build目录,根据现有的硬件节点类型,选择各种节点硬件目录,如选择mica2,进入相应目录,找到configure文件, 执行configure命令。在该命令的执行过程中,首先检查系统是否安装好编译器,然后生成系统各个部分的makefile文件。进入应用程序所在目录,执行make命令就可以生成所需要的最终程序。
因为编译时采用的是动态联编,执行make命令的过程中,会先检查应用程序所依赖的一些中间代码文件,接着检查应用程序语法问题。因此,在Cygwin环境中,可以对源程序进行调试。
如果对UNIX编程有一定的基础,开发MantisOS应用程序便简单得多,但与UNIX不同的是,它是一种嵌入式操作系统,针对不同的应用,设计与编码都有很大的区别,在此,提出以下几点建议。
①对照应用需求查看节点目前所具备的功能,进行有目的的选择,如防火报警中涉及的报警设备。
②熟悉MantisOS与Cygwin之间的联系,了解其编译机制,这样当系统需要添加新的功能时,便可以清楚整体系统的重新编译。
③因为是在Cygwin环境下进行调试,缺少可视化的错误检测,只能利用make命令进行动态联编,而且与系统核心编译出来的中间文件紧密相连,因此顺序地进行操作有利于应用开发的调试。
④利用多线程进行编程,优点有很多.但并不是创建的线程越多越好,合理地创建线程,有效地对线程执行睡眠操作有利于节省节点能量。
⑤由于节点存储器空间十分有限,编程时尽量规范。另外,内存的创建与释放是相互对应的,当内存不用时立即释放。
启动Cygwin环境,进入到MantisOS主目录下,找到一个autogen.sh的脚本文件,并执行autogen.sh俞令,等待成功执行完毕以后,再进入build目录,根据现有的硬件节点类型,选择各种节点硬件目录,如选择mica2,进入相应目录,找到configure文件, 执行configure命令。在该命令的执行过程中,首先检查系统是否安装好编译器,然后生成系统各个部分的makefile文件。进入应用程序所在目录,执行make命令就可以生成所需要的最终程序。
因为编译时采用的是动态联编,执行make命令的过程中,会先检查应用程序所依赖的一些中间代码文件,接着检查应用程序语法问题。因此,在Cygwin环境中,可以对源程序进行调试。
如果对UNIX编程有一定的基础,开发MantisOS应用程序便简单得多,但与UNIX不同的是,它是一种嵌入式操作系统,针对不同的应用,设计与编码都有很大的区别,在此,提出以下几点建议。
①对照应用需求查看节点目前所具备的功能,进行有目的的选择,如防火报警中涉及的报警设备。
②熟悉MantisOS与Cygwin之间的联系,了解其编译机制,这样当系统需要添加新的功能时,便可以清楚整体系统的重新编译。
③因为是在Cygwin环境下进行调试,缺少可视化的错误检测,只能利用make命令进行动态联编,而且与系统核心编译出来的中间文件紧密相连,因此顺序地进行操作有利于应用开发的调试。
④利用多线程进行编程,优点有很多.但并不是创建的线程越多越好,合理地创建线程,有效地对线程执行睡眠操作有利于节省节点能量。
⑤由于节点存储器空间十分有限,编程时尽量规范。另外,内存的创建与释放是相互对应的,当内存不用时立即释放。
在MantisOS中应用程序是与内核一起ATMEGA16L-8MU 进行编译的,必须对平台进行定制才能将源代码编译成目标文件,步骤如下。
启动Cygwin环境,进入到MantisOS主目录下,找到一个autogen.sh的脚本文件,并执行autogen.sh俞令,等待成功执行完毕以后,再进入build目录,根据现有的硬件节点类型,选择各种节点硬件目录,如选择mica2,进入相应目录,找到configure文件, 执行configure命令。在该命令的执行过程中,首先检查系统是否安装好编译器,然后生成系统各个部分的makefile文件。进入应用程序所在目录,执行make命令就可以生成所需要的最终程序。
因为编译时采用的是动态联编,执行make命令的过程中,会先检查应用程序所依赖的一些中间代码文件,接着检查应用程序语法问题。因此,在Cygwin环境中,可以对源程序进行调试。
如果对UNIX编程有一定的基础,开发MantisOS应用程序便简单得多,但与UNIX不同的是,它是一种嵌入式操作系统,针对不同的应用,设计与编码都有很大的区别,在此,提出以下几点建议。
①对照应用需求查看节点目前所具备的功能,进行有目的的选择,如防火报警中涉及的报警设备。
②熟悉MantisOS与Cygwin之间的联系,了解其编译机制,这样当系统需要添加新的功能时,便可以清楚整体系统的重新编译。
③因为是在Cygwin环境下进行调试,缺少可视化的错误检测,只能利用make命令进行动态联编,而且与系统核心编译出来的中间文件紧密相连,因此顺序地进行操作有利于应用开发的调试。
④利用多线程进行编程,优点有很多.但并不是创建的线程越多越好,合理地创建线程,有效地对线程执行睡眠操作有利于节省节点能量。
⑤由于节点存储器空间十分有限,编程时尽量规范。另外,内存的创建与释放是相互对应的,当内存不用时立即释放。
启动Cygwin环境,进入到MantisOS主目录下,找到一个autogen.sh的脚本文件,并执行autogen.sh俞令,等待成功执行完毕以后,再进入build目录,根据现有的硬件节点类型,选择各种节点硬件目录,如选择mica2,进入相应目录,找到configure文件, 执行configure命令。在该命令的执行过程中,首先检查系统是否安装好编译器,然后生成系统各个部分的makefile文件。进入应用程序所在目录,执行make命令就可以生成所需要的最终程序。
因为编译时采用的是动态联编,执行make命令的过程中,会先检查应用程序所依赖的一些中间代码文件,接着检查应用程序语法问题。因此,在Cygwin环境中,可以对源程序进行调试。
如果对UNIX编程有一定的基础,开发MantisOS应用程序便简单得多,但与UNIX不同的是,它是一种嵌入式操作系统,针对不同的应用,设计与编码都有很大的区别,在此,提出以下几点建议。
①对照应用需求查看节点目前所具备的功能,进行有目的的选择,如防火报警中涉及的报警设备。
②熟悉MantisOS与Cygwin之间的联系,了解其编译机制,这样当系统需要添加新的功能时,便可以清楚整体系统的重新编译。
③因为是在Cygwin环境下进行调试,缺少可视化的错误检测,只能利用make命令进行动态联编,而且与系统核心编译出来的中间文件紧密相连,因此顺序地进行操作有利于应用开发的调试。
④利用多线程进行编程,优点有很多.但并不是创建的线程越多越好,合理地创建线程,有效地对线程执行睡眠操作有利于节省节点能量。
⑤由于节点存储器空间十分有限,编程时尽量规范。另外,内存的创建与释放是相互对应的,当内存不用时立即释放。
上一篇:SOS简介