Releases: bloombloombloom/Bloom
Bloom v0.9.0
Feature release
This release includes significant changes to Bloom's internals. Although best efforts have gone into testing the release, users may face some issues as a result of the changes. In the event that you come across any issues, please report them as soon as possible.
Debug tool drivers:
- JTAGICE3, requested by @septatrix and @maximevince
For configuration values, see https://bloom.oscillate.io/docs/configuration#debug-tool-target-config
Custom GDB commands (via the monitor
GDB command)
monitor help
- Displays help text, describing the supportedmonitor
commands.monitor version
- Displays Bloom's version number.monitor version machine
- Outputs Bloom's version number in JSON format.monitor target-info machine
- Outputs information on the connected target, in JSON format.monitor reset
- Resets the target and holds it in a stopped state. See #24 for more.
Other
--version-machine
CLI command - Outputs Bloom's version number in JSON format.
Bug fixes
- Insight was needlessly refreshing GPIO pin states twice, when the user would update a PORT register via the register inspection window.
- The GDB debug server would fail and shutdown (causing the rest of Bloom to follow) when an exception was thrown during the processing of a TargetExecutionResumed event (sending a stop reply packet to the GDB client).
- Bloom wasn't operating correctly when used with CLion 2022.1 (and possibly some other versions proceeding 2021.1) - CLion was configuring GDB to include frames before the entry point, when generating backtraces. This was resulting in GDB requesting memory reads at invalid memory addresses, which Bloom was handling incorrectly. See #37 for more.
Bloom v0.8.3
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 #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 #29 for more.
Bloom v0.8.2
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.
Bloom v0.8.1
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.
Bloom v0.8.0
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.
Bloom v0.7.0
Feature release
Debug tool drivers:
- ISP interface for all EDBG-based debug tools. Bloom can now manage the DWEN fuse bit on debugWire targets, using the ISP interface. The
updateDwenFuseBit
target config parameter was introduced to control this function. See https://bloom.oscillate.io/docs/configuration#target-config-param-updateDwenFuseBit and https://bloom.oscillate.io/docs/debugging-avr-debugwire for more.
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.
Bloom v0.6.0
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.
Bloom v0.5.0
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:
- New
disableDebugWirePreDisconnect
target configuration parameter has been added for AVR8 targets, in response to an issue raised by @lkoepsel. See https://bloom.oscillate.io/docs/configuration#target-config-param-disableDebugWirePreDisconnect for more.
Bloom v0.4.2
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 #8.
- Added the DIP target package variant for ATmega4809 target (variant name:
ATmega4809-PF
)
Bloom v0.4.1
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.