在英特尔伽利略 Gen 2 板上卸载或停止 Arduino Sketch

Uninstall or stop Arduino Sketch on intel galileo Gen 2 board

我从 Arduino IDE 安装了一个简单的 arduino sketch 到 Intel Galileo Gen 2 开发板。

如何停止和卸载草图?

我使用了重置和重启按钮,拔下电源但没有太大帮助。

只需上传一个空白程序。

void setup() {

}

void loop() {

}

在您的 Arduino IDE 中,复制上面的代码并按下上传按钮。这将停止之前执行的草图。

确保您通过微型 USB 连接到 Intel 开发板并且选择了合适的串口工具

草图由 clloader 命令运行。

来自其source

Clloader will look for /sketch/sketch.elf and run it if found. Output from the sketch will be redirected back to /dev/ttyGS0

If clloader is HUPed while running a sketch it will terminate the sketch and wait for a command. If the sketch terminates the loader will revert back to waiting for a remote command.

这导致另一种方法:

  1. 删除或重命名 /sketch/sketch.elf
  2. 将 HUP 信号发送到 clloader 进程(或者您也可以重启开发板)

为了清楚起见,这里有一个例子。

首先,确认草图过程是运行ning。

root@galileo:/sketch# ps | grep sketch  
  ...
  230 root     18488 S    /sketch/sketch.elf /dev/pts/0
  ...

找到 clloader 进程 ID,重命名 sketch 可执行文件,然后 HUP 加载程序。

root@galileo:/sketch# ps | grep clloader
  229 root      2268 S    /opt/cln/galileo/clloader --escape --binary --zmod
  ...
root@galileo:/sketch# mv sketch.elf sketch.bak
root@galileo:/sketch# kill -HUP 229

草图过程此时不再 运行ning。要重新启动草图...

root@galileo:/sketch# mv sketch.bak sketch.elf
root@galileo:/sketch# kill -HUP 229
root@galileo:/sketch# ps | grep sketch
  ...
  256 root     18488 R    /sketch/sketch.elf /dev/pts/0
  ...

请注意,脚本重新启动后,clloader 进程 ID 会发生变化。

root@galileo:/sketch# ps | grep clloader
  255 root      2268 S    /opt/cln/galileo/clloader --escape --binary --zmod
  ...