Can the M4 (arduino) side be reprogrammed by Linux side?

Trying to allow for over the air updates for arduino side by reverse SSHing into Linux via AWS into the Portenta Linux shell. I've successfully reverse ssh'd but can't find anything regarding using ArduinoCLI to program the M4 side from Linux side within same Portenta.

I have not tried it but you probably will need IDE 1.8.x to make it work. Here is a link: https://docs.arduino.cc/software/ide-v1/tutorials/Linux I have not had any problems with Linux but I do not use the M4 board.

I dont think you understrand, I'm trying to program one side of the same portenta SOC with another. So I would need a way to use ArduinoCLI or manually do so, problem is they arent connected with serial so it makes things complicated.

If you haven't already, read this:
Programming the M4 core

It describes various ways to program the M4 core.

Specifically, I wondered if this might be a good hint:

The Portenta X8 has a service that waits for a sketch to be uploaded to a folder. If it detects changes, the device will flash the M4 with the uploaded firmware. This works thanks to the following service:

  • monitor-m4-elf-file.service: this service monitors the directory
/tmp/arduino/m4-user-sketch.elf

and each time it detects a new file, it will proceed to flash the M4 using

openOCD

with the sketch that has been pushed.

1 Like