Skip to main content

Burning Application and Running from DA14583 Internal Flash

DA14580 and DA14583

3 months ago

Posted by haribabu413 40 points 3 replies
0 upvotes

Dear dialog,

I have been trying to interface MPU6050 Gyro-Accelerometer (using I2C) and External Flash  P25Q32H(using SPI). for this i have done modifications  in "user_periph_setup.h" to interface External SPI flash as per my Custom board with DA14583. 

// SPI connection to external flash

#if (defined(__DA14583__))
    #define SPI_GPIO_PORT      GPIO_PORT_2
    #define SPI_CLK_PIN            GPIO_PIN_0                
    #define SPI_CS_PIN              GPIO_PIN_8                           
    #define SPI_DI_PIN               GPIO_PIN_9  
    #define SPI_DO_PIN             GPIO_PIN_4

as long as i run the application in sysRAM it works fine.

Later I burn the Application to internal flash of DA14583 using Smart Snippet Toolbox using SPI Flash Programmer. Then Reset the DA14583 but its not working . 

Did i miss any settings to invoke the secondary bootloader in OTP of DA14583 to transfer the Application from internal flash to SysRAM to execute. 

Later i have been tried by setting 

 OTP Header and Programmed through SS as below 

0x7F04  : Application Programmed Flag #2 0xA5A51234 = Application is in OTP

0x7F00 :  Application Programmed Flag #1 0x1234A5A5 = Application is in OTP

 but it was also not worked. It looks like it stays in primary Boot only.

3 months ago

PM_Dialog

Hi haribabu413,

Thanks for your question online.

During boot, the default state of the GPIOs are input pull-down.  Can you please probe and check the state of the P2_8 ( SPI_CS of the external flash)? If it is LOW, that means the external flash is also activated.

Given that both flashes (internal and external) share the same GPIOs for the SPI_CLK, SPI_DO, SPI_DI, if the external flash is also activated during boot, this could be break the booting sequence and so the DA4583 fails to boot from the internal SPI flash.

If the P2_8 is LOW, please try to connect it to VCC (make it HIGH) and try to boot again.

Since it is a custom board based on DA14583, keep in mind that DA14580/83 are NOT recommended for new designs/products.

If you are starting a new design / project, we would strongly recommend to start with DA14531 or DA14585/586 products and our latest SDK6.0.14, as it is much more improved. We have a lot of code examples and improved documentation, and there is also software roadmap support. There is no software roadmap support for DA14580/583 product family and SDK5.

Please check out DA14531:

https://www.dialog-semiconductor.com/products/connectivity/bluetooth-low-energy/products/da14531

We also have a DA14531 module, namely DA14531 SmartBond TINY™ Module! It has very small dimensions and is very low power. Follow the link below to find datasheet, documentation and HW collaterals for the module:

https://www.dialog-semiconductor.com/products/bluetooth-module-da14531-smartbond-tiny

Thanks, PM_Dialog

3 months ago

haribabu413 40 points

Dear PM_Dialog,

Thank you for the reply. Let me try by removing the external flash and will see it works after that i will get back in case required any help.

3 months ago

PM_Dialog

Hi haribabu413,

Yes please, that would be a good test to check if the DA1483 boots from the internal SPI flash. 

Let us know with the results. 

Thanks, PM_Dialog