11. Booting from a Custom PCB
When using a custom PCB to boot from 2-wire UART, it is advised to take care of the RST
/ P0_0
pin such that it doesn’t continuously reset as the default setting after the boot sequence is finished is RST. The explanation related to this is given below.
Since the idle state of the UART lines is default high, FTDI devices and microcontrollers tend to have a pull-up resistor on their RX line to avoid the continuous break. Since the P0_0
is used as a TX while booting and also as a HW reset, connecting an external device might continuously reset the DA1453x due to the external pull-up.
As you can see in Figure 6, when booting from 2-wire UART (Step4), the Tx is mapped to P0_0
which is also used as a Reset pin. The device starting its boot sequence will detect UART on P0_0
/ P0_1
. After the boot sequence has finished the P0_0
will automatically be restored to reset mode. If a connected external microcontroller or FTDI USB to the UART bridge pulls this port high, it will trigger a continuous reset.
A valid solution would be to use a stronger R pull-down resistor connected to P0_0
overriding the effect of the receiver’s pull-up, as shown in Figure 41. The value of R depends on the pull-up on the receiver’s side. This solution is acceptable if there is no constant voltage from an external device on P0_0
to leak through the strong pull-down.
In case the application requires a constant connection on the P0_0
/ P0_1
due to the external interface the user must make sure that during the booting process of the DA1453x the external controller will not have its RX pin in a high state since this would cause the DA1453x to reset.If the external processor can handle the fact that its RX line will be low thus getting continuous break conditions, then the external pull-down can be omitted.
The above configuration won’t allow resetting the board from the external device (since using the P0_0
as a TX one should have the reset disabled), in that case, either enable the reset again via a command from the external processor or set a GPIO pin to act as a POR source. An alternative solution would be to burn a secondary booter in the OTP and boot from different pins and keep the P0_0
as a reset.
On Dialog Pro-DK Motherboard this is solved by populating the resistor R30 resistor (1k) in the daughterboard as shown in Figure 41 and connecting the reset circuit of the motherboard as shown in Figure 43 with the R347 resistor (10k). This creates a strong pull-down. The figures below indicate part of the reset schematics.
11.1. List of Supported FLASH/EEPROM Memories
These memories support the standard Serial Peripheral Interface (SPI) and I2C and operate using the 3.3 V power supply.
Hint
This list is not extensive and other devices compliant with the requirement spec will work as well.
The AT25XE041D flash is a part of Adesto’s FusionHD family the new generation of Flash from Adesto Technologies/Renesas. This family has a unique characteristic that can go to 7 nA in ultra-deep power-down mode (UDPD). However, it needs a secondary bootloader to work correctly with the DA1453x, the reason is when the AT25XE041D goes into the UDPD mode it has a quite high time to wake up, around 260 µs which doesn’t cooperate with our boot ROM.
To support XE021A or XE041B, it is not necessary to modify the SPI driver software code like the AT25XE041D part number. This is an application development choice to select the proper flash part number based on either fast application prototyping or reducing power consumption of the overall system.
More details and overview of supported Flash devices for the DA1453x could be found in AN-B-088.