platformio / platform-atmelsam

Atmel SAM: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/atmelsam
Apache License 2.0
79 stars 105 forks source link

Add support for programming the SAM3X on the Udoo Quad #119

Open arrys opened 4 years ago

arrys commented 4 years ago

This PR adds support for a new board. The Udoo Quad or Dual. This board can be programmed from an external computer (1) or from the internal processor (2). I have therefore, added two new board configurations.

  1. Udoo Quad
  2. Udoo Quad Internal

The Udoo Quad needs a modifed bossac as it resets the SAM3X using a custom kernel module on the main processor. This means I also had to add the modified bossac tool in the manifest file. This new tool is called when one of the Udoo board configurations is used.

This should be a step towards closing platformio/platformio-core#439. I cannot add support for the Udoo Neo as I do not have access to the hardware to test it.

arrys commented 4 years ago

One note: I currently support bool-bossac-udoo on linux_x86_64 at my custom bossac fork but will add support for other platforms if this PR gets accepted.

I am happy to work out any issues.

arrys commented 4 years ago

I have currently tested the upload process in two scenarios.

  1. Uploading from a linux x64(x86) host using the CN6 USB port.
  2. Uploading from the SBC (linux armv7l) itself.

Both cases result in a succesful upload.

mjbraun commented 3 years ago

This should be a step towards closing platformio/platformio-core#439. I cannot add support for the Udoo Neo as I do not have access to the hardware to test it.

Happy to run tests for you and report back, if that would help?

arrys commented 3 years ago

I have looked into the documentation for the Udoo Neo and it seems like there are 3 different ways to upload code. Unfortunately I don't have the experience to get the Neo working.

I am not even sure this pull request is up to spec. I tried following all the rules I could find. It might be better to wait for someone from the core team to offer their view. I wouldn't want to force maintenance on them in case I don't fully understood the eco-system.