TinyBooter waiting (forever)

I got the RTC working and since then I have a new problem (previous post).

When I remove the main power from the board and then plug it back in I get the following on the T43 display:
Tinybooter v4.2.0.0
FEZ_Hydra Build Date:
Oct 17 2013 09:59:02
Waiting

It stays like this forever. Pressing the reset button does the same thing.
The board was working until I got the RTC working.
But why would anything I did there effect booting up?

I plug my USB (to the computer) back in and select Start Without Debugging and get the following:
Looking for a device on transport ‘USB’
Starting device deployment…
Iteration 0
Opening port \?\usb#vid_1b9f&pid_0102#0000000001#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Attaching debugger engine…

After a few seconds I get the following:
Attaching debugger engine…
… debugger engine attached!
Querying device assemblies…
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Hardware.PWM.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI OSHW NETMF v4.2 SDK\Assemblies\le\ghi.oshw.hardware.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.2\le\gadgeteer.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Graphics.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Hardware.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\SDCard\NETMF 4.2\le\gtm.ghielectronics.sdcard.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\Display_T43\NETMF 4.2\le\gtm.ghielectronics.display_t43.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.IO.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\mscorlib.pe to deployment bundle
Adding pe file D:\Projects\Gadgeteer\WellMonitorIII\WellMonitorIII\bin\Debug\le\WellMonitorIII.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.2\le\gadgeteer.serial.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\UsbClientDP\NETMF 4.2\le\gtm.ghielectronics.usbclientdp.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.TinyCore.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\XBee\NETMF 4.2\le\gtm.ghielectronics.xbee.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\System.IO.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\UsbSerial\NETMF 4.2\le\gtm.ghielectronics.usbserial.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Native.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Net.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Mainboards\FEZHydra\NETMF 4.2\le\ghielectronics.gadgeteer.fezhydra.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Hardware.SerialPort.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Touch.pe to deployment bundle
Attempting deployment…
Deployment to the device was not successful.

But this did start the program that was already loaded on the board. This is the only I can start the program.
If I do a hard reset or power up, TinyBooter just sits and waits for something.

Thanks again for help on this matter

How are you powering the RTC?

I have a 1.3v batt. connected to the RTC.
I read 1.2v on D1 (I think that’s the correct diode).

I have a 12v 2.5 amp power supply for the board connect via a USB CLient DP module.

So far the RTC has kept the correct time with the main power off.

Can I suggest you just connect to the device with MFDeploy? Does your code have debug output so you can see it’s working?

I am confused. If you can’t run the board then how van you tell the RTC is working?

Did you try to load the firmware?

Using VS2012 I can reload the program with problems as stated in the first post but I can get it to work.

Just before I do the load (without debug), I press the board reset. At some point it does load the program but will not start it running at first. The following is displayed
Attempting deployment…
Incrementally deploying assemblies to device
All assemblies on the device are up to date. No assembly deployment was necessary.
Assemblies successfully deployed to device.

It just sits there and the program is not started yet.
I do another board reset and start another start without debug and get the following
Iteration 15
Opening port \?\usb#vid_1b9f&pid_0102#0000000001#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Attaching debugger engine…
… debugger engine attached!
Querying device assemblies…
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Hardware.PWM.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI OSHW NETMF v4.2 SDK\Assemblies\le\ghi.oshw.hardware.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.2\le\gadgeteer.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Graphics.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Hardware.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\SDCard\NETMF 4.2\le\gtm.ghielectronics.sdcard.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\Display_T43\NETMF 4.2\le\gtm.ghielectronics.display_t43.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.IO.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\mscorlib.pe to deployment bundle
Adding pe file D:\Projects\Gadgeteer\WellMonitorIII\WellMonitorIII\bin\Debug\le\WellMonitorIII.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.2\le\gadgeteer.serial.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\UsbClientDP\NETMF 4.2\le\gtm.ghielectronics.usbclientdp.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.TinyCore.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\XBee\NETMF 4.2\le\gtm.ghielectronics.xbee.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\System.IO.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\UsbSerial\NETMF 4.2\le\gtm.ghielectronics.usbserial.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Native.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Net.pe to deployment bundle
Adding pe file C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Mainboards\FEZHydra\NETMF 4.2\le\ghielectronics.gadgeteer.fezhydra.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Hardware.SerialPort.pe to deployment bundle
Adding pe file C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\Microsoft.SPOT.Touch.pe to deployment bundle
Attempting deployment…
Deployment to the device was not successful.

At this time the program starts running.

The following is what I get with MFDeploy and selecting Device Capabilities

GC: 2msec 733428 bytes used, 5557704 byteHalSystemInfo.halVersion: 4.2.0.0
s available
Type 0F (STRING ): 1548 bytes
HalSystemInfo.halVendorInfo: Microsoft Copyright © Microsoft Corporation. All rig
HalSystemInfo.oemCode: 255
HalSystemInfo.modelCode: 0
HalSystemInfo.skuCode: 65535
HalSystemInfo.moduleSerialNumber: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HalSystemInfo.systemSerialNumber: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
ClrInfo.clrVersion: 4.2.0.0
ClrInfo.clrVendorInfo: Microsoft Copyright © Microsoft Corporation. All rig
ClrInfo.targetFrameworkVersion: 4.2.0.0
SolutionReleaseInfo.solutionVersion: 4.2.6.1
SolutionReleaseInfo.solutionVendorInfo: Copyright © GHI Electronics, LLC
SoftwareVersion.BuildDate: Oct 17 2013
SoftwareVersion.CompilerVersion: 410713
FloatingPoint: True
SourceLevelDebugging: True
ThreadCreateEx: True
LCD.Width: 480
LCD.Height: 272
LCD.BitsPerPixel: 16
AppDomains: True
ExceptionFilters: True
IncrementalDeployment: True
SoftReboot: True
Profiling: False
ProfilingAllocations: False
ProfilingCalls: False
IsUnknown: False

