Netduino home hardware projects downloads community

Jump to content


Photo

Netduino Mini Firmware v4.1.1 BETA 1


  • Please log in to reply
12 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 6866 posts
  • LocationNew York, NY

Posted 26 March 2011 - 08:39 AM

CRITICAL NOTE FOR THIS BETA
This update makes some significant changes to the serialport code inside your Netduino Mini.
You must deploy the NetduinoMiniTransportSelector project (attached) to your Netduino Mini before performing this upgrade.
This will allow you to reselect your deployment port after upgrading your Netduino Mini.

IMPORTANT NOTE: select the appropriate firmware zip file (RS232 or TTL) based on the deployment port you are currently using (RS232 = pins 1 and 2; 3.3V TTL UART = pins 11 and 12).

Version: 4.1.1 BETA 1 (version 4.1.1.0 b1)

A BIG THANK YOU to the following community members:
  • KodeDaemon (David Stetz) who contributed SD card enhancements to support 4GB SDHC cards (8GB+ cards may work...but not tested).
  • CW2 who contributed his I2C "repeated start bit" enhancements.
WARNING: This firmware is pre-release firmware. It may temporarily cause your Netduino Mini to cease functioning properly. If this firmware does not work for you, you will likely need to erase your Netduino Mini completely and re-flash the production v4.1.0.6 bootloader using Atmel SAM-BA tools (on a 32-bit Windows installation) and the production v4.1.0.6 firmware using MFDeploy. Reflashing a Netduino Mini after a full erase requires an RS232 connection to your Netduino Mini.

With that warning out of the way, we've added the first two new features to the Netduino Mini: SD/FAT16/FAT32 support and variable bit SPI. We have also added support for "repeated start bit" I2C (courtesy of CW2).

If you're an early adopter and would like to help us test and refine this new feature, this beta release may be for you.

With this firmware, you will have the following resources available for your code:
152KB Flash
70KB RAM

This firmware includes the following updates:
1. Early support for some 4GB+ MicroSD cards (courtesy of community member KodeDaemon)
2. SerialPorts should now work properly; if not, please let us know in this post.

This firmware also includes the following previous updates
1. Bugfixes: SerialPort.DataReceived event should now fire properly
2. I2C internal address ("repeated start bit") support
3. Bugfixes: SerialPort.Read() timeout now implemented properly
4. Bugfix: SD card support no longer interferes with pin 12
5. Variable-bit SPI (9 to 15 bit) capabilities
6. SD card support using SPI
7. RS232 and TTL UART deployment now selectable via software tool
8. Garbage collection 'status messages' updated
9. .NET MF 4.1 Post-QFE1 HAL bugfixes
10. SPI bugfixes

To find the current version of your Netduino Mini firmware:
1. Go to the Start Menu > Programs > Microsoft .NET Micro Framework 4.1 > Tools
2. Run MFDeploy.exe. Be careful to run MFDeploy.exe and not MFDeploy.exe.config (as file extensions are hidden by default)
3. Plug your Netduino Mini into your PC using an RS232 or TTL UART cable.
4. In the Device section at top, select Serial. Select the serial port assigned to your RS232 or TTL UART cable.
5. Select the Target menu, Device Capabilities option.
6. In the output box, find the "SolutionReleaseInfo.solutionVersion" value. This is your firmware version.

Users of firmware version 4.1.0.6 or earlier may update to this new firmware using the MFDeploy tool:
1. Download and unzip the attached file to a directory on your computer.
2. Go to the Start Menu > Programs > Microsoft .NET Micro Framework 4.1 > Tools
3. Run MFDeploy.exe. Be careful to run MFDeploy.exe and not MFDeploy.exe.config (as file extensions are hidden by default)
3. Plug your Netduino Mini into your PC using an RS232 or TTL UART cable.
4. In the Device section at top, select Serial. Select the serial port assigned to your RS232 or TTL UART cable.
6. Click "Browse..." and select the unzipped files from step #1 (ER_CONFIG and ER_FLASH).
7. Press "Deploy". It will take a few minutes to update your Netduino.

