In our factory we are using Segger ARM Flasher tools for standalone programming of our ARM controllers. Now we are trying to program a Panasonic PAN1740 containing the Dialog DA14580 with an external SPI Flash (Adesto / Atmel AT25XE011) over the SWD interface.
The Segger tool is not able to detect the external SPI flash. However we can successfully program the flash with the Smart Snippets Toolbox, which is obviously downloading a flasher firmware into the controller's RAM before starting the transfer of the actual user firmware.
Can you give any hint on how to use this setup? For example, can you provide the RAM code needed for accessing the SPI flash via the SWD interface of the controller? Can you give a more detailed information about the workflow of the Smart Snippets Toolbox's SPI Flash Programmer?
Thanks in advance.
Hi Philipp,
The Adesto / Atmel AT25XE011SPI Flash is not supported from the default flash programmer. In order to use this type of SPI Flash, you should modify the flash programmer and add the configurations of that SPI Flash. You can find the flash programmer project in the following path of the SDK :
DA1458x_SDK\5.0.4\utilities\flash_programmer
When you build the flash_programmer project, you are able to build it as programmer_jtag or as programmer_uart. In your case, you should build it as programmer_jtag. After modifying and building the flash programmer project, you should copy the jtag_programmer.bin from the Out_jtag folder and paste it (with the same name) in the SmartSnippetsStudio\Toolbox\common_resources path, which is located in the installation folder of the tool.
Regarding the workflow of the Smart Snippets Toolbox's SPI Flash Programmer, there isn’t more detailed information or any additional documentation about the architecture of the Smart Snippets and how it operates with the SPI Flash programmer.
Thanks, PM_Dialog
Actually the flash_programmer.bin _does_ seem to support the combination of PAN1740 and AT25XE011, as I'm able to program the flash using the Smart Snippets Toolbox SPI Flasher (GUI tool), which is obviously using the jtag_programmer.bin from the folder you described.
I was hoping for more information about using this fasher firmware standalone => program it into the RAM of the controller to be able to access the flash via SWD in a second step.
*edit:
A little background information to describe our situation: Our manufacturing line is using an in-circuit tester which is generating a trigger signal to start programming of the board. This trigger signal is connected to the above mentioned Segger ARM Flasher (HW box) which is then performing all nessesary programming steps. Any need for manually clicking buttons in a GUI application is a problem in this situation.
Hi Philipp,
As mentioned in the previous post there is no info for the inner workings of the programmer but you can have a look in the Appendix J of UM-B-079. This document is for DA14585 chip, but the DA14580’s programmer operates in similar way. Instead of using the GUI of Smart Snippets Toolbox for burning the SPI flash, you are able to use the Command Line Interface (CLI), so I suggest you to check the User Manual of SmartSnippets Toolbox (UM-B-083 document, you will be able to find the document in the help option of the Smart Snippets Tool). In Chapter 21, you can find all the available commands, for example, you can use the Command 13, in order to burn the SPI FLASH memory.
Thanks, PM_Dialog