1
\$\begingroup\$

I am having a really hard time putting my question in the right words, but I will try my best. So I am working with an MCU (EFM32TG11) that features a bootloader with pin activation. To make the process of booting into the bootloader as autonomous as possible, I thought of a circuit which can set a pin high that determines the boot procedure and remain it high when I perform a software reset. The circuit contains a section that triggers a one shot at power up to initialize the SR latch and the SR latch itself (constructed with two NOR gates) with pull downs on the input pins. Here is my circuit for reference: enter image description here

Latching the BTL_SIGNAL, which is connected to the activation pin, works actually well by pulsing BTL_ENTER or BTL_EXIT with two other GPIO pins. Now the problem: When the BTL_SINGAL is latched high and I perform the software reset on my MCU the BTL_SIGNAL falls to a LOW state and I have now idea why. I measured all the nets in the circuit but nothing unexpected occurred as far as I can judge. Disconnecting the transistor from the BTL_EXIT signal did not help. What actually helped was using one of the OPAMPs from an LM358 I had laying around in buffer configuration. I can live with that solution, but I was just curios why this happens... another piece of information: When booted into the application the BTL_SIGNAL pin is actively disabled, when booted into the bootloader it is set to input without pull resistors.

\$\endgroup\$

2 Answers 2

2
\$\begingroup\$

Your BTL_Enter goes in the transient phase for a short time on "1". Set the GPIO from output to input before to go on then the impedance is allways high compared to the 10kOhm. HTH

\$\endgroup\$
1
  • \$\begingroup\$ Thank you, that would probably been it if the other problem I just answered would not have been present ... \$\endgroup\$
    – tlubes
    Apr 28, 2020 at 2:44
0
\$\begingroup\$

Ok, so after the answer from @Bill I went back and tried and it did not work and then I tried all sorts kind of things ... and I finally found the problem. So for everyone who plans to work with a similar setup and the Gecko xmodem bootloader on a 32bit SiLabs MCU (EFR32 or EFM32) watch out: In the GPIO activation part of the bootlaoder the input pin quickly gets reconfigured as output and is actively driven hogh/low for a very short amount of time to charge or discharge decoupling caps depending on the configuration whether a low or high pin state activates the bootloader! This did not appear to me before because I was not using some kind of logic gate to latch the state... but rather a simple slide switch.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.