首页资源分类嵌入式处理器MSP430 > MSP-FET430

MSP-FET430

已有 445122个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:MSPFET430

    分    享:

    文档简介

    MSP-FET430_Users_Guide

    文档预览

    IAR Embedded Workbench Version 3+ for MSP430 User's Guide Literature Number: SLAU138R June 2004 – Revised March 2010 2 SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Contents Preface ....................................................................................................................................... 5 1 Get Started Now! ................................................................................................................. 7 1.1 Software Installation ........................................................................................................ 8 1.2 Flashing the LED ............................................................................................................ 8 1.3 Important MSP430 Documents on the CD-ROM and Web ............................................................ 9 2 Development Flow ............................................................................................................. 11 2.1 Overview .................................................................................................................... 12 2.2 Using KickStart ............................................................................................................ 12 2.2.1 Project Settings ................................................................................................... 12 2.2.2 Creating a Project From Scratch ............................................................................... 14 2.2.3 Using an Existing IAR V1.x/V2.x/V3.x Project ................................................................ 15 2.2.4 Stack Management and .xcl Files .............................................................................. 15 2.2.5 How to Generate Texas Instruments .TXT (and Other Format) Files ..................................... 15 2.2.6 Overview of Example Programs ................................................................................ 15 2.3 Using C-SPY ............................................................................................................... 16 2.3.1 Breakpoint Types ................................................................................................. 16 2.3.2 Using Breakpoints ................................................................................................ 17 2.3.3 Using Single Step ................................................................................................ 17 2.3.4 Using Watch Windows ........................................................................................... 18 A Frequently Asked Questions ............................................................................................... 19 A.1 Hardware ................................................................................................................... 20 A.2 Program Development (Assembler, C-Compiler, Linker) ............................................................ 20 A.3 Debugging (C-SPY) ....................................................................................................... 22 B FET-Specific Menus ........................................................................................................... 27 B.1 Menus ....................................................................................................................... 28 B.1.1 Emulator → Device Information ................................................................................ 28 B.1.2 Emulator → Release JTAG on Go ............................................................................. 28 B.1.3 Emulator → Resynchronize JTAG ............................................................................. 28 B.1.4 Emulator → Init New Device .................................................................................... 28 B.1.5 Emulator → Secure - Blow JTAG Fuse ....................................................................... 28 B.1.6 Emulator → Breakpoint Usage ................................................................................. 28 B.1.7 Emulator → Advanced → Clock Control ...................................................................... 28 B.1.8 Emulator → Advanced → Emulation Mode ................................................................... 28 B.1.9 Emulator → Advanced → Memory Dump ..................................................................... 28 B.1.10 Emulator → Advanced → Breakpoint Combiner ............................................................ 29 B.1.11 Emulator → State Storage Control ........................................................................... 29 B.1.12 Emulator → State Storage Window ........................................................................... 29 B.1.13 Emulator → Sequencer Control ............................................................................... 29 B.1.14 Emulator → "Power on" Reset ................................................................................ 29 B.1.15 Emulator → GIE on/off ......................................................................................... 29 B.1.16 Emulator → Leave Target Running ........................................................................... 29 B.1.17 Emulator → Force Single Stepping ........................................................................... 29 Document Revision History ......................................................................................................... 30 SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Contents 3 www.ti.com List of Figures 1-1. Activate Project.............................................................................................................. 8 1-2. Activate Project in Workspace Overview ................................................................................ 9 List of Tables 2-1. Device Architecture, Breakpoints, and Other Emulation Features .................................................. 16 4 List of Figures SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Preface SLAU138R – June 2004 – Revised March 2010 Read This First About This Manual This manual describes the use of IAR Embedded Workbench (EW430) with the MSP430 ultra-low-power microcontrollers. How to Use This Manual Read and follow the instructions in Chapter 1, Get Started Now!. This chapter provides instructions on installing the software, and describes how to run the demonstration programs. After you see how quick and easy it is to use the development tools, TI recommends that you read all of this manual. This manual describes only the setup and basic operation of the software development environment, but it does not fully describe the MSP430 or the complete development software and hardware systems. For details of these items, see the appropriate TI and IAR™ documents listed in Related Documentation From Texas Instruments, Important MSP430 Documents on the CD-ROM and Web. This manual applies to the use with Texas Instruments' MSP-FET430UIF, MSP-FET430PIF and eZ430 development tools series. These tools contain the most up-to-date materials available at the time of packaging. For the latest materials (data sheets, user's guides, software, application information, etc.), visit the TI MSP430 web site at www.ti.com/msp430, or contact your local TI sales office. Information About Cautions and Warnings This book may contain cautions and warnings. CAUTION This is an example of a caution statement. A caution statement describes a situation that could potentially damage your software or equipment. WARNING This is an example of a warning statement. A warning statement describes a situation that could potentially cause harm to you. The information in a caution or a warning is provided for your protection. Read each caution and warning carefully. All trademarks are the property of their respective owners. SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Read This First 5 Related Documentation From Texas Instruments www.ti.com Related Documentation From Texas Instruments MSP430 development tools documentation MSP430 Hardware Tools User's Guide, literature number SLAU278 eZ430-F2013 Development Tool User's Guide, literature number SLAU176 eZ430-RF2480 User's Guide, literature number SWRA176 eZ430-RF2500 Development Tool User's Guide, literature number SLAU227 eZ430-RF2500-SEH Development Tool User's Guide, literature number SLAU273 eZ430-Chronos Development Tool User's Guide, literature number SLAU292 MSP430xxxx device data sheets MSP430x1xx Family User's Guide, literature number SLAU049 MSP430x2xx Family User's Guide, literature number SLAU144 MSP430x3xx Family User's Guide, literature number SLAU012 MSP430x4xx Family User's Guide, literature number SLAU056 MSP430x5xx Family User's Guide, literature number SLAU208 If You Need Assistance Support for the MSP430 devices and the FET development tools is provided by the Texas Instruments Product Information Center (PIC). Contact information for the PIC can be found on the TI web site at www.ti.com/support. The Texas Instruments E2E Community support forums for the MSP430 is available to provide open interaction with peer engineers, TI engineers, and other experts. Additional device-specific information can be found on the MSP430 web site. NOTE: KickStart™ is supported by Texas Instruments. Although KickStart is a product of IAR, Texas Instruments provides the support for it. Therefore, please do not request support for KickStart from IAR. Consult the extensive documentation provided with KickStart before requesting assistance. FCC Warning This equipment is intended for use in a laboratory test environment only. It generates, uses, and can radiate radio frequency energy and has not been tested for compliance with the limits of computing devices pursuant to subpart J of part 15 of FCC rules, which are designed to provide reasonable protection against radio-frequency interference. Operation of this equipment in other environments may cause interference with radio communications, in which case, the user is required to take whatever measures may be required to correct this interference at his own expense. 6 Read This First SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Chapter 1 SLAU138R – June 2004 – Revised March 2010 Get Started Now! This chapter provides instruction on installing the software, and shows how to run the demonstration programs. Topic ........................................................................................................................... Page 1.1 Software Installation ............................................................................................ 8 1.2 Flashing the LED ................................................................................................ 8 1.3 Important MSP430 Documents on the CD-ROM and Web ......................................... 9 SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Get Started Now! 7 Software Installation www.ti.com 1.1 Software Installation Follow the instructions on the supplied READ ME FIRST document to install the IAR Embedded Workbench™ KickStart. Read the file \Embedded Workbench x.x\430\doc\readme.htm from IAR for the latest information about the Workbench. The term KickStart refers to the function-limited version of Embedded Workbench (including C-SPY™ debugger). KickStart is supplied on the CD-ROM included with each FET, and the latest version is available from the MSP430 web site. The documents mentioned in the previous paragraph (and this document) can be accessed using: Start → Programs → IAR Systems → IAR Embedded Workbench KickStart for MSP430 V3. KickStart is compatible with Windows 2000 (SP4), Windows XP (32 bit and 64 bit), Windows Vista (32 bit and 64 bit), and Windows 7 (32 bit and 64 bit). However, the USB FET interface works with only Windows XP (32 bit and 64 bit), Windows Vista (32 bit and 64 bit), and Windows 7 (32 bit and 64 bit). 1.2 Flashing the LED This section demonstrates on the FET the equivalent of the C-language "Hello World!" introductory program. An application that flashes the LED is developed and downloaded to the FET, and then run. 1. Start the Workbench (Start → Programs → IAR Systems → IAR Embedded Workbench KickStart for MSP430 V3 → IAR Embedded Workbench). 2. Click File → Open Workspace to open the file at: \Embedded Workbench x.x\ 430\FET_examples\Flashing the LED.eww. The workspace window opens. 3. Click on the tab at the bottom of the workspace window that corresponds to the MSP430 device (MSP430xxxx) and desired language (assembler or C) to set a project active (see Figure 1-1). Figure 1-1. Activate Project 8 Get Started Now! SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Important MSP430 Documents on the CD-ROM and Web Alternatively, right click to activate a project in the Workspace Overview tab (see Figure 1-2). Figure 1-2. Activate Project in Workspace Overview 4. Click Project → Options → FET Debugger → Setup → Connection to select the appropriate port: Texas Instruments LPT-IF for the parallel FET Interface (MSP-FET430PIF) or Texas Instruments USB-IF for the USB Interface (MSP-FET430UIF) or for the eZ430. 5. Click Project → Rebuild All to build and link the source code. You can view the source code by double-clicking on the project, and then double-clicking on the displayed source file. 6. Click Project → Debug to start the C-SPY debugger. C-SPY erases the device flash and then downloads the application object file to the device flash. See FAQ Debugging #1 if C-SPY is unable to communicate with the device. 7. Click Debug → Go to start the application. The LED should flash. 8. Click Debug → Stop Debugging to stop debugging, to exit C-SPY, and to return to the Workbench. 9. Click File → Exit to exit the Workbench. Congratulations, you have just built and tested an MSP430 application! 1.3 Important MSP430 Documents on the CD-ROM and Web The primary sources of MSP430 information are the device-specific data sheet and user's guide. The most up-to-date versions of these documents that are available at the time of production are provided on the CD-ROM included with this tool. The MSP430 web site (www.ti.com/msp430) contains the most recent version of these documents. PDF documents describing the IAR tools (Workbench/C-SPY, the assembler, the C compiler, the linker, and the librarian) are in the common\doc and 430\doc folders. Supplements to the documents (i.e., the latest information) are available in HTML format in the same directories. 430\doc\readme_start.htm provides a convenient starting point for navigating the IAR documentation. SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Get Started Now! 9 10 Get Started Now! SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Chapter 2 SLAU138R – June 2004 – Revised March 2010 Development Flow This chapter describes how to use KickStart to develop application software and how to use C-SPY to debug it. Topic ........................................................................................................................... Page 2.1 Overview .......................................................................................................... 12 2.2 Using KickStart ................................................................................................. 12 2.3 Using C-SPY ..................................................................................................... 16 SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Development Flow 11 Overview www.ti.com 2.1 Overview Applications are developed in assembler and/or C using the Workbench, and they are debugged using C-SPY. C-SPY is seamlessly integrated into the Workbench. However, it is more convenient to make the distinction between the code development environment (Workbench) and the debugger (C-SPY). C-SPY can be configured to operate with the FET (i.e., an actual MSP430 device) or with a software simulator of the device. KickStart refers to the Workbench and C-SPY collectively. The KickStart software tools are a product of IAR. Documentation for the MSP430 family and KickStart is extensive. The CD-ROM supplied with this tool contains a large amount of documentation describing the MSP430. The MSP430 home page (www.ti.com/msp430) is another source of MSP430 information. The components of KickStart (workbench/debugger, assembler, compiler, linker) are fully documented in \Embedded Workbench x.x\common\doc and \Embedded Workbench\430\doc. .htm files located throughout the KickStart directory tree contain the most up-to-date information and supplement the PDF files. In addition, KickStart documentation is available online via Help. Read Me First files from IAR and TI and this document can be accessed using Start → Programs → IAR Systems → IAR Embedded Workbench KickStart for MSP430 V3. Tool Workbench/C-SPY Assembler Compiler C library Linker and Librarian User's Guide EW430_UsersGuide.pdf EW430_AssemblerReference.pdf EW430_CompilerReference.pdf xlink.pdf Most Up-To-Date Information readme.htm, ew430.htm, cs430.htm, cs430f.htm a430.htm, a430_msg.htm icc430.htm, icc430_msg.htm CLibrary.htm xlink.htm, xman.htm, xar.htm 2.2 Using KickStart The KickStart edition is a special starter-kit/evaluation version of IAR Embedded Workbench with limitations both in code size and in the service and support that is provided. Limitations: • The C compiler does not generate an assembly code list file. • The code size limit of the MSP430 IAR KickStart C/C++ Compiler is set to 4 Kbytes for traditional MSP430 devices and 8 Kbytes for MSP430X devices (see Table 2-1 for detailed information about which MSP430 device is based on which architecture). • The IAR Assembler delivered is the full version without any restrictions. • The IAR XLINK Linker will link a maximum of 4 Kbytes originating from C source code for traditional MSP430 devices and 8 Kbytes for MSP430X devices (see Table 2-1 for detailed information about which MSP430 device is based on which architecture), but an unlimited amount of code originating from assembly code. • The IAR KickStart C-SPY Simulator will read a maximum of 4 Kbytes originating from C code for traditional MSP430 devices and 8 Kbytes for MSP430X devices but is unlimited in the amount of assembly code read (see Table 2-1 for detailed information about which MSP430 device is based on which architecture). • MISRA C is not available. • The runtime library source code is not included. A full (i.e., unrestricted) version of the software tools can be purchased from IAR. A mid-featured tool set – called Baseline, with a 12K-byte C-code size limitation and basic floating-point operations – is also available from IAR. See the IAR web site (www.iar.se) for more information. 2.2.1 Project Settings The settings required to configure the Workbench and C-SPY are numerous and detailed. Read and thoroughly understand the documentation supplied by IAR when dealing with project settings. Review the project settings of the supplied assembler and C examples (the project settings are accessed using Project → Options with the project name selected). Use these project settings as templates when developing your own projects. Note that if the project name is not selected when settings are made, the settings are applied to the selected file (not to the project). 12 Development Flow SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Using KickStart The following project settings are recommended/required: • Specify the target device (General Options → Target → Device). • Enable an assembler project or a C/assembler project (General Options → Target → Assembler-only project). • Enable the generation of an executable output file (General Options → Output → Output file → Executable). • To most easily debug a C project, disable optimization [C/C++ Compiler → Optimizations → Size → None (Best debug support)]. • Enable the generation of debug information in the compiler output (C/C++ Compiler → Output → Generate debug information). • Specify the search path for the C preprocessor (C/C++ Compiler → Preprocessor → Include Paths). • Enable the generation of debug information in the assembler output (Assembler → Output → Generate Debug Info). • Specify the search path for the assembler preprocessor (Assembler → Preprocessor → Include Paths). • To debug the project using C-SPY, specify a compatible format [Linker → Output → Format → Debug information for C-SPY (With runtime control modules/With I/O emulation modules)]. • Specify the search path for any used libraries (Linker → Config → Search paths). • Specify the C-SPY driver. Select Project → Options → Debugger → Setup → Driver → FET Debugger to debug on the FET (i.e., MSP430 device). Select Simulator to debug on the simulator. If FET Debugger is selected, use Project → Options → FET Debugger → Setup → Connection to select the appropriate port: Texas Instruments LPT-IF for the parallel FET Interface (MSP-FET430PIF) or Texas Instruments USB-IF for the USB Interface (MSP-FET430UIF) or for the eZ430. • Enable the Device Description file. This file makes C-SPY "aware" of the specifics of the device it is debugging. This file corresponds to the specified target device (Debugger → Setup → Device description file → Override default). • Enable the erasure of the Main and Information memories before object code download (FET Debugger → Download → Erase main and Information memory). • To maximize system performance during debug, disable Virtual Breakpoints (FET Debugger → Breakpoints → Use virtual breakpoints) and disable all System Breakpoints (FET Debugger → Breakpoints → System breakpoints on). NOTE: Use Factory Settings to quickly configure a project. Use the Factory Settings button to quickly configure a project to a usable state. The following steps can be used to quickly configure a project. Note that the General Options tab does not have a Factory Settings button. 1. Specify the target device (General Options → Target → Device). 2. Enable an assembler project or a C/assembler project (General Options → Target → Assembler-only project). 3. Enable the generation of an executable output file (General Options → Output → Output file → Executable). 4. Accept the factory settings for the compiler (C/C++ Compiler → Factory Settings). 5. Accept the factory settings for the assembler (Assembler → Factory Settings). 6. Accept the factory settings for the linker (Linker → Factory Settings). 7. Accept the factory settings for C-SPY (Debugger → Factory Settings). 8. Debug on the hardware (Debugger → Setup → Driver → FET Debugger). 9. Specify the active parallel port used to interface to the FET if not LPT1 (FET Debugger → Setup → Connection → Texas Instruments LPT-IF) or specify the USB port (FET Debugger → Setup → Connection → Texas Instruments USB-IF). SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Development Flow 13 Using KickStart www.ti.com NOTE: Avoid the use of absolute path names when referencing files. Instead, use the relative pathname keywords $TOOLKIT_DIR$ and $PROJ_DIR$. See the IAR documentation for a description of these keywords. The use of relative path names permits projects to be moved easily, and projects do not require modification when IAR systems are upgraded (e.g., from KickStart or Baseline to Full). 2.2.2 Creating a Project From Scratch This section presents step-by-step instructions to create an assembler or C project from scratch, and to download and run the application on the MSP430 (see also Section 2.2.1, Project Settings). The MSP430 IAR Embedded Workbench IDE User's Guide presents a more comprehensive overview of the process. 1. Start the Workbench (Start → Programs → IAR Systems → IAR Embedded Workbench KickStart for MSP430 V3 → IAR Embedded Workbench). 2. Create a new text file (File → New → File). 3. Enter the program text into the file. NOTE: Use .h files to simplify your code development. KickStart is supplied with files that define the device registers and the bit names for each device. These files can greatly simplify the task of developing your program. The files are located in \Embedded Workbench x.x\430\inc. Include the .h file corresponding to your target device in your text file (#include "msp430xyyy.h"). Additionally, files io430xxxx.h are provided and are optimized to be included by C source files. 4. Save the program text file (File → Save). It is recommended that assembler text files be saved with a file-type suffix of ".s43" and that C text files be saved with a file-type suffix of ".c". 5. Create a new workspace (File → New → Workspace). 6. Create a new project (Project → Create New Project). Select Tool chain: MSP430, Project Templates: Empty project and click OK. Specify a project name and click Save. 7. Add the program text file to the project (Project → Add Files). Select the program text file and click Open. Alternatively, double-click on the file to add it to the project. NOTE: How to add assembler source files to your project The default file type presented in the Add Files window is "C/C++ Files". To view assembler files (.s43), select "Assembler Files" in the "Files of type" drop-down menu. 8. Save the workspace (File → Save Workspace). Specify a workspace name and click Save. 9. Configure the project options (Project → Options). For each of the subcategories (General Options, C/C++ Compiler, Assembler, Linker, Debugger), accept the default Factory Settings with the following exceptions: • Specify the target device (General Options → Target → Device). • Enable an assembler project or a C/assembler project (General Options → Target → Assembler-only project). • Enable the generation of an executable output file (General Options → Output → Output file → Executable). • To debug on the FET (i.e., the MSP430), click Debugger → Setup → Driver → FET Debugger. • Specify the active port used to interface to the FET (FET Debugger → Setup → Connection). 10. Build the project (Project → Rebuild All). 14 Development Flow SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Using KickStart 11. Debug the application using C-SPY (Project → Debug). This starts C-SPY, and C-SPY takes control of the target, erases the target memory, programs the target memory with the application, and resets the target. See FAQ Debugging #1 if C-SPY is unable to communicate with the device. 12. Click Debug → Go to start the application. 13. Click Debug → Stop Debugging to stop the application, to exit C-SPY, and to return to the Workbench. 14. Click File → Exit to exit the Workbench. 2.2.3 Using an Existing IAR V1.x/V2.x/V3.x Project It is possible to use an existing project from an IAR V1.x/V2.x/V3.x system with the new IAR V4.x system; see the IAR document Step by Step Migration for EW430 x.xx. This document is in \Embedded Workbench x.x\430\doc\migration.htm. 2.2.4 Stack Management and .xcl Files The reserved stack size can be configured through either the project options dialog (General Options → Stack/Heap) or through direct modification of the .xcl linker control files. These files are input to the linker and contain statements that control the allocation of device memory (RAM, flash). See the IAR XLINK documentation for a complete description of these files. The .xcl files provided with the FET (\Embedded Workbench x.x\430\config\lnk430xxxx.xcl) define a relocatable segment (RSEG) called CSTACK. CSTACK is used to define the region of RAM that is used for the system stack within C programs. CSTACK can also be used in assembler programs (MOV.W #SFE(CSTACK), SP). CSTACK is defined to extend from the last location of RAM for 50 bytes (i.e., the stack extends downward through RAM for 50 bytes). Other statements in the .xcl file define other relocatable regions that are allocated from the first location of RAM to the bottom of the stack. It is critical to note that: • The supplied .xcl files reserve 50 bytes of RAM for the stack, whether or not this amount of stack is actually required (or if it is sufficient). • There is no runtime checking of the stack. The stack can overflow the 50 reserved bytes and possibly overwrite the other segments. No error is output. The supplied .xcl files can be modified to tune the size of the stack to the needs of the application; edit -D_STACK_SIZE=xx to allocate xx bytes for the stack. Note that the .xcl file also reserves 50 byes for the heap if required (for example, by malloc()). 2.2.5 How to Generate Texas Instruments .TXT (and Other Format) Files The KickStart linker can be configured to output objects in TI .TXT format for use with the GANG430 and PRGS430 programmers. Click Project → Options → Linker → Output → Format → Other → msp430-txt. Intel™ and Motorola™ formats also can be selected. For more information, see FAQ Program Development #6 in Appendix A. 2.2.6 Overview of Example Programs Example programs for MSP430 devices are provided in \Embedded Workbench x.x\430\FET_examples. Each tool folder contains folders that contain the assembler and C sources. \Embedded Workbench\x.x\430\FET_examples\Flashing the LED.eww conveniently organizes the FET_1 demonstration code into a workspace. The workspace contains assembler and C projects of the code for each of the MSP430 device families. Debug and Release versions are provided for each of the projects. \Embedded Workbench x.x\430\FET_examples\contents.htm conveniently organizes and documents the examples. Additional code examples can be found on the MSP430 home page under Code Examples. Note that some example programs require a 32-kHz crystal on LFXT1, and not all FETs are supplied with a 32-kHz crystal. SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Development Flow 15 Using C-SPY 2.3 Using C-SPY See Appendix B for a description of FET-specific menus within C-SPY. www.ti.com 2.3.1 Breakpoint Types The C-SPY breakpoint mechanism uses a limited number of on-chip debugging resources (specifically, N breakpoint registers, see Table 2-1). When N or fewer breakpoints are set, the application runs at full device speed (or realtime). When greater than N breakpoints are set and Use Virtual Breakpoints is enabled (FET Debugger → Breakpoints → Use virtual breakpoints), the application runs under the control of the host PC; the system operates at a much slower speed but offers unlimited software breakpoints (or non-realtime). During non-realtime mode, the PC, in effect, repeatedly single steps the device and interrogates the device after each operation to determine if a breakpoint has been hit. Both (code) address and data (value) breakpoints are supported. Data breakpoints and range breakpoints each require two MSP430 hardware breakpoints. Table 2-1. Device Architecture, Breakpoints, and Other Emulation Features Device CC430F513x CC430F612x CC430F613x MSP430F11x1 MSP430F11x2 MSP430F12x MSP430F12x2 MSP430F13x MSP430F14x MSP430F15x MSP430F16x MSP430F161x MSP430F20xx MSP430F21x1 MSP430F21x2 MSP430F22x2 MSP430F22x4 MSP430F23x MSP430F23x0 MSP430F24x MSP430F241x MSP430F2410 MSP430F261x MSP430G2xxx MSP430F41x MSP430F41x2 MSP430F42x MSP430FE42x MSP430FE42x2 MSP430FW42x MSP430F42x0 MSP430 Architecture MSP430Xv2 MSP430Xv2 MSP430Xv2 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430X MSP430 MSP430X MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 4-Wire JTAG X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 2-Wire JTAG (1) X X X X X X X X X Breakpoints (N) 2 2 2 2 2 2 2 3 3 8 8 8 2 2 2 2 2 3 2 3 8 3 8 2 2 2 2 2 2 2 2 Range Breakpoints X X X Clock State Control Sequencer X X X Trace Buffer X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X (1) The 2-wire JTAG debug interface is also referred to as Spy-Bi-Wire (SBW) interface. Note that this interface is supported only by the USB emulators (eZ430-xxxx and MSP-FET430UIF USB JTAG emulator) and the MSP-GANG430 production programming tool. The MSP-FET430PIF parallel port JTAG emulator does not support communication in 2-wire JTAG mode. 16 Development Flow SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Using C-SPY Table 2-1. Device Architecture, Breakpoints, and Other Emulation Features (continued) Device MSP430FG42x0 MSP430F43x MSP430FG43x MSP430F43x1 MSP430F44x MSP430F44x1 MSP430F461x MSP430FG461x MSP430F461x1 MSP430F47x MSP430FG47x MSP430F47x3 MSP430F47x4 MSP430F471xx MSP430F51x1 MSP430F51x2 MSP430F54xx MSP430F54xxA MSP430F550x MSP430F5510 MSP430F551x MSP430F552x MSP430F663x MSP430 Architecture MSP430 MSP430 MSP430 MSP430 MSP430 MSP430 MSP430X MSP430X MSP430X MSP430 MSP430 MSP430 MSP430 MSP430X MSP430Xv2 MSP430Xv2 MSP430Xv2 MSP430Xv2 MSP430Xv2 MSP430Xv2 MSP430Xv2 MSP430Xv2 MSP430Xv2 4-Wire JTAG X X X X X X X X X X X X X X X X X X X X X X X 2-Wire JTAG (1) X X X X X X X X X Breakpoints (N) 2 8 2 2 8 8 8 8 8 2 2 2 2 8 3 3 8 8 3 3 8 8 8 Range Breakpoints X X X X X X X X X X X X X X X X Clock State Control Sequencer X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Trace Buffer X X X X X X X X X X X X 2.3.2 Using Breakpoints If C-SPY is started with greater than N breakpoints set and virtual breakpoints are disabled, a message is output to inform the user that only N (realtime) breakpoints are enabled (and one or more breakpoints are disabled). Note that the workbench permits any number of breakpoints to be set, regardless of the Use Virtual Breakpoints setting of C-SPY. If virtual breakpoints are disabled, a maximum of N breakpoints can be set within C-SPY. Resetting a program temporarily requires a breakpoint if Project → Options → Debugger → Setup → Run To is enabled (see FAQ Debugging #32). The Run To Cursor operation temporarily requires a breakpoint. Consequently, only N – 1 breakpoints can be active when Run To Cursor is used if virtual breakpoints are disabled (see FAQ Debugging #33). If, while processing a breakpoint, an interrupt becomes active, C-SPY stops at the first instruction of the interrupt service routine (see FAQ Debugging #26). 2.3.3 Using Single Step When debugging an assembler file, Step Over, Step Out, and Next Statement operate like Step Into; i.e., the current instruction is executed at full speed. When debugging an assembler file, a step operation of a CALL instruction stops at the first instruction of the called function. When debugging an assembler file, a (true) Step Over a CALL instruction that executes the called function at full device speed can be synthesized by placing a breakpoint after the CALL and using GO (to the breakpoint in realtime mode). SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Development Flow 17 Using C-SPY www.ti.com When debugging a C file, a single step (Step) operation executes the next C statement. Thus, it is possible to step over a function reference. If possible, a hardware breakpoint is placed after the function reference, and a GO is implicitly executed. This causes the function to be executed at full speed. If no hardware breakpoints are available, the function is executed in non-realtime mode. Step Into is supported. Step Out is supported. Within Disassembly mode (View → Disassembly), a step operation of a non-CALL instruction executes the instruction at full device speed. Within Disassembly mode (View → Disassembly), a step operation of a CALL instruction places, if possible, a hardware breakpoint after the CALL instruction, and then executes Go. The called function executes at full device speed. If no hardware breakpoint is available prior to the Go, the called function is executed in non-realtime mode. In either case, execution stops at the instruction following the CALL. It is possible to single step only when source statements are present. Breakpoints must be used when running code for which there is no source code (i.e., place the breakpoint after the CALL to the function for which there is no source, and then Go to the breakpoint in realtime mode). If, during a single step operation, an interrupt becomes active, the current instruction is completed and C-SPY stops at the first instruction of the interrupt service routine (see FAQ Debugging #26). 2.3.4 Using Watch Windows The C-SPY Watch Window mechanism permits C variables to be monitored during the debugging session. Although not originally designed to do so, the Watch Window mechanism can be extended to monitor assembler variables. Assume that the variables to watch are defined in RAM, for example: RSEG DATA16_I varword ds 2 ; two bytes per word varchar ds 1 ; one byte per character In C-SPY: 1. Open the Watch Window (View → Watch). 2. Click Debug → Quick Watch. 3. To watch varword, enter in the Expression box: (__data16 unsigned int *) varword 4. To watch varchar, enter in the Expression box: (__data16 unsigned char *) varchar 5. Click the Add Watch button. 6. Close the Quick Watch window. 7. For the created entry in the Watch Window, click on the + symbol to display the contents (or value) of the watched variable. To change the format of the displayed variable (default, binary, octal, decimal, hex, char), select the type, click the right mouse button, and then select the desired format. The value of the displayed variable can be changed by selecting it, and then entering the new value. In C, variables can be watched by selecting them and then dragging and dropping them into the Watch Window. Because the MSP430 peripherals are memory mapped, it is possible to extend the concept of watching variables to watching peripherals. Be aware that there may be side effects when peripherals are read and written by C-SPY (see FAQ Debugging #24). CPU core registers can be specified for watching by preceding their name with '#' (i.e., #PC, #SR, #SP, #R5, etc.). Variables watched within the Watch Window are updated only when C-SPY gets control of the device (for example, following a breakpoint hit, a single step, or a stop/escape). Although registers can be monitored in the Watch Window, View → Register is the preferred method. 18 Development Flow SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Appendix A SLAU138R – June 2004 – Revised March 2010 Frequently Asked Questions This appendix presents solutions to frequently asked questions regarding program hardware development and debugging tools. Topic ........................................................................................................................... Page A.1 Hardware .......................................................................................................... 20 A.2 Program Development (Assembler, C-Compiler, Linker) ........................................ 20 A.3 Debugging (C-SPY) ............................................................................................ 22 SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Frequently Asked Questions 19 Hardware www.ti.com A.1 Hardware For a complete list of hardware-related FAQs, see the MSP430 Hardware Tools User's Guide (SLAU278). A.2 Program Development (Assembler, C-Compiler, Linker) 1. The files supplied in the 430\tutor folder work only with the simulator. Do not use the files with the FET (see FAQ Program Development #11). 2. A common MSP430 "mistake" is to fail to disable the Watchdog mechanism; the Watchdog is enabled by default, and it resets the device if not disabled or properly handled by the application (see FAQ Program Development #14). 3. When adding source files to a project, do not add files that are included by source files that have already been added to the project (for example, an .h file within a .c or .s43 file). These files are added to the project file hierarchy automatically. 4. In assembler, enclosing a string in double quotes ("string") automatically appends a zero byte to the string (as an end-of-string marker). Enclosing a string in single-quotes ('string') does not. 5. When using the compiler or the assembler, if the last character of a source line is backslash (\), the subsequent carriage return/line feed is ignored (i.e., it is as if the current line and the next line are a single line). When used in this way, the backslash character is a "line continuation" character. 6. The linker output format must be "Debug information for C-SPY" (.d43) for use with C-SPY. C-SPY does not start otherwise, and an error message is output. C-SPY cannot input a .TXT file. 7. Position-independent code can be generated using Project → Options → General Options → Target → Position-Independent Code. 8. Within the C libraries, GIE (Global Interrupt Enable) is disabled before (and restored after) the hardware multiplier is used. To disable this behavior, contact TI for the source code for these libraries. 9. It is possible to mix assembler and C programs within the Workbench. See the Assembler Language Interface chapter of the C/C++ Compiler Reference Guide from IAR. 10. The Workbench can produce an object file in TI .TXT format. C-SPY cannot input an object file in TI .TXT format. An error message is output in this case. 11. The example programs given in the KickStart documentation (i.e., Demo, Tutor, etc.) are not correct. The programs work only in the simulator. The programs do not function correctly on an actual device, because the Watchdog mechanism is active. The programs need to be modified to disable the Watchdog mechanism. Disable the Watchdog mechanism with this C-statement: WDTCTL = WDTPW + WDTHOLD; or with this assembler statement: mov.w # WDTPW+WDTHOLD,&WDTCTL 12. Access to MPY using an 8-bit operation is flagged as an error. Within the .h files, 16-bit registers are defined in such a way that 8-bit operations upon them are flagged as an error. This feature is normally beneficial and can catch register access violations. However, in the case of MPY, it is also valid to access this register using 8-bit operators. If 8-bit operators are used to access MPY, the access violation check mechanism can be defeated by using "MPY_" to reference the register. Similarly, 16-bit operations on 8-bit registers are flagged. 13. Constant definitions (#define) used within the .h files are effectively reserved and include, for example, C, Z, N, and V. Do not create program variables with these names. 20 Frequently Asked Questions SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Program Development (Assembler, C-Compiler, Linker) 14. The CSTARTUP that is implicitly linked with all C applications does not disable the Watchdog timer. Use WDTCL = WDTPW + WDTHOLD; to explicitly disable the Watchdog. This statement is best placed in the __low_level_init() function that gets executed before main(). If the Watchdog timer is not disabled, and the Watchdog triggers and resets the device during CSTARTUP, the source screen goes blank, as C-SPY is not able to locate the source code for CSTARTUP. Be aware that CSTARTUP can take a significant amount of time to execute if a large number of initialized global variables are used. int __low_level_init(void) { /* Insert your low-level initializations here */ WDTCTL = WDTPW + WDTHOLD; // Stop Watchdog timer /*==================================*/ /* Choose if segment initialization */ /* should be done or not. */ /* Return: 0 to omit seg_init */ /* 1 to run seg_init */ /*==================================*/ return (1); } 15. Compiler optimization can remove unused variables and/or statements that have no effect and can effect debugging. Optimization: NONE is supported within Project → Options → C/C++ Compiler → Code → Optimizations. Alternatively, variables can be declared volatile. 16. The IAR tutorial assumes a Full or Baseline version of the Workbench. Within a KickStart system, it is not possible to configure the C compiler to output assembler mnemonics. 17. Existing projects from an IAR 1.x system can be used within the new IAR 2.x/3.x system; see the IAR document migration guide for EW430 x.x. This document is located in \Embedded Workbench x.x\430\doc\migration.htm 18. Assembler projects must reference the code segment (RSEG CODE) to use the Linker → Processing → Fill Unused Code Memory mechanism. No special steps are required to use Linker → Processing → Fill Unused Code Memory with C projects. 19. Ensure that the proper C runtime library is selected for C-only and mixed C/assembly language projects (Project → General Options → Library Configuration → Library). For assembly-only projects, the runtime library must not get linked in, otherwise the build fails and a linker error is output (e.g., that the RESET vector is allocated twice). 20. Numerous C and C++ runtime libraries are provided with the Workbench: cl430d: C, 64-bit doubles cl430dp: C, 64-bit doubles, position independent cl430f: C, 32-bit doubles cl430fp: C, 32-bit doubles, position independent dl430d: C++, 64-bit doubles dl430dp: C++, 64-bit doubles, position independent dl430f: C++, 32-bit doubles dl430fp: C++, 32-bit doubles, position independent See the IAR MSP430 C/C++ compiler reference guide for more information on which library to use. SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Frequently Asked Questions 21 Debugging (C-SPY) www.ti.com A.3 Debugging (C-SPY) 1. Debugging with C-SPY does not seem to affect an externally connected MSP430 device. Should this be the case, check whether the main debugger menu bar contains a menu item called Simulator. If so, an actual C-SPY MSP430 core simulator session is running, and no actual communication with the target device is established. Solution: Ensure that the C-SPY driver is set to FET Debugger (Project → Options → Debugger → Setup → Driver). 2. C-SPY reports that it cannot communicate with the device. Possible solutions to this problem include: • Ensure that the correct debug interface is selected; use Project → Options → FET Debugger → Connection. • Ensure that the correct parallel port (LPT1, 2, or 3) is being specified in the C-SPY configuration in the case a parallel port MSP-FET430PIF interface is used; use Project → Options → FET Debugger → Connection → Parallel Port → LPT1 (default) or LPT2 or LPT3. Check the PC BIOS for the parallel port address (0x378, 0x278, 0x3bc), and the parallel port configuration (ECP, Compatible, Bidirectional, or Normal) (see FAQ Debugging #8). For users of IBM ThinkPad™ computers, try port specifications LPT2 and LPT3, even if the operating system reports the parallel port is located at LPT1. • Ensure that the jumper settings are configured correctly on the target hardware. • Ensure that no other software application has reserved/taken control of the COM/parallel port (for example, printer drivers, ZIP drive drivers, etc.) if a parallel port MSP-FET430PIF interface is used. Such software can prevent the C-SPY/FET driver from accessing the parallel port and, hence, communicating with the device. • Open the Device Manager and determine if the driver for the FET tool has been correctly installed and if the COM/parallel port is successfully recognized by the Windows OS. • It may be necessary to reboot the computer to complete the installation of the required port drivers. • Ensure that the MSP430 device is securely seated in the socket (so that the "fingers" of the socket completely engage the pins of the device), and that its pin 1 (indicated with a circular indentation on the top surface) aligns with the "1" mark on the PCB. CAUTION Possible Damage to Device Always handle MSP430 devices using a vacuum pick-up tool only; do not use your fingers, as they can easily bend the device pins and render the device useless. Also, always observe and follow proper ESD precautions. 3. C-SPY reports that the device JTAG security fuse is blown. With current MSP-FET430PIF and MSP430-FET430UIF JTAG interface tools there is a weakness when adapting target boards that are powered externally. This leads to an accidental fuse check in the MSP430 and results in the JTAG security fuse being recognized as blown although it is not. This is valid for MSP-FET430PIF and MSP-FET430UIF but is mainly seen on MSP-FET430UIF. Workarounds: • Connect the device RST/NMI pin to JTAG header (pin 11), MSP-FET430PIF/MSP-FET430UIF interface tools are able to pull the RST line, this also resets the device internal fuse logic. • Do NOT connect both VCC Tool (pin 2) and VCC Target (pin 4) of the JTAG header and also specify a value for VCC in the debugger that is equal to the external supply voltage. 4. C-SPY can download data into RAM, information, and flash main memories. A warning message is output if an attempt is made to download data outside of the device memory spaces. 5. C-SPY can debug applications that utilize interrupts and low power modes (see FAQ Debugging #26). 6. C-SPY cannot access the device registers and memory while the device is running. C-SPY displays "-" to indicate that a register/memory field is invalid. The user must stop the device to access device registers and memory. Any displayed register/memory fields are then updated. 22 Frequently Asked Questions SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Debugging (C-SPY) 7. When C-SPY is started, the flash memory is erased and the opened file is programmed in accordance with the download options as set in Project → Options → FET Debugger → Download Control. This initial erase and program operations can be disabled selecting Project → Options → FET Debugger → Download Control → Suppress Download. Programming of the flash can be initiated manually with Emulator → Init New Device. 8. The parallel port designators (LPTx) have the following physical addresses: LPT1: 378h, LPT2: 278h, LPT3: 3BCh. The configuration of the parallel port (ECP, Compatible, Bidirectional, Normal) is not significant; ECP seems to work well (see FAQ Debugging #1 for additional hints on solving communication problems between C-SPY and the device). 9. C-SPY may assert RST/NMI to reset the device when C-SPY is started and when the device is programmed. The device is also reset by the C-SPY RESET button, and when the device is manually reprogrammed (Emulator → Init New Device), and when the JTAG is resynchronized (Emulator → Resynchronize JTAG). When RST/NMI is not asserted (low), C-SPY sets the logic driving RST/NMI to high-impedance, and RST/NMI is pulled high via a resistor on the PCB. RST/NMI may get asserted and negated after power is applied when C-SPY is started. RST/NMI may then get asserted and negated a second time after device initialization is complete. Within C-SPY, Emulator → "Power on" Reset cycles the power to the target to generate a power-on reset. 10. C-SPY can debug a device whose program reconfigures the function of the RST/NMI pin to NMI. 11. The level of the XOUT/TCLK pin is undefined when C-SPY resets the device. The logic driving XOUT/TCLK is set to high-impedance at all other times. 12. When making current measurements of the device, ensure that the JTAG control signals are released (Emulator → Release JTAG on Go), otherwise the device will be powered by the signals on the JTAG pins and the measurements will be erroneous (see FAQ Debugging #14). 13. Most C-SPY settings (breakpoints, etc.) are preserved between sessions. 14. When C-SPY has control of the device, the CPU is ON (i.e., it is not in low-power mode) regardless of the settings of the low-power mode bits in the status register. Any low-power mode conditions are restored prior to Step or Go. Consequently, do not measure the power consumed by the device while C-SPY has control of the device. Instead, run your application using Go with JTAG released (see FAQ Debugging #12). 15. The View → Memory → Memory Fill dialog of C-SPY requires hexadecimal values for Starting Address, Length, and Value to be preceded with "0x". Otherwise the values are interpreted as decimal. 16. The Memory debug view of C-SPY (View → Memory) can be used to view the RAM, the information memory, and the flash main memory. The Memory utility of C-SPY can be used to modify the RAM; the information memory and flash main memory cannot be modified using the Memory utility. The information memory and flash main memory can be programmed only when a project is opened and the data is downloaded to the device, or when Emulator → Init New Device is selected. 17. C-SPY does not permit the individual segments of the information memory and the flash main memory to be manipulated separately; consider the information memory to be one contiguous memory, and the flash main memory to be a second contiguous memory. 18. The Memory window correctly displays the contents of memory where it is present. However, the Memory window incorrectly displays the contents of memory where there is none present. Memory should be used only in the address ranges specified by the device data sheet. 19. C-SPY utilizes the system clock to control the device during debugging. Therefore, device counters, etc., that are clocked by the Main System Clock (MCLK) are affected when C-SPY has control of the device. Special precautions are taken to minimize the effect upon the Watchdog Timer. The CPU core registers are preserved. All other clock sources (SMCLK, ACLK) and peripherals continue to operate normally during emulation. In other words, the Flash Emulation Tool is a partially intrusive tool. Devices that support clock control (Emulator → Advanced → Clock Control) can further minimize these effects by selecting to stop the clock(s) during debugging (see FAQ Debugging #24). SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Frequently Asked Questions 23 Debugging (C-SPY) www.ti.com 20. There is a time after C-SPY performs a reset of the device [when the C-SPY session is first started, when the flash is reprogrammed (via Init New Device), and when JTAG is resynchronized (Resynchronize JTAG)] and before C-SPY has regained control of the device that the device executes code normally. This behavior may have side effects. Once C-SPY has regained control of the device, it performs a reset of the device and retains control. 21. When programming the flash, do not set a breakpoint on the instruction immediately following the write to flash operation. A simple workaround to this limitation is to follow the write to flash operation with a NOP, and set a breakpoint on the instruction following the NOP (see FAQ Debugging #23). 22. The Dump Memory length specifier is restricted to four hexadecimal digits (0 to FFFF). This limits the number of bytes that can be written from 0 to 65535. Consequently, it is not possible to write memory from 0 to 0xFFFF inclusive, as this would require a length specifier of 65536 (or 10000h). 23. Multiple internal machine cycles are required to clear and program the flash memory. When single stepping over instructions that manipulate the flash, control is given back to C-SPY before these operations are complete. Consequently, C-SPY updates its memory window with erroneous information. A workaround to this behavior is to follow the flash access instruction with a NOP, and then step past the NOP before reviewing the effects of the flash access instruction (see FAQ Debugging #21). 24. Peripheral bits that are cleared when read during normal program execution (i.e., interrupt flags) are cleared when read while being debugged (i.e., memory dump, peripheral registers). When using certain MSP430 devices (such as MSP430F15x/16x and MSP430F43x/44x devices), bits do not behave this way (i.e., the bits are not cleared by C-SPY read operations). 25. C-SPY cannot be used to debug programs that execute in the RAM of 'F12x and 'F41x devices. A workaround to this limitation is to debug programs in flash. 26. While single stepping with active and enabled interrupts, it can appear that only the interrupt service routine (ISR) is active (i.e., the non-ISR code never appears to execute, and the single step operation always stops on the first line of the ISR). However, this behavior is correct because the device always processes an active and enabled interrupt before processing non-ISR (i.e., mainline) code. A workaround for this behavior is, while within the ISR, to disable the GIE bit on the stack so that interrupts are disabled after exiting the ISR. This permits the non-ISR code to be debugged (but without interrupts). Interrupts can later be reenabled by setting GIE in the status register in the Register window. On devices with the clock control emulation feature, it may be possible to suspend a clock between single steps and delay an interrupt request (Emulator → Advanced → Clock Control). 27. The base (decimal, hexadecimal, etc.) property of Watch Window variables is not preserved between C-SPY sessions; the base reverts to Default Format. 28. On devices equipped with a Data Transfer Controller (DTC), the completion of a data transfer cycle preempts a single step of a low-power mode instruction. The device advances beyond the low-power mode instruction only after an interrupt is processed. Until an interrupt is processed, it appears that the single step has no effect. A workaround to this situation is to set a breakpoint on the instruction following the low-power mode instruction, and then execute (Go) to this breakpoint. 29. The transfer of data by the Data Transfer Controller (DTC) may not stop precisely when the DTC is stopped in response to a single step or a breakpoint. When the DTC is enabled and a single step is performed, one or more bytes of data can be transferred. When the DTC is enabled and configured for two-block transfer mode, the DTC may not stop precisely on a block boundary when stopped in response to a single step or a breakpoint. 30. The C-SPY Register window supports instruction cycle length counters. The cycle counter is active only while single stepping. The count is reset when the device is reset, or the device is run (Go). The count can be edited (normally set to zero) at any time. 31. It is possible to use C-SPY to get control of a running device whose state is unknown. Simply use C-SPY to program a dummy device, and then start the application with Release JTAG on Go selected. Remove the JTAG connector from the dummy device and connect to the unknown device. Select Debug → Break (or the Stop hand) to stop the unknown device. The state of the device can then be interrogated. 24 Frequently Asked Questions SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Debugging (C-SPY) 32. Resetting a program temporarily requires a breakpoint if Project → Options → Debugger → Setup → Run To is enabled. If N or more breakpoints are set, Reset sets a virtual breakpoint and runs to the Run To function. Consequently, it may require a significant amount of time before the program resets (i.e., stops at the Run To function). During this time the C-SPY indicates that the program is running, and C-SPY windows may be blank (or may not be correctly updated). 33. Run To Cursor temporarily requires a breakpoint. If N breakpoints are set and virtual breakpoints are disabled, Run To Cursor incorrectly uses a virtual breakpoint. This results in very slow program execution. 34. The simulator is a CPU core simulator only; peripherals are not simulated, and interrupts are statistical events. 35. On devices without data breakpoint capabilities, it is possible to associate with an instruction breakpoint an (arbitrarily complex) expression that C-SPY evaluates when the breakpoint is hit. This mechanism can be used to synthesize a data breakpoint. See the C-SPY documentation for a description of this complex breakpoint mechanism. 36. The ROM Monitor referenced by the C-SPY documentation applies only to older MSP430Exxx (EPROM) based devices; it can be ignored when using the FET and the flash-based MSP430F devices. 37. Special function registers (SFRs) and the peripheral registers are displayed in View → Register. 38. The putchar()/getchar() breakpoints are set only if these functions are present (and the mechanism is enabled). Note that putchar()/getchar() could be indirectly referenced by a library function. 39. The flash program/download progress bar does not update gradually. This behavior is to be expected. The progress bar updates whenever a "chunk" of memory is written to flash. The development tools attempt to minimize the number of program chunks to maximize programming efficiency. Consequently, it is possible, for example, for a 60K-byte program to be reduced to a single chunk, and the progress bar is updated until the entire write operation is complete. 40. After moving a complete EW430 project (including workspace-, project-, source- and generated object-files) to a different storage location (e.g. a different PC) a rebuild of the object files (rebuild project) is required before starting C-Spy. The Linker stores absolute path names in the object files which most probably do not match with the new storage location. C-Spy would pop up a message that the source files cannot be located or show other strange artifacts during debugging. SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Frequently Asked Questions 25 26 Frequently Asked Questions SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated Appendix B SLAU138R – June 2004 – Revised March 2010 FET-Specific Menus Topic ........................................................................................................................... Page B.1 Menus .............................................................................................................. 28 SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated FET-Specific Menus 27 Menus B.1 Menus www.ti.com B.1.1 Emulator → Device Information Opens a window with information about the target device being used. Also, this window allows adjusting the target voltage in the case an MSP-FET430UIF interface is used to supply power to the target by performing a right-click inside this window. The supply voltage can be adjusted between 1.8 V and 5 V. This voltage is available on pin 2 of the 14-pin target connector to supply the target from the MSP-FET430UIF. If the target is supplied externally, the external supply voltage should be connected to pin 4 of the target connector, so the MSP-FET430UIF can set the level of the output signals accordingly. B.1.2 Emulator → Release JTAG on Go C-SPY uses the device JTAG signals to debug the device. On some MSP430 devices, these JTAG signals are shared with the device port pins. Normally, C-SPY maintains the pins in JTAG mode so that the device can be debugged. During this time the port functionality of the shared pins is not available. However, when Release JTAG On Go is selected, the JTAG drivers are set to three-state, and the device is released from JTAG control (TEST pin is set to GND) when Go is activated. Any active on-chip breakpoints are retained, and the shared JTAG port pins revert to their port functions. At this time, C-SPY has no access to the device and cannot determine if an active breakpoint (if any) has been reached. C-SPY must be manually commanded to stop the device, at which time the state of the device is determined (i.e., was a breakpoint reached?) (see FAQ Debugging #12). B.1.3 Emulator → Resynchronize JTAG Regain control of the device. It is not possible to Resynchronize JTAG while the device is operating. B.1.4 Emulator → Init New Device Initialize the device according to the settings in the Download Options. Basically, the current program file is downloaded to the device memory. The device is then reset. This option can be used to program multiple devices with the same program from within the same C-SPY session. It is not possible to select Init New Device while the device is operating. B.1.5 Emulator → Secure - Blow JTAG Fuse Blows the fuse on the target device. After the fuse is blown, no communication with the device is possible. B.1.6 Emulator → Breakpoint Usage List all used hardware and virtual breakpoints, as well as all currently defined EEM breakpoints. B.1.7 Emulator → Advanced → Clock Control Disable the specified system clock while C-SPY has control of the device (following a Stop or breakpoint). All system clocks are enabled following a Go or a single step (Step/Step Into) (see FAQ Debugging #19). B.1.8 Emulator → Advanced → Emulation Mode Specify the device to be emulated. The device must be reset (or reinitialized through Init New Device) following a change to the emulation mode. B.1.9 Emulator → Advanced → Memory Dump Write the specified device memory contents to a specified file. A conventional dialog is displayed that permits the user to specify a file name, a memory starting address, and a length. The addressed memory is then written in a text format to the named file. Options permit the user to select word or byte text format, and address information and register contents also can be appended to the file. 28 FET-Specific Menus SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated www.ti.com Menus B.1.10 Emulator → Advanced → Breakpoint Combiner Open the Breakpoint Combiner dialog box. The Breakpoint Combiner dialog box permits one to specify breakpoint dependencies. A breakpoint is triggered when the breakpoints are encountered in the specified order. B.1.11 Emulator → State Storage Control Open the State Storage dialog box. The State Storage dialog box permits the user to use the state storage module. The State Storage Module is not present on all MSP430 derivatives. See Table 2-1 for implementation details See the IAR C-SPY FET Debugger section in the MSP430 IAR Embedded Workbench IDE User Guide. B.1.12 Emulator → State Storage Window Open the State Storage window, and display the stored state information as configured by the State Storage dialog. See the IAR C-SPY FET Debugger section in the MSP430 IAR Embedded Workbench IDE User Guide. B.1.13 Emulator → Sequencer Control Open the Sequencer dialog box. The Sequencer dialog box permits the user to configure the sequencer state machine. See the IAR C-SPY FET Debugger section in the MSP430 IAR Embedded Workbench IDE User Guide. B.1.14 Emulator → "Power on" Reset Cycle power to the device to effect a reset. B.1.15 Emulator → GIE on/off Enables or disables all interrupts. Needs to be restored manually before Go. B.1.16 Emulator → Leave Target Running If C-SPY is closed, the target keeps running the user program. B.1.17 Emulator → Force Single Stepping On Go the program is executed by single steps. The cycle counter works correctly only in this mode. NOTE: Availability of Emulator → Advanced menus Not all Emulator → Advanced menus are supported by all MSP430 devices. These menus are grayed out. SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated FET-Specific Menus 29 Document Revision History www.ti.com Document Revision History Version SLAU138R SLAU138Q SLAU138P SLAU138O SLAU138N Changes/Comments Added emulation features for MSP430G2xxx, MSP430F51x1, MSP430F51x2, MSP430F550x, MSP430F5510, MSP430F551x, MSP430F552x, MSP430F663x. Updated supported operating systems in Section 1.1. Updated features for MSP430F461x and MSP430F461x 1 in Table 2-1. Removed Appendix C: 80-Pin MSP430F44x and MSP430F43x Device Emulation Added information on MSP430F5xx and CC430 devices SLAU138M • Removed information on hardware. It was moved into the MSP430 Hardware Tools User's Guide (SLAU278). • Added emulation features for MSP430F55xx and MSP430F54xxA in Table 2-1. • Updated and extended Table 2-1 with architecture information. SLAU138L • Added MSP-FET430U100A kit in Section 1.7 and MSP-TS430PZ100A target socket module schematic (Figure B-19) and PCB (Figure B-20). • Added emulation features for CC430F513x, CC430F612x, CC430F613x, MSP430F41x2, MSP430F47x, MSP430FG479, and MSP430F471xx in Table 2-1. • Updated MSP-TS430PN80 target socket module schematic (Figure B-15) with information on MSP430F47x and MSP430FG47x. • Removed information throughout on MSP-FET430Pxx0 and MSP-FET430X110 kits. SLAU138K • Added MSP-FET430U5x100 kit and MSP-TS430PZ5x100 target socket module schematic. • Added overview of debug interfaces as Table 1-1. • Added eZ430-F2013, T2012, and eZ430-RF2500. SLAU138J • Updated Section 1-7. SLAU138I • Added MSP-TS430PW28 Target Socket Module, Schematic (Figure B-5) and PCB (Figure B-6). • Updated MSP-FET430U28 kit content information (DW or PW package support) (Section 1-7). • Added Emulation features for MSP430F21x2 to Table 2-1. • Updated MSP-TS430PW14 Target Socket Module, Schematic (Figure B-1). • Updated MSP-TS430DA38 Target Socket Module, Schematic (Figure B-7). SLAU138H • Updated Appendix E SLAU138G • Added Emulation features for MSP430F22x2, MSP430F241x, MSP430F261x, MSP430FG42x0 and MSP430F43x1 to Table 2-1. • Updated Figure B-15 and Figure B-16 in Appendix B. SLAU138F • Renamed MSP-FET430U40 to MSP-FET430U23x0. • Replaced MSP-FET430U40 schematic and PCB figures with renamed MSP-FET430U23x0 images. • Added FAQ Hardware #2 in Section A.1. • Added FAQ Debugging #3 in Section A.3. NOTE: Page numbers for previous revisions may differ from page numbers in the current version. 30 Revision History SLAU138R – June 2004 – Revised March 2010 Submit Documentation Feedback Copyright © 2004–2010, Texas Instruments Incorporated EVALUATION BOARD/KIT IMPORTANT NOTICE Texas Instruments (TI) provides the enclosed product(s) under the following conditions: This evaluation board/kit is intended for use for ENGINEERING DEVELOPMENT, DEMONSTRATION, OR EVALUATION PURPOSES ONLY and is not considered by TI to be a finished end-product fit for general consumer use. Persons handling the product(s) must have electronics training and observe good engineering practice standards. As such, the goods being provided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-related protective considerations, including product safety and environmental measures typically found in end products that incorporate such semiconductor components or circuit boards. This evaluation board/kit does not fall within the scope of the European Union directives regarding electromagnetic compatibility, restricted substances (RoHS), recycling (WEEE), FCC, CE or UL, and therefore may not meet the technical requirements of these directives or other related directives. Should this evaluation board/kit not meet the specifications indicated in the User’s Guide, the board/kit may be returned within 30 days from the date of delivery for a full refund. THE FOREGOING WARRANTY IS THE EXCLUSIVE WARRANTY MADE BY SELLER TO BUYER AND IS IN LIEU OF ALL OTHER WARRANTIES, EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. The user assumes all responsibility and liability for proper and safe handling of the goods. Further, the user indemnifies TI from all claims arising from the handling or use of the goods. Due to the open construction of the product, it is the user’s responsibility to take any and all appropriate precautions with regard to electrostatic discharge. EXCEPT TO THE EXTENT OF THE INDEMNITY SET FORTH ABOVE, NEITHER PARTY SHALL BE LIABLE TO THE OTHER FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES. TI currently deals with a variety of customers for products, and therefore our arrangement with the user is not exclusive. TI assumes no liability for applications assistance, customer product design, software performance, or infringement of patents or services described herein. Please read the User’s Guide and, specifically, the Warnings and Restrictions notice in the User’s Guide prior to handling the product. This notice contains important safety information about temperatures and voltages. For additional information on TI’s environmental and/or safety programs, please contact the TI application engineer or visit www.ti.com/esh. No license is granted under any patent right or other intellectual property right of TI covering or relating to any machine, process, or combination in which such TI products or services might be or are used. FCC Warning This evaluation board/kit is intended for use for ENGINEERING DEVELOPMENT, DEMONSTRATION, OR EVALUATION PURPOSES ONLY and is not considered by TI to be a finished end-product fit for general consumer use. It generates, uses, and can radiate radio frequency energy and has not been tested for compliance with the limits of computing devices pursuant to part 15 of FCC rules, which are designed to provide reasonable protection against radio frequency interference. Operation of this equipment in other environments may cause interference with radio communications, in which case the user at his own expense will be required to take whatever measures may be required to correct this interference. IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of TI information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Information of third parties may be subject to additional restrictions. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. TI products are not authorized for use in safety-critical applications (such as life support) where a failure of the TI product would reasonably be expected to cause severe personal injury or death, unless officers of the parties have executed an agreement specifically governing such use. Buyers represent that they have all necessary expertise in the safety and regulatory ramifications of their applications, and acknowledge and agree that they are solely responsible for all legal, regulatory and safety-related requirements concerning their products and any use of TI products in such safety-critical applications, notwithstanding any applications-related information or support that may be provided by TI. Further, Buyers must fully indemnify TI and its representatives against any damages arising out of the use of TI products in such safety-critical applications. TI products are neither designed nor intended for use in military/aerospace applications or environments unless the TI products are specifically designated by TI as military-grade or "enhanced plastic." Only products designated by TI as military-grade meet military specifications. Buyers acknowledge and agree that any such use of TI products which TI has not designated as military-grade is solely at the Buyer's risk, and that they are solely responsible for compliance with all legal and regulatory requirements in connection with such use. TI products are neither designed nor intended for use in automotive applications or environments unless the specific TI products are designated by TI as compliant with ISO/TS 16949 requirements. Buyers acknowledge and agree that, if they use any non-designated products in automotive applications, TI will not be responsible for any failure to meet such requirements. Following are URLs where you can obtain information on other Texas Instruments products and application solutions: Products Amplifiers Data Converters DLP® Products amplifier.ti.com dataconverter.ti.com www.dlp.com DSP dsp.ti.com Clocks and Timers Interface Logic Power Mgmt Microcontrollers RFID www.ti.com/clocks interface.ti.com logic.ti.com power.ti.com microcontroller.ti.com www.ti-rfid.com RF/IF and ZigBee® Solutions www.ti.com/lprf Applications Audio Automotive Communications and Telecom Computers and Peripherals Consumer Electronics Energy Industrial Medical Security Space, Avionics & Defense Video and Imaging Wireless www.ti.com/audio www.ti.com/automotive www.ti.com/communications www.ti.com/computers www.ti.com/consumer-apps www.ti.com/energy www.ti.com/industrial www.ti.com/medical www.ti.com/security www.ti.com/space-avionics-defense www.ti.com/video www.ti.com/wireless-apps Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265 Copyright © 2010, Texas Instruments Incorporated

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。