Both the GD32V and STM32 MCU’s can use DFU for uploading the code to the microprocessors.
Platformio uses a package called tool-dfuutil with dfu-util. This package is also maintained by platformio.
However the current revision has only compatibility for Macos ARM64. No Linux x64 or anything else. The dfu-util for Linux x86 is still based on version 0.9, while version 0.11 was released last September.
How does a new version of these packages with support for all architectures get incorporated in the Platformio registry? The only information I can find is about pio pkg publish but that’s about it. There’s no documentation or tutorial on writing or assisting on these packages.
Is the process on creating packages described anywhere?
How do we get an updated package of dfu-util in Platformio?
Oh actually, thinking about it again, it seems fine. Platforms always use the ~ operator when refering to which version shall be installed
and ~ ignores the minor version, so ~1.9.190708 matches any 1.9.x version. And so even though one particular 1.9.x versions might not be for a specific OS, one of the 1.9.x is, and that will be used + downloaded.
Probably, the oldest version was uploaded first most for most OSes, but was missing some, and so new versions with a new date code (the 190708 e.g. standars for 2019, July 8th) were uploaded for the remaning OSes.
Somehow it still doesn’t look fine to me.
But how can it be that in the default situation on Linux - x64 I still get dfu-util 0.9 and not the latest 0.11 release of dfu-util.
Is it so that 1.9.X corresponds to dfu-util 0.9? Looks a bit confusing to me.
pio run in a gd32v project shows the following for the dfu-util tool under Linux-x64: - tool-dfuutil @ 1.9.200310
Which is from March 10, 2020.
When looking at the specific package this is the version.
~/.platformio/packages/tool-dfuutil/bin$ ./dfu-util --version
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2020 Tormod Volden and Stefan Schmidt
Then I come back to the question. What is the procedure to request an update to a tool that is maintained by the Platformio project?
Do I submit an issue on github on platformio-core or for the specific platform?
Is there an automated toolchain for upgrading these packages or is it still manual labor?
I tested both platforms with the boards I had available. GD32V with a Sipeed Longan Nano and ststm32 with an Weact 3.0 with an STM32F411CEU6.
For both boards the new dfu-util works great under Linux x64.
Unfortunately I don’t have Windows or MacOS available.
I still need to manually add this dfu-util to the platformio.ini with platform_packages = platformio/tool-dfuutil@^1.11.0