Problem is the infinite deploy. I cannot get any code to deploy at all. I can get code onto my FEZ Mini, but nothing onto the Cerbuino.
Also, every interaction I have with the Cerbuino seems to be really slow. Slow pinging, slow firmware update, slow reboot, slow whatever…
On FEZ Cerbuino Bee
Completely uninstalled all gHI SDKs and the Framework.
Did a clean install of NET MF 4.2 QFE 2
Installed GHI NETMF v4.2 and .NET Gadgeteer Package (RC2 8-24-2012)
Create Vanilla MF Console App, making no changes
Select to deploy to the Cerbuino
Right-click->Deploy from Visual Studio
The Cerbuino has DFU 4.2.3.1
Also, I plugged it in to a different laptop (that I don’t have access to) and it worked. The only difference I can think of is it was running 32bit windows.
While USB specifications say ports should provide 500mA, we rarely see a port that can actually provide 500mA. We always recommend the use of powered hubs or a power pack instead of relying on the USB power. Use a powered hub from a known brand, not a cheap hub. If your device has the option of using a power pack (for example the USB Client DP Module) then you can use a power pack instead. 9V 1A is typically recommended but check the bottom of the circuit board for printed voltage range. All power connectors on GHI products are 2.1mm with positive on the inside and negative on the outer ring.
Not using a powered hub or power pack can cause:
[ul]Unexplained behavior
Device does not function
Device functions intermittently
Device functions but network fails
Device functions but SD card fails
Device functions but firmware update fails[/ul]
(Generated by QuickReply)
It’s probably the power thing, I had similar issues until trying with a powered USB hub. Doesn’t need to be fancy–I’m using a cheap one from Microcenter–just as long as it has its own power supply.
Is that all that is on the board? Did you use MFDeploy to load the firmware? The DFU file (TinyBooter_4_2_3_1.dfu) is only the Tinybooter and not a complete firmware. You cannot deploy NETMF projects to Tinybooter as it is like the equivalent of Windows Safe Mode, less things initialized to troubleshoot problems on might have.
Plus, do not forget one of the most important steps and use Create from Map to erase the complete chip because just having one incorrect byte can cause unforeseen issues.
Perhaps this is a good clue. I got a new FEZ Panda II and immediately deployed successfully to it. After successfully experimenting with a few programs, but using the same Visual Studio Solution, I opened a brand new Solution and I could not deploy (getting the error again).
I went to MFDeploy and clicked “Erase” but it did not help. I did the USBizi firmware update again (even though it was up to date), deleting my deployed application, and I still could not deploy.
So what I am wondering is, how can I confirm 100% that I have erased my deployment all the way? Maybe I am leaving something behind each time still.
The only way you can confirm if the deployment is fully erased is to do a data dump. Follow these steps to do a data dump:
Use DFU Tester and put the Cerb board into DFU mode.
Click the Protocol tab as if you are updating the firmware.
Instead of clicking Create from Map you will click Create Empty. What you should see are 4 tabs that say Alt St 0 | Alt St 1 | Alt St 2 | Alt St 3.
Right click on ALT St 0 and click Insert Element. You will see a tab that says Element 0 with address start and stop locations and a length.
Enter 08000000 in the Start Address text box.
Enter 1048576 (1024 kB) in the Length text box.
Click on the Upload radio button and then click Go and the complete memory core is dumped.
After the dump, click on the To bin file button below the [em]Length[/em] entry field and save the file to a bin file and you can use any hex editor to determine if there is anything other than all 0xFF in the deploy region.
Just look at A0000 to the end of the file and see if all data is erased. If there is a huge chunk of 0xFF after this address in the file then the data is erased but seek to see if there may be a byte or two that were not erased.