欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Arduino上用Java编程 2.TotoroVM使用方法 博客分类: Arduino JavaArduino编译器JVM 

程序员文章站 2024-03-06 18:40:26
...

 

在Arduino上用Java编程

1.序

2.TotoroVM使用方法

    TotoroVM经过一段时间的调试,在Arduino UNO上运行成功,小得瑟一下,把它开源了。欢迎试用拍砖!

    项目地址:http://www.oksvn.com/Project/Detail-14993.shtml

    svn地址:svn://www.oksvn.com/totorovm/totorovm/trunk

使用方法

    1. 在使用环境中准备好java和ant,如需编译cpp代码,则还需要相应的编译环境。

    2. 从svn获取代码 svn co svn://www.oksvn.com/totorovm/totorovm/trunk TotoroVM

    3. 编译jar包 ant jar.dist

    4. 编译并预处理jdk基本类 ant preprocess

        * 基本类包括java包的Object, Class, String和System,以及arduino包的Arduino和Serial。

        * 现在只实现了里面最基本的功能,如Object.getClass()。其它方法待以后按需添加。

        * 由于java编译器限制了不能用户自定义java包下的类,所以项目里的基本类都写在了_totoro_java包下面,在预处理过程中会把class文件中的_totoro_都去除,使它们可以正确取代java的类。

        * 预处理的参数可以在etc/tools.properties中配置

    5. 编写java代码,代码中可以调用Arduino类中的静态方法,对应了Arduino.h中的对应实现。app目录下有一些测试用的类如:arduino.Main

    6. 编译生成cpp代码 ant compile

        * 生成的代码包括:

          class/ 动态生成代码:每一个java类对应一组.h和.cpp文件;全局方法:class.cpp和class.h;运行环境定义:type.h;对象遍历程序:traverse.cpp,主要供gc使用。

          native/ 本地方法代码:包含native方法的类会对应一个_native.h和_native.cpp实现,如果不存在,会自动生成空方法的模板,供用户自己实现cpp方法。

          vm/ 系统基础实现:包括heap, stack, gc等

          main.cpp 程序入门,自动调用指定类的main方法。

        * 编译参数可以在etc/tools.properties中配置

    至此,如果没有出错,恭喜你已经获得了和你写的java程序有同样功能的c++代码,接下来你可以用你喜欢的方式把它们编译成执行程序。我使用的是mingw-gcc和avr-gcc,分别可以编译出windows和arduino的执行程序,下次更新将介绍这两个工具的使用方法。