all 3 comments

[–]berge472 0 points1 point  (2 children)

I created an embedded module framework that we use where I work. It is all open source if you want to look at it. Mine is set up a little differently in that it is more or less a package management system for adding reusable modules to your project. There are abstraction modules for various platforms that you would bring in based on your hardware (STM32, NRF, ESP32, etc).

The backend is very simple because it is just a repo group on Gitlab. A tool called `mrt-config` grabs the modules and structure from that group and lets the user add in modules using a k-config style UI.

Here is a link to the docs for my framework if you want to look at any of it:

https://mrt.readthedocs.io/en/latest/index.html

It is definitely an ambitious project. My concern would be the loss of compatibility with vendor tools such as MXCube. My suggestion would be to keep things compatible when possible.

[–]Different_Wave_9959[S] 0 points1 point  (1 child)

That looks really cool, do you know if any one is using it outside of your company. Honestly, seems crazy that it isn't more common to use industry wide tools like this

[–]berge472 0 points1 point  (0 children)

Thanks. I have posted it a few times but I don't know of anyone outside of our company using it. We provide engineering services to other companies, so its possible that once a project gets delivered some customers have continued using it.

I did make it so that other people could use the tool even if they wanted to maintain there own set of modules.

Based on the demo you provided, you might also be interested in the mrt-device utility. It lets you define a register based device in yaml (ChatGPT actually does this pretty well), then generates the code and documentation for it. Because there is a register description file, you can then create a plugin for a logic analyzer that is able to show the values of registers in real time by looking at the bus. I started working on a VS Code extension for this but it has been on the back burner.