Home Getting Started Download Discussions Source Report An Issue

Getting started with Bloom


Bloom can be installed via one of the provided Debian, RPM or Pacman packages. Download the package and run one of the following commands to install it:

$ sudo apt install /path/to/bloom-package.deb; $ sudo yum localinstall /path/to/bloom-package.rpm; $ sudo pacman -U /path/to/bloom-package.pkg.tar.zst;

Any debug tools that were connected during the installation of Bloom may need to be disconnected and reconnected, due to the udev rule changes made during the installation.

Udev rules

This step can be skipped if Bloom was installed via one of the provided Debian, RPM or Pacman packages.

Bloom requires a set of udev rules to be installed on the host machine before it can access any debug tools. If Bloom was installed via the Debian or RPM package mentioned above, the udev rules should have already been installed, and thus this step can be skipped. Installation of the udev rules can be confirmed by running:

$ ls -al /etc/udev/rules.d/99-bloom.rules

The 99-bloom.rules file should be a symlink to the original file included in the Bloom installation directory.

If Bloom was not installed via one of the distributed packages, the required udev rules can be installed by either running Bloom with root privileges, on a single occasion, or by manually creating the symlink for the rules file.

To manually create the symlink, run the following command:

$ sudo ln -s /opt/bloom/resources/UDevRules/99-bloom.rules /etc/udev/rules.d/

With the above command, Bloom's installation path is assumed to be "/opt". Be sure to change this before running the command, if required.

Any debug tools that were connected during the changing of udev rules may need to be disconnected and reconnected (for the new udev rules to be applied).

Project configuration

Create a project configuration file (bloom.json) in the project directory, via the init command:

$ cd /path/to/project; $ bloom init;

Adjust the configuration for your debugging environment (debug tool, target, etc). See the configuration page for more on configuring your project via bloom.json.

Start Bloom

Upon creating your project configuration file (bloom.json), Bloom can now be started via the bloom command.

At startup, Bloom will look for the project configuration file (bloom.json) in the working directory. Be sure to start Bloom from the correct directory.


Replace "[ENVIRONMENT_NAME]" with the name of the environment (defined in bloom.json) that you wish to select. Or leave blank to have Bloom fall back to the "default" environment.

Bloom will indicate when it's ready to accept incoming GDB connections:

$ bloom 2022-02-20 15:53:04 GMT [MT] [3]: [INFO] Selected environment: "default" 2022-02-20 15:53:04 GMT [TC] [7]: [INFO] Starting TargetController 2022-02-20 15:53:04 GMT [TC] [8]: [INFO] Connecting to debug tool 2022-02-20 15:53:04 GMT [TC] [10]: [INFO] Debug tool connected 2022-02-20 15:53:04 GMT [TC] [11]: [INFO] Debug tool name: Xplained Pro 2022-02-20 15:53:04 GMT [TC] [12]: [INFO] Debug tool serial: ATML3074061800002208 2022-02-20 15:53:04 GMT [TC] [16]: [INFO] Activating target 2022-02-20 15:53:04 GMT [TC] [31]: [INFO] Target activated 2022-02-20 15:53:05 GMT [TC] [32]: [INFO] AVR8 target promoted to megaAVR target 2022-02-20 15:53:05 GMT [TC] [47]: [INFO] Target ID: 0x1e9651 2022-02-20 15:53:05 GMT [TC] [48]: [INFO] Target name: ATmega4809 2022-02-20 15:53:05 GMT [MT] [51]: [INFO] Selected DebugServer: AVR GDB Remote Serial Protocol Debug Server 2022-02-20 15:53:05 GMT [DS] [52]: [INFO] Starting DebugServer 2022-02-20 15:53:05 GMT [DS] [57]: [INFO] GDB RSP address: 2022-02-20 15:53:05 GMT [DS] [58]: [INFO] GDB RSP port: 1442 2022-02-20 15:53:05 GMT [DS] [60]: [INFO] DebugServer ready 2022-02-20 15:53:05 GMT [DS] [61]: [INFO] Waiting for GDB RSP connection 2022-02-20 15:53:05 GMT [MT] [64]: [INFO] Starting Insight 2022-02-20 15:53:06 GMT [MT] [69]: [INFO] Insight ready

From this point, a connection can be established via a GDB client. This can be handled by an IDE such as CLion, or, directly via avr-gdb. For more information on debugging with CLion and Bloom, see Debugging embedded systems with CLion and Bloom.

Questions or feedback?

Questions can be raised on Bloom's GitHub discussions page (GitHub account required). Please feel free to submit any questions or feedback via a new discussion.