`
爱迪生的小屋
  • 浏览: 36370 次
  • 性别: 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 例程详细教学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 例程详细教学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_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平台的PID仿真器.zip

    基于Arduino平台的PID仿真器.zip基于Arduino平台的PID仿真器.zip基于Arduino平台的PID仿真器.zip基于Arduino平台的PID仿真器.zip基于Arduino平台的PID仿真器.zip基于Arduino平台的PID仿真器.zip基于Arduino平台的PID...

    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世纪初,深受电子...

    ArduinoJson.h.rar

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

    在Arduino上用Java编程-序

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

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

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

    arduino-1.8.13-windows.exe

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

    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,具体看我文章。

    Arduino 例程详细教学7.蜂鸣器

    Arduino 例程详细教学7.蜂鸣器Arduino 例程详细教学7.蜂鸣器Arduino 例程详细教学7.蜂鸣器Arduino 例程详细教学7.蜂鸣器Arduino 例程详细教学7.蜂鸣器Arduino 例程详细教学7.蜂鸣器Arduino 例程详细教学7.蜂鸣器...

Global site tag (gtag.js) - Google Analytics