Tool for SEGGER J-Link programmers

SEGGER J-Link programmers/debuggers are very common SWD tools. It looks like we need a platformio “tool” to download the binaries from segger so that a custom platform can be made to use it. I’d like to take a stab at this but I’m not sure where to start.

There are docs for how to make custom platforms/frameworks and boards but none for custom tools as far as I can find.

I tried to find the source for tool-avrdude as a place to start and was also unsuccessful there.

Could someone point me in the right direction?

See ~/.platformio/packages and ~/.platformio/platforms folders. Each development platform has platform.json manifest file where all package dependencies are defined.

Thanks for that information.

Some more related questions:

  1. Where is the canonical source of tool-avrdude? I’m not talking about avrdude’s source. Where in the PIO codebase is are the instructions for installing tool-avrdude? Where does it download from? I can’t find it on github or PlatformIO Registry
  2. Where is all this giveio stuff in ~\.platformio\packages\tool-avrdude\ on Windows coming from?
  3. How would I eventually “publish” a tool or platform?

PIO has own package manager and registry. See BinTray storage: Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog

You can define own storage or package location. See Custom Development Platforms — PlatformIO latest documentation and "packageRepositories" field.