# Atmel SAM-BA - SAM Boot Assistant

## Version 3.2.1

### Bugfixes

- Fixed NAND header value for SAM9xx5EK.
- Fixed parsing of numeric arguments to writecfg commands to BootConfig applet.
- Fixed SAMA5D2 fuse boot configuration example to disable BSCR/BUREG

### Enhancements

- All applets rebuilt using softpack 2.10.  This brings support for non-ONFI
  NAND memories and more SPI/QSPI NOR memories using SFDP.
- Applet trace level can be set from command-line (-t, --trace) or QML
  (Script.traceLevel).
- New Fuse example for SAMA5D2

### API Changes

- Applet trace level is now in the Script singleton object.
- Internal shared library sambacommand was removed



## Version 3.2.0

### Bugfixes

- Fixed bug when loading applets on Windows when SAM-BA path contains spaces
- Fixed bug with USB on Windows 10

### Enhancements

- Provide applets for initializing external RAM on all devices.
- All applets rebuilded using latest code from softpack.
- Build with Qt 5.9.0
- Implemented XMODEM support (allows programming using SAM-BA Monitor protocol
  over UART)
- Added support for SD/MMC and e.MMC for SAM9xx5, SAMA5D3 and SAMA5D4
- Board-specific configurations are now in separate QML files, one per board.
- Serial peripheral and pin used for applet traces is now configurable via the
  board configuration and as arguments to the device/board command line
  parameter.
- SAMV71 device family support was completely reworked. It now uses 3.x applets
  from the software package like the other devices.
- J-Link driver now supports SAMV71 device family (E70/S70/V70/V71)
- Added support for new boards sama5d27-som1-ek and sama5d2-ptc-ek.

### API Changes

- SAM-BA now requires Qt 5.9 to build
- SAM-BA QML API modules version is now 3.2
- Some common QML code is shared between similar applets for different devices
- Applet configuration parameters in the device object are now split by applet
  (config.serialflash, config.sdmmc, etc.)
- Board selection is not done using a 'board' property on the device anymore.
  Instead, the boards are defined using inheritance: for example, the
  SAMA5D2Xplained QML object inherits from SAMA5D2 QML object.
- Removed AppletLoader object. Connection object can now be used directly when
  working with applets.



## Version 3.1.4

### Enhancements

- Support for SAM9xx5 (NAND Flash and SPI Flash)
- Add command-line support for 'read', 'write' and 'execute' monitor commands
- Add command-line support for 'fullerase' (SAMV7)
- NAND: retrieve and display NAND header value from applet
- Increase default timeouts, this should fix issues on NAND & SDMMC on SAMA5D4 and SAMA5D2

### Bugfixes

- Fix parsing of addresses bigger than 0x7fffffff on the command-line

### API Changes

- No changes were made to the QML API



## Version 3.1.3

### Enhancements

- Support for SAMA5D3 (NAND Flash and SPI Flash)
- Port command-line option is now optional. When not supplied, the connection
  will default to serial/usb.

### API Changes

- No changes were made to the QML API



## Version 3.1.2

### Enhancements

- Support for SAMA5D4 (NAND Flash and SPI Flash)

### API Changes

- No changes were made to the QML API



## Version 3.1.1

### Enhancements

- NAND Flash support for the SAMA5D2
- SD/MMC support for the SAMA5D2
- Enhanced command line support (see doc/cmdline.html for documentation)

### API Changes

Several small changes where made to the QML API, please see the provided examples.
Notable changes:
- SAM-BA QML API modules version is 3.1
- configuration declaration for SAMA5D2 is less verbose. Default for the
  SAMA5D2 device is to be unconfigured, but the "sama5d2-xplained" board
  property can be set to get the same configuration as previous version.
- boot configuration on the SAMA5D2 now uses an applet and a different syntax.
