Best way to program custom PCB with DA14695

⚠️
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 https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
8 posts / 0 new
Last post
ethsiplab
Offline
Last seen: 10 months 1 week ago
Joined: 2019-09-13 12:58
Best way to program custom PCB with DA14695

Hi there,

I designed a custom PCB prototype with a DA14695 on it. What is the best way to program it? I was planning on using the serial interface with UTX, URX,  URTS, UCTS (P0_7-0_9, P1_0) with a USB adapter (TTL-232R-3V3). However, somehow this does not work. I also tried using the serial interface from the DEV-Kit motherboard without the daughterboard plugged in and connected it to my prototype which does not work either. I also tried using SWD from the Dev-Kit (without a daughterboard plugged in) to the prototype which again fails.

To verify, I tried to program the daughterboard while it was not in its socket through its JTAG-Connector J4, using serial or SWD protocol (both connected from the DEV-Kit manually) and both did not work. It seems like I am doing something fundamentally wrong?!

When normally plugged into the socket of the motherboard, the programming of the daughterboard works both through SWD and Serial. What additional connections other than UTX, URX, URTS, UCTS, (or SWDIO, SWDCLK), GND, PWR are necessary to make it work?

Thanks for your help!

 

When trying to do the Serial programming through the motherboard, I get the Error "cli_programmer.exe has exited with code: 4294967191". With the USB adapter  code 4294967196 (as if nothing was connected at all).  When using SWD, I get "cli_programmer.exe has exited with code: 1" also as if no board was connected at all. 

These errors both appear when using the daughterboard (without putting it into its socket) or the prototype pcb.

 

Device: 
IM_Dialog
Offline
Last seen: 1 year 6 months ago
Joined: 2016-12-06 22:25
Hi,

Hi,

I would recommend first checking the DA14695 on your custom board is able to run its ROM based bootloader. When the DA14695 first boots it will continually output 0x02 (STX) on the UART using P0_09 (TX) and P0_08 (RX) at 115200-8-N-1 (if there is no image in external flash). If you can’t see this then I suggest checking the power, clock and reset lines are connected correctly.

Best regards

IM_Dialog

ethsiplab
Offline
Last seen: 10 months 1 week ago
Joined: 2019-09-13 12:58
Hi

Hi

Thanks for the quick reply. I just checked. I do get the 0x02 on UART, which means the MCU is working. Reset also works (interrupts the 0x02 broadcast). This means I just do something wrong about the programming itself. I have the suspicion that I am doing some kind of stupid rookie-mistake:

I connect the board to power (MCU running, PMU outputs and UART broadcast working), connect the Serial port to either the TTL-232R-3V3 adapter or the dev-kit motherboard (P0_9, P0_8 pins on J3 of the motherboard) and programming does not work either way. Alternatively, I connect the two SWDIO pins of my prototype to the motherboard (P0_10 and P0_11 of J3) and it does not work either.

The same procedure does not work if I use the daughterboard and connect by these wires instead of using the headers on the dev kit. As soon as I plug it into the motherboard headers  (J1 and J2) it works without problems. This means I am not connecting enough pins (?) which ones am I missing?

Best Regards,

 

PM_Dialog
Offline
Last seen: 6 months 3 weeks ago
Staff
Joined: 2018-02-08 11:03
Adding to IM_Dialog comments,

Adding to IM_Dialog comments, since you have designed a custom boards, I would also recommend to check the AN-B-066 document (link below) which includes the minimal reference schematic, circuit explanation, and design guidelines.

https://www.dialog-semiconductor.com/sites/default/files/an-b-066_da1469x_application_hardware_design_guidelines_v1.3.pdf

Thanks, PM_Dialog

ethsiplab
Offline
Last seen: 10 months 1 week ago
Joined: 2019-09-13 12:58
Hi, thanks for your reply!

Hi, thanks for your reply!

I did indeed use this design guideline. Let me ask a more simple question, an answer to which most probably will solve my problem:

How can I program the daughterboard of the dev-kit without plugging it into the socket of the motherboard (through Serial or SWD)?
Which pins do I have to connect?

I'm assuming this cannot be very difficult, I just cannot figure out how to do it and the design guideline is no help in this.

Simply connecting Power, GND, TX and RX  (or Power, GND, SWDIO, SWDCLK respectively) does not work.

PM_Dialog
Offline
Last seen: 6 months 3 weeks ago
Staff
Joined: 2018-02-08 11:03
Hi ethsiplab,

Hi ethsiplab,

As discussed over email as well, we have tested programming the daughterboard without using the Pro-DK motherboard. The device is using TTL UART at 3.0V . So an FTDI is needed, configured for 3V TTL UART. Both devices need to have a common GND and then connect the RX of the FTDI to the TX of DA14695 and the TX of the FTDI to the RX of the DA14695. Unlike what is mentioned in the Forum post the UART Pins on DA14695 are not P0_7 and P0_9 but rather P0_8(UART RX) and P0_9(UART TX). You can find the schematics of DA14695 at https://www.dialog-semiconductor.com/sites/default/files/da14695-db-vfbga86_vd-sch.pdf. Last but not least make sure to supply the device with power through 3V battery.  We tested the above and managed to program the device with pxp_reporter project without any hiccups.

Thanks, PM_Dialog

ethsiplab
Offline
Last seen: 10 months 1 week ago
Joined: 2019-09-13 12:58
Hi,

Hi,

Thanks for your help and the effort! Turns out the problem was indeed pretty stupid from my side: I set the current limit in my power supply too restrictive which cut off some of the spikes during programming. However they were so short, they neither showed on the power supply nor on my multimeter. Programming the daughterboard now works for me too. I have another problem, but I'll create a new thread for this.

Thanks again!

PM_Dialog
Offline
Last seen: 6 months 3 weeks ago
Staff
Joined: 2018-02-08 11:03
Hi ethsiplab,

Hi ethsiplab,

Thanks for accepting my answer. Let’s continue the discussion in this forum thread:

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/uartboot-upload-failed-invalid

Thanks, PM_Dialog