Attached Files



#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 6866 posts
  • LocationNew York, NY

Posted 26 March 2011 - 08:42 AM

Notes on new SD card support
This firmware includes support for SD cards and System.IO filesystem support.

It includes two functions in the new SecretLabs.NETMF.IO namespace:
StorageDevice.MountSD(...);
StorageDevice.Unmount(...);

Both the MountSD(...) and Unmount(...) features are fully implemented.

You will need to manually add the SecretLabs.NETMF.IO assembly as a reference in your project to use the SD feature. You will also need to add the System.IO assembly.

Notes on SDHC (4GB+ SD card) support
Community member KodeDaemon has graciously contributed enhancements to the SD implementation to support some MicroSDHC cards (4GB+). This feature is new and has not been extensively tested. Please post here with the make and model of your SDHC card if it works (or if it doesn't work). Please make sure it is formatted as FAT32.

Notes on new "variable bit SPI" feature:
We've created an "ExtendedSpiConfiguration" class. To use it:
1. Add the attached ExtendedSpiConfiguration.cs class to your project.
2. Instead of creating a SPI.Configuration instance, use ExtendedSpiConfiguration. It is a subclass of SPI.Configuration and can be used in its place.
3. In the ExtendedSpiConfiguration constructor, you can provide the number of bits per transfer (data bits) as the final paramter.

Notes on new "I2C internal address/repeated start bit" feature:
To use the enhanced I2C capabilities, we've posted a set of easy-to-use functions in another thread.

Please note that we will be including the final version of these new classes in the Netduino v4.1.1 SDK--so you will not need to add them manually. Also, we may change the names of classes, methods, etc.

If you use these new features, please post your experiences here...

Attached Files



#3 Fred

Fred

    Advanced Member

  • Members
  • PipPipPip
  • 290 posts
  • LocationUK

Posted 27 March 2011 - 12:25 PM

Chris,

I uploaded the TransportSelector application and then flashed the firmware (RS232) and I'm getting some strange behaviour.

MFDeploy - No reponse from ping.
Visual Studio - can't deploy
Hyperterminal (RS232 115200 8,0,1,none) gives the following output:

.NetMF v4.1.2821.0
NetduinoMini, Build Date:
Mar 26 2011 02:02:39
ARM Compiler version 400902

TinyCLR (Build 4.1.2821.0)

Starting...
Created EE.
Started Hardware.
MSdbgV1NIÐBvˆÏ`aÊMSdbgV1Hª&EvˆÏ`aÊMSdbgV1B=MvˆÏ`aÊMSdbgV1DlËJvˆÏ`aÊMSdbg
V1VÃ…
]vˆÏ`aÊMSdbgV1P&ýZvˆÏ`aÊMSdbgV1ZæRvˆÏ`aÊMSdbgV1\àUvˆÏ`aÊMSdbgV1~Qg}v
ˆÏaÊMSdbgV1x²‘zvˆÏ` aÊMSdbgV1r—ŠrvˆÏ`
aÊMSdbgV1tt|uvˆÏ`
aÊMSdbgV1fݼbvˆ
{more gibberish removed}
aÊMSdbgV1jmvˆÏ`aÊMSdbgV1lø§jvˆÏ`aÊMSdbgV1.y¾=vˆÏ`aÊMSdbgV1(šH:vˆÏ`aÊMSd
bgV1"¿S2vˆÏ`aÊMSdbgV1$\¥5vˆÏ`aÊNo debugger!
Create TS.
Loading start at 1380ac, end 14a4f0
Attaching file.
Assembly: mscorlib (4.1.2821.0) (3880 RAM - 33236 ROM - 19134 METADATA)

Attaching file.
Assembly: Microsoft.SPOT.Native (4.1.2821.0) (1144 RAM - 6516 ROM - 4479 METADATA)

Attaching file.
Assembly: Microsoft.SPOT.Hardware (4.1.2821.0) (1760 RAM - 11552 ROM - 7395 METADATA)

Attaching file.
Assembly: Microsoft.SPOT.Hardware.SerialPort (4.1.2821.0) (512 RAM - 3488 ROM - 1543 METADATA)

Attaching file.
Assembly: Microsoft.SPOT.IO (4.1.2821.0) (740 RAM - 4620 ROM - 2522 METADATA)

Attaching file.
Assembly: System.IO (4.1.2821.0) (1548 RAM - 13292 ROM - 5862 METADATA)

Attaching file.
Assembly: SecretLabs.NETMF.Hardware (4.1.0.0) (256 RAM - 1108 ROM - 491 METADATA)

Attaching file.
Assembly: SecretLabs.NETMF.Diagnostics (4.1.0.0) (180 RAM - 440 ROM - 166 METADATA)

Attaching file.
Assembly: SecretLabs.NETMF.IO (4.1.0.0) (220 RAM - 564 ROM - 279 METADATA)

Loading Deployment Assemblies.
Attaching deployed file.
Assembly: NetduinoMiniTransportSelector (1.0.0.0) (244 RAM - 1168 ROM - 310 METADATA)

Resolving.

Total: (9008 RAM - 75984 ROM - 42181 METADATA)


Total: (9008 RAM - 75984 ROM - 42181 METADATA)

Ready.


Any ideas? It looks like the deployment selector is running, but also seems to give some strange output that's like a mismatched baud rate. Then it's unresponsive.

I've got 2 minis and this is the one that has seemed a bit temperamental in the past, but I don't want to try flashing the other one right now as I'm in the middle of a project.

#4 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 6866 posts
  • LocationNew York, NY

Posted 27 March 2011 - 03:46 PM

Hi Fred, The gibberish is probably the normal debugwire protocol stream. My best guess is that your COM port is being used by some other program (perhaps Hyperterminal), causing MFDeploy and Visual Studio to not be able to deploy. Please try rebooting your computer to close and see if that fixes it. Alternatively, try erasing the board completely and then reflashing the bootloader using MFDeploy. Finally...I just uploaded a new version of the NetduinoMiniTransportSelector. Please try using this new version instead. [The old version may have swapped ports for you backwards). Chris

#5 Fabien Royer

Fabien Royer

    Advanced Member

  • Members
  • PipPipPip
  • 406 posts
  • LocationRedmond, WA

Posted 10 April 2011 - 12:00 AM

Hi Chris, I'm unable to build the the NetduinoMiniTransportSelector project: the SecretLabs.NETMF.Diagnostics assembly is missing. Can you please share it / add it to the project? Thanks, -Fabien.

#6 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 6866 posts
  • LocationNew York, NY

Posted 10 April 2011 - 03:46 AM

Hi Fabien,

I'm unable to build the the NetduinoMiniTransportSelector project: the SecretLabs.NETMF.Diagnostics assembly is missing. Can you please share it / add it to the project?

Here you go. We'll be sure to add this to the Netduino 4.1.1 SDK when it goes gold as well.

Thanks for all your testing efforts!

Chris

Attached Files



#7 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1961 posts
  • LocationBreda, the Netherlands

Posted 27 May 2011 - 08:12 PM

Hi Fabien,


Here you go. We'll be sure to add this to the Netduino 4.1.1 SDK when it goes gold as well.

Thanks for all your testing efforts!

Chris

So if I add TransportInterface.cs to the NetduinoMiniTransportSelector project, it should work? Trying to get the beta firmware in my mini but getting:

An unhandled exception of type 'System.NotSupportedException' occurred in NetduinoMiniTransportSelector.exe


"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#8 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 6866 posts
  • LocationNew York, NY

Posted 27 May 2011 - 10:21 PM

Hi Stefan,

So if I add TransportInterface.cs to the NetduinoMiniTransportSelector project, it should work? Trying to get the beta firmware in my mini but getting:

You'll want to grab the whole solution and try to deploy it. That should work.

If it does, then make sure you pull the referenced assemblies as well.

If it doesn't work, let me know and I'll help diagnose. Be sure to be on v4.1.0.6+ firmware.

Chris

#9 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1961 posts
  • LocationBreda, the Netherlands

Posted 28 May 2011 - 07:11 AM

If it doesn't work, let me know and I'll help diagnose. Be sure to be on v4.1.0.6+ firmware.

That was a good call, upgraded to 4.1.0.6. I had a very old mini here :)

But when trying to deploy I get errors. The project I deployed is attached.

It breaks on:
public static TransportInterface GetInterface()
        {
            return (TransportInterface)TransportInterface_Get();
with:

The thread '<No Name>' (0x2) has exited with code 0 (0x0).
#### Exception System.NotSupportedException - CLR_E_NOT_SUPPORTED (1) ####
#### Message:
#### SecretLabs.NETMF.Diagnostics.Transport::GetInterface [IP: 0004] ####
#### NetduinoMiniTransportSelector.Program::Main [IP: 0004] ####
A first chance exception of type 'System.NotSupportedException' occurred in NetduinoMiniTransportSelector.exe
An unhandled exception of type 'System.NotSupportedException' occurred in NetduinoMiniTransportSelector.exe

Attached Files


"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#10 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 6866 posts
  • LocationNew York, NY

Posted 30 May 2011 - 09:26 PM

Hi Stefan, You'll need to deploy the SecretLabs.NETMF.Diagnostics assembly as a separate assembly, since it includes P/Invoke (internal method) calls. I've updated the original post in this thread to include the compiled SecretLabs.NETMF.Diagnostics.dll files. Could you please redownload the NetduinoMiniTransportSelect.zip project from the first post and try it out? Thanks Stefan! Chris

#11 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1961 posts
  • LocationBreda, the Netherlands

Posted 30 May 2011 - 10:25 PM

I succeeded. After the DLL issue was solved I got another issue though. Appairently the NetduinoMiniTransportSelector was giving some troubles here. What I did was a couple of resets and pressing the Erase button in MFDeploy. Timing had to be accurate to actually erase the NetduinoMiniTransportSelector app, but after that was done, it worked again. I use the RS232 interface for deployment by the way.
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#12 Zuko

Zuko

    New Member

  • Members
  • Pip
  • 4 posts

Posted 13 July 2012 - 02:43 PM

Hi Fred,

The gibberish is probably the normal debugwire protocol stream.

My best guess is that your COM port is being used by some other program (perhaps Hyperterminal), causing MFDeploy and Visual Studio to not be able to deploy. Please try rebooting your computer to close and see if that fixes it.

Alternatively, try erasing the board completely and then reflashing the bootloader using MFDeploy.

Finally...I just uploaded a new version of the NetduinoMiniTransportSelector. Please try using this new version instead. [The old version may have swapped ports for you backwards).

Chris



I have the same problem after flashing my mini. MFDeploy can't see the mini for me to erase everything. The only thing that sees it is hyper terminal and it gives me the same stuff as was mentioned in the previous post.

#13 Zuko

Zuko

    New Member

  • Members
  • Pip
  • 4 posts

Posted 13 July 2012 - 04:39 PM

I have the same problem after flashing my mini. MFDeploy can't see the mini for me to erase everything. The only thing that sees it is hyper terminal and it gives me the same stuff as was mentioned in the previous post.

After playing around for what seemed like hours I finally loaded the correct boot loader and went with the RS232 version of the mini firmware. The only problem I have now is that the original transport selector app I deploy does not seem to respond and when I run it for the first time it locks out my mini from MFDeploy. I have to flash it all over again just to get it to connect. I wanted to try to use the newer version of the "transport selector" but I can not seem to find it.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2010-2014 Secret Labs LLC  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.