Cannot boot using UART after programming ble_example

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
4 posts / 0 new
Last post
Ezza
Offline
Last seen:1 year 6 months ago
Joined:2017-09-07 11:33
Cannot boot using UART after programming ble_example

Hi,
I have programmed ble_app_perpheral project to my device using Keil 5- all works fine.
Now, I have connected my DA14580 device to my STM32F302VBT6 board (p0_5 and p0_4 for Rx\Tx) in order to boot the code using UART.
Scenario:
1. Reset the device (RST).
2. Wait for respond from the device.
Expected:
Get response from the device (mostly it should send 0x02 if it's all fine).
Actual Result:
Timeout (i.e. nothing was recieved from the device).

Two things were noticed:
1. When I put the prob on the Rx\Tx I can see a signal (even though there is no program in the RAM). The signal is comming from the device itself.
2. When I program the ble_app_perpheral directly (using SW and Keil), the Rx\Tx pins are clear (no signal).

My assumbtion:
The signal on the Rx\Tx is disturbing the boot of the code from the STM32F302VBT6.

So my questions are:
1. Why there are signals on the Rx\Tx??
2. How can I workaround on this one?

Device:
MT_dialog
Offline
Last seen:2 months 3 weeks ago
Staff
Joined:2015-06-08 11:34
Hi Ezza,

Hi Ezza,

我不确定我理解到底是什么哟ur problem, so i will try to comment a few things regarding how the 580 operates and boots. So when there is no actual fw in the sysram of the device the ROM booter runs and that is what triggers the Rx/Tx activity on the UART (not only UART but all the available booting interfaces mentioned on the AN-B-001 Booting from serial interfaces), if you have a fw running on the 580 the booter doesn't operate and the 580 runs your fw. So if there is no fw in the device the 580 will try to boot from the UART interface, if the device has allready boot then there is no reason for the device to execute the bootoader again.

Thanks MT_dialog

Ezza
Offline
Last seen:1 year 6 months ago
Joined:2017-09-07 11:33
Hi,

Hi,
Sorry if I was not clear. this issue is hard to be explained. But I will try again.
As I understood the 580 device does not have a flash (i.e. when I turn off it's power, the FW it has will be deleted, since it's saved on the RAM).
So, when I run my program, using Keil, the FW will be loaded to the RAM and be excuted, and when I turn the device off, the FW will be deleted.
- For my debugging, running from Keil is enough for me.
My issue right now is booting the FW via UART (using the ST board FW). I keep getting timeout when I try to recieve a signal from the 580 device.
- All pins are correctly configured with the right baud rate. Also I follwoed the steps from AN-B-001 pdf provided by Dialog.
- As I said earlier, when I put the prob on Rx\Tx I can see a signal (something like noise)., even though I turned off the 580 device and it's RAM was deleted (i.e. it does not have the FW I loaded from Keil).

MT_dialog
Offline
Last seen:2 months 3 weeks ago
Staff
Joined:2015-06-08 11:34
Hi Ezza,

Hi Ezza,

Yes thats correct the 580 doesn't have a flash, as soon as the power is off the device will loose its fw (unless you attach an external flash device).

The 580 boots from specific uart pair pins (not only UART but also additional interfaces I2C and SPI), at a specific baud rate depending on the pins that you are using (for example P05 and P04 are configured to operate in 57600 baudrate). If you have a working device which i suppose that you do since it operates when you load a fw from keil, the bootloader should be executing upon power up, this is the default procedure that 580 follows, if you are not able to see the starting UART bytes when booting, have you probed the device without the external STM device attached to the UART pins to check ? Also have you tried to boot from another source, using the Smart Snippets the booter tool for example ?

Thanks MT_dialog