just hit F5 in MFDeploy to connect to the debug output.

I can connect via MFDeploy but I have been using my own debug output via a UsbSerial module so I do not have any Debug.Print statements.

TinyBooter still does not start via a hard reset.
Just sits there saying it is waiting (waiting for what?).

When people write software and output messages, why do they not say what in the world is going on.
I retired as a software engineer and I knew how to display error messages because I did not like spending anymore time debugging then I had to.

That’s what I think and I’m sticking to it.

Tinybooter is a process that runs, and when it “waits” it’s waiting for tinybooter commands. It’s waiting for some reason that we haven’t understood from the data you’ve given. Not saying that there’s something wrong with your code, but there’s something wrong somewhere !!!

So lets start again. Please deploy a “blink the LED” code to your board, using appropriate debug.print or whatever statements, so we can see your code is running. If that works, as expected, then the problem lies in your code. If that still behaves the same, then the problem lies in the way you have the battery/RTC wired.

I have already done both of your ideas.
I disconnected the battery from the RTC and still the same problem.

I then took a new project that did nothing but the default Debug.Print statement and still the same problem.

I created a second new project.
I added a loop that turned the board led on and off and did a Debug.Print once a second.
I also disconnected the battery from the RTC.

I can get the program to run in debug mode and saw the debug output.
I then turned debug off and pressed the reset button and still the same problem.
The TinyBooter is sitting there waiting.

ok, so please clarify what you mean by turning debug off? I bet you’re actually setting bootloader mode.

What I mean by debug off is in VS2012, I either start the download of a project to the board using Start Debugging or Start without Debugging.
I

So lets take a step back.

With your blink-a-LED app that uses debug.print to note it’s flashing the LED. Deploy that (F5) to the device. Make sure you see debug output. Stop your debugging session in VS.

Now, disconnect the board from the PC. Connect it again. Does your LED start flashing as expected, or does your device appear to enter bootloader mode and stay there?

Assuming it starts flashing the LED, go into MFDeploy, and connect to the device (F5). Confirm you can now see the debug status messages as well.

I have just tested this on the Cerberus I’m using and everything works as expected. Pressing Ctrl-F5 just restarts the device and I can continue to use the device as expected and mfdeploy can see debug messages. Your use of Ctrl-F5 for some reason seems to leave your device in tinybooter for no apparent reason, but the above will help make sure there’s not something else unusual going on

From VS I did get the program to load after several attempts.
I did see the debug print in VS

I unplugged the board from the pc and removed the power from the board.
When I plugged the power back into the board. it went into the Tinybooter displaying the waiting message again.

Again, the rtc battery is disconnected from the board.

The end result is this:
Powering up or doing a hard reset (button on the board), Tinybooter always hangs.
The program that was loaded into the board from vs never ever starts.

Using vs I can get the program into the board with no problem but it may take several attempts of reloading the program to get it to start running. This does not work as it did this morning as I may have to reset the board more then once and I have to reload from vs several times.

As far as I can remember, this started after installing the rtc crystal and getting the rtc to work. The board was working fine until today.
It is now 9pm and this is all I have been doing since 1:30am this morning and I still do not have a working Hydra. This problem makes the board useless as it can not start running a program from power up.

I’m hoping you have an idea as to how to get this going again.

If the TinyBooter is waiting for a command, what command and where does it come from?
Is there any way that the firmware got messed up? It’s a B****for me to clear and reload the firmware so I was hoping I would not have to do it again if at all possible.

reloading firmware should be an easy task. I’d definitely try that, it can’t hurt !

The fact that tinybooter is halting is not something that I can explain, but GHI may be able to suggest where/why it’s triggered by. You don’t need to know what commands it’s waiting for, the fact that it’s not passing to netmf is what you should worry about. (I’m sure the tinybooter instructions are documented somewhere, again it’s not something you need to know to program this)

My personal view is that your RTC (hardware) work has left something not working correctly, perhaps your capacitors and crystal combination isn’t oscillating in all cases and that causes tinybooter to not load. Perhaps you should unsolder the crystal and try again

You were right, I took the crystal out and I can now boot a program.

Do you have the number of the correct crystal to use?
Have you heard anything about the SD2405 RTC module from DFRobot?

Thanks for all of your help and trouble in this matter.

OK, here we go again.

Last night I removed the rtc crystal and was able to boot the board up into the loaded test program.
I even loaded my project from vs and was able to reset the board and the program would run.
This morning I loaded my program again to test the board and guess what, we are back to the TinyBooter just sitting there waiting.

I have made no hardware changes, the board and modules are just sitting on the table untouched.

Pressing the reset or doing a power down gives the same results.

Now I can not even use vs to get the loaded program to run like I was able to yesterday.
I tried to load the test program (only blinks the led) and nothing.
Tinybooter just sits there waiting.

MFDepoly can access the board and when I ping Tinybooter responds.
MFConfig can access the board and says it is in the loader mode.

Where do I go from here, help

@ dcas

Have MFDeploy up and running immediately. When you power up the board, select the board and ping it. What is being displayed?