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

Connecting the Shield Base Module to run alone


  • Please log in to reply
9 replies to this topic

#1 Stefan

Stefan

    Moderator

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

Posted 26 March 2012 - 08:35 AM

One of the possible Netduino Go! hacks is to make the Netduino Go! Shield Base Module run stand-alone. The current Shield Base Module has a STM32F205 chip on board which is able to run the .NET Micro Framework. Full specs of the chip can be found at http://www.st.com/st...AL&ClassID=1734
Warning: This method worked on my Shield Base rev. A board. It comes with no guarantees!

You need to build a simple circuitry to do this. you could do it like this:
Now connect it like this:
  • Go! Socket pin 1 to be connected to 3.3V
  • Go! Socket pin 2 to be connected to 5V (labeled VCC on the breakout board)
  • Go! Socket pin 3 to be connected to a button, which switches to 3.3V (to be able to enter Bootloader mode, the breakout board has two 3.3V pins. How convenient!)
  • Go! Socket pin 4 to be connected to TX-O
  • Go! Socket pin 5 to be connected to RX-I
  • Go! Socket pin 10 to be connected to Gnd
Attached File  shieldbasehack.jpg   132.81KB   156 downloads

To make it work stand-alone, follow these steps:
  • Build the circuitry as mentioned above
  • Download and install the STM32 and STM8 Flash loader demonstrator
  • Hold the push button and put power to the circuitry. By pushing the button, you'll enable the bootloader mode
  • Start the Flash Loader Demonstrator app, select the right COM-port and click.
  • A message will say: "Target is readable. Click "Next" to proceed.". Do so.
  • Select STM32F2_512K as target and click Next again.
    Now you can both upload and download data to and from the chip. A warning though, the terms uploading and downloading are from the chips perspective. So if you upload, you're transferring data from the chip to your PC.
  • First, it's wise to backup the current firmware. Select Upload from device, click on the browse icon and select a location to store it to. As file type you could use .s19 files. You want to export it's full memory, so check everything, and click OK. Now click Next to store the firmware.
    When it's done, you can just click Back to go back to the previous window.
  • Now, we can flash the module. Check Download to device and browse to the file. Now click Next again.
  • After this is done, powercycle the module to release bootloader mode
Congratulations! You now have the fastest Netduino Classic and can now deploy .NETMF apps over the serial connection!

