Raptor problem. Keeps resetting

I broke my own rule and called a method from ProgramStarted();
I always use a button to allow the program to continue any other action.

Well… almost always.

Now I am in a BIG HURT becaues I didn’t use the button approach!
My Raptor keep resetting in a loop because of a small bit of code.


//Called from ProgramStarted()

private void test() 
{
	try
	{
		byte[] byteArray = new byte[] { 0x30, 0x31, 0x32, 0x33, 0x34 }; //0-4

		string byteString = System.BitConverter.ToString(byteArray); //Raptor resets
		Debug.Print(byteString);
	}
	catch (Exception e)
	{
		Debug.Print(e.Message);
	};
}
//

Using BitConverter crashes the Raptor causing it to reset.

I got in a hurry to try and find the problem so I made another application to do some testing.
My test app did not use the button and I called test() directly from ProgramStarted().

When BitConverter crashes my Raptor would display the following on my T43 and resets itself.

Displayed on T43
Build Date: Jun 26 2015
10.10.04
cps=0x000000df
pc=0x20iec974
Ir=0x20iec978
sp=0x00307658

I am using:
2015 R1 Pre-Release 3
NETMF SDK 4.3 QFE2
Firmware 4.3.7.9

Does anyone know of a way to save my Raptor?

FEZConfig never sees my raptor and trying bootloader does not work either.
Pin 8 Socket 3 to ground reset brings up Bossa Program Port (COM5) but FEZConfig cannot connect to it.

Connecting to device COM5.
Please wait, this may take a few moments
Failure - Device is not connected or not responding.

Have you tried MFDeploy?

@ Mike -

Thanks …

Tried it but the same thing.
Cannot connect to the Raptor.

Guess I must get a new Raptor…

What do you see in Device Manager when you try to put it in bootloader mode ?

@ andre.m -

but sam-ba is the right one

Not sure, but I believe that this is the first time I saw the Bossa Program Port. I thought it had something to do with 2015 R1 Pre-Release 3.

I have never used sam-bd directly so I would have to research it. Is there info here that you can direct me to?

As a note: My Raptor is up and running.
I Have no idea why but it finally showed up (and stayed there) in Universal Serial Bus devices as G400.

In desperation…
I quickly pressed/released the LDR0 and LDR1 buttons (and at the same time quickly pressed reset) many times.
FEZConfig finally connected to the USB port and I was able to reinstall the firmware.

Thanks!

@ andre.m -

Thanks for the link.

I was aware of that document and I have always used FEZConfig with success on my Raptor

@ willgeorge -

I prefer there should check status of a button before doing anything when coding. After everything is done well then remove that button.

@ Dat -

I usually use the button approach. But for some reason did not.

Is there any information about BitConverter? Is it useable at all with the new SDK and Firmware?

@ willgeorge - BitConverter is part of Microsoft’s code in NETMF, we don’t change any of it, so it’s likely a bug with them. To be sure though, you can always test it on another board.

The Bossa programming port is used to update TinyBooter with the script found at C:\Program Files (x86)\GHI Electronics\NETMF v4.3 SDK\Firmwares\G400\Update Loader.bat (for the 2015 R1 SDK).

When you do deploy a program that crashes the board, you can hold down LDR1 I believe to enter TinyBooter mode. From there, you can use FEZ Config to erase your application.

@ John -
Thank you for the update…

you can hold down LDR1 I believe to enter TinyBooter mode. That must be why I finally got my Raptor working again.
I was banging on LDR0 and LDR1 while pressing the reset button.