`
爱迪生的小屋
  • 浏览: 35668 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在Arduino上用Java编程 2.TotoroVM使用方法

阅读更多

 

在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的执行程序,下次更新将介绍这两个工具的使用方法。

 

分享到:
评论

相关推荐

    基于Arduino的碰撞检测预警系统.zip

    基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip基于Arduino的碰撞检测预警系统.zip...

    基于Arduino的蜂鸣器报警系统.zip

    基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的蜂鸣器报警系统.zip基于Arduino的...

    通过arduino操控蜂鸣器演奏音乐.zip

    通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip通过arduino操控蜂鸣器演奏音乐.zip...

    Arduino 例程详细教学29.矩阵键盘

    Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程详细教学29.矩阵键盘Arduino 例程...

    Arduino 例程详细教学37.土壤湿度传感器程序

    土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细教学37.土壤湿度传感器程序Arduino 例程详细...

    ArduinoMega2560使用手册...pdf

    ArduinoMega2560使用手册...pdf

    基于Arduino的嵌入式系统入门与实践课件—Arduino板的接口及应用.pdf

    基于Arduino的嵌入式系统入门与实践课件—Arduino板的接口及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino板的接口及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino板的接口及应用.pdf基于...

    Arduino 例程详细教学2.LED闪烁

    Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学2.LED闪烁Arduino 例程详细教学...闪烁Arduino 学2.LED闪烁Arduino 例程详细教学2.LED闪烁vvvvvvvvv

    Arduino 例程详细教学22.PS2摇杆

    Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学22.PS2摇杆Arduino 例程详细教学...

    Arduino 例程详细教学32.DS1302时钟

    Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟Arduino 例程详细教学32.DS1302时钟...

    (完整版)基于Arduino智能寻迹小车开题报告.pdf

    (完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹小车开题报告.pdf(完整版)基于Arduino智能寻迹...

    arduino入门基础PPT教学课件.pptx

    arduino入门基础PPT教学课件.pptx

    Arduino 例程详细教学35.VS1003MP3解码芯片

    Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片...

    基于Arduino的嵌入式系统入门与实践课件—Arduino常用通讯模块及应用.pdf

    基于Arduino的嵌入式系统入门与实践课件—Arduino常用通讯模块及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino常用通讯模块及应用.pdf基于Arduino的嵌入式系统入门与实践课件—Arduino常用通讯模块及应用...

    Arduino-Arduino-Queue.h.zip

    Arduino-Arduino-Queue.h.zip,用于ARDUIO嵌入式项目的通用C 循环队列,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。

Global site tag (gtag.js) - Google Analytics