The Eagle 100 SBC is shipped with the Serial-to-Ethernet (S2E) example application from the Luminary DriverLib. This application implements the lwIP TCP/IP stack, a web server and a telnet server directly managing the COM1 serial port. It can be used to test the board functionality and also provide Ethernet connectivity to legacy controllers that have a serial interface but no network interface. After connecting the power supply and Ethernet adapter, the board will obtain an address from a DHCP server on the network. Opening the assigned address on a web browser will produce a screen similar to that in Figure 2.1. The assigned address can also be accessed via telnet. Full source code for the Serial-to-Ethernet application is included so you can modify it to suit your application requirements.
After testing the board with the example application, you should become familiar with development tools used to take advantage of the board’s functionality. The Eagle 100 Board Support Package (BSP) includes examples to use the board functionality with several development tools. Currently the following compilers and programming languages are supported:
• IAR Embedded Workbench for ARM (ewarm) 5.20
• GNU Toolchain (gcc) for ARM 4.2.3 – CodeSourcery G++ 2008q1
• GNU Toolchain (gcc) for ARM 4.3.0 – devkitARM 23b or WinARM 20080331
• Jumentum BASIC 0.94
• Lua 5.1.3
The tools included in the CDs shipped with the board include a kickstart version of the IAR Embedded Workbench for ARM, one of the GNU Toolchains for ARM, a BASIC interpreter and a LUA interpreter. Project files are included to build C, Assembler and DriverLib applications with both the IAR and CodeBlocks IDEs.
The Eagle 100 Setup CD includes tools and example applications to get you started with the Eagle 100 SBC functionality. The main menu is shown in Figure 2.2. Please select the tools button corresponding to the programming language you will be using and install the required components.
The IAR Kickstart CD installs a 32 KB code-sized limited version of the IAR C/C++ compiler and debugger. The IAR compiler generally produces the smallest code sizes for ARM targets and has excellent debugging capabilities. To install it select the "Install IAR Embedded Workbench" option from the CD main menu shown in Figure 2.3. Follow the instructions in the installation application. We suggest that you use the default directories, and the "Full" installation option.
To load the DriverLib workspace in the IAR IDE, select Programs> Micromint Eagle> IAR> DriverLib Examples from your Windows Start menu. The IAR Embedded Workbench for ARM will start and you will see a screen similar to that on Figure 2.4. Select the Blinky project by right clicking the project name and selecting "Set as Active". To rebuild the project select the "Make" button on the toolbar. You can also right click on the project name to select "Make" or "Rebuild". This will build a binary (.BIN) image file on the "ewarm\Exe\" directory of the project. To run the file you can select use of the firmware download procedures outlined later in this chapter. If the build and download is successful, the user LED on the Eagle SBC will start blinking.
To load the DriverLib workspace in the CodeBlocks IDE, select Programs> Micromint Eagle> CodeBlocks> DriverLib Examples from your Windows Start menu. The CodeBlocks IDE will start and you will see a screen similar to that on Figure 2.5. Select the Blinky project by right clicking the project name and selecting "Activate project". To rebuild the project select the "Rebuild" button on the toolbar. You can also right click on the project name to select "Build" or "Rebuild". This will build a binary (.BIN) image file on the "gcc\" directory of the project. To run the file you can select use of the firmware download procedures outlined later in this chapter. If the build and download is successful, the user LED on the Eagle SBC will start blinking.
All example programs include a Makefile that allows you to build binary images from the command line using the GNU toolchain. The GNU "make" utility is installed as part of the GNU toolchain on the Eagle Setup CD. To build an image using the command line, just change to the project directory and execute "make".
The simplest way to download files to the Eagle SBC is by using a JTAG debugger probe that is supported by IDE in use. When you start a debugging session, the binary image file will be loaded automatically to the board. Using a JTAG debugger also allows you to place breakpoints and watch variables to find problem areas in your application.
To use the J-Link debugger with IAR EWARM, select Projects> Options> Debugger with the project name selected in the workspace. On the "Setup" tab select "J-Link/J-Trace" as the driver and "main" as the location to run to start the debugger after a reset. Then select the "Download and debug" button on the toolbar and then the "Go" button to execute.
The Eagle SBC is shipped with an Ethernet bootloader that can be used to update the firmware on the board from an Ethernet connection. To place the bootloader in update mode you need to press and hold the user LED button while the board is starting up, e.g. via power up or when pressing the reset button. After the board starts up, release the user LED button and you will see the user LED blinking approximately once per second. That indicates the board is ready to receive a firmware update via Ethernet.
The Ethernet bootloader uses the BOOTP and TFTP protocols to temporarily acquire an IP address and copy the binary image to the board. The Luminary Flash Programmer implements a small BOOTP and TFTP server to do this. To load the flash programmer, select Programs> Micromint Eagle> LM Flash Programmer> LM Flash Programmer from your Windows Start menu. Go to the “Setup” tab to see a screen similar to that in Figure 2.6. On “Interface” select "Ethernet Interface". On the Client IP address field enter an IP address that is on the same subnet as your Ethernet adapter but is not used on your network. If you have doubts, you can connect a cable directly from the Eagle SBC to your PC to bypass the network and avoid any potential address conflicts. On the Client MAC address field enter the MAC address of your Eagle SBC, which is the same as the serial number on the board. Finally on the Ethernet adapter, select the interface on the PC to be used for the transfer.
After the setup is complete, you are ready to download the binary image to the board. Switch to the “Program” tab, select the file to download and click the “Program” button.
The bootloader uses the first 8 KB of the flash address space (0x00000000 to 0x00001fff). Programs loaded with the bootloader should be linked to start at address 0x00002000. That is done automatically if you use the "ewarm/application.icf" or "gcc/application.ld" linker scripts used in the examples.
You can overwrite the bootloader if you so desire by using the "ewarm/standalone.icf" or "gcc/ standalone.ld" linker scripts and downloading your binary image via the JTAG. Currently the bootloader can not be overwritten via the Ethernet port.
The Luminary Flash Programmer can also be invoked from the command line. The following command line is equivalent to the procedure in the previous section but uses a command line interface instead of a GUI interface.
lmflash -i ethernet -n 192.168.1.201,192.168.1.210,00-21-A3-00-01-02 blinky.bin
To see all options available from the command line, use “lmflash –h”.
Revised: August, 2008