<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<TITLE>Production and testing: Flashing</TITLE>
<BODY bgcolor="#ffffff" link="#000000" vlink="#404040">

<INCLUDE file="style.inc">

<PAGE_BAR title="Production and testing">
  <PAGE_ITEM href="setup.html">Software setup</PAGE_ITEM>
  <PAGE_CURR href="flash.html">Flashing</PAGE_CURR>
  <PAGE_ITEM href="test.html">Functional test</PAGE_ITEM>
  <PAGE_ITEM href="analysis.html">Fault analysis</PAGE_ITEM>
</PAGE_BAR>

<SECTION_BAR>
  <SECTION_ITEM href="#intro">Introduction</SECTION_ITEM>
  <SECTION_ITEM href="#boot">Boot loader</SECTION_ITEM>
  <SECTION_ITEM href="#app">Application</SECTION_ITEM>
</SECTION_BAR>


<!-- ====================================================================== -->


<SECTION ref="intro" title="Introduction">

The microcontroller of <B>atusb</B> contains firmware that must be
loaded before the testing process can commence. The firmware consists
of the following two parts:
<OL>
  <LI>The boot loader (via serial programming, using avrdude)
  <LI>The application (via DFU, using dfu-util)
</OL>
<P>
Note that <B>atben</B> has no microcontroller and therefore does not need
any flashing.


<!-- ====================================================================== -->


<SECTION ref="boot" title="Flashing the boot loader">

The following image shows the setup for flashing the boot loader:
<P>
<IMG src="setup-C.png">
<P>
To flash the boot loader,
<UL>
  <LI>insert the <B>atusb-pgm</B> board into the Ben
  <LI>place the <B>atusb</B> board (DUT) on the table near the Ben,
    without connecting it to USB
  <LI>place <B>atusb-pgm</B> on <B>atusb</B> as shown in the image below
    and gently push it on the contacts
    <P>
    <A href="atusb-programming.jpg"><IMG
      src="atusb-programming.jpg" width="250"></A>
    <P>
  <LI>finally, <SAMP>cd</SAMP> to <SAMP>ben-wpan/prod/</SAMP> and run
    <PRE>
    make flash
    </PRE>
</UL>
<P>
The flashing takes about 20-30 seconds. If it should fail, make sure you
properly placed <B>atusb-pgm</B> and try again. If it keeps on failing,
remove <B>atusb-pgm</B> from the Ben and insert it again.
If flashing fails despite numerous attempts, proceed to the
<A href="analysis.html">fault analysis</A>.


<!-- ====================================================================== -->


<SECTION ref="app" title="Flashing the application">

The flashing script proceeds automatically to the flashing of the
application. All you need to do is insert the <B>atusb</B> board
into the PC:
<P>
<IMG src="setup-D.png">
<P>
The flashing script will wait up to 30 seconds for enumeration.
Once the <B>atusb</B> board has been detected, the script transfers
the application with DFU. After this, you can proceed with the
<A href="test.html">functional test</A>.
<P>
If the board fails to enumerate, proceed with the
<A href="analysis.html">fault analysis</A>.

<END author="Werner Almesberger" date="<GEN_DATE>">
</BODY>
</HTML>
