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?!
通常当插入mothe的套接字rboard, 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.
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
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,
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.
//www.xmece.com/sites/default/files/an-b-066_da1469x_application_hardware_design_guidelines_v1.3.pdf
Thanks, PM_Dialog
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.
Hi ethsiplab,
讨论了在电子邮件,我们已经测试了公关ogramming 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//www.xmece.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
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!
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