33
Lecture 3 Silicon Labs ToolStick Development Platform

Lecture 3 Silicon Labs ToolStick Development Platform

Embed Size (px)

Citation preview

Page 1: Lecture 3 Silicon Labs ToolStick Development Platform

Lecture 3

Silicon Labs ToolStick

Development Platform

Page 2: 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

Page 3: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 4: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 5: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 6: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 7: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 8: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 9: Lecture 3 Silicon Labs ToolStick Development Platform

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)

Page 10: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 11: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 12: Lecture 3 Silicon Labs ToolStick Development Platform

12

Handling The ToolStick

The Wrong way to hold the ToolStick

Page 13: Lecture 3 Silicon Labs ToolStick Development Platform

13

Handling The ToolStick

The Correct way to hold the ToolStick

Page 14: Lecture 3 Silicon Labs ToolStick Development Platform

14

Connecting the ToolStick

Can connect the ToolStick directly to the PC

Can connect the ToolStick using the USB extension cable

Page 15: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 16: Lecture 3 Silicon Labs ToolStick Development Platform

16

Software Development Tools

Virtual Tools ToolStick terminal Virtual LCD Virtual oscilloscope

Page 17: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 18: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 19: Lecture 3 Silicon Labs ToolStick Development Platform

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”

Page 20: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 21: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 22: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 23: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 24: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 25: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 26: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 27: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 28: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 29: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 30: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 31: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 32: Lecture 3 Silicon Labs ToolStick Development Platform

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

Page 33: Lecture 3 Silicon Labs ToolStick Development Platform

www.silabs.com/MCU