Bloombloombloom Bloom Versions Save

A debug interface for AVR-based embedded systems development on GNU/Linux.

v0.8.3

2 years ago

Bug fix release


Fixes:

  • Startup failure due to unnecessary target parameter validation (for Xplained Pro XMEGA board) Bloom was performing a sense check at startup, to ensure that the connected target's flash page size did not exceed any maximum memory access size enforced by the EdbgAvr8Interface. This was not necessary for XMEGA and UPDI targets, as we don't use paging for flash memory access on those targets. See https://github.com/navnavnav/Bloom/issues/27 for more.
  • Awkward minimum window size being applied to the Insight window, upon the enabling of the memory inspection pane, for target package variants with a large pin count (~100 pins) When users would select a target package variant with ~100 pins, and then enable the memory inspection pane, Bloom was applying a minimum size to the Insight window, which exceeded the available space on the user's screen. This made the UI very awkward and frustrating. See https://github.com/navnavnav/Bloom/issues/29 for more.

v0.8.2

2 years ago

Bug fix release


Fixes:

  • For debugWire debug sessions on some Xplained Mini evaluation boards, when cycling the target power (after updating the DWEN fuse bit), Bloom was not giving the target enough time to power-up, before attempting to reconnect via debugWire. This was resulting in connection failures. To address this, Bloom now waits ~250 milliseconds after target power-up, before attempting to reconnect via debugWire. Furthermore, this delay is now configurable via the new targetPowerCycleDelay target config param. The millisecond value of that param determines how long Bloom will wait for the target to power-down and back up.

v0.8.1

2 years ago

Bug fix release


Fixes:

  • In some circumstances, Bloom was leaving the debug tool in a bad state. This would happen when Bloom would fail to properly handle loss of debug tool control due to another program stealing it. After loss of debug tool control and a shutdown trigger, Bloom would incorrectly make an attempt to disconnect from the debug tool (to which it was no longer connected), and this would result in the debug tool being left in a bad state.

v0.8.0

2 years ago

Small feature release


Target power management

Some debug tools possess the ability to control the connected target's power input. This is typically the case for evaluation boards, where the connected target is embedded onto the same board as the debugger, and they both share the same power supply.

With these debug tools, Bloom can now manage the power to the connected target. With this functionality, Bloom will now automatically cycle the target power after updating the DWEN fuse bit, for debugWire sessions. This new function is enabled by default, but can be disabled via the cycleTargetPowerPostDwenUpdate target config parameter.

v0.7.0

2 years ago

Feature release


Debug tool drivers:

Insight:

  • Updated Register Inspection window appearance (to be consistent with the Manage Memory Regions window).

Other:

  • New shutdownPostDebugSession config parameter to instruct Bloom to automatically shutdown at the end of a debug session.

v0.6.0

2 years ago

Small feature release.

Insight:

  • Introduced project-user settings which are loaded and saved automatically. This means:
    • Memory regions are persisted between execution cycles. Users no longer have to recreate these every time they close Bloom.
    • Hex viewer settings are persisted.
    • Main window size is persisted.
    • Panel and pane states are persisted.
  • Added signed integer data type for value annotations
  • Made endianness of focused memory regions configurable via the 'Manage Memory Regions' window.
  • Improved register searching

Bug fixes:

  • Masked memory reads of SRAM were failing with the Atmel-ICE and some UPDI targets. Device-side masking has now been disabled on all EDBG devices.

v0.5.0

2 years ago

New debug tool drivers:

  • Xplained Pro Evaluation Board
  • Xplained Mini Evaluation Board
  • Xplained Nano Evaluation Board
  • Curiosity Nano Evaluation Board
  • MPLAB PICkit 4

For configuration values, see https://bloom.oscillate.io/docs/configuration#debug-tool-target-config

Insight:

  • Internal RAM and EEPROM inspection (excluding manipulation)
  • Stack memory highlighting
  • Focused memory regions (with value annotations)
  • Excluded memory regions
  • Go to address
  • ASCII view
  • Improved target package widgets sizes

Target support:

  • ATtiny45, requested by @ccrause

Bug fixes:

  • For certain targets, Bloom was sending an incorrect response to GDB's read register command. This was the result of some targets (just 9 of the 248 supported) having a stack pointer register size of just 1 byte. GDB was expecting this register to be 2 bytes in size, but Bloom was sending it as is. GDB would terminate the debug session in response to the incorrect packet sent by Bloom. This was reported by @ccrause.

Other:

v0.4.2

2 years ago

Bug fix release:

  • Unmet dependency for libxcb-xinput resulting in installation failures on Ubuntu 16.04.07 LTS. The library has been pre-built and included in Bloom's distributed libs directory.
  • Bloom failed to configure AVR8 parameters on some debug tools, when configured with the UPDI physical interface. This was caused by the failure to configure the PDI clock speed on the debug tool, before attempting to set other parameters. Users were being presented with a "JTAGM failed to initialise" error during TC startup. See the related issue, reported by @timwalls, at https://github.com/navnavnav/Bloom/issues/8.
  • Added the DIP target package variant for ATmega4809 target (variant name: ATmega4809-PF)

v0.4.1

2 years ago

Bug fix release:

  • Fixed issue with reading target registers, when using the MPLAB Snap debug tool - the Snap doesn't handle masked read memory EDBG commands properly. We now avoid use of the command, when using the MPLAB Snap, by implementing the masking at the driver side and then issuing standard read memory commands.

v0.4.0

2 years ago
  • Target register side panel
  • Target register inspection window
  • Fixed GPIO pin manipulation bug where other pins in the same port were being affected by the toggling of a single pin
  • Colour tweaks - using colours that are softer on the eyes and look nicer
  • Improved speed of target register access by grouping operations for numerous registers into a single read operation
  • Upgrade to Qt 6.1.2