Attached you'll find:
You could place the attached project template into your project template folder (probably something like: %USERPROFILE%\Documents\Visual Studio 2010\Templates\ProjectTemplates\Visual C#\Micro Framework)

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

#2 Mattster

Mattster

    Advanced Member

  • Members
  • PipPipPip
  • 46 posts
  • Locationusually South Florida

Posted 05 April 2012 - 01:12 AM

So I imagine that some (many?) of the other modules can be made to run standalone?

#3 Stefan

Stefan

    Moderator

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

Posted 05 April 2012 - 06:33 AM

So I imagine that some (many?) of the other modules can be made to run standalone?

It's not impossible, but to run stand-alone you'll require both input and output signals. The Shieldbase has all of this, in an Arduino form factor. That's why, for this module, it's a good option to run standalone.
"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

#4 Mattster

Mattster

    Advanced Member

  • Members
  • PipPipPip
  • 46 posts
  • Locationusually South Florida

Posted 05 April 2012 - 12:36 PM

Let me re-ask that one - standalone is not exactly what I was thinking. I presume there is an ability to get in and reprogram the coprocessors? BTW, what CPU is used? Are they all the STM8S?

#5 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 05 April 2012 - 02:04 PM

Hi Mattster,

Let me re-ask that one - standalone is not exactly what I was thinking. I presume there is an ability to get in and reprogram the coprocessors? BTW, what CPU is used? Are they all the STM8S?

Oh yes, absolutely. We've exposed the SWIM program/debug pins for the STM8S modules on the UART pins. SWIM is on UART_TX and /RESET is on UART_RX. If you breakout the socket and tie your STLink/V2 debugger to those two pins (and VCC/GND), you can actually debug the STM8S device while using it from the Netduino Go mainboard. It's pretty slick.

The current modules are all based on STM8S and STM32F2. We'll be adding more microcontrollers to this list over the next few months. Stay tuned :)

Chris

#6 Mattster

Mattster

    Advanced Member

  • Members
  • PipPipPip
  • 46 posts
  • Locationusually South Florida

Posted 05 April 2012 - 04:10 PM

Is the STLink/V2 the same thing as a Segger Jlink?

#7 Mattster

Mattster

    Advanced Member

  • Members
  • PipPipPip
  • 46 posts
  • Locationusually South Florida

Posted 05 April 2012 - 07:36 PM

Never mind - my Segger can sit on the shelf and collect dust. The STLink/V2 is $21 at Mouser. Just ordered one.

#8 gbreder

gbreder

    Advanced Member

  • Members
  • PipPipPip
  • 53 posts
  • LocationGermany

Posted 07 March 2013 - 10:41 PM

Hi Stefan,

after I read the post nearly a year ago I immediately bought two extra shieldbases for my Netduino Go. They were both very busy gathering dust since then. A few days ago i tried your shieldbase hacking with my FTDI adapter board. No success with the connection. There are a few question I would like to ask:

  • What are the correct settings in the Flash Loader: baud, parity, echo, timeout?
  • Must the reset "button" be released after power up? Do I have to pull the jumper wire which pulls reset to 3V3 before connecting with Flash Loader?
  • What are the differences between the file formats ".s19", ".dfu" and the embedded resources of the normal shield base update solution for Visual Studio
  • Can I convert a firmware file from one format to another?
  • Is the new Netduino 2 firmware compatible to the shield base? The MCU is the same and there is the schematic of the Netduino 2 but I haven't found any Schematics for the shieldbase. :(
  • Can a ".dfu" file be deployed to the shieldbase.

Thanks in advance for your help.

 

Regards

Guido



#9 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 08 March 2013 - 06:04 AM

Hi Guido, A few notes for you... To flash Shield Base with custom firmware, you can either flash via the GoPort header (using an external 3.3V UART connection--driving pin 3 high during boot) or solder on a MiniJTAG header and flash via JTAG/SWD. .S19 files are Motorola HEX files. These contain the binary image for your board. .DFU files are sets of one or more .S19 (or .BIN) files in an ST file format. You will generally only work with .S19 or .BIN files when deploying to the Shield Base. DFU files are generally deployed via USB. Electrically, the new Netduino 2 is basically a Shield Base with an upgraded MCU, power barrel, and MicroUSB port. It also has two extra pins that make up the dedicated I2C bus (SDA/SCL). Chris

#10 gbreder

gbreder

    Advanced Member

  • Members
  • PipPipPip
  • 53 posts
  • LocationGermany

Posted 08 March 2013 - 10:40 PM

Hi Chris,

Thanks for your quick reply.

I've
converted the original DFU file of the Netduino 2 Firmware (v4.3.0.0
Beta1) to a S19 file. Then I was able to deploy the converted file via
the Flash Loader to the shield base. The settings were default (115200
boud, even parity, echo disabled, timeout 10s).

 

Now I've hit a wall. How do I deploy an application to my shield base? The N2 accepts data from the USB but on the shieldbase the pins PA11 and PA12 (which are used for USB on the N2) are pulled high to 3V3.

 

Do I deploy the application through Digital I/O 0 and 1 or through the GoSocket? On Stefans firmware the application will be deployed through the GoPort. Nice, you can use the same connection as for flashing the firmware

 

And is there a tutorial to build a firmware with a custom deployment mode? Ah I've found the firmware tutorial: http://wiki.netduino...-6.ashx?HL=base

 

Do I have to build my own firmware from the sources? My converted firmware does obviously neither support dedicated I2C because the pins are not connected nor does it allow an deployment because it expects data on PA11/PA12.

 

Thanks again

Guido






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.