Apologies if this question has been asked before. We recently purchased a number of DA14531 modules to integrate into a BLE-using project. At present we're still at the investigation phase.
To investigate how the module works, I hooked it up to a STM32L552 microcontroller (MCU) as recommended in section 7 of the datasheet:
* J14 TX on DA14531 to LPUART1 RX pin on the MCU.
* J10 RX on DA14531 to LPUART1 TX pin on the MCU.
* J12 RST on DA14531 to GPIO pin on the MCU, left floating for now.
I had naively assumed that the module would come pre-configured with Codeless AT commands from the manufacturer, but I am not getting any response to the simple "ATI" identification command off the module at either 57600bps or 115200bps.
Presumably I need to flash the module with the Codeless .hex file before it can be used. However, the module is already soldered in-circuit and connected to the MCU. And I don't currently have a development board to flash the module separately. Once we go to production we will want to flash and/or upgrade the module in-circuit rather than have to flash them separately before soldering in-place.
Is there some way to put the module into a bootloader mode using the above pin configuration? I found the code "DA145xx_SDK/220.127.116.114/utilities/flash_programmer" in the SDK which appears to be the code that runs on the module to perform bootloading. I can easily write my own flash utility to run inside the STM32L552 based on that information. The code seems to indicate that the bootloader uses 1-wire UART mode for which I may have to rearrange the wiring to the MCU a bit. I have inline resistors in-circuit, so rearranging the wires shouldn't be a big drama and we'll fix the PCB in the next prototype.
What is the sequence that I need to use to force the DA14531 module into its bootloader, whether the module is already flashed or not? Pull RST high and wait a bit? Toggle some other pin? It isn't clear to me from the documentation at the moment how to do this. A document describing the bootloading sequence would be very handy. I may have missed it while scanning, so sorry if I missed something obvious.
Hopefully there is a way to do this with a fresh-from-the-factory DA14531 module.