Upload
caitlin-hodge
View
231
Download
0
Tags:
Embed Size (px)
Citation preview
Lecture 3
Silicon Labs ToolStick
Development Platform
2
Contents
Microcontroller development systems
ToolStick overview
ToolStick base adapter
ToolStick MCUniversity daughter card
Using the ToolStick development platform
Software development tools
ToolStick MCUniversity daughter card demonstration
3
Microcontroller Development Systems
Microcontroller development Systems typically consist of both hardware and software that are necessary to evaluate and develop code on a microcontroller
The hardware typically includes A target board that includes the MCU to be evaluated A means to program the microcontroller A means to debug the microcontroller while it is executing code
The software typically includes An integrated development environment (IDE)
Assembler, compiler, linker and debugger Software to download the code to the microcontroller
4
Microcontroller Development Systems
Example: Silicon Labs C8051F020-DK Development Kit
Kit Contents Software
Silicon Labs integrated development environment (IDE)
Evaluation Keil C51 tool chain (assembler, linker, and 4 Kb C-compiler)
Source code examples and register definition files
Documentation
Hardware Target/prototyping PCB
Wall power supply
USB debug adapter
USB cable
5
ToolStick Overview
The ToolStick development platform provides a powerful development platform at a low cost
The ToolStick includes all necessary hardware in a USB stick USB debug adapter (BA—base adapter) Target MCU (DC—daughter card)
Development on the ToolStick platform can be done using software development tools available from Silicon Labs Integrated development environment (IDE) Virtual display tools
6
ToolStick Development Platform
ToolStick Base AdapterUSB Debug Interface to PCCan communicate with any Silicon Labs MCU
ToolStick MCUniversity Daughter CardDevelopment platform for C8051F020 MCU
7
ToolStick Base Adapter Block Diagram
Debug Functions
Data Communication
PC Base Adapter Daughter Card
Silicon Labs IDE Debug Logic
ToolStick Terminal
UART
GPIO
MCUDebug HW
UART & GPIO
External HW
USBCardEdge
8
ToolStick Base Adapter Hardware Overview
Silicon Laboratories MCUPerforms USB debug adapter and PC communication functions
Run/Stop LEDsIndicate if target MCU is running or halted
Socket ConnectorAccepts a 14-pin card-edge connector
Power LEDIndicates USB Bus power
9
ToolStick Base Adapter Functionality
Provides a USB Debug interface to a Windows PC
Provides a UART Interface with optional hardware handshaking HID interface; no USB drivers need to be installed on PC Cannot be used simultaneously with the debug interface
Two multifunction pins GPIO pins that can be read or written from the PC OR Two UART handshaking pins (RTS and CTS)
10
ToolStick UniDC Hardware Overview
I/O PinsP0[7..2], P1, P2
PotentiometerLinear output that sweeps from 0V to 3.3V
Target MCU C8051F020
Power LEDIndicates
3.3V is available
Reset Switch
Analog I/O Pins
Push-button SwitchesP5[3..0]
LEDsP5[7..4]
DIP Switches P4
Crystal22.1184 MHz
Prototype Area
11
Handling The ToolStick
Caution: The modular ToolStick components are not encased in plastic. This makes both the base adapter (BA) and the daughter cards (DC) susceptible to electrostatic discharge (ESD) damage.
Follow these recommendations to protect the hardware Never connect or disconnect a ToolStick daughter card from the
base adapter while connected to a PC
Always connect or disconnect a ToolStick by holding the large plastic connector or the edges of the boards
Be careful when using the mechanical components, such as the potentiometers, so as to not stress the connectors
12
Handling The ToolStick
The Wrong way to hold the ToolStick
13
Handling The ToolStick
The Correct way to hold the ToolStick
14
Connecting the ToolStick
Can connect the ToolStick directly to the PC
Can connect the ToolStick using the USB extension cable
15
Software Development Tools
Silicon Laboratories IDE (integrated development environment) Connects to target
device via debug adapter
Allows programming and debugging of target MCUs
Integrates third-party compilers
Keil, SDCC, IAR, etc. Silicon Labs IDE
Screen Shot
16
Software Development Tools
Virtual Tools ToolStick terminal Virtual LCD Virtual oscilloscope
17
ToolStick UniDC Demonstration
Step 1: the firmware disables a peripheral called the watchdog timer
Step 2: the firmware configures a port pin to output mode
Step 3: the device lights up an LED connected to that port pin
Step 4: the firmware enters an infinite loop
18
Installing the IDE and Demo Programs
Download the ToolStick University Kit package from:
http://www.silabs.com/MCUniversity
Install the ToolStick University Kit package and IDE to the same directory:
c:\Silabs\MCU
Insert the ToolStick into a USB port on the PC once installation is complete
19
Opening the Demo Project
Launch the IDE once the installation is complete
Open the project from the Project menu
Browse to C:\SiLabs\MCU\ToolStick\UniversityDC\Firmware\SimpleDemo\
Open “UniDC_SimpleDemo.wsp”
20
Building the Demo Project
Build the project from the Project menu
Building the project creates an object file that can be downloaded to the device
21
Configuring Connection Options
Configure the “Connection Options” under the Options menu
Select USB debug adapter as the adapter interface The Adapter selection drop-
down box will display a serial number like the one shown
Select “JTAG” for the debug interface
22
Connecting and Downloading Firmware
Click on the Connect button to connect the IDE to the demo board
Once the IDE is connected, click on the Download button to download the firmware to the device
23
Running and Stopping the Microcontroller
Click on the green Go button to start executing firmware on the demo board
Notice a green LED light up on the ToolStick MCUniversity daughter card
When the device is running, it can be stopped using the red Stop button
The LED will hold its current state when the processor is halted
24
Opening the Ports Debug Window
Halt the processor by clicking on the Stop button
Open the Ports SFR View using the View → Debug Windows → SFR’s → Ports menu option
25
The Ports Debug Window
The ADC Debug Window shows the values of the SFR registers when the processor is halted
The values in red are the values that have changed since the last halt
This window can be used to change SFRs without recompiling
Bit 4 of P5 indicates that LED D1 is switched on
26
Changing the Port Latch Value
The Port pin can be configured in “real-time”
In the Ports Debug Window, change the P5 value to 0x0F
Then click the Refresh button to write the new value to the register
Observe the P5.4 LED (D1) has now turned off
Key point: The IDE has full access to the hardware allowing registers to be changed in real-time
27
Using the Watch Window
Halt the processor using the Stop button
In the code editor window, right-click on the variable name count and select “Add count to Watch → Default”
The variable will be added to a watch window and its value will be updated every time the processor is halted
Key point: The watch window makes debugging faster and easier because you can see any memory location in RAM, XRAM, or CODE in one window
28
Using the Watch Window
Alternately start and stop the processor using the “Go” and “Stop” buttons
Notice that the count variable increments as the MCU executes code
The value of the variable can also be changed directly from the Watch Window when the device is in a halted state
29
Setting a Breakpoint
Stop the processor by using the Stop button
Right-click on the variable name count and select “Insert/Remove Breakpoint”
A hardware breakpoint is set on the device
The editor window shows the location of breakpoints using a red dot beside the line of code
30
Debugging with a Breakpoint
Once the breakpoint is set, click “Go” to continue program execution
The device will halt once the program reaches a hardware breakpoint
Click “Go” a few times to watch the variable increment
Key point: Breakpoints allow the developer to easily run to a section of code that needs debugging and no CPU resources are wasted because they are fully implemented in hardware
31
Single-Stepping Through the Firmware
Using the IDE, the firmware can be executed one assembly instruction at a time using the Single-Step function
Click the Disassembly Button to open the Disassembly Window
Once the device is halted, click the Single-Step Button and watch the device execute one assembly instruction each time
32
Additional Resources
Refer to the following User’s Guides ToolStickUniDC User’s Guide AN333: ToolStick Virtual Tools User’s Guide Located at these default locations:
C:\SiLabs\MCU\ToolStick\UniversityDC\Documentation\ C:\SiLabs\MCU\ToolStick\Documentation\
Refer to the following additional examples UniDC_FeaturesDemo UniDC_VirtualTools_Demo Located at this default location:
C:\SiLabs\MCU\ToolStick\UniversityDC\Firmware
www.silabs.com/MCU