SEARCH
TOOLBOX
LANGUAGES
modified on 3 September 2013 at 18:30 ••• 83,873 views

Bambino-200 Manual/Updating Firmware

From Manuals

(Difference between revisions)
Jump to: navigation, search
(Updating Firmware)
 
(8 intermediate revisions not shown)
Line 1: Line 1:
-
[[Category: Bambino-200_Manual|4]]
+
[[Category: Bambino-200_Manual|04]]
==Updating Firmware==
==Updating Firmware==
-
The Bambino 200 firmwarte can be updated using the standalone [http://www.micromint.com/updates/bambino/dfusec.zip NXP DFU Flash Programmer]. This tool is convenient for applications that need to install firmware in multiple boards to be deployed in the field. It also allows developers to update the bootloader and firmware to a current version. NetMF applications can install the TinyBooter firmare from the SDK at '''C:\Program Files (x86)\Micromint\SDK\Bambino200\Firmware'''. Other applications can install their corresponding firmware using this flash programmer. To update firmware via DFU, please follow these steps:
+
The Bambino 200 firmwarte can be updated via the primary USB port using the standalone [http://www.micromint.com/updates/bambino/dfusec.zip NXP DFU Flash Programmer]. This tool is a simple alternative to update firmware in boards deplayed in the field. It also allows NetMF developers to update the [http://www.micromint.com/updates/bambino/200/TinyCLR-4.2.0.2.bin TinyCLR firmware] to a current version. Other applications can install their corresponding firmware using this flash programmer. To update firmware via DFU, please follow these steps:
1. Install the DFU Flash Programmer to a directory in your hard disk. Currently the NXP DFU programmer is only available for Windows.
1. Install the DFU Flash Programmer to a directory in your hard disk. Currently the NXP DFU programmer is only available for Windows.
-
2. Place the board in USB boot mode by placing a jumper wire between the two contacts labelled "Boot JP1" (Figure 4-1). If you will be doing frequent updates, you may consider soldering a 2-pin header on that position and use a jumper to enter the USB boot mode.
+
2. Place the board in USB boot mode by shorting the two contacts labelled "Boot JP1" as shown below while pressing and releasing the RESET button. Metal tweezers work great for shorting the two contacts. If you will be doing frequent updates, you may consider soldering a 2-pin header in and use a jumper to enter the USB boot mode.
[[Image:Bam200-JP1.png|center|alt=Boot Jumper (JP1)|frame|<div align="center">'''Boot Jumper]]</div>
[[Image:Bam200-JP1.png|center|alt=Boot Jumper (JP1)|frame|<div align="center">'''Boot Jumper]]</div>
-
3. Press the reset button. An entry "LPC USB" should then appear in the Windows Device Manager (Figure 4-1). If your device is not recognized, please check that you have the  [http://wiki.micromint.com/index.php/Bambino_Documentation#Drivers USB Drivers] installed.
+
3. An entry "LPC USB" should appear in the Windows Device Manager. If your device is not recognized, please check that you have the  [http://www.micromint.com/updates/bambino/bambino-drivers.zip USB Drivers] installed.
[[Image:LPC-USB.png|center|alt=LPC USB Device|frame|<div align="center">'''LPC USB device]]</div>
[[Image:LPC-USB.png|center|alt=LPC USB Device|frame|<div align="center">'''LPC USB device]]</div>
Line 17: Line 17:
[[Image:LPC-DFU.png|center|alt=LPC DFU Flash Programmer|frame|<div align="center">'''LPC DFU Flash Programmer]]</div>
[[Image:LPC-DFU.png|center|alt=LPC DFU Flash Programmer|frame|<div align="center">'''LPC DFU Flash Programmer]]</div>
-
5. Use the following parameters and press START. You may need to use full paths for the algorithm (*.hdr) and firmware (*.bin) files.
+
5. Use the following parameters and press START. You may need to use full paths for the algorithm (*.hdr) and firmware (*.bin) files. If you want to maintain deployed assemblies when updating TinyCLR, reduce the size to 0x070000 so the rest of the flash is not updated.
   Algorithm: .\Programming_algorithms\iram_dfu_util_spiflash.bin.hdr
   Algorithm: .\Programming_algorithms\iram_dfu_util_spiflash.bin.hdr
Line 28: Line 28:
   No checkboxes neede
   No checkboxes neede
-
You can test the procedure using the the device with the file listed below.
+
You can test the procedure using the file listed below.
: .\Prebuilt_examples\bambino200\blinky_spifi_bambino_200.bin  
: .\Prebuilt_examples\bambino200\blinky_spifi_bambino_200.bin  
-
5. After the flash is complete, exit the utility, remove the boot jumper, and reset your board.
+
5. After the flash is complete, exit the utility, remove the boot jumper, and reset your board. You need to press RESET twice due to an issue documented in the [http://www.nxp.com/documents/errata_sheet/ES_LPC43X0.pdf LPC43X0 Errata] for boards booting from SPIFI flash.
-
==Updating the NetMF TinyCLR==
+
6. Three [http://www.micromint.com/updates/bambino/bambino-drivers.zip USB Drivers] are provided for the Bambino 200. Selecting the top directory allows Windows to select the appropriate one based on the vendor and product ID (VID/PID).
-
For NetMF development, after updating the TinyBooter firmware you can update the TinyCLR using the [http://msdn.microsoft.com/en-us/library/ee435046.aspx Micro Framework Deployment Tool (MFDeploy)]. Go to 'Start', 'Programs', 'Microsoft .NET Micro Framework 4.2', 'Tools' and click on the MFDeploy entry. Select USB as the device type and Bambino 200_Gadgeteer. You should see a display similar to the one below:
+
-
[[Image:Bam200-MFDeploy.png|center|alt=MF Deploy|frame|<div align="center">'''MF Deploy]]</div>
+
{| border="1" cellpadding="2" cellspacing="2" align="center"
 +
|+ align="bottom"|USB Drivers
 +
|-
 +
!Driver
 +
!Directory
 +
!Purpose
 +
|-
 +
|WinUSB
 +
|WinUSB\BambinoUSB.inf
 +
|Default NetMF driver
 +
|-
 +
|CDC
 +
|VCom\LpcVcom.inf
 +
|Alternate NetMF driver
 +
|-
 +
|DFU
 +
|WinUSB\LpcDevice.inf
 +
|Flash programmer
 +
|}
-
Go to the image file field, click 'Browse' and select the firmware files on ''''C:\Program Files (x86)\Micromint\SDK\Bambino200\Firmware'''. Select config.hex and firmware.hex, click 'Deploy' to update the TinyCLR on your board.
 
----
----
[[Bambino-200_Manual/Rebuild Firmware|NEXT: Rebuild NetMF Firmware]]
[[Bambino-200_Manual/Rebuild Firmware|NEXT: Rebuild NetMF Firmware]]
[[Bambino-200_Manual/Getting Started mbed|PREVIOUS: Getting Started - mbed Applications]]
[[Bambino-200_Manual/Getting Started mbed|PREVIOUS: Getting Started - mbed Applications]]

Current revision as of 18:30, 3 September 2013

Updating Firmware

The Bambino 200 firmwarte can be updated via the primary USB port using the standalone NXP DFU Flash Programmer. This tool is a simple alternative to update firmware in boards deplayed in the field. It also allows NetMF developers to update the TinyCLR firmware to a current version. Other applications can install their corresponding firmware using this flash programmer. To update firmware via DFU, please follow these steps:

1. Install the DFU Flash Programmer to a directory in your hard disk. Currently the NXP DFU programmer is only available for Windows.

2. Place the board in USB boot mode by shorting the two contacts labelled "Boot JP1" as shown below while pressing and releasing the RESET button. Metal tweezers work great for shorting the two contacts. If you will be doing frequent updates, you may consider soldering a 2-pin header in and use a jumper to enter the USB boot mode.

Boot Jumper (JP1)
Boot Jumper

3. An entry "LPC USB" should appear in the Windows Device Manager. If your device is not recognized, please check that you have the USB Drivers installed.

LPC USB Device
LPC USB device

4. Run lpc_dfutil.exe in the dfusec folder. You should see "HIGH SPEED USB" in the status bar indicating it was able to connect to the board.

LPC DFU Flash Programmer
LPC DFU Flash Programmer

5. Use the following parameters and press START. You may need to use full paths for the algorithm (*.hdr) and firmware (*.bin) files. If you want to maintain deployed assemblies when updating TinyCLR, reduce the size to 0x070000 so the rest of the flash is not updated.

 Algorithm: .\Programming_algorithms\iram_dfu_util_spiflash.bin.hdr
 File: <Path and name of firmware to be copied to flash>
 Address: 0x14000000
 Size:    0x00400000
 Param:   0x00000000
 Device erase: Region
 Operation after: Reset
 No checkboxes neede

You can test the procedure using the file listed below.

.\Prebuilt_examples\bambino200\blinky_spifi_bambino_200.bin

5. After the flash is complete, exit the utility, remove the boot jumper, and reset your board. You need to press RESET twice due to an issue documented in the LPC43X0 Errata for boards booting from SPIFI flash.

6. Three USB Drivers are provided for the Bambino 200. Selecting the top directory allows Windows to select the appropriate one based on the vendor and product ID (VID/PID).

USB Drivers
Driver Directory Purpose
WinUSB WinUSB\BambinoUSB.inf Default NetMF driver
CDC VCom\LpcVcom.inf Alternate NetMF driver
DFU WinUSB\LpcDevice.inf Flash programmer

NEXT: Rebuild NetMF Firmware

PREVIOUS: Getting Started - mbed Applications