Hi,
I am unable to boot DA14531 using 2 wire uart (boot step4http://lpccs-docs.dialog-semiconductor.com/UM-B-119_DA14585-DA14531_SW_Platform_Reference/Appendix/Appendix.html#da14531-booting-sequence-steps).
For reference please find the attached schematic.
我有interfaced the chip in bypass configuretion.
As soon as I power up the chip, a constant 0.8mA is drawn from the supply.
And when I attach FTDI usb to uart RX pin to P0_0 (DA14531 TX) the current flow reduces to 0.1mA and no activity is seen on this pin.
Expected behaviour is to receive STX byte as stated in the link mentioned above.
Am I missing something here?
Please help, thanks.
Device:
Hi amitv87,
Thanks for your question online. I looked at you attached schematic and it is expected that you are unable to boot from 2-wire UART. As you can see in table 22, when booting from 2-wire UART (Step4), the Tx is mapped to P00 which is used for the reset functionality as well. Also keep in mind that the reset is active high. Programming the DA14531 through 2-wire UART (pins p00 and P01) along with an FTDI will cause continuous resets on the device since the idle state of the RX on the FTDI side is high due to an internal pull up on the FTDI side. Since this is connected to the P00 which acts also as a reset by default will cause the continuous resets. The solution would be to use a strong pull-down resistor as much as to override the pull-up from the FTDI.
Thanks, PM_Dialog
Hi, thnaks for a quick reply.
I pullled P0_0 down with 2k resisitor. It didn't work either. But this time the current stayed at 0.8mA (it had reduced to 0.1mA without the pull down).
I also tried 1-wire UART on pin P0_3 (boot step 3). Connected RX pin on th FTDI to P0_3 (DA14531 TX/RX) but couldn't see any activity.
Hi amitv87,
Can you please indicate how you are trying to download fw? Are you trying through Jtag? If you use the Keil IDE, are you able to download fw? Please measure the voltage in the P00.
Thanks, PM_Dialog
Hi,
At present I'm trying to receive STX byte over uart into a serial port terminal on my mac. Once I confirm this, I will use a hand writtern utility to download the hci fw over uart.
The voltage level at various pins without interfacing FTDI
P0_0 ~0.01 volts
P0_1 ~0.00 volts
P0_3 ~0.00 volts
XTAL32MP ~0.5 volts
XTAL32MM ~0.5 volts
VBAT_HIGH,VBAT_LOW 3.3 volts
Have I got the schematic correct?
My end goal is to use DA14531 as a network controller tied to an external mcu and download the hci fw on system startup.
Previously I had successfully used DA14585 with the same approach, and didn't face any issue.
Hi amitv87,
Can you please indicate that the attached schematic is the full version? I would strongly recommend you to check out theAN-B-075: DA14531 Hardware Guidelinesfrom the DA14531 product page. This Application Note provides the minimal reference schematic, circuit explanation, and design guidelines for BLE applications based on the DA14531 SoC. Please follow this document to review your design.
The necessary components to have DA14531 operational are:
Additionally, how you are trying to download fw? I cannot see the JTAG interface in your design.
Thanks, PM_Dialog
Hi PM_Dialog,
The attached schematic is complete.
As shown in the schematic, I have placed bare minimum components (bypass configuration) to reach to a stage where I have a functional 2 wire UART bootloader.
Also I believe JTAG/SWD isn't required for booting from serial interfaces like 2 wire UART (at least that's the case with DA14585)
After wiring it all up, you can remove the GND connection momentarily. This will force a Power-On-Reset (POR) and you should see the STX characer transmitted on P0_0 indicating that the device is ready for a bootload. Removing the supply does not actually provide a POR when other pins on the DA14531 are held high. Hope this helps.
/MHv
Thanks MHv_Dialog for your inputs. Adding the follow comments for any other forum customer who wants to boot from 2-wire UART in by-pass mode.
Hi amitv87,
Regarding the 2-wire UART booting in by-pass mode, you should define the CFG_POWER_MODE_BYPASS in da1458x_config_basic.h header file. That macro notifies the SDK about the fixed power mode in by-pass mode. By default is un-defined.
As already mentioned in my previous comment, you should also use a strong pull-down resistor to P00 to avoid continuous reset. This is already implemented in our ProDK by populating the resistor R30 resistor and connecting the reset circuit of the mother board with the R347 resistor. This creates a strong pull down resistor + the Internal resistor on the DA14531. I would suggest first checking the RESET path we have implemented on the DA14531 ProDK. After that, you should be able to use the SmartSnippets Toolbox and boot from 2-wire UART.
Please check section 6 Boot from 2-wire UART from the AN-B-072 application note for more information.
//www.wsdof.com/sites/default/files/an-b-072-da14531_booting_options.pdf
Thanks, PM_Dialog
Hi,
I tried removing the GND connection momentarily as stated byMHv_Dialogbut it did not help.
As mentioned byPM_Dialog
Regarding the 2-wire UART booting in by-pass mode, you should define the CFG_POWER_MODE_BYPASS in da1458x_config_basic.h header file. That macro notifies the SDK about the fixed power mode in by-pass mode. By default is un-defined.
Does this mean that before using 2-wire UART booting mechanism I need to set some OTP register to enable bypass mode using JTAG/SWD or just configure the macro for my app which I intend to load using UART bootloading mechanism.
As suggested I also pulled P0_0 low using 10K resistor, and connected FTDI RX pin to P0_3 in order receive STX byte using 1-wire UART booting mechanism.
I didn't receive STX byte even with this
I could not test P0_5 1-wire UART boot (step 1) as we did not place any trace on our pcb conncting to this pin.
Hi amitv87,
You don’t need to configure any OTP register to enable bypass mode using JTAG/SWD. Just define this macro in your application code. I have tested it in our DA145xx Pro-DK and is working correctly.
Thanks, PM_Dialog
Hi amitv87,
你能请让我们知道如果你能启动吗from 2-wire UART after adding the pull-down resistor in the P00 and defined the CFG_POWER_MODE_BYPASS macro? Do you need further support on this?
Thanks, PM_Dialog
Hi,
我无法使用UART芯片启动。我有ordered for the usb devkit. Will try once I receive it.
Hi amitv87,
Please let us know with the results.
Thanks, PM_Dialog
Hi amitv87,
Please check out the updated version of Booting Options application note for DA14531!
//www.wsdof.com/sites/default/files/an-b-072-da14531_booting_options_v1.2.pdf
Thanks, PM_Dialog
Hi,
I tested 2-wire UART boot on usb devkit and it worked fine.
Thanks.
Hi amitv87,
Thanks you for the update and for you feedback. If you have any other issue, please raise a new forum thread.
Regards, PM_Dialog