External Spi Flash Memory Constraint

Learn MoreFAQsTutorials

6 posts / 0 new
Last post
uprozarif
Offline
Last seen:17 hours 23 min ago
加入:2020-04-05 23:08
External Spi Flash Memory Constraint

Hi,

I am planning to use external flash with at least 16 MB size on custom board. I would like to know whether there are any limitations and could i use it with spi flash programmer tool and spi_flash driver. If both work with just specific devices, could i suitable them for my flash(any) with changes. Also, DA14586 has internal flash memory, when booting the flash with spi flash programmer, how does it identify from each other ? maybe with board setup configuration. please let me know.

Thanks.

Device:
PM_Dialog
Online
Last seen:1 min 49 sec ago
工作人员
加入:2018-02-08 11:03
Hi uprozarif,

Hi uprozarif,

Thanks for your question online. Do you mean 16Mbyte, 16Mbit SPI flash? Additionally, what is the device that you are using? DA14585, or DA14586?

Thanks, PM_Dialog

uprozarif
Offline
Last seen:17 hours 23 min ago
加入:2020-04-05 23:08
16 Mbyte and DA14586.

16 Mbyte and DA14586.

if b is capital letter, it means byte, right ? if not so, it means bit. I pick out them like that way.

PM_Dialog
Online
Last seen:1 min 49 sec ago
工作人员
加入:2018-02-08 11:03
Hi uprozarif,

Hi uprozarif,

The DA14586 has an embedded SPI flash and boots from specific pins. Please refer to datasheet to see in which GPIOs the flash is connected. Since you would like to use an external SPI flash to different GPIOs, you should override booting from specific pins functionality, so you should burn a secondary bootloader in the OTP. Please see 6.0.14.1114\utilities\secondary_bootloader project. Could you please let me know if there is a specific reason why you have selected DA4586 instead of DA14585?

//www.wsdof.com/sites/default/files/um-b-012_da14580_581_583_creation_of_a_secondary_boot_loader_v3.2.pdf

Additionally, which SPI flash would you like to use? Can you please share the part number?

The next step is to modify the flash_programmer firmware, to add support of your selected SPI flash. The project is located under 6.0.14.1114\utilities\flash_programmer. You should add all the appropriate definitions in the spi_flash.c / .h files according to your SPI flash. The known_spi_devs_list structures holds the list of known SPI Flash devices.

The are 2 build configurations for DA14585/6 : DA14585_jtag (the output is the jtag_programmer_585.bin) and DA14585_uart (the output is the flash_programmer_585.bin)

When using the SmartSnippets Toolbox to burn the SPI Flash from the appropriate tab, you have two option to do that, either through UART or through JTAG interface. Smart Snippets doesn't support any kind of flash by default, so when you hit the connect button in order to program the flash there is a small firmware that is downloaded into the 58x chip called flash_programmer.bin in case of UART or jtag_programmer.bin in case of JTAG.

To do so, you should navigate to the SmartSnippets Toolbox installation folder, and replace the default binaries with the binaries generated from the custom flash_programmer that includes your SPI Flash configurations.

Of course, the correct SPI pins should be selected from the “Board setup” tab when trying to program the SPI flash.

Thanks, PM_Dialog

uprozarif
Offline
Last seen:17 hours 23 min ago
加入:2020-04-05 23:08
Thank you for detailed answer

Thank you for detailed answer.

I would like to usethisorthisone.

PM_Dialog
Online
Last seen:1 min 49 sec ago
工作人员
加入:2018-02-08 11:03
Hi uprozarif,

Hi uprozarif,

Thanks for letting me know. Please follow the described procedure and if you have any problem please raise a new forum thread. Keep in mind that we have never used an 128Mb or 256Mb SPI flash.

Thanks, PM_Dialog