`
爱迪生的小屋
  • 浏览: 36071 次
  • 性别: 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 例程详细教学38.I2C模块 DS1307时钟

    Arduino 例程详细教学38.I2C模块 DS1307时钟Arduino 例程详细教学38.I2C模块 DS1307时钟Arduino 例程详细教学38.I2C模块 DS1307时钟Arduino 例程详细教学38.I2C模块 DS1307时钟Arduino 例程详细教学38.I2C模块 DS...

    基于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 例程详细...

    Arduino编程参考手册中文版.pdf

    - return和goto:从函数返回和无条件跳转,但goto在Arduino中使用较少。 5. 中断处理: - attachInterrupt():为引脚分配中断服务程序。 - detachInterrupt():关闭指定引脚的中断。 - interrupts()和noInterrupts...

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

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

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

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

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

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

    Arduino_STM32-master.zip

    这个压缩包提供了一种方便的方式,使用户能够在Arduino IDE中直接开发和编程STM32F1和STM32F4系列的微控制器。 首先,让我们详细了解一下Arduino。Arduino是一种开源电子原型平台,基于易于使用的硬件和软件。它...

    Arduino-Arduino-Queue.h.zip

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

    Arduino 例程详细教学30.咪头

    Arduino 例程详细教学30.咪头Arduino 例程详细教学30.咪头Arduino 例程详细教学30.咪头Arduino 例程详细教学30.咪头Arduino 例程详细教学30.咪头Arduino 例程详细教学30.咪头Arduino 例程详细教学30.咪头Arduino ...

    Arduino驱动下载与安装资料.rar_Arduino驱动下载_arduino_arduino nano 驱动_arduino

    在本文中,我们将深入探讨如何下载和安装Arduino驱动程序,这对于使用Arduino开发板进行电子制作和编程至关重要。Arduino是一款开源硬件平台,它允许用户通过简单的编程语言控制各种电子元件,从而实现各种创新项目...

    Arduino-hakko_t12.zip

    Arduino-hakko_t12.zip,ATMega328烙铁控制器上的Hakko T12数字控制器Fot Hakko T12 Tips基于ATMega328P PU多微控制器(Arduino Uno/Nano),Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子...

    在Arduino上用Java编程-序

    NULL 博文链接:https://edisonlovecola.iteye.com/blog/1869689

    arduino-1.8.13-windows.exe

    在使用Arduino IDE时,用户首先需要安装相应的驱动程序,如CH340或FTDI驱动,以便电脑识别Arduino板。然后,根据自己的项目需求选择合适的开发板和串口,编写代码后点击"上传"按钮,IDE会自动完成编译和上传的过程。...

    ArduinoJson.h.rar

    本文将深入探讨ArduinoJson.h这个库的使用方法以及它在物联网项目中的重要作用。 一、ArduinoJson库简介 ArduinoJson库是由Benjamin Leonard创建的,它是一个轻量级的JSON解析器和序列化器,专为嵌入式系统设计,...

    Arduino 例程详细教学28.霍尔传感器

    Arduino 例程详细教学28.霍尔传感器Arduino 例程详细教学28.霍尔传感器Arduino 例程详细教学28.霍尔传感器Arduino 例程详细教学28.霍尔传感器Arduino 例程详细教学28.霍尔传感器Arduino 例程详细教学28.霍尔传感器...

    Arduino 例程详细教学20.红外遥控器解码

    Arduino 例程详细教学20.红外遥控器解码Arduino 例程详细教学20.红外遥控器解码Arduino 例程详细教学20.红外遥控器解码Arduino 例程详细教学20.红外遥控器解码Arduino 例程详细教学20.红外遥控器解码Arduino 例程...

    arduino-1.8.19-linux64.tar.xz

    Linux平台搭建vscode+arduino IDE使用的arduino IDE安装包 ...由于新版的Arduino IDE安装包在Linux平台是无法与vscode联合使用的,只能使用这个旧版的1.8,还是建议使用vscode+arduino-cli,具体看我文章。

Global site tag (gtag.js) - Google Analytics