Reset mbed Remotely

07 Dec 2009

Hello

While working remotely on my PC, I can compile and download new firmware on mbed. But to use it, one has to push the reset button in order for the compiled binary to be copied to the LPC1768.

Now my question is: Is it possible to reset the board remotely without physically pushing the button?

07 Dec 2009 . Edited: 07 Dec 2009

Hi Asif,

Asif Iqbal wrote:
Now my question is: Is it possible to reset the board remotely without physically pushing the button?

There are three ways to reset an mbed:

  • Push the button!
  • Wire something to the nR pin, and pull it low
  • Send a "break" command over the USB Serial (e.g. in Teraterm, press "Alt+B")

Simon

07 Dec 2009

Simon Ford wrote:
Send a "break" command over the USB Serial (e.g. in Teraterm, press "Alt+B")
That is exactly what I was looking for. Thank you so much Simon.

07 Dec 2009

Hello

I tried it but Alt+B does not work from terminal. However, accidentally I found out that Ctrl+Break works. I don't know whether it has anything to do with my Swiss-German keyboard.

08 Dec 2009

Has anyone had any luck sending a break that mbed recognizes from a Mac?  I've tried screen (both break types), ZTerm and QuickTerm, with no success.

08 Dec 2009

On Linux, I have used Putty (Ctrl+Break) and minicom (Ctrl+A and then F) to send break. Both work fine.

20 Dec 2010

Alt+B works for me in terminal:) can see the esd everytime I touch her LOL when pressing the reset button:)

20 May 2011

(Ctrl+\) and then b or B in Kermit

30 Oct 2011

What (number) is break code?

31 Oct 2011

Break isn't an actual character, it's a special signal condition on the serial line itself. Normally if there is no data being sent over the serial port, the signal line is held at a logic level '1'. A break condition is created by instead keeping the line at a logic level '0' for some time (typically at least the amount of time it would take to send a single character).

In the case of the mbed, things are a bit different since you are actually using a virtual serial port that is implemented via USB. This means that an application's break request will instead be encoded into the USB packet data sent to the mbed device.

On a real serial port, you should be able to simulate a break condition by sending a 0 character at 1/2 the actual baud rate (or lower) so that the line is kept in the logic level '0' state for 16 bit bit time slots. This doesn't work for virtual serial ports like that used by the mbed though.

On Windows, you can call the SetCommBreak(ComPortHandle) API to signal to the virtual serial port device driver that it should place the specified COM port handle into the break state. Other operating systems will have similar abilities. It does seem that the Mac device driver ignores it though.

31 Oct 2011

Thank you for your answer.