ProgSam Users Manual
ProgSam Users Manual
User’s Manual
1. Description
ProgSam software is the Dream tool to be used for programming memory components mounted on target boards
based on Dream SAM ICs. SAM models with embedded flash memory or eFuse can also be programmed.
Target board to be programmed is connected to Windows PC through the Dream debug/programming interface
5000DBG-IF. See https://www.dream.fr/pdf/Serie5000/Boards_Datasheets/5000DBG-IF.pdf
In order to support the 5000DBG-IF board, “DREAM USB-DBG-IF”, the device driver is installed during ProgSam
installation.
Remark: DREAM USB-DBG-IF driver (dream_usb_dbg.inf) is not Microsoft signed. In Win7 64-bit and Win8 32-
bit/64-bit versions, signature checking needs to be disabled. Refer to Dream application note AN_Install DREAM
USB-DBG-IF on 64-bit Win7 & Win8.pdf.
Windows© 10 automatically detects and installs the DREAM 5000-DBG-IF board as ‘USB Serial Device (COMx)’.
It then will be used by DREAM software ProgSam, “dream_usb_dbg.inf” is not needed to be used.
a) Click on the ProgSam Icon in the upper left corner to open menu.
b) Select “About ProgSam…” A pop-up windows shows following info:
ProgSam software Version
Debug interface Firmware Name if found (5000DBG-IF should be connected, COM port
selected, see below)
Debug interface Firmware Revision
a) Use the “COM…” button to select the COM port named: “DREAM USB-DBG-IF” in case of Windows
version prior to Win10, resp. “USB Serial Device” in case of Win10 platform:
d) Select the file to be programmed (.bin or.hex). You can use the “Select File...” button to open a browser
window or drag and drop the file on ProgSam window.
e) In “Device Start Address”, enter the destination start address (as hexadecimal number). For a firmware file
it should be normally “0000” “0000”.
Special cases:
- NAND Flash: Address must be always set to “0000” “0000” because only first block can be programmed with
ProgSam (typically for for Firmware programming only). Programming of other data (for example Sound banks
etc.) to the NAND Flash needs to be done by application firmware, for example from USB Host or Device port,
or via Host Parallel Interface (the application firmware running on SAM IC must support this).
External programmer can also be used to pre-program the components before mounting.
- Multi-Purpose SPI/QSPI Flash: The MP QSPI Flash controller is mapped in page 0xC000, so Device Start
Address to be used for programing from first address of MP QPI Flash is “C000” “0000”.
g) Verification of programmed content is automatically executed after programming operation. It can also be
manually started with “Verify” button. The result is reported in the status bar:
[MY_5704FX]
Config=SAM5704 INTRAM(16k)+EXTNOR(512k,8/8WS)+EXTSDR(4M,CL2/Row12/Col8)
;MpQspiDevice=WINBOND:W25X10BV; Reference used on 5704FX-EK_REV1 Dream board
MpQspiDevice=MACRONIX:MX25L2005; Reference used on MY_5704FX board
MpQspiSingleBit=Yes
Next time you will start ProgSam, the board “MY_5704FX” will be a new item of “Target Environment”
dropdown list.
With its Auto-Detect & Create a BDL file feature, ProgSam can detect automatically the hardware architecture of
a connected target board. However this function has few limitations.
3.2.1 Procedure
a) Be sure the 5000DBG-IF interface is connected to target board and that target board is powered.
b) Click on the ProgSam Icon in the upper left corner to open menu.
c) Select “Auto-Detect & Create a BDL file…” A pop-up window displays the detected hardware.
d) If you accept it as a valid configuration to program you board, enter a name in “Board Title” field and
save it as a .bdl file in Directory:\DREAM\ProgSam\config\
4. Programming eFuse
SAM5000 Series have embedded eFuse array, allowing firmware and sound bank protection by 128-bit AES
key. AES key can be programmed and secured in SAM5000 with ProgSam.
AES key and other parameters to be specified are contained in an EFU file with “.efu” extension.
EFU file is a text file generated by Dream SamVs development environment. It can be edited by hand if
needed, especially to activate the secured option that will close the debug access to SAM5000 at production.
There are two different ways to program eFuse.
a) With “Select File… “ button, load the projectname.sealed.bin file from SamVs “build” directory.
.
ProgSam automatically loads the projectname.sealed.efu file at the same time.
The programming option are shown has highlighted in the above capture:
Possible “eFuses [ ]” programming attributes are:
AES: AES key
Sec : Secure session (recommended for production !!)
MidiOut: Enable MidiOut during Host Boot (SAM5504B/SAM5704B)
SSSBoot: Enable Host Boot over Serial Slave Synchronous interface (SAM5504B/SAM5704B)
b) Pressing the”PROGRAM!” button will first program the projectname.sealed.bin in selected external
memory, then blown the SAM5000 eFuses as described in projectname.sealed.efu.
a) With “Select File…” button, load the .efu file. Following pop up windows is displayed:
eFuse programming attributes are shown as they are specified in the EFU file. They cannot be changed
at this step. If changes are needed they have to be done by editing the EFU file.
c) In case of batch programming, disconnect target board and connect a new one, then use the
“Connect” button to establish communication with the new board.
Dream Contact
info@dream.fr
Website
http://www.dream.fr
This publication neither states nor implies any warranty of any kind, including, but not limited to, implied warrants of merchantability or fitness for a
particular application. Dream assumes no responsibility for the use of any circuitry. No circuit patent licenses are implied.
The information in this publication is believed to be accurate in all respects at the time of publication but is subject to change without notice. Dream assumes
no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from the information included herein.