Silicon Laboratories TOOLSTICK EK User Manual

ToolStick-EK
TOOLSTICK USERS GUIDE

1. Kit Contents

The ToolStick kit contains the following items:
•ToolStick
• Silicon Laboratories Evaluation Kit IDE and Product Information CD-ROM. CD content includes:
• Silicon Laboratories Integrated Development Environment (IDE)
• Source code examples and register definition files
• Documentation
• Demo software
• ToolStick User’s Guide (this document)

2. ToolStick Overview

The purpose of the ToolStick is to provide a way to easily evaluate the Silicon Laboratories Integrated Development Environment (IDE) and the on-chip debug capabilities of the microcontrollers.
The ToolStick is a fully contained evaluation board. The target microcontroller on the board is a Silicon Laboratories C8051F300. The target device is connected to a C8051F320 microcontroller which provides a USB debug interface between the PC and the target device. The ToolStick enumerates as a Human Interface Device and so drivers are not necessary to communicate with the device. For more information regarding the C8051F300, see the C8051F30x data sheet.
Two of the digital I/O pins on the target C8051F300 microcontroller are connected to two pairs of LEDs. These LEDs provide feedback for the user. The ToolStick kit includes two example programs that make use of the LEDs. These examples are detailed in Sections 5 and 6 of this User’s Guide.
Figure 1 shows the ToolStick without the plastic case and identifies the various components.
C8051F321
provides USB
Green and
Red LEDs
debug interface
Debug LEDs
C8051F300 Target Device

Figure 1. ToolStick Board

Rev. 0.2 10/05 Copyright © 2005 by Silicon Laboratories ToolStick
ToolStick-EK

3. Software Setup

The included CD-ROM contains the Silicon Laboratories Integrated Development Environment (IDE), Keil software 8051 tools and additional documentation. Insert the CD-ROM into your PC’s CD-ROM drive. An installer will automatically launch, allowing you to install the IDE software or read documentation by clicking buttons on the Installation Panel. If the installer does not automatically start when you insert the CD-ROM, run autorun.exe found in the root directory of the CD-ROM.

4. Silicon Laboratories Integrated Development Environment (IDE)

The Silicon Laboratories IDE integrates a source-code editor, source-level debugger, and in-system Flash pro­grammer. The use of third-party compilers and assemblers is also supported. This kit includes the Keil Software A51 macro assembler, BL51 linker and evaluation version C51 C compiler. These tools can be used from within the Silicon Laboratories IDE.

4.1. System Requirements

The Silicon Laboratories IDE requirements:
• Pentium-class host PC running Microsoft Windows 98SE, Windows 2000, or Windows XP.
• One available USB port.
• 64 MB RAM and 40 MB free HD space recommended.

4.2. Assembler and Linker

A full-version Keil A51 macro assembler and BL51 banking linker are included with the kit and are installed during IDE installation. The complete assembler and linker reference manual can be found on-line under the Help menu in the IDE or in the “SiLabs\MCU\hlp” directory (A51.pdf).

4.3. Evaluation C51 C Compiler

An evaluation version of the Keil C51 C compiler is included with the kit and is installed during IDE installation. The evaluation version of the C51 compiler is the same as the full professional version except code size is limited to 2 kB and the floating point library is not included. The C51 compiler reference manual can be found under the Help menu in the IDE or in the “SiLabs\MCU\hlp” directory (C51.pdf).

4.4. 3rd Party Toolsets

The ToolStick demos are written for the Keil toolset that is provided on the CD. The Silicon Laboratories IDE has native support for many other 8051 compilers. The full list of natively supported tools is:
•Keil
• Raisonance
• Tasking
• Hi-Tech
• SDCC
•IAR
•Dunfield

5. Blink_LED Demo

The ToolStick kit includes two simple code examples. The first example is titled Blink_LED. The purpose of this example is to guide a new user through the features and capabilities of the IDE and demonstrate the microcontroller’s on-chip debug capabilities. The Blink_LED example code alternately turns on the red and green LEDs on the ToolStick board. The following steps describe how to connect and download the firmware, view and modify registers, use watch windows, use breakpoints, and single step through code.
2 Rev. 0.2
ToolStick-EK

5.1. Connecting to the Device and Downloading Firmware

This section describes how to open the IDE, open and build a project, connect to a device and download the firmware.
1. Open the Silicon Laboratories IDE from the Start → Programs → Silicon Laboratories menu
2. Connect the ToolStick to a USB port on the PC
3. In the IDE, go to Project Open Project
4. Browse to C:\SiLabs\MCU\Demos\ToolStick\Blink_LED\
5. Select Blink_LED.wsp and click OK
6. In the IDE, select Project Rebuild Project
7. Go to Options Connection Options
8. Select “USB Debug Adapter” for the Serial Adapter and “C2” for the Debug Interface, and then click “OK”
9. Go to Debug Connect
10. Download the code using the download button on the menu bar or use alt-D
Once these steps are completed, the firmware is built into an object file (step 6) and downloaded to the device (step 10). The device is now ready to begin executing code. If all of these steps were followed successfully, the “Go” option is enabled in the Debug menu. A green circle icon in the IDE toolbar also indicates that the device is ready to run. If one of the steps leads to an error, make sure that the ToolStick is properly inserted in a USB port and start again with step 3.

5.2. Running and Stopping Code Execution

Once the IDE is connected to the device and the firmware is loaded, the IDE can start and stop the code execution. The following steps can be performed using the buttons on the toolbar or using the options in the Debug menu.
1. To start code execution, click the green “Go” button on the toolbar or use the Debug → Go menu option. The green and red LEDs on the ToolStick will start to alternately flash. The debug commands on the IDE (single-step, multiple-step, set breakpoint, and others) are disabled when the device is running.
2. To stop code execution, click the red “Stop” button on the toolbar or use the Debug Stop menu option. The device will halt code execution and all of the registers and pin on the device will hold their state. When the ToolStick firmware is stopped, one of the LEDs will be on and the other will be off.
All debug windows and watch windows are refreshed when the device is stopped. If any of the values in these win­dows have changed since the last time the device was halted, the new value is shown in red text instead of black text.

5.3. Viewing and Modifying Registers

All registers on the device can be viewed and modified when the device is in a halt state. The registers are grouped together according to which peripheral or part of hardware they belong. As an example, this guide shows how to open the Ports Debug Window and modify the status of the port pins directly from the IDE.
1. Open the Ports Debug Window from the View → Debug Windows → SFR’s → Ports menu option. The Ports Debug Window appears on the right-hand side of the IDE. The logic value of the Port 0 pins is stored in the P0 register. If the value of P0 is 0xF7, port pin P0.2 is high and the red LEDs on the ToolStick are on and the green LEDs are off. If the value of P0 is 0xFB, port pin P0.3 is high and the green LEDs are on and the red LEDs are off.
2. To enable both LEDs at the same time, the logic level of pins P0.2 and P0.3 need to be high. In the Ports Debug Window, double-click on the P0 value to move the cursor. Change the value of P0 to 0xFF, then select Debug Refresh. This will write the value of 0xFF directly to the Port 0 pins and the pins will reflect the value immediately. This can be confirmed by looking at the ToolStick.
3. Click on the “Go” button or select Debug Go. The device will resume execution and the LEDs will con­tinue to blink synchronously.
4. Click on the “Stop” button.
5. In the Ports Debug Window, change the value of P0 to 0xF7 or 0xFB, and then click the Refresh button. This will have the LEDs blink alternately as before.
Rev. 0.2 3
Loading...
+ 5 hidden pages