Keep pin state high after software reset

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello.

I am using the proc BLE module with the upgradable stack ble bootloader. I used the example launcher and stack in my application and I am able to upgrade the firmware. The only issue I am having is that I use a pin to keep the power supply enabled. After the software reset my system turns off because the pin doesn't stay high, so to upgrade the firmware I have to turn it on again and the chip enters bootloader mode.

What I want to avoid is having to turn on the system again and to enter bootloader mode immediately after it receives the command. I already defined the same pin in the launcher and stack as an output with an initial state of high, but the pin is not keeping its state.

Is there anyway to keep the pin state high after a reset or is there another way to jump to the bootloader without doing the software reset?

0 Likes
1 Solution
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The pins are in high-z after reset until the configuration is done. So when using an external pull up resistor (5K) will keep the pin high.

Bob

View solution in original post

0 Likes
5 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The pins are in high-z after reset until the configuration is done. So when using an external pull up resistor (5K) will keep the pin high.

Bob

0 Likes
Anonymous
Not applicable

I have implemented similar functionality using other microcontrollers and they do keep their pin state after a software reset, so I thought it was also possible with psoc without using an external resistor.

0 Likes
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

Please let me ask a question.

I understand that a power supply control pin is driven by the PRoC BLE which becomes Hi-Z during the PRoC BLE's reset sequence.

Then, how do this power supply control signal play during power-on?  Who does enable the power supply?

If this control signal is re-defined as a LOW-ACTIVE signal pulled up to VDD to disable the power supply, it is better to understand the system.

Regards,

Noriaki

0 Likes
Anonymous
Not applicable

The power supply enable is controlled by 2 inputs the signal from the proc and a button, that is connected to a battery.

Initially, to turn on the system, the button is pressed this enables the power supply and the first action the proc module does is set its signal high to keep the power supply enabled. Once the user releases the button the power supply remains on because of the signal from the module.

The button is also connected to an input of the proc module, for user actions. For example to turn off the module the button is pressed for a certain amount of time and the proc module sets the signal low. After the user releases the button the power supply is turned off.

To enter the bootloader, I write a value to a ble characteristic and the program sets that it wants to enter the bootloader and does the software reset. The problem I have, as mentioned before, is that the signal switches to the high impedance state, and it's not possible to connect a pullup resistor with the current pcb design.

What I would like to know is if there is a way to jump to the bootloader so that the output remains high.

0 Likes
Anonymous
Not applicable

The Bootloader component has the Bootloader_Start() function under its datasheet. I would start there. (It does mention that it resets the unit upon successful loading of a new bootload image however).

0 Likes