Debugging AVR microcontrollers on Linux, with Bloom

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 3

Hi all,

 

First post, please go easy on me.

 

I've been working on Bloom for some time now. I published version 0.5.0 earlier today, and I'd like to share it with you.

 

Bloom is a debug interface for embedded systems development, for Linux users. It exposes an interface to over 240 microcontrollers, by means of a GDB server, for any IDE with remote GDB capabilities.

 

https://bloom.oscillate.io

 

Currently, Bloom only supports AVR 8-bit targets. It supports most AVRs on sale today.

 

Along with the GDB server, Bloom comes with an optional GUI for providing Insight into the target. This GUI gives users access to all known registers in the data address space, GPIO pin states and target memories. You can manipulate registers and GPIO pin states, as well as inspect RAM & EEPROM.

 

Currently, Bloom supports eight debug tools:

 

  1. Atmel-ICE
  2. Power Debugger
  3. MPLAB Snap
  4. MPLAB PICkit 4
  5. Curiosity Nano Evaluation Board
  6. Xplained Mini Evaluation Board
  7. Xplained Nano Evaluation Board
  8. Xplained Pro Evaluation Board

 

The goal of Bloom is to give Linux users an alternative to depending on vendor supplied IDEs, and to help IDE developers implement better support for embedded systems development.

 

There is a lot more info on the Bloom website (linked above). Please check it out and send over any feedback.

 

Thanks,
Nav

Nav

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Welcome!

navnav wrote:
It supports most AVRs on sale today.
Thank you for supporting AVRxt.

Consider growth from AVR into SAM D, SAM L, and PIC24.

navnav wrote:
Currently, Bloom supports eight debug tools:
EDBG; fyi, the ones at Microchip Technology maintain EDBG tools.

navnav wrote:
The goal of Bloom is to give Linux users an alternative to depending on vendor supplied IDEs,
Some FOSS IDE have a Python interface.

 


Embedded Development - Features | CLion

 

Supported Targets - Bloom

Device Tables | AVR® Instruction Set Manual

 

GitHub - microchip-pic-avr-tools/pyedbglib: Low-level protocol library for communicating with Microchip CMSIS-DAP based debuggers

Apache Thrift - Home

 

What is GNAT Studio? | GitHub - AdaCore/gnatstudio: GNAT Studio is a powerful and lightweight IDE for Ada and SPARK.

15.5.2. Defining Actions | 15. Customizing and Extending GNAT Studio — GNAT Studio 23.0w documentation

[debug_server]

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Brilliant...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

One still needs to wrap pyedbglib in a gdbserver driver for general use (general as in targeting existing gdbserver support present in many debuggers).  pyAVRdbg is one example of a gdbserver built on top of pyedbglib, but it only supports UPDI devices, due to the limitation of the pymcuprog layer pyAVRdbg depends on.

 

Bloom implements a very large fraction of the available EDBG functionality, so at the moment it is really the top open source gdbserver candidate for general AVR debugging using EDBG capable tools.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

Thanks gchapman!

 

gchapman wrote:

Consider growth from AVR into SAM D, SAM L, and PIC24.

 

Yep, the long term goal is to support 32-bit ARM targets, starting with Microchip's SAM products. But I'm not sure when I'll get around to that.

 

Do let me know if any one of you have any questions or issues RE Bloom. Either on here or report an issue at https://bloom.oscillate.io/repor.... I will be happy to help smiley

Nav

Last Edited: Thu. Dec 30, 2021 - 08:54 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

navnav wrote:
I published version 0.5.0 earlier today,
0.10 in June'22

Release Bloom v0.10.0 · navnavnav/Bloom · GitHub

Support for programming

Bloom can now write to the target's program memory. GDB's load command can be used to program the target. Bloom users no longer need to rely on other software to apply code changes during their debug sessions.

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nice work!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It is for Linux only, right? Do you have any plan to make it windows compatible in the future?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

gchapman wrote:

navnav wrote:
I published version 0.5.0 earlier today,
0.10 in June'22

Release Bloom v0.10.0 · navnavnav/Bloom · GitHub

Support for programming

Bloom can now write to the target's program memory. GDB's load command can be used to program the target. Bloom users no longer need to rely on other software to apply code changes during their debug sessions.

 

Thanks for updating the thread!

 

MattRW wrote:

Nice work!

 

Thanks!

 

tepalia02 wrote:

It is for Linux only, right? Do you have any plan to make it windows compatible in the future?

 

Yeah, GNU/Linux only I'm afraid. Sorry, no current plans to support other operating systems ATM

Nav

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller