Problem booting DA14580 from SPI master

6 posts / 0 new
Last post
gleon
Offline
Last seen:2 years 3 months ago
加入:2015-09-07 13:17
Problem booting DA14580 from SPI master

Hello,

I am currently trying to load a BLE application to DA14580 from a SPI master but the code is not running. I have checked the SPI master receives 0xAA and 0x02 ACK at the end of the code download and I have been able to download a simple blinky program with the same method. Also when downloading the program using serial wire the code runs perfectly. Is there any reason why the same code is not running depending on if it is downloaded via SPI or SW? Is there any maximum code size for SPI booting?

I hope you can help me with my problem.

Thank you in advance.
Guillermo

Keywords:
Device:
MT_dialog
Offline
Last seen:1 week 11 hours ago
Staff
加入:2015-06-08 11:34
Hi gleon,

Hi gleon,

What is the dev kit you are working with, is it a custom? Have you configured the proper pins for working with the SPI? I assume that you are using Smart Snippets in order to download the code to the SPI, have you erased the SPI before burning it ? You should make SPI bootable in order the da to boot from it. There isn't a maximum spi limit you can download as much as the da can handle.

Thanks MT_dialog

gleon
Offline
Last seen:2 years 3 months ago
加入:2015-09-07 13:17
Hi MT,

Hi MT,

I am sorry I was not clear enough. I am not using an SPI memory but another microcontroller acting as SPI master. I have tried both Expert kit and a custom one with the same results. I am able to run the blinky example but anything using BLE functionalities.

I have discarded a problem during the transaction as Dialog reply with ACK after the code download and a problem with the BLE code as I am able to run it using SW from keil. Is there any modification needed in the dialog code for booting from SPI master?

Thanks for your reply.
Guillermo

gleon
Offline
Last seen:2 years 3 months ago
加入:2015-09-07 13:17
Hi MT,

Hi MT,

Just some information more, I have found that dialog code runs until "nvds_init((uint8_t *)NVDS_FLASH_ADDRESS, NVDS_FLASH_SIZE);" function but it does not return from that function. Also I have been unable to find the definition of that function. I do not have any flash memory on my system, is that a problem?

I hope this could help to solve the problem.

Thanks
Guillermo.

MT_dialog
Offline
Last seen:1 week 11 hours ago
Staff
加入:2015-06-08 11:34
Hi gleon,

Hi gleon,

There is no need to change anything in the boot code (you cant also change the boot code). Some advices i can give you is to check your cable connecting the micro and the da they should be properly terminated and possibly shielded cables. This is because SPI modules sampler seems to be very sensetive towards small signal spikes or reflections, which it mistakenly regards as pulses. Also please make sure that the UART RTS/CTS jumpers (expert kit) are removed. Also please try to configure your master clock at a smaller frequency. Also please try to take a look at doc UM-B-013 maybe that will give you some insight.

Thanks MT_dialog

gleon
Offline
Last seen:2 years 3 months ago
加入:2015-09-07 13:17
Hi MT,

Hi MT,

I solved the problem. It turns to be a problem with the tool I was using to parse the .hex files to a byte array when using big files.

Thanks for your help.
Guillermo

Topic locked