Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

NetduinoUpdate command-line prototype for Mac OS X and Linux


  • Please log in to reply
1 reply to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 06 September 2010 - 08:25 PM

We are working on a new "Netduino Update" application which will make it even easier to upgrade firmware on the Netduino.

We wanted to make it work with Mac and Linux. This afternoon, we successfully flashed the .NET Micro Framework runtime onto a Netduino using Mac OS X--and using Ubuntu Linux.

[ NOTE: We have also posted MFDeploy v4.1 (alpha 1) for Mac and Linux. MFDeploy enables firmware flashing of Netduino via its GUI. ]

WARNING: this is prototype code. It is meant for our "early adopter hackers" who would like to see some of the community's preliminary work getting .NET Micro Framework support working natively on the Mac and Linux. If you are not a power user, do not use this code.

I have attached an early prototype console version of this tool. It has the following limitations:
1. The serial port is manually specified in code (in two places)
2. The path to the Netduino firmware (ER_CONFIG and ER_FLASH) is manually specified in code
3. MAC OS X: the Mono runtime on Mac requires a patch file for serial support to work (patch is attached).

We tested using Mono v2.6.7 and MonoDevelop 2.4 on a Macbook running OS X 10.6.4 and on a notebook running Ubuntu Linux 10.10 (beta). We used a KeySpan USA-19HS serial adapter plugged into a CuteDigi RS232 shield. The Netduino was flashed with the v4.1.0.2 "serial" TinyBooterDecompressor.

This is prototype code. Your results may vary.

Instructions:
1. Make sure you have Mono v2.6.7 installed on your computer (it comes with Ubuntu 10.10)
2. Make sure you have MonoDevelop v2.4 installed on your computer
3. MAC OS X ONLY: Download the libMonoPosixHelper.dylib.zip file. Unzip and write over the existing file in /Library/Frameworks/Mono.framework/Versions/Current/lib. This patchfile is for Mono v2.6.x on the Mac only.
4. Download the Netduino "SERIAL" TinyBooterDecompressor and Netduino firmware. v4.1.0.2 firmware is here.
5. Flash your Netduino using the "SERIAL" TinyBooterDecompressor. On Mac OS X, you'll need to use a Virtual Machine using Windows (sorry, we're working on making a tool for Mac to do this too). SAM-BA is available for Linux so you can do this natively--but there may be compatibility issues with SAM-BA and various serial adapters (so you may want to use a VM with Windows instead).
6. Download the NetduinoUpdate_Mono_Proto1.zip file (attached). Unzip it to a folder on your computer. We recommend "/Users/[username]/Projects" on Mac and "/home/[username]/Projects" on Linux.
7. Open the NetduinoUpdate.sln file in MonoDevelop.
8. In the NetduinoUpdate project, modify Program.cs as follows:
8[a]. Replace the two "selFiles.Add(...)" function calls in lines 27-28 with the full path to your Netduino SERIAL firmware files
8[b]. Replace the "new MFSerialPort(...)" constructor call in line 48 with the full path to your serial port.
9. In the Debugger, project, modify Streams.cs as follows:
9[a]. Replace the "CreateInstanceForSerial(...)" function call in line 638 with the full path to your serial port.
10. Build your project in MonoDevelop, attach your Netduino via serial cable, and run the sample.

You should now see your Netduino being flashed with the serial firmware using 100% C# code, running natively under Mono on the Mac/Linux.

That's "first light" for us. More to come. Enjoy, and please let us know how this works for you.

Chris

Attached Files



#2 lynxeyed_atsu

lynxeyed_atsu

    New Member

  • Members
  • Pip
  • 5 posts

Posted 26 September 2010 - 10:57 AM

Hi Chris, I found "mchelper" is perfect alternative to SAM-BA! If we're using Mac OS X and having no Windows, no VM. mchelper is made to program MAKE CONTROLLER; But We can use this for netduino because its core is AT91SAM7X. But we must completely erase netduinos bootloader before program. We can download from this site, http://www.makingthi...rces/downloads/ Regards, Atsushi Saitoh




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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