Skip to content

Bloom v0.12.0

Compare
Choose a tag to compare
@navnavnav navnavnav released this 08 May 15:42
· 616 commits to master since this release

Feature release


EEPROM access via GDB

  • Support for EEPROM access via GDB - all GDB memory access commands can now be used with EEPROM. The 0x00810000 offset must be applied to EEPROM addresses.
  • Support for loading ELFs with EEPROM sections.
  • New monitor eeprom fill command, to fill EEPROM with a given value.

Support for new AVR-EA targets

Insight hex viewer performance improvements (in preparation for memory snapshot viewer and diffs)

  • Refactored the HexViewer to limit the number of QGraphicsItem objects - significantly reducing RAM usage and improving performance when inspecting large memories.
  • Stress tested with memories up to 5MB (meaning over 5 million byte items) - more than enough for current use cases.
  • Additional work done in preparation for nested group items (for object annotations - something that will be looked at later on).

Memory snapshots via Insight

  • A snapshot of the entire contents of RAM, EEPROM or FLASH can now be captured and stored in the project directory.
  • Snapshots can be viewed, individually.
  • Snapshots can be compared to others, or to the current memory.
  • Snapshots can be restored (RAM and EEPROM only).

Flash memory inspection via Insight

  • Flash memory can now be inspected via Insight
  • Snapshots can be taken and be compared against.
  • Worth keeping in mind: Given the sizes of flash memory on some AVR targets, the hex viewer can consume a considerable amount of RAM.

Other improvements

  • The Insight window now uses ~60% less RAM, and is much more responsive.
  • Focused memory regions can now span multiple lines.
  • Replaced stack highlighting with stack grouping in RAM inspection pane - stack memory is now displayed as a separate group, with additional annotations, to clearly distinguish it from the rest of the target's RAM.
  • Background tasks window
  • Task progress bar on memory inspection pane
  • Added some new "Copy Selection" actions to hex viewer
  • Added preserveEeprom AVR8 target config boolean parameter, to control the backup-then-restore function employed for JTAG and UPDI targets. Setting this to false will improve upload times for those who don't care about losing EEPROM data when uploading program changes.
  • Added OCDEN fuse bit management for JTAG-enabled targets. Controlled via the new manageOcdenFuseBit AVR8 target config boolean parameter. See https://bloom.oscillate.io/docs/configuration
  • Improved error messages
  • For hybrid debug tools (MPLAB Snap and PICkit 4), Bloom will now check if the device is in AVR mode and report back to the user if the device was found on the system, but not in AVR mode.

Bug fixes

  • Memory inspection panes were remaining disabled when switching between them.
  • From CLion version 2023.1, Bloom was failing to detect CLion managing its process, resulting in the known shutdown bug.
  • Interrupts from GDB were not being properly handled, resulting in some being ignored.