Hi - now I would like to retitle this post "Options for starting remote Teensy 2++ in HalfKay or application mode" since that is perhaps more accurate, but here goes.
We have a Teensy 2++ installed on a custom board intended for an embedded application where USB and the reset button won't always be accessible. We provide 3v3 to Teensy. Our board also has a supervisor chip which holds everything in reset until the 3v3 supply reaches 3v0. This creates essentially the same situation as holding the reset button on Teensy until power is stable. In all of my mission-critical systems to date we have such a chip since internal reset logic of controllers usually isn't that precise and we don't want the controller trying to access I/O before power is really stable and at its proper voltage. Without this, many controllers will start up at a much lower voltage - well before the I/O devices are ready. That supervisor reset also puts all the I/O into a known safe state on power up, power down, and in case of brownout or brief power outages.
What we find is that Teensy won't boot up its user program. It seems to be stuck forever waiting for a USB response which will never come. If we disconnect Teensy from this supervisor/reset chip then it boots up and runs our code OK. We're getting by with this now but under harsher conditions I don't like the idea of not being able to hard reset Teensy to a known state (other than by removing power completely).
So I have tried to find a clear description of the reset input and the Teensy 2 bootloader and the best I could see is that reset puts Teensy into a mode where it expects to talk to the PC part of the loader and it will apparently wait forever. First question: is there any way around this, such as a timeout in the Teensy loader? Or can we send the USB port a signal that tells HalfKay to just start up the application already? We were planning to use the USB port for a data logging option on a connected PC, used by a lab tech. I looked on the web site for advice about this reset/bootloader issue but there doesn't seem to be a master documentation page with a list of topics (hint).
Second question: since our system will be in a tube underwater, with a data and power cable to the surface, it seems like we can't reliably load new code unless we also bring the Teensy reset signal to the surface since it is sometimes needed to put Teensy into the mode where it will look for the PC loader. I'm guessing there is no way around having access to a manual reset input to Teensy. But, and this is related to the first question, we can't use the Teensy reset signal to actually just reset Teensy: it will always hang waiting for communication with the PC part of the loader. Sending it a new hex file on every startup isn't a solution.
Maybe there is a page with all startup and reset options/tricks somewhere? I have vague memories of reading something about this when I didn't need the information but now I can't find that source again.
Thanks
Bruce
We have a Teensy 2++ installed on a custom board intended for an embedded application where USB and the reset button won't always be accessible. We provide 3v3 to Teensy. Our board also has a supervisor chip which holds everything in reset until the 3v3 supply reaches 3v0. This creates essentially the same situation as holding the reset button on Teensy until power is stable. In all of my mission-critical systems to date we have such a chip since internal reset logic of controllers usually isn't that precise and we don't want the controller trying to access I/O before power is really stable and at its proper voltage. Without this, many controllers will start up at a much lower voltage - well before the I/O devices are ready. That supervisor reset also puts all the I/O into a known safe state on power up, power down, and in case of brownout or brief power outages.
What we find is that Teensy won't boot up its user program. It seems to be stuck forever waiting for a USB response which will never come. If we disconnect Teensy from this supervisor/reset chip then it boots up and runs our code OK. We're getting by with this now but under harsher conditions I don't like the idea of not being able to hard reset Teensy to a known state (other than by removing power completely).
So I have tried to find a clear description of the reset input and the Teensy 2 bootloader and the best I could see is that reset puts Teensy into a mode where it expects to talk to the PC part of the loader and it will apparently wait forever. First question: is there any way around this, such as a timeout in the Teensy loader? Or can we send the USB port a signal that tells HalfKay to just start up the application already? We were planning to use the USB port for a data logging option on a connected PC, used by a lab tech. I looked on the web site for advice about this reset/bootloader issue but there doesn't seem to be a master documentation page with a list of topics (hint).
Second question: since our system will be in a tube underwater, with a data and power cable to the surface, it seems like we can't reliably load new code unless we also bring the Teensy reset signal to the surface since it is sometimes needed to put Teensy into the mode where it will look for the PC loader. I'm guessing there is no way around having access to a manual reset input to Teensy. But, and this is related to the first question, we can't use the Teensy reset signal to actually just reset Teensy: it will always hang waiting for communication with the PC part of the loader. Sending it a new hex file on every startup isn't a solution.
Maybe there is a page with all startup and reset options/tricks somewhere? I have vague memories of reading something about this when I didn't need the information but now I can't find that source again.
Thanks
Bruce
Last edited: