But, is there a possibility of users adding new micro platforms to the list of available devices?
Even if its a github contribution, that would still be a great option for people like us wanting to use a hassle free self contained IDE for a multitude of platforms.
Happy coincidence that you bring up this issue, as we have been discussing in the background of how to achieve exactly this. Currently we are exploring the options, but the most straightforward approach seems to us project creation directly from a Github/Gitlab/… repository. The details are still in discussion at the moment, like for example:
How to add details about a microprocessor to Embeetle (that Embeetle doesn’t know about yet) from a hosted project
How to deal with project that need external tools, that do not ship with Embeetle, like for example CMake or ninja
Do you have any ideas of what a system for adding should look like?
And which micros are you interested to add to Embeetle?
On a process control level this is what I was thinking of.
One repo where contributors can create PR’s. The PRs must contain the following:
a. A Microcontroller specific folder to which all the microcontroller specific starter items reside
b. List of items inside a folder: starter script .s, memory map (MUST be text only for memory), clocks, registers etc. AND Readme.Md file and any/all online resources
c. One change to a common .yaml or .txt file with microcontroller model that will be used for display and the path where all its files could be found.
d. Verification wise I’d be inclined to have the micro in question tested before merge, but I’m not sure about the logistics of the situation.
On a very top level this is what I was imagining structurally.
A small bash script that runs upon startup checks github repo in question, and downloads items to the ide
Because there is a new Item in the .txt file in question, that name will be added to the list of supported micros
Now having CI/CD tools is important in this day of embedded development. But the hacky workaround I can think of is, literally have one docker that can be downloaded from the site, and deploy that whole docker in any env you want Jenkins or bamboo or whatever. This will work with embeetle’s self contained setup/ethos.
I was looking at adding Milk-v to embeetle. Given its also risc-V and embeetle is is a RISC-V forward IDE as well.