With embedded development, it is common amongst many microcontroller manufactures to require the installation of a manufacture supplied IDE. This is partially due to the requirement of manufacture specific components (device drivers, protocol implementations, etc) that enable programming and debugging operations.
Bloom was built with the purpose of abstracting away the manufacture specific code, so that IDEs can perform debugging operations without the concern of any manufacture specific components. Bloom does this by implementing user-space device drivers to obtain access to over 200 microcontroller targets. An interface to these targets is exposed via a debug server, which allows third-party applications such as IDEs to interact with them, for debugging operations.
This was only possible because some manufactures had published the documentation describing the communication protocols used to interface with their debug tools. This is a practice that should be encouraged, as everyone benefits.
The source code for Bloom is open for anyone to access. It is licensed under the LGPLv3.
To contact the author of Bloom, use the following email address: nav@[PLACEHOLDER]
Substitute the placeholder with bloom.oscillate.io.