Codewarrior™ Development Studio for Freescale™ 56800/E Digital Signal Controllers: Mc56f8xxx/Dsp5685x Family Targeting Manual

Total Page:16

File Type:pdf, Size:1020Kb

Codewarrior™ Development Studio for Freescale™ 56800/E Digital Signal Controllers: Mc56f8xxx/Dsp5685x Family Targeting Manual CodeWarrior™ Development Studio for Freescale™ 56800/E Digital Signal Controllers: MC56F8xxx/DSP5685x Family Targeting Manual Revised: 19 June 2006 Freescale, the Freescale logo, and CodeWarrior are trademarks or registered trademarks of Freescale Corporation in the United States and/or other countries. All other trade names and trademarks are the property of their respective owners. Copyright © 2006 by Freescale Semiconductor company. All rights reserved. No portion of this document may be reproduced or transmitted in any form or by any means, electronic or me- chanical, without prior written permission from Freescale. Use of this document and related materials is gov- erned by the license agreement that accompanied the product to which this manual pertains. This document may be printed for non-commercial personal use only in accordance with the aforementioned license agreement. If you do not have a copy of the license agreement, contact your Freescale representative or call 1-800-377-5416 (if outside the U.S., call +1-512-996-5300). Freescale reserves the right to make changes to any product described or referred to in this document without further notice. Freescale makes no warranty, representation or guarantee regarding the merchantability or fitness of its products for any particular purpose, nor does Freescale assume any liability arising out of the application or use of any product described herein and specifically disclaims any and all liability. Freescale software is not authorized for and has not been designed, tested, manufactured, or intended for use in developing applications where the failure, malfunc- tion, or any inaccuracy of the application carries a risk of death, serious bodily injury, or damage to tangible property, including, but not limited to, use in factory control systems, medical devices or facilities, nuclear facil- ities, aircraft navigation or communication, emergency systems, or other applications with a similar degree of potential hazard. How to Contact Freescale Corporate Headquarters Freescale Corporation 7700 West Parmer Lane Austin, TX 78729 U.S.A. World Wide Web http://www.freescale.com/codewarrior Technical Support http://www.freescale.com/support Table of Contents 1 Introduction 13 CodeWarrior IDE . 13 Freescale 56800/E Digital Signal Controllers . 14 References. 16 2 Getting Started 19 System Requirements . 19 Installing and Registering the CodeWarrior IDE . 19 Creating a Project . 24 3 Development Studio Overview 35 CodeWarrior IDE . 35 Development Process . 36 Project Files. 38 Editing Code . 39 Building: Compiling and Linking . 40 Debugging . 42 4 Target Settings 43 Target Settings Overview . 43 Target Setting Panels. 43 Changing Target Settings . 45 Exporting and Importing Panel Options to XML Files. 46 Restoring Target Settings . 47 CodeWarrior IDE Target Settings Panels . 47 DSP56800E-Specific Target Settings Panels . 48 Target Settings. 49 M56800E Target . 50 C/C++ Language (C Only) . 51 C/C++ Preprocessor . 55 C/C++ Warnings . 57 M56800E Assembler. 62 56800/E Digital Signal Controllers: MC56F8xxx/DSP5685x Targeting Manual 3 Table of Contents M56800E Processor. .64 ELF Disassembler . .68 M56800E Linker . .71 Remote Debugging . .76 M56800E Target (Debugging). .77 Remote Debug Options . .82 5 Processor Expert Interface 85 Processor Expert Overview. .85 Processor Expert Code Generation . .86 Processor Expert Beans . .87 Processor Expert Menu . .89 Processor Expert Windows . .93 Bean Selector. .93 Bean Inspector . .94 Target CPU Window . .96 Memory Map Window. .101 CPU Types Overview . .103 Resource Meter . .104 Installed Beans Overview . .104 Peripherals Usage Inspector . .105 Processor Expert Tutorial . .106 6 C for DSP56800E 121 Number Formats . .121 Calling Conventions and Stack Frames. .123 Passing Values to Functions . .123 Returning Values From Functions . .124 Volatile and Non-Volatile Registers. .124 Stack Frame and Alignment . .128 User Stack Allocation . .129 Data Alignment Requirements . .133 Word and Byte Pointers. .134 Reordering Data for Optimal Usage . .135 Variables in Program Memory . .135 4 56800/E Digital Signal Controllers: MC56F8xxx/DSP5685x Targeting Manual Table of Contents Declaring Program Memory Variables . 136 Using Variables in Program Memory . 136 Linking with Variables in Program Memory. 138 Code and Data Storage . 140 Large Data Model Support . 141 Extended Data Addressing Example. 142 Accessing Data Objects Examples . 142 External Library Compatibility . 144 Optimizing Code. 144 Deadstripping and Link Order . 145 Working with Peripheral Module Registers . 146 Compiler Generates Bit Instructions. 146 Explanation of Undesired Behavior . 147 Recommended Programming Style. 148 Generating MAC Instruction Set . 150 7 High-Speed Simultaneous Transfer 151 Host-Side Client Interface . 151 hsst_open. 151 hsst_close . 152 hsst_read . 152 hsst_write . ..
Recommended publications
  • Porting Codewarrior Projects to Xcode
    Porting CodeWarrior Projects to Xcode 2006-09-05 Intel and Intel Core are registered Apple Computer, Inc. trademarks of Intel Corportation or its © 2003, 2006 Apple Computer, Inc. subsidiaries in the United States and other All rights reserved. countries. Java and all Java-based trademarks are No part of this publication may be trademarks or registered trademarks of Sun reproduced, stored in a retrieval system, or Microsystems, Inc. in the U.S. and other transmitted, in any form or by any means, countries. mechanical, electronic, photocopying, recording, or otherwise, without prior OpenGL is a registered trademark of Silicon written permission of Apple Computer, Inc., Graphics, Inc. with the following exceptions: Any person PowerPC and and the PowerPC logo are is hereby authorized to store documentation trademarks of International Business on a single computer for personal use only Machines Corporation, used under license and to print copies of documentation for therefrom. personal use provided that the Simultaneously published in the United documentation contains Apple’s copyright States and Canada. notice. Even though Apple has reviewed this document, The Apple logo is a trademark of Apple APPLE MAKES NO WARRANTY OR Computer, Inc. REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS Use of the “keyboard” Apple logo DOCUMENT, ITS QUALITY, ACCURACY, MERCHANTABILITY, OR FITNESS FOR A (Option-Shift-K) for commercial purposes PARTICULAR PURPOSE. AS A RESULT, THIS without the prior written consent of Apple DOCUMENT IS PROVIDED “AS IS,” AND YOU, THE READER, ARE ASSUMING THE may constitute trademark infringement and ENTIRE RISK AS TO ITS QUALITY AND unfair competition in violation of federal ACCURACY.
    [Show full text]
  • Development of a Personal Diet Plan Database Application for Persons with Severe Food Allergies Heather Suzanne Ward Regis University
    Regis University ePublications at Regis University All Regis University Theses Summer 2005 Development Of A Personal Diet Plan Database Application For Persons With Severe Food Allergies Heather Suzanne Ward Regis University Follow this and additional works at: https://epublications.regis.edu/theses Part of the Computer Sciences Commons Recommended Citation Ward, Heather Suzanne, "Development Of A Personal Diet Plan Database Application For Persons With Severe Food Allergies" (2005). All Regis University Theses. 772. https://epublications.regis.edu/theses/772 This Thesis - Open Access is brought to you for free and open access by ePublications at Regis University. It has been accepted for inclusion in All Regis University Theses by an authorized administrator of ePublications at Regis University. For more information, please contact [email protected]. Regis University School for Professional Studies Graduate Programs Final Project/Thesis Disclaimer Use of the materials available in the Regis University Thesis Collection (“Collection”) is limited and restricted to those users who agree to comply with the following terms of use. Regis University reserves the right to deny access to the Collection to any person who violates these terms of use or who seeks to or does alter, avoid or supersede the functional conditions, restrictions and limitations of the Collection. The site may be used only for lawful purposes. The user is solely responsible for knowing and adhering to any and all applicable laws, rules, and regulations relating or pertaining to use of the Collection. All content in this Collection is owned by and subject to the exclusive control of Regis University and the authors of the materials.
    [Show full text]
  • Java Core Technologies (Part III)
    Extreme Java G22.3033-007 Session 5 - Main Theme Java Core Technologies (Part III) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda • Summary of Previous Session / Epilogue • Java Media APIs •Java 2D API • Java Media Framework • XBeans and Visual XBeans •JNI • Java Generative Programming Technology • Language Features •Threads • Readings 2 1 Summary of Previous Session • Summary of Previous Session • Java AWT and Swing components • Drag and Drop • Graphics and Multimedia Components (JavaMedia) • JavaBeans • Readings • Class Project & Assignment #2b 3 Java Technologies/Features in Scope • Technologies: • Collections Framework • Input Method Framework • Swing • Drag and Drop • JavaBeans •JNI • Security • Language Features: • Threads • Assertions 4 2 Part I Session 4 Epilogue 5 Drag and Drop (http://java.sun.com/j2se/1.4/docs/guide/swing/1.4/dnd.html) • See Session 4 Handout on Drag and Drop Data Transfer • Adding Drag and Drop to a JTree • In J2SE 1.4, JTree supports Drag but developers must implement and install a custom TransferHandler to fully support imports of data on Drop targets • http://www.javaworld.com/javaworld/javatips/jw-javatip97.html • http://www.javaworld.com/javaworld/javatips/jw-javatip114.html • http://sourceforge.net/projects/ijtree/ 6 3 JavaBeans and JAF (http://java.sun.com/j2se/1.4/docs/guide/beans/changes14.html) • See Session 4 Handout on Component Modeling with JavaBeans • Download the BeanBuilder • http://java.sun.com/products/javabeans/beanbuilder/index.html
    [Show full text]
  • Configuring the Codewarrior Tools to Debug a BSC9131RDB Board
    Freescale Semiconductor Document Number: AN4384 Application Note Rev. 0, 07/2012 Configuring the CodeWarrior Tools to Debug a BSC9131RDB Board by Freescale Semiconductor, Inc. Austin, TX This application note describes how to configure Contents the Freescale CodeWarrior tools to support 1 BSC9131 overview .................................................... 2 developing and debugging of embedded 2 Debugger configuration strategies ............................. 4 3 BSC9131RDB board setup ........................................ 6 software on the BSC9131RDB board. 4 Two-TAP connection scheme .................................... 7 5 Revision history ........................................................ 33 Because the QorIQ Qonverge BSC9131 Appendix A How to Disable the SC3850 Caches ....... 34 processor contains two disparate processor Appendix B DSP Debugging with a BSP Present ....... 38 Appendix C Ethernet TAP Run Controller Options ..... 39 cores, writing software for the part requires two different sets of CodeWarrior tools: one to manage the DSP core, and another to manage the system core. Care must be taken to ensure that the two sets of tools do not interact with each other. Both the proper configuration sequences and the potential pitfalls are described here. This application note assumes the use of CodeWarrior for StarCore DSPs v10.2.10 or later, and CodeWarrior for Power Architecture® v10.1.2 or later. © 2012 Freescale Semiconductor, Inc. 1 BSC9131 overview The Freescale QorIQ Qonverge BSC9131 contains two processor cores, each of whose microarchitecture is optimized for a specific purpose: StarCore SC3850 DSP core implements high-throughput signal processing functions Power Architecture e500 core implements high-volume network functions These cores manage a number of powerful peripherals, all of which are interconnected through a low- latency switching fabric (Figure 1). However, for debugging setup purposes, only the cores are considered in this application note.
    [Show full text]
  • Codewarrior™ Build Tools Reference for Freescale™ 56800/E Hybrid Controllers
    Freescale Semiconductor, Inc. CodeWarrior™ Build Tools Reference for Freescale™ 56800/E Hybrid Controllers Revised 28 October 2004 For More Information: www.freescale.com Freescale Semiconductor, Inc. Metrowerks and the Metrowerks logo are registered trademarks of Metrowerks Corporation in the United States and/ or other countries. CodeWarrior is a trademark or registered trademark of Metrowerks Corporation in the United States and/or other countries. All other trade names and trademarks are the property of their respective owners. Copyright © 2004 Metrowerks Corporation. ALL RIGHTS RESERVED. No portion of this document may be reproduced or transmitted in any form or by any means, electronic or me- chanical, without prior written permission from Metrowerks. Use of this document and related materials are governed by the license agreement that accompanied the product to which this manual pertains. This document may be printed for non-commercial personal use only in accordance with the aforementioned license agree- ment. If you do not have a copy of the license agreement, contact your Metrowerks representative or call 1-800- 377-5416 (if outside the U.S., call +1-512-996-5300). Metrowerks reserves the right to make changes to any product described or referred to in this document without further notice. Metrowerks makes no warranty, representation or guarantee regarding the merchantability or fitness of its prod- ucts for any particular purpose, nor does Metrowerks assume any liability arising out of the application or use of any product
    [Show full text]
  • Ultimate++ Forum
    Subject: Porting (Mac OS X) and "reference application" idea Posted by mirek on Thu, 17 May 2007 15:35:21 GMT View Forum Message <> Reply to Message I have an idea how to speed-up the porting (MacOS X now, be it is general). The most time consuming part of problem is to find out all the information about implementing required things on target platform, something that developer that knows the platform would find primitive. OTOH, target platform guru's are unlikely to know about U++ implementation details. So my idea is to create "reference application" that will contain all the function for minimal (and perhaps later, advanced) target platform support. Target platform guru will reimplement this application (using the most straighforward way) and submit the code, which will serve as great boost to development speed (sort of U++ oriented knowledge base). Thoughts? Mirek Subject: Re: Porting (Mac OS X) and "reference application" idea Posted by captainc on Sun, 14 Sep 2008 13:08:14 GMT View Forum Message <> Reply to Message luzr wrote on Thu, 17 May 2007 11:35I have an idea how to speed-up the porting (MacOS X now, be it is general). The most time consuming part of problem is to find out all the information about implementing required things on target platform, something that developer that knows the platform would find primitive. OTOH, target platform guru's are unlikely to know about U++ implementation details. So my idea is to create "reference application" that will contain all the function for minimal (and perhaps later, advanced) target platform support.
    [Show full text]
  • Xcode Chapter.Indd
    Chapter 1 Xcode Many computer books use Chapter 1 to cover introductory material. Xcode Tools Sensei is not one of those books. I want you to start learning immediately. After reading this chapter you’ll know how to create a project, add files to your project, edit source code, model data, read developer documentation, configure the compiler, and build your project into a working Mac OS X program. Creating a Project Every program you write with Xcode requires a project, no matter how small the program is. An Xcode project contains your program’s source code files and other files Xcode needs to build a working program, such as Interface Builder nib files. To create an Xcode project, choose File > New Project, and the Project Assistant window opens. Xcode has the following project categories: n Action n Application n Audio Units n Bundle n Command-Line Utility n Dynamic Library n External Build System n Framework n J2EE n Java n Kernel Extension n Standard Apple Plug-Ins n Static Library I will go into greater detail on the types of projects shortly, but most of you will be making application projects. After choosing the type of project you want to make, click the Next button. Tell Xcode the name of your project and where you want to store it, then click the Finish button. Congratulations! You’ve created an Xcode project. What Xcode includes in a project depends on the type of project you create. Xcode includes the following files for a Cocoa application: n An Objective C source code file, main.m.
    [Show full text]
  • Codewarrior® Palm OS 2.0 Tutorial for Windows
    CodeWarrior® Palm OS 2.0 Tutorial for Windows Because of last-minute changes to CodeWarrior, some of the information in this manual may be inaccurate. Please read the Release Notes on the CodeWarrior CD for the latest up-to-date information. Revised: 98/01/19 map Metrowerks CodeWarrior copyright ©1993Ð1998 by Metrowerks Inc. and its licensors. All rights reserved. Documentation stored on the compact disk(s) may be printed by licensee for personal use. Except for the foregoing, no part of this documentation may be reproduced or trans- mitted in any form by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from Metrowerks Inc. Metrowerks, the Metrowerks logo, CodeWarrior, and Software at Work are registered trademarks of Metrowerks Inc. PowerPlant and PowerPlant Constructor are trademarks of Metrowerks Inc. All other trademarks and registered trademarks are the property of their respective owners. ALL SOFTWARE AND DOCUMENTATION ON THE COMPACT DISK(S) ARE SUB- JECT TO THE LICENSE AGREEMENT IN THE CD BOOKLET. How to Contact Metrowerks: U.S.A. and international Metrowerks Corporation P.O. Box 334 Austin, TX 78758 U.S.A. Canada Metrowerks Inc. 1500 du College, Suite 300 Ville St-Laurent, QC Canada H4L 5G6 Ordering Voice: (800) 377Ð5416 Fax: (512) 873Ð4901 World Wide Web http://www.metrowerks.com Registration information [email protected] Technical support [email protected] Sales, marketing, & licensing [email protected] CompuServe goto Metrowerks Table of Contents Table of Contents . iii Introduction . 13 System Requirements for Macintosh Users . 14 Hardware Requirements . 14 Software Requirements .
    [Show full text]
  • Macintosh Library Modules Release 2.4.1
    Macintosh Library Modules Release 2.4.1 Guido van Rossum Fred L. Drake, Jr., editor 30 March 2005 Python Software Foundation Email: [email protected] Copyright c 2001-2004 Python Software Foundation. All rights reserved. Copyright c 2000 BeOpen.com. All rights reserved. Copyright c 1995-2000 Corporation for National Research Initiatives. All rights reserved. Copyright c 1991-1995 Stichting Mathematisch Centrum. All rights reserved. See the end of this document for complete license and permissions information. Abstract This library reference manual documents Python’s extensions for the Macintosh. It should be used in conjunction with the Python Library Reference, which documents the standard library and built-in types. This manual assumes basic knowledge about the Python language. For an informal introduction to Python, see the Python Tutorial; the Python Reference Manual remains the highest authority on syntactic and semantic questions. Finally, the manual entitled Extending and Embedding the Python Interpreter describes how to add new extensions to Python and how to embed it in other applications. CONTENTS 1 Using Python on a Macintosh 1 1.1 Getting and Installing MacPython .................................. 1 1.2 The IDE ............................................... 2 1.3 The Package Manager ........................................ 3 2 MacPython Modules 5 2.1 macpath — MacOS path manipulation functions ......................... 5 2.2 macfs — Various file system services ............................... 5 2.3 ic — Access to Internet Config ................................... 8 2.4 MacOS — Access to Mac OS interpreter features .......................... 9 2.5 macostools — Convenience routines for file manipulation ................... 10 2.6 findertools — The finder’s Apple Events interface ...................... 10 2.7 EasyDialogs — Basic Macintosh dialogs ............................ 11 2.8 FrameWork — Interactive application framework ........................
    [Show full text]
  • Engineering 101 HOW to Work Remotely from Windows
    Engineering 101 HOW TO Work Remotely from Windows If you wish to work on your Eng101 assignments from outside a CAEN lab such as your home computer or an ITD lab computer, you can do so in three different ways ¾ In terminal emulation mode you use your local computer as a text-only terminal to access the CAEN computer remotely. All editing and compiling is done on the CAEN computers. This ensures that your final code is compatible with the system on which we will compile and execute it when grading. ¾ In file transfer mode you use your local computer to edit text files and compile the code. Then when you are done you transfer your program to your Eng101 directory. It is very important if you use this method to test that your program is compatible with the CAEN compiler by compiling it remotely on the CAEN computers as well. ¾ In X server mode you connect much as you would in terminal emulation mode, but you open a connection via which both text and graphics can be displayed on your computer. This will allow you to use editors with graphical user interfaces (GUI's) as well as text- based resources. Each method differs in the ease of setup and the convenience of use. These methods also depend on your internet connection speed (or bandwidth) and the availability of software. If you are in a CAEN lab and you are working in Windows on a PC you should simply reboot your computer into Linux, otherwise proceed with this document. We will assume that you have an internet connection on your home computer.
    [Show full text]
  • Using Codewarrior for Macintosh
    CS106B Handout #5M Winter 04-05 January 7, 2005 Using CodeWarrior for Macintosh In CS106, you have the option of writing your programs on the Mac or PC. For the Macintosh environment, you will write your programs using the C++ compiler by Metrowerks called CodeWarrior Professional. The current version of CodeWarrior, Pro 8, has been site-licensed to Stanford and can be downloaded from the Software page on the course web site. CodeWarrior provides a very nice editing environment and debugger, and it is the state-of-the-art C++ compiler for the Mac. One of the consequences of using a state-of-the-art compiler is that the system requirements for CodeWarrior Pro 8 are somewhat high – it requires Mac OS 9.2.2 or later, 700MB of hard drive space, and at least 64 MB of RAM. You also have to have CarbonLib 1.5, since Pro 8 is written for Mac OS X as well. If you have OS X, then you need 128MB of RAM to run CodeWarrior Pro 8, and you don’t need CarbonLib as this is already part of OS X. You can download CarbonLib from Apple—more on this later. Using CodeWarrior at a cluster CodeWarrior is available for use in the Lair (the Tresidder Macintosh cluster), on the Macs in Meyer library, and in the residential computer clusters. Often it will already be in the Applications folder on the machine’s hard disk. If there is a folder there named something like Metrowerks CodeWarrior 8, then the application can be found within that folder.
    [Show full text]
  • This Introduction to the Metrowerks Codewarrior Software Development Tools
    Tutorial Introduction PURPOSE: - Provides an overview of the Metrowerks CodeWarrior toolset and explains how the toolset is organized and operates OBJECTIVES - Describe the CodeWarrior integrated development environment (IDE) - Identify the components of the CodeWarrior build system. - Identify the hosts on which the IDE executes. - Define a target. CONTENT: - 14 pages - 3 questions LEARNING TIME: - 20 minutes Welcome to this introduction to the Metrowerks CodeWarrior software development tools. This tutorial explains how CodeWarrior combines the programs required to write software into one seamless, integrated work environment. CodeWarrior tools run on several different platforms and can generate machine code for a variety of desktop and embedded systems. Upon completion of this tutorial, you’ll be able to describe the components of the CodeWarrior build system and the general organization of the software package. You’ll also be able to define a target and describe the operating systems that will host the software. 1 What is an IDE? • The IDE consists of tools that are used throughout the software development process. Project Manager Compiler Editor Assembler Search engine Linker Source code browser Debugger GUI designer • The tools are integrated fully and seamlessly. • A single environment is provided for software development. -- consistent operation -- move among all the tools freely -- a non-modal design In the CodeWarrior toolset, the Editor, Compiler, Linker, Debugger, and other software modules operate within an Integrated Development Environment, or IDE. The IDE oversees the control and execution of the tools. It provides an interface to the tools that is consistent and predictable. The operation of the development tools is seamless.
    [Show full text]