首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行Blink程序时出错

运行Blink程序时出错
EN

Stack Overflow用户
提问于 2017-08-22 18:16:22
回答 1查看 156关注 0票数 1

我在Ubuntu 16.04的TinyOs中工作。当我运行Blink程序时,出现以下错误:

代码语言:javascript
复制
[INFO] script
        2538 bytes in ROM
          56 bytes in RAM
[INFO] size (toolchain):
   text    data     bss     dec     hex filename
   2596       2      56    2654     a5e build/telosb/main.exe
[INFO] generating symbol table
[INFO] generating listing
[INFO] creating ihex file
[INFO] writing TOS image
[INFO] writing TOS buildinfo
[INFO] running the wiring check
<JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; Use     
-classpath instead.
.Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
../../support/make/Makerules:362: recipe for target 'wiring_check' failed
make: *** [wiring_check] Error 1

有谁知道为什么会发生这个错误吗?

EN

回答 1

Stack Overflow用户

发布于 2017-08-28 00:34:43

这是由于Java工具链试图使用在最新的(版本9) TinyOS中不推荐使用的特性造成的。您将需要安装较旧的Java JRE版本,并将JAVA_HOME设置为此较旧的版本:

  • 首先通过在终端中输入java -version来检查当前的版本。如果不是版本9或更高版本,停止-这可能不是你需要的解决方案。
    • 转到Java download page for older versions
    • Under 'Java‘(SE代表'standard edition',这是我们需要的),选择一个较旧的版本。TinyOS官方支持1.4和5版本,但我知道版本7运行良好,因为这是我正在使用的版本。
    • 然后在“Java运行时环境”下,选择Linux x86 (如果你使用的是ubuntu32位)或Linux x64 (64位)。您可以通过在终端中输入uname -i来确定您的操作系统是32位还是64位。选择以“.tar.gz”结尾的版本(.rpm适用于其他类型的Linux)。您将需要使用Oracle帐户登录,如果您没有one.
    • Download .tar.gz文件,则需要注册。您可以决定将此版本的Java保存在系统上的哪个位置。您可以将其保存在主目录中的某个位置,但按照惯例,我们通常将这类程序保存在'/usr/local/java‘中。如果你想保持它在那里,你将不得不使用sudo cp,例如sudo cp -r jre-8u73-linux-x64.tar.gz /usr/local/java (你的文件名可能是.tar.gz你需要从压缩的the文件中解压文件。例如,您现在可以删除.java
    • ,您需要确保您具有执行下载的

    的权限。例如,您可以使用chown -R jre-8u73-linux-x64

    • Finally,您需要将JAVA_HOME环境变量设置为指向您刚刚创建的java文件夹的位置。这里有many ways to do this。我建议在/etc/profile.d目录中创建一个文件(名字类似于sudo update-java-alternatives --set /path/to/java/version
    • Open -env.sh),如下所示:export JAVA_HOME=/usr/local/java/jre-8u73-linux-x64 export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    • 您可能还需要通过执行Ubuntu一个新的终端窗口来告诉java -version使用您的旧版本,并检查java -version现在是否为您提供了旧版本。

一种更好的方法是只为TinyOS创建一个独立的开发VM环境,因为您并不希望在您的主机上安装旧版本的Java。你可以使用像Vagrant这样的东西来做这件事。如何做到这一点太长了,无法回答,请查看their documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45814933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档