Texas Instruments Barcode Reader TMS470R1x User Manual

Getting Started  
Guide  
1997  
Microcontroller Products  
 
TMS470R1x Code Generation Tools  
Getting Started Guide  
Release 1.20  
Literature Number: SPNU117B  
Manufacturing Part Number: M414003-9741 revision B  
March 1997  
Printed on Recycled Paper  
 
IMPORTANT NOTICE  
Texas Instruments (TI) reserves the right to make changes to its products or to discontinue any semiconductor  
product or service without notice, and advises its customers to obtain the latest version of relevant information  
to verify, before placing orders, that the information being relied on is current.  
TI warrants performance of its semiconductor products and related software to the specifications applicable at  
the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are  
utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each  
device is not necessarily performed, except those mandated by government requirements.  
Certain applications using semiconductor products may involve potential risks of death, personal injury, or  
severe property or environmental damage (“Critical Applications”).  
TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR WARRANTED  
TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER  
CRITICAL APPLICATIONS.  
Inclusion of TI products in such applications is understood to be fully at the risk of the customer. Use of TI  
products in such applications requires the written approval of an appropriate TI officer. Questions concerning  
potential risk applications should be directed to TI through a local SC sales office.  
In order to minimize risks associated with the customer’s applications, adequate design and operating  
safeguards should be provided by the customer to minimize inherent or procedural hazards.  
TI assumes no liability for applications assistance, customer product design, software performance, or  
infringement of patents or services described herein. Nor does TI warrant or represent that any license, either  
express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property  
right of TI covering or relating to any combination, machine, or process in which such semiconductor products  
or services might be or are used.  
Copyright 1997, Texas Instruments Incorporated  
 
Preface  
Read This First  
About This Manual  
The TMS470R1x Code Generation Tools Getting Started Guide tells you how  
to install release 1.20 of the TMS470R1x code generation tools on your sys-  
tem. It also provides the following information:  
Tells you how to set environment variables for parameters that you use  
often  
Gets you started using the compiler, linker, and assembler  
Provides a list of the media contents for your tools set, so you will know  
what information is associated with each file you have installed  
Details enhancements in this release and tells you where to find further  
information  
Describes how you can resolve problems that you may encounter on a  
PC running DOS (MS-DOS or PC-DOS )  
Notational Conventions  
In this document, the following notational conventions are used:  
Program listings, program examples, and interactive displays are shown  
in a special typeface. Examples use a bold versionof the spe-  
cial typeface for emphasis. Interactive displays use boldto distinguish  
commands that you enter from items that the system displays (such as  
prompts, command output, error messages, etc.). Some interactive  
displays use italicsto describe the type of information that should be  
entered.  
Here is a sample program listing:  
0011 0005 0001  
0012 0005 0003  
0013 0005 0006  
0014 0006  
.field  
.field  
.field  
.even  
1, 2  
3, 4  
6, 3  
iii  
 
Notational Conventions / Related Documentation From Texas Instruments  
Here is an example of a command that you might enter:  
set PATH=c:\tool_dir;%PATH%  
Tochangeyourpathstatementtousethetools, enterthecommandtextas  
shown in bold and replace tool_dirwith the name of your tools direc-  
tory.  
In syntax descriptions, the instruction, command, or directive is in a bold  
typefacefontandparametersareinanitalictypeface. Portionsofasyntax  
that are in bold should be entered as shown; portions of a syntax that are  
in italics describe the type of information that should be entered.  
Here is an example of a command that you might use:  
mkdir tool_dir  
In this example, you would type mkdir, as shown, and replace tool_dir with  
the name of your directory.  
Square brackets ( [ and ] ) identify an optional parameter. If you use an op-  
tional parameter, you specify the information within the brackets; you don’t  
enter the brackets themselves. Here’s an example of a command that has  
optional parameters:  
SET C_DIR=pathname [;pathname . . .]  
1
2
Setting the C_DIR environment variable allows you to specify one or more  
pathnames for the C compiler to search.  
Related Documentation From Texas Instruments  
The following books describe the TMS470R1x and related support tools. To  
obtain a copy of any of these TI documents, call the Texas Instruments Litera-  
ture Response Center at (800) 477–8924. When ordering, please identify the  
book by its title and literature number.  
TMS470R1x Assembly Language Tools User’s Guide (literature number  
SPNU118) describes the assembly language tools (assembler, linker,  
and other tools used to develop assembly language code), assembler  
directives, macros, common object file format, and symbolic debugging  
directives for the TMS470R1x devices.  
TMS470R1x Optimizing C Compiler User’s Guide (literature number  
SPNU119) describes the TMS470R1x C compiler. This C compiler  
acceptsANSIstandardCsourcecodeandproducesassemblylanguage  
source code for the TMS470R1x devices.  
iv  
 
Related Documentation From Texas Instruments / Trademarks  
TMS470R1x C Source Debugger User’s Guide (literature number  
SPNU124) describes the TMS470R1x emulator and simulator versions  
of the C source debugger interface. This book discusses various aspects  
of the debugger interface, including window management, command  
entry, code execution, data management, and breakpoints. It also  
includes a tutorial that introduces basic debugger functionality.  
TMS470R1x User’s Guide (literature number SPNU134) describes the  
TMS470R1x RISC microcontroller, its architecture (including registers),  
ICEBreaker module, interfaces (memory, coprocessor, and debugger),  
16-bit and 32-bit instruction sets, and electrical specifications.  
Trademarks  
DOS/4G is a trademark of Tenberry Software, Inc.  
HP-UX, HP 9000 Series 700, and PA-RISC are trademarks of Hewlett-  
Packard Company.  
IBM, PC, and PC-DOS are trademarks of International Business Machines  
Corp.  
MS-DOS, Windows, and Windows NT are registered trademarks of Microsoft  
Corp.  
OpenWindows,SunOS, andSolarisaretrademarksofSunMicrosystems, Inc.  
Pentium is a trademark of Intel Corporation.  
SPARCstation is trademark of SPARC International, Inc., but licensed exclu-  
sively to Sun Microsystems, Inc.  
UNIX is a registered trademark in the United States and other countries,  
licensed exclusively through X/Open Company Limited.  
X Window System is a trademark of the Massachusetts Institute of Tech-  
nology.  
Read This First  
v
 
If You Need Assistance  
If You Need Assistance . . .  
World-Wide Web Sites  
TI Online  
Semiconductor Product Information Center (PIC)  
Microcontroller Home Page  
North America, South America, Central America  
Product Information Center (PIC)  
TI Literature Response Center U.S.A.  
Software Registration/Upgrades  
U.S.A. Factory Repair/Hardware Upgrades  
U.S. Technical Training Organization  
Microcontroller Hotline  
(972) 644-5580  
(800) 477-8924  
(214) 638-0333  
(281) 274-2285  
(972) 644-5580  
(281) 274-2370  
Fax: (214) 638-7742  
Fax: (281) 274-4203  
Microcontroller Modem BBS  
(281) 274-3700 8-N-1  
Europe, Middle East, Africa  
European Product Information Center (EPIC) Hotlines:  
Multi-Language Support +33 1 30 70 11 69  
+49 8161 80 33 11 or +33 1 30 70 11 68  
Fax: +33 1 30 70 10 32 Email: [email protected]  
Deutsch  
English  
Francais  
Italiano  
+33 1 30 70 11 65  
+33 1 30 70 11 64  
+33 1 30 70 11 67  
+33 1 30 70 11 99  
+33 4 93 22 25 40  
EPIC Modem BBS  
European Factory Repair  
Europe Customer Training Helpline  
Fax: +49 81 61 80 40 10  
Fax: +852 2 956 2200  
Asia-Pacific  
Literature Response Center  
+852 2 956 7288  
Japan  
Product Information Center  
+0120-81-0026 (in Japan)  
Fax: +0120-81-0036 (in Japan)  
+03-3457-0972 or (INTL) 813-3457-0972  
Fax: +03-3457-1259 or (INTL) 813-3457-1259  
Documentation  
When making suggestions or reporting errors in documentation, please include the following information that is on the title  
page: the full title of the book, the publication date, and the literature number.  
Mail: Texas Instruments Incorporated  
Technical Documentation Services, MS 702  
P.O. Box 1443  
Houston, Texas 77251-1443  
Note: When calling a Literature Response Center to order documentation, please specify the literature number of the  
book.  
vi  
 
Contents  
1
Setting Up the Code Generation Tools With DOS or Windows 3.1x . . . . . . . . . . . . . . . . . . 1-1  
Provides installation instructions for PCs running DOS or Windows 3.1x.  
1.1  
1.2  
1.3  
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2  
Hardware checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2  
Software checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2  
Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3  
Installing the tools on DOS systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3  
Installing the tools on Windows 3.1x systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3  
Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4  
Identifying the directory that contains the executable files (PATH statement) . . . . . . . . 1-5  
Identifying alternate directories for the assembler to search (A_DIR) . . . . . . . . . . . . . . 1-5  
Identifying alternate directories for the compiler to search (C_DIR) . . . . . . . . . . . . . . . . 1-5  
Setting default shell options (C_OPTION) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6  
Specifying a temporary file directory (TMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7  
Resetting defined environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7  
Verifying that the environment variables are set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7  
Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8  
Where to Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8  
1.4  
1.5  
2
Setting Up the Code Generation Tools With Windows 95 and Windows NT . . . . . . . . . . . 2-1  
Provides installation instructions for the code generation tools for PCs running Windows 95 or  
Windows NT.  
2.1  
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2  
Hardware checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2  
Software checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2  
Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3  
Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4  
Identifying the directory that contains the executable files (PATH statement) . . . . . . . . 2-5  
Identifying alternate directories for the assembler to search (A_DIR) . . . . . . . . . . . . . . 2-5  
Identifying alternate directories for the compiler to search (C_DIR) . . . . . . . . . . . . . . . . 2-6  
Setting default shell options (C_OPTION) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6  
Specifying a temporary file directory (TMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7  
Resetting defined environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7  
Verifying that the environment variables are set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7  
Where to Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8  
2.2  
2.3  
2.4  
vii  
 
Contents  
3
Setting Up the Code Generation Tools With SunOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1  
Provides installation instructions for the code generation tools for SPARCstations running  
SunOS.  
3.1  
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
Hardware checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
Software checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3  
Mounting the CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3  
Copying the files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4  
Unmounting the CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4  
Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
Identifying the directory that contains the executable files (path statement) . . . . . . . . . 3-6  
Identifying alternate directories for the assembler to search (A_DIR) . . . . . . . . . . . . . . 3-6  
Identifying alternate directories for the compiler to search (C_DIR) . . . . . . . . . . . . . . . . 3-7  
Setting default shell options (C_OPTION) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
Specifying a temporary file directory (TMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
Reinitializing your shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
Resetting defined environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
Verifying that the environment variables are set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
Where to Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
3.2  
3.3  
3.4  
4
Setting Up the Code Generation Tools on an HP Workstation . . . . . . . . . . . . . . . . . . . . . . . 4-1  
Provides installation instructions for HP 9000 Series 700 PA-RISC computers running HP-UX.  
4.1  
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
Hardware checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
Software checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3  
Mounting the CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3  
Copying the files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3  
Setting up the software tools using a C shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4  
Setting up the software tools using a Korn shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4  
Unmounting the CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4  
Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5  
Identifying the directory that contains the executable files (path statement) . . . . . . . . . 4-6  
Identifying alternate directories for the assembler (A_DIR) . . . . . . . . . . . . . . . . . . . . . . . 4-6  
Identifying alternate directories for the compiler (C_DIR) . . . . . . . . . . . . . . . . . . . . . . . . . 4-7  
Setting default shell options (C_OPTION) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7  
Specifying a temporary file directory (TMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8  
Reinitializing your shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9  
Resetting defined environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9  
Verifying that the environment variables are set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10  
Where to Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10  
4.2  
4.3  
4.4  
viii  
 
Contents  
5
6
Getting Started With the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1  
Provides an overview of how to invoke and use the assembler, linker, and compiler.  
5.1  
5.2  
Getting Started With the Assembler and Linker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2  
Getting Started With the C Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7  
Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1  
Describes the media contents and the enhancements for this release.  
6.1  
6.2  
Media Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2  
Release Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4  
General enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4  
Assembler enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4  
C compiler enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5  
A
B
Troubleshooting DOS Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1  
Lists kernel and DOS/4G error messages and explains how you can resolve them.  
A.1 Troubleshooting in the Protected-Mode Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
The PMINFO32.EXE program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3  
A.2 Kernel Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5  
A.3 DOS/4G Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9  
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1  
Defines terms and acronyms used in this book.  
Contents  
ix  
 
x
 
Chapter 1  
Setting Up the Code Generation  
Tools With DOS or Windows 3.1x  
Thischapterhelpsyouinstallrelease1.20oftheTMS470R1xcodegeneration  
tools and set up your code-development environment on a 32-bit x86-based  
or Pentium PC running MS-DOS, PC-DOS, or Windows 3.1x. These tools  
include an optimizing C compiler and a full set of assembly language tools for  
developing and manipulating assembly language and object (executable)  
code.  
The C compiler tools are composed of the following components:  
Parser  
Optimizer  
Code generator  
Interlist utility  
Library-build utility  
The assembly language tools are composed of the following components:  
Assembler  
Archiver  
Linker  
Absolute lister  
Cross-reference lister  
Hex conversion utility  
Topic  
Page  
1.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2  
1.2 Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3  
1.3 Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . 1-4  
1.4 Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8  
1.5 Where Do We Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8  
1-1  
 
System Requirements  
1.1 System Requirements  
To install and use the code generation tools, you need the items listed in the  
following hardware and software checklists.  
Hardware checklist  
Host  
32-bit x86-based or Pentium based PC with an ISA/EISA bus  
Memory  
4M–16M bytes of RAM plus 32M bytes of hard-disk space for  
temporary files and 4M bytes of hard-disk space for the code  
generation tools  
Display  
Monochrome or color monitor (color recommended)  
Required hardware  
Optional hardware  
CD-ROM drive  
Microsoft compatible mouse  
Software checklist  
Operating system  
One of these operating systems:  
MS-DOS  
PC-DOS  
Windows 3.1x  
CD-ROM  
TMS470R1x Code Generation Tools  
Note: Memory Needed  
The code generation tools, when installed on a PC, require at least 4M bytes  
ofmemory, butyoucanexpectsomeperformanceproblemswhenusingonly  
4M bytes. (16M bytes is recommended.) You may want to free as much  
memory as possible before running the tools, especially if you have less than  
16M bytes.  
1-2  
 
Installing the Code Generation Tools  
1.2 Installing the Code Generation Tools  
This section helps you install the code generation tools on your hard-disk  
system. The code generation tools package is shipped on CD-ROM. The  
installation instructions vary according to your operating system.  
Installing the tools on DOS systems  
To install the tools on a DOS system, follow these steps:  
1) Insert the TMS470R1x Code Generation Tools CD-ROM into your  
CD-ROM drive.  
2) Change to the CD-ROM drive (where d: is the name of your CD-ROM  
drive):  
d:  
3) Enter the following command:  
install  
4) Follow the on-screen instructions.  
If you choose not to have he environment variables set up automatically, you  
can set yp the environment variables in your autoexec.bat file. See Section 1.3,  
Setting Up the Code Generation Environment, on page 1-4, for more informa-  
tion.  
Installing the tools on Windows 3.1x systems  
To install the tools on a Windows 3.1x system, follow these steps:  
1) Insert the TMS470R1x Code Generation Tools CD-ROM into your  
CD-ROM drive.  
2) Start Windows 3.1x.  
3) From the File menu, select Run.  
4) In a dialog box, enter the following command (where d: is the name of your  
CD-ROM drive):  
d:\setup.exe  
5) Click on OK.  
6) Follow the on-screen instructions.  
If you choose not to have the environment variables set up automatically, you  
can set up the environment variables in your autoexec.bat file. See Section 1.3,  
Setting Up the Code Generation Environment, on page 1-4, for more informa-  
tion.  
Setting Up the Code Generation Tools With DOS or Windows 3.1x  
1-3  
 
Setting Up the Code Generation Environment  
1.3 Setting Up the Code Generation Environment  
Before or after you install the code generation tools, you can define environ-  
ment variables that set certain software tool parameters you normally use. An  
environment variable is a special system symbol that you define and associate  
to a string. A program uses this symbol to find or obtain certain types of  
information.  
When you use environment variables, default values are set, making each  
individual invocation of the tools simpler because these parameters are auto-  
matically specified. When you invoke a tool, you can use command-line  
options to override many of the defaults that are set with environment vari-  
ables.  
The code generation tools use the following environment variables:  
A_DIR  
C_DIR  
C_OPTION  
TMP  
By default, the installation program modifies your autoexec.bat file and sets  
up these environment variables:  
set PATH=c:\tool_dir;%PATH%  
set A_DIR=c:\tool_dir  
set C_DIR=c:\tool_dir  
If you choose not to have the environment variables set up automatically, you  
can modify your autoexec.bat file to include the set commands above.  
In addition to setting up environment variables, you must modify your path  
statement. The following subsections describe how to modify your path state-  
ment and how to define the environment variables that the code generation  
tools use.  
1-4  
 
Setting Up the Code Generation Environment  
Identifying the directory that contains the executable files (PATH statement)  
You must include the tool_dir directory in your PATH statement so that you can  
specify the assembler and compiler tools without specifying the name of the  
directory that contains the executable files.  
If you modify your autoexec.bat file to change the path information, add  
the following to the end of the PATH statement:  
;c:\tool_dir  
If you set the PATH statement from the command line, enter the following:  
set PATH=c:\tool_dir;%PATH%  
The addition of ;%PATH% ensures that this PATH statement does not  
undo the PATH statements in any other batch files (including the  
autoexec.bat file).  
Identifying alternate directories for the assembler to search (A_DIR)  
The assembler uses the A_DIR environment variable to name alternative  
directories for the assembler to search. To set the A_DIR environment vari-  
able, use this syntax:  
set A_DIR=pathname [;pathname . . .]  
1
2
The pathnames are directories that contain copy/include files or macro  
libraries. You can separate the pathnames with a semicolon or with a blank.  
Once you set A_DIR, you can use the .copy, .include, or.mlib directive in  
assembly source without specifying path information.  
If the assembler does not find the file in the directory that contains the current  
source file or in directories named by the –ioption (which names alternate  
directories), it searches the paths named by the A_DIR enviroment variable.  
For more information on the –i option, see the TMS470R1x Assembly  
Language Tools User’s Guide or the TMS470R1x Optimizing C Compiler  
User’s Guide.  
Identifying alternate directories for the compiler to search (C_DIR)  
The compiler uses the C_DIR environment variable to name alternative direc-  
tories for the compiler to search. To set the C_DIR environment variable, use  
this syntax:  
set C_DIR=pathname [;pathname . . .]  
1
2
The pathnames are directories that contain #include files or function libraries  
(such as stdio.h). You can separate the pathnames with a semicolon or with  
a blank. In C source, you can use the #include directive without specifying path  
information. Instead, you can specify the path information with C_DIR.  
Setting Up the Code Generation Tools With DOS or Windows 3.1x  
1-5  
 
Setting Up the Code Generation Environment  
Setting default shell options (C_OPTION)  
You might find it useful to set the compiler, assembler, and linker shell default  
options using the C_OPTION environment variable. If you do this, the shell  
usesthedefaultoptionsand/orinputfilenamesthatyounamewithC_OPTION  
every time you run the shell.  
Setting the default options with the C_OPTION environment variable is useful  
when you want to run the shell consecutive times with the same set of options  
and/or input files. After the shell reads the command line and the input file-  
names, it reads the C_OPTION environment variable and processes it.  
To set the C_OPTION environment variable, use this syntax:  
set C_OPTION=option [;option . . .]  
1
2
Environment variable options are specified in the same way and have the  
same meaning as they do on the command line. For example, if you want to  
always run quietly (the –q option), enable C source interlisting (the –s option),  
andlink(thezoption), setuptheC_OPTIONenvironmentvariableasfollows:  
set C_OPTION=–qs –z  
In the following examples, each time you run the compiler shell, it runs the  
linker. Any options following –z on the command line or in C_OPTION are  
passed to the linker. This enables you to use the C_OPTION environment vari-  
able to specify default compiler and linker options and then specify additional  
compiler and linker options on the shell command line. If you have set –z in  
the environment variable and want to compile only, use the –c option of the  
shell. These additional examples assume C_OPTION is set as shown above:  
cl470 *c  
cl470 –c *.c  
; compiles and links  
; only compiles  
cl470 *.c –z lnk.cmd  
; compiles and links using a  
; command file  
cl470 –c *.c –z lnk.cmd ; only compiles (–c overrides –z)  
For more information about shell options, see the TMS470R1x Optimizing C  
Compiler User’s Guide. For more information about linker options, see the  
TMS470R1x Assembly Language Tools User’s Guide .  
1-6  
 
Setting Up the Code Generation Environment  
Specifying a temporary file directory (TMP)  
The compiler shell program creates intermediate files as it processes your  
program. By default, the shell puts intermediate files in the current directory.  
However, you can name a specific directory for temporary files by using the  
TMP environment variable.  
Using the TMP environment variable allows use of a RAM disk or other file  
systems. It also allows source files to be compiled from a remote directory  
without writing any files into the directory where the source resides. This is  
useful for protected directories.  
To set the TMP environment variable, use this syntax:  
set TMP=pathname  
For example, to set up a directory named temp for intermediate files on your  
hard drive, enter:  
set TMP=c:\temp  
Resetting defined environment variables  
The environment variables that you define remain set until you reboot the  
system. If you want to clear an environment variable, use this command:  
set variable name=  
For example, to reset the A_DIR environment variable, enter:  
set A_DIR  
Verifying that the environment variables are set  
To verify that the environment variables are set, open a DOS box and enter:  
set  
This command lists the path and environment variables and their current  
values.  
Setting Up the Code Generation Tools With DOS or Windows 3.1x  
1-7  
 
Performance Considerations / Where to Go From Here  
1.4 Performance Considerations  
You may notice a speed degradation when you use the code generation tools  
with DOS or Windows 3.1x. This speed degradation may occur when you use  
DOS with the tools to get appropriate host memory support.  
If you encounter error messages when you use the tools on a PC with DOS,  
run PMINFO to determine your system configuration before you contact tech-  
nical support. For more information about PMINFO, see Appendix A, Trouble-  
shooting DOS systems.  
1.5 Where to Go From Here  
Your code generation tools are now installed on your DOS or Windows 3.1x  
system. Now you should do each of the following tasks:  
Go to Chapter 5, Getting Started With the Code Generation Tools. This  
chapter provides you with an overview of how to invoke and use the  
assembler, linker, and compiler.  
Read Chapter 6, Release Notes. This chapter explains the new features  
included in release 1.20 of the code generation tools.  
Use Appendix A, Troubleshooting DOS Systems, as necessary. This  
appendix lists kernel and DOS/4G error messages and explains how  
you can resolve the messages.  
1-8  
 
Chapter 2  
Setting Up the Code Generation Tools  
With Windows 95 and Windows NT  
Thischapterhelpsyouinstallrelease1.20oftheTMS470R1xcodegeneration  
tools and set up your code-development environment on a 32-bit x86-based  
or Pentium PC running Windows 95 or Windows NT . These tools include an  
optimizing C compiler and a full set of assembly language tools for developing  
and manipulating assembly language and object (executable) code.  
The C compiler tools are composed of the following components:  
Parser  
Optimizer  
Code generator  
Interlist utility  
Library-build utitlity  
The assembly language tools are composed of the following components:  
Assembler  
Archiver  
Linker  
Absolute lister  
Cross-reference lister  
Hex conversion utility  
Topic  
Page  
2.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2  
2.2 Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3  
2.3 Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . 2-4  
2.4 Where to Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8  
2-1  
 
System Requirements  
2.1 System Requirements  
To install and use the code generation tools, you need the items listed in the  
following hardware and software checklists.  
Hardware checklist  
Host  
32-bit x86-based or Pentium based PC with an ISA/EISA bus  
Memory  
Minimum of 16M bytes of RAM plus 32M bytes of hard-disk space  
for temporary files and 4M bytes of hard-disk space for the code  
generation tools  
Display  
Monochrome or color monitor (color recommended)  
Required hardware  
Optional hardware  
CD-ROM drive  
Microsoft compatible mouse  
Software checklist  
Operating system  
One of these operating systems:  
Windows 95 version 4.0 (or higher)  
Windows NT Workstation version 3.5.1 or 4.0  
CD-ROMs  
TMS470R1x Code Generation Tools  
2-2  
 
Installing the Code Generation Tools  
2.2 Installing the Code Generation Tools  
This section helps you install the code generation tools on your hard-disk sys-  
tem. The code generation tools package is shipped on CD-ROM. To install the  
tools on a PC running Windows 95 or Windows NT, follow these steps:  
1) Insert the TMS470R1x Code Generation Tools CD-ROM into your CD-  
ROM drive.  
2) Start Windows.  
3) If you are running Windows 95, select Run from the Start menu.  
If you are running Windows NT, select Run from the File menu.  
4) In the dialog box, enter the following command (where d: is the name of  
your CD-ROM drive):  
d:\setup.exe  
5) Click on OK.  
6) Follow the on-screen instructions.  
If you choose not to have the environment variables set up automatically, you  
can set them up yourself in one of the following ways:  
If you are running Windows 95, you can set up the environment variables  
in your autoexec.bat file.  
If you are running Windows NT, you can set up the environment variables  
in the System applet of the Control Panel.  
See Section 2.3, Setting Up the Code Generation Environment, on page 2-4,  
for more information.  
Setting Up the Code Generation Tools With Windows 95 and Windows NT  
2-3  
 
Setting Up the Code Generation Environment  
2.3 Setting Up the Code Generation Environment  
Before or after you install the code generation tools, you can define environ-  
ment variables that set certain software tool parameters you normally use. An  
environment variable is a special system symbol that you define and assign  
to a string. A program uses this symbol to find or obtain certain types of in-  
formation.  
When you use environment variables, default values are set, making each  
individual invocation of the tools simpler because these parameters are auto-  
matically specified. When you invoke a tool, you can use command-line  
options to override many of the defaults that are set with environment vari-  
ables.  
The code generation tools use the following environment variables:  
A_DIR  
C_DIR  
C_OPTION  
TMP  
By default, the installation program modifies your autoexec.bat file and sets  
up these environment variables:  
set PATH=c:\tool_dir;%PATH%  
set A_DIR=c:\tool_dir  
set C_DIR=c:\tool_dir  
These variables are set up in the registry under:  
HKEY_CURRENT_USER\Environment  
If you choose not to have the environment variables set up automatically, you  
can set them up yourself in one of the following ways:  
If you are running Windows 95, you can modify your autoexec.bat file to  
include the set commands above.  
If you are running Windows NT, you can set up the environment variables  
in the System applet of the Control Panel. Enter the same commands that  
you would enter on the command line in the System applet.  
In addition to setting up environment variables, you must modify your path  
statement. The following subsections describe how to modify your path state-  
ment and how to define the environment variables that the code generation  
tools use.  
2-4  
 
Setting Up the Code Generation Environment  
Identifying the directory that contains the executable files (PATH statement)  
You must include the tool_dir directory in your PATH statement so that you can  
specify the assembler and compiler tools without specifying the name of the  
directory that contains the executable files.  
You can change the path information in one of the following ways:  
If you are running Windows 95, modify your autoexec.bat file to  
change the path information by adding the following to the end of the  
PATH statement:  
;c:\tool_dir  
If you are running Windows NT, modify the System applet of the Con-  
trol Panel to change the path information by adding the following to the  
end of the PATH statement:  
;c:\tool_dir  
If you set the PATH statement from the command line, enter the following:  
set PATH=c:\tool_dir;%PATH%  
The addition of ;%PATH% ensures that this PATH statement does not  
undo the PATH statements in any other batch files (including the  
autoexec.bat file).  
Identifying alternate directories for the assembler to search (A_DIR)  
The assembler uses the A_DIR environment variable to name alternative  
directories for the assembler to search. To set the A_DIR environment vari-  
able, use this syntax:  
set A_DIR=pathname [;pathname . . .]  
1
2
The pathnames are directories that contain copy/include files or macro librar-  
ies. You can separate the pathnames with a semicolon or with a blank. Once  
you set A_DIR, you can use the .copy, .include, or .mlib directive in assembly  
source without specifying path information.  
If the assembler does not find the file in the directory that contains the current  
source file or in directories named by the i option (which names alternate  
directories), it searches the paths named by the A_DIR environment variable.  
For more information on the –i option, see the TMS470R1x Assembly  
Language Tools User’s Guide or the TMS470R1x Optimizing C Compiler  
User’s Guide.  
Setting Up the Code Generation Tools With Windows 95 and Windows NT  
2-5  
 
Setting Up the Code Generation Environment  
Identifying alternate directories for the compiler to search (C_DIR)  
The compiler uses the C_DIR environment variable to name alternate direc-  
tories that contain #include files and function libraries. To set the C_DIR envi-  
ronment variable, use this syntax:  
set C_DIR=pathname [;pathname . . .]  
1
2
The pathnames are directories that contain #include files or libraries (such as  
stdio.h). You can separate the pathnames with a semicolon or with a blank. In  
C source, you can use the #include directive without specifying path informa-  
tion. Instead, you can specify the path information with C_DIR.  
Setting default shell options (C_OPTION)  
You may find it useful to set the compiler, assembler, and linker default shell  
options using the C_OPTION environment variable. If you do this, the shell  
usesthedefaultoptionsand/orinputfilenamesthatyounamewithC_OPTION  
every time you run the shell.  
Setting up default options with the C_OPTION environment variable is useful  
when you want to run the shell consecutive times with the same set of options  
and/or input files. After the shell reads the command line and the input file-  
names, it reads the C_OPTION environment variable and processes it.  
To set the C_OPTION environment variable, use this syntax:  
set C_OPTION=option [option . . .]  
1
2
Environment variable options are specified in the same way and have the  
same meaning as they do on the command line. For example, if you want to  
always run quietly (the –q option), enable C source interlisting (the –s option),  
andlink(thezoption), setuptheC_OPTIONenvironmentvariableasfollows:  
set C_OPTION=qs –z  
In the following examples, each time you run the compiler shell, it runs the  
linker. Any options following –z on the command line or in C_OPTION are  
passed to the linker. This enables you to use the C_OPTION environment vari-  
able to specify default compiler and linker options and then specify additional  
compiler and linker options on the shell command line. If you have set –z in  
the environment variable and want to compile only, use the –c option of the  
shell. These additional examples assume C_OPTION is set as shown above:  
cl470 *.c  
cl470 –c *.c  
; compiles and links  
; only compiles  
cl470 *.c –z lnk.cmd  
; compiles and links using a  
; command file  
cl470 –c *.c –z lnk.cmd ; only compiles (–c overrides –z)  
2-6  
 
Setting Up the Code Generation Environment  
For more information about shell options, see the TMS470R1x Optimizing C  
Compiler User’s Guide. For more information about linker options, see the  
TMS470R1x Assembly Language Tools User’s Guide.  
Specifying a temporary file directory (TMP)  
Thecompilershellprogramcreatesintermediatefilesasitprocessesyourpro-  
gram. By default, the shell puts intermediate files in the current directory. How-  
ever, you can name a specific directory for temporary files by using the TMP  
environment variable.  
Using the TMP environment variable allows use of a RAM disk or other file  
systems. Italsoallowsyoutocompilesourcefilesfromaremotedirectorywith-  
out writing any files into the directory where the source resides. This is useful  
for protected directories.  
To set the TMP environment variable, use this syntax:  
set TMP=pathname  
For example, to set up a directory named temp for intermediate files on your  
hard drive, enter:  
set TMP=c:\temp  
Resetting defined environment variables  
The environment variables that you define remain set until you reboot the sys-  
tem. If you want to clear an environment variable, use this command:  
set variable_name=  
For example, to reset the A_DIR environment variable, enter:  
set A_DIR=  
Verifying that the environment variables are set  
To verify that the environment variables are set, open a DOS box and enter:  
set  
This command lists the path and environment variables and their current  
values.  
Setting Up the Code Generation Tools With Windows 95 and Windows NT  
2-7  
 
Where to Go From Here  
2.4 Where to Go From Here  
Your code generation tools are now installed on your Windows 95 or Windows  
NT system. Now you should do each of the following tasks:  
Turn to Chapter 5, Getting Started With the Code Generation Tools. This  
chapter provides you with an overview of how to invoke and use the  
assembler, linker, and compiler.  
Read Chapter 6, Release Notes. This chapter explains the new features  
included in release 1.20 of the code generation tools.  
2-8  
 
Chapter 3  
Setting Up the Code  
Generation Tools With SunOS  
Thischapterhelpsyouinstallrelease1.20oftheTMS470R1xcodegeneration  
tools and set up your code-development environment on a SPARCstation run-  
ning SunOS version 4.1.x (or higher) or Solaris version 2.5.x (or higher).  
These tools include an optimizing C compiler and a full set of assembly lan-  
guage tools for developing and manipulating assembly language and object  
(executable) code.  
The C compiler tools are composed of the following components:  
Parser  
Optimizer  
Code generator  
Interlist utility  
Library-build utitlity  
The assembly language tools are composed of the following components:  
Assembler  
Archiver  
Linker  
Absolute lister  
Cross-reference lister  
Hex conversion utility  
Topic  
Page  
3.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
3.2 Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3  
3.3 Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . 3-5  
3.4 Where to Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
3-1  
 
System Requirements  
3.1 System Requirements  
Toinstallandusethecodegenerationtools, youneedtheitemsinthefollowing  
hardware and software checklists.  
Hardware checklist  
Host  
SPARCstation compatible system with a SPARCstation 2 class or  
higher performance  
Display  
Monochrome or color monitor (color recommended)  
Disk space  
4M bytes of disk space  
CD-ROM drive  
Mouse  
Required hardware  
Optional hardware  
Software checklist  
Operating system  
Root privileges  
CD-ROMs  
SunOS version 4.1.x (or higher) or SunOS version 5.x (also known  
as Solaris 2.x) using an X Window System based window manag-  
er, such as OpenWindows version 3.0 (or higher).  
If you are running SunOS 4.1.x, 5.0, or 5.1, you must have root privi-  
leges to mount and unmount the CD-ROM. If you do not have root  
privileges, get help from your system administrator.  
TMS470R1x Code Generation Tools  
3-2  
 
Installing the Code Generation Tools  
3.2 Installing the Code Generation Tools  
This section helps you install the code generation tools on your hard-disk sys-  
tem. The software package is shipped on a CD-ROM. To install the tools on  
a SPARCstation running SunOS or Solaris, you must mount the CD-ROM,  
copy the files to your system, and unmount the CD-ROM.  
Note:  
If you are running SunOS 4.1.x, 5.0, or 5.1, you must have root privileges to  
mount or unmount the CD-ROM. If you do not have root privileges, get help  
from your system administrator.  
Mounting the CD-ROM  
The steps to mount the CD-ROM vary according to your operating-system  
version:  
If you have SunOS 4.1.x, as root, load the CD-ROM into the drive and  
enter the following from a command shell:  
mount –rt hsfs /dev/sr0 /cdrom  
exit  
cd /cdrom/sunos  
If you have SunOS 5.0 or 5.1, as root, load the CD-ROM into the drive and  
enter the following from a command shell:  
mount –rF hsfs /dev/sr0 /cdrom  
exit  
cd /cdrom/cdrom0/sunos  
If you have SunOS 5.2 or higher:  
If your CD-ROM drive is already attached, load the CD-ROM into the  
drive and enter the following from a command shell:  
cd /cdrom/cdrom0/sunos  
IfyoudonothaveaCD-ROMdriveattached, youmustshutdownyour  
system to the PROM level, attach the CD-ROM drive, and enter the  
following:  
boot –r  
After you log into your system, load the CD-ROM into the drive and  
enter the following from a command shell:  
cd /cdrom/cdrom0/sunos  
Setting Up the Code Generation Tools With SunOS  
3-3  
 
Installing the Code Generation Tools  
Copying the files  
Be sure you are not logged on as root. After you mount the CD-ROM, you must  
create the directory that will contain the tools software and copy the software  
to that directory.  
1) Create a tools directory on your hard disk. To create this directory, enter:  
mkdir /your_pathname/tool_dir  
2) Copy the files from the CD-ROM to your hard-disk system:  
cp –r * /your_pathname/tool_dir  
Unmounting the CD-ROM  
You must unmount the CD-ROM after copying the files.  
If you have SunOS 4.1.x, 5.0, or 5.1, as root, enter the following from a  
command shell:  
cd  
umount /cdrom  
eject /dev/sr0  
exit  
If you have SunOS 5.2 or higher, enter the following from a command  
shell:  
cd  
eject  
3-4  
 
Setting Up the Code Generation Environment  
3.3 Setting Up the Code Generation Environment  
Before or after you install the code generation tools, you can define environ-  
ment variables that set certain software tool parameters you normally use. An  
environment variable is a special system symbol that you define and assign  
to a string. A program uses this symbol to find or obtain certain types of  
information.  
When you use environment variables, default values are set, making each  
individual invocation of the tools simpler because these parameters are auto-  
matically specified. When you invoke a tool, you can use command-line op-  
tions to override many of the defaults that are set with environment variables.  
The code generation tools use the following environment variables:  
A_DIR  
C_DIR  
C_OPTION  
TMP  
You can set up the environment variables on the command line or in your .login  
or .cshrc file (for C shells) or .profile file (for Bourne or Korn shells). To set up  
these environment variables in your system initialization file, enter the same  
commands that you would enter on the command line in the file.  
In addition to setting up environment variables, you must modify your path  
statement. The following subsections describe how to modify your path state-  
ment and how to define the environment variables that the code generation  
tools use.  
Setting Up the Code Generation Tools With SunOS  
3-5  
 
Setting Up the Code Generation Environment  
Identifying the directory that contains the executable files (path statement)  
You must include the tool_dir directory in your path statement so that you can  
specify the assembler and compiler tools without specifying the name of the  
directory that contains the executable files.  
If you modify your .cshrc file (for C shells) or .profile file (for Bourne or Korn  
shells) to change the path information, add the following to the end of the  
path statement:  
/your_pathname/tool_dir  
If you set the path statement from the command line, use this format:  
For C shells:  
set path=(/your_pathname/tool_dir $path)  
For Bourne or Korn shells:  
PATH=/your_pathname/tool_dir $PATH  
The addition of $path or $PATH ensures that this path statement does not  
undo the path statements in the .cshrc or .profile file.  
Identifying alternate directories for the assembler to search (A_DIR)  
The assembler uses the A_DIR environment variable to name alternative  
directories for the assembler to search. To set the A_DIR environment vari-  
able, use this syntax:  
For C shells:  
setenv A_DIR ”pathname [;pathname . . .]”  
1
2
For Bourne or Korn shells:  
A_DIR=”pathname [;pathname . . .]”  
1
2
export A_DIR  
(Be sure to enclose the directory names within quotes.)  
The pathnames are directories that contain copy/include files or macro librar-  
ies. You can separate the pathnames with a semicolon or a blank. Once you  
set A_DIR, you can use the .copy, .include, or .mlib directive in assembly  
source without specifying path information.  
If the assembler does not find the file in the directory that contains the current  
source file or in directories named by the i option (which names alternate di-  
rectories), it searches the paths named by the A_DIR environment variable.  
3-6  
 
Setting Up the Code Generation Environment  
For more information on the –i option, see the TMS470R1x Assembly Lan-  
guage Tools User’s Guide or the TMS470R1x Optimizing C Compiler User’s  
Guide.  
Identifying alternate directories for the compiler to search (C_DIR)  
The compiler uses the C_DIR environment variable to name alternate direc-  
tories that contain #include files and function libraries. To set the C_DIR envi-  
ronment variable, use this syntax:  
For C shells:  
setenv C_DIR “pathname [;pathname . . .]”  
1
2
For Bourne or Korn shells:  
C_DIR=“pathname [;pathname . . .]”  
1
2
export C_DIR  
(Be sure to enclose the directory names within quotes.)  
The pathnames are directories that contain #include files or libraries (such as  
stdio.h). You can separate pathnames with a semicolon or with blanks. In C  
source, you can use the #include directive without specifying path information.  
Instead, you can specify the path information with C_DIR.  
Setting default shell options (C_OPTION)  
You may find it useful to set the compiler, assembler, and linker default shell  
options using the C_OPTION environment variable. If you do this, the shell  
usesthedefaultoptionsand/orinputfilenamesthatyounamewithC_OPTION  
every time you run the shell.  
Setting up default options with the C_OPTION environment variable is useful  
when you want to run the shell consecutive times with the same set of options  
and/or input files. After the shell reads the command line and the input file-  
names, it reads the C_OPTION environment variable and processes it.  
To set the C_OPTION environment variable, use this syntax:  
For C shells:  
setenv C_OPTION ”option [option . . .]”  
1
2
For Bourne or Korn shells:  
C_OPTION=”option [option . . .]”  
1
2
export C_OPTION  
Setting Up the Code Generation Tools With SunOS  
3-7  
 
Setting Up the Code Generation Environment  
(Be sure to enclose the options within quotes.)  
Environment variable options are specified in the same way and have the  
same meaning as they do on the command line. For example, if you want to  
always run quietly (the –q option), enable C source interlisting (the –s option),  
andlink(thezoption), setuptheC_OPTIONenvironmentvariableasfollows:  
For C shells:  
setenv C_OPTION ”–qs –z”  
For Bourne or Korn shells:  
C_OPTION=”–qs –z”  
export C_OPTION  
In the following examples, each time you run the compiler shell, it runs the  
linker. Any options following –z on the command line or in C_OPTION are  
passed to the linker. This enables you to use the C_OPTION environment vari-  
able to specify default compiler and linker options and then specify additional  
compiler and linker options on the shell command line. If you have set –z in  
the environment variable and want to compile only, use the –c option of the  
shell. These additional examples assume C_OPTION is set as shown above:  
cl470 *.c  
cl470 –c *.c  
; compiles and links  
; only compiles  
cl470 *.c –z lnk.cmd  
; compiles and links using a  
; command file  
cl470 –c *.c –z lnk.cmd ; only compiles (–c overrides –z)  
For more information about shell options, see the TMS470R1x Optimizing C  
Compiler User’s Guide. For more information about linker options, see the  
TMS470R1x Assembly Language Tools User’s Guide.  
Specifying a temporary file directory (TMP)  
Thecompilershellprogramcreatesintermediatefilesasitprocessesyourpro-  
gram. By default, the shell puts intermediate files in the current directory. How-  
ever, you can name a specific directory for temporary files by using the TMP  
environment variable.  
Using the TMP environment variable allows use of a RAM disk or other file  
systems. Italsoallowsyoutocompilesourcefilesfromaremotedirectorywith-  
out writing any files into the directory where the source resides. This is useful  
for protected directories.  
3-8  
 
Setting Up the Code Generation Environment  
To set the TMP environment variable, use this syntax:  
For C shells:  
setenv TMP ”pathname”  
For Bourne or Korn shells:  
TMP=”pathname”  
export TMP  
(Be sure to enclose the directory name within quotes.)  
For example, to set up a directory named temp for intermediate files, enter:  
For C shells:  
setenv TMP ”/temp”  
For Bourne or Korn shells:  
TMP=”/temp”  
export TMP  
Reinitializing your shell  
When you modify your shell configuration file, you must ensure that the  
changes are made to your current session. Use one of the following com-  
mands to reread your system initialization file:  
For C shells:  
source ~/.cshrc  
For Bourne or Korn shells:  
source ~/.profile  
Resetting defined environment variables  
The environment variables that you define remain set until you reboot the sys-  
tem. If you want to clear an environment variable, use this command:  
For C shells:  
unsetenv variable_name  
For Bourne or Korn shells:  
unset variable_name  
For example, to reset the A_DIR environment variable, enter one of these  
commands:  
For C shells:  
unsetenv A_DIR  
For Bourne or Korn shells:  
unset A_DIR  
Setting Up the Code Generation Tools With SunOS  
3-9  
 
Setting Up the Code Generation Environment / Where to Go From Here  
Verifying that the environment variables are set  
To verify that the environment variables are set, enter:  
set  
This command lists the path and environment variables and their current  
values.  
3.4 Where to Go From Here  
Your code generation tools are now installed. Now you should do each of the  
following tasks:  
Go to Chapter 5, Getting Started With the Code Generation Tools. This  
chapter provides you with an overview of how to invoke and use the  
assembler, linker, and compiler.  
Read Chapter 6, Release Notes. This chapter explains the new features  
included in release 1.20 of the code generation tools.  
3-10  
 
Chapter 4  
Setting Up the Code Generation  
Tools on an HP Workstation  
Thischapterhelpsyouinstallrelease1.20oftheTMS470R1xcodegeneration  
tools and set up your code-development environment on an HP 9000 Series  
700 PA-RISC computerwithHP-UX 9.0x. Thesetoolsincludeanoptimiz-  
ing C compiler and a full set of assembly language tools for developing and  
manipulating assembly language and object (executable) code.  
The C compiler tools are composed of the following components:  
Parser  
Optimizer  
Code generator  
Interlist utility  
Library-build utility  
The assembly language tools are composed of the following components:  
Assembler  
Archiver  
Linker  
Absolute lister  
Cross-reference lister  
Hex conversion utility  
Topic  
Page  
4.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
4.2 Installing the Code Generation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3  
4.3 Setting Up the Code Generation Environment . . . . . . . . . . . . . . . . . . . 4-5  
4.4 Where to Go From Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10  
4-1  
 
System Requirements  
4.1 System Requirements  
Toinstallandusethecodegenerationtools, youneedtheitemsinthefollowing  
hardware and software checklists.  
Hardware checklist  
Host  
An HP 9000 Series 700 PA-RISC computer  
Display  
Disk space  
Monochrome or color monitor (color recommended)  
4M bytes of disk space  
CD-ROM drive  
Mouse  
Required hardware  
Optional hardware  
Software checklist  
Operating system  
Root privileges  
CD-ROMs  
HP-UX 9.0x operating system  
Root privileges to mount and unmount the CD-ROM  
TMS470R1x Code Generation Tools  
4-2  
 
Installing the Code Generation Tools  
4.2 Installing the Code Generation Tools  
This section helps you install the code generation tools on your hard-disk sys-  
tem. The software package is shipped on a CD-ROM. To install the tools on  
an HP workstation, you must mount the CD-ROM, copy the files to your sys-  
tem, and unmount the CD-ROM.  
Note:  
If you are running HP-UX 9.0x, you must have root privileges to mount or  
unmount the CD-ROM. If you do not have root privileges, get help from your  
system administrator.  
Mounting the CD-ROM  
As root, you can mount the CD-ROM using the UNIX mount command or the  
SAM (system administration manager):  
To use the UNIX mount command, enter the following from a command  
shell:  
mount –rt cdfs /dev/dsk/your_cdrom_device /cdrom  
exit  
Make the hp directory on the CD-ROM the current directory. For example,  
if the CD-ROM is mounted at /cdrom, enter the following:  
cd /cdrom/hp  
To use SAM to mount the CD-ROM, see System Administration Tasks, the  
HP documentation about SAM, for instructions.  
Copying the files  
After you mount the CD-ROM, log out as root and log back on as yourself. You  
must create the directory that will contain the tools software and copy the soft-  
ware to that directory.  
1) Create a tools directory on your hard disk. To create this directory, enter:  
mkdir /your_pathname/tool_dir  
2) Copy the files from the CD-ROM to your hard-disk system:  
cp –r * /your_pathname/tooldir  
Setting Up the Code Generation Tools on an HP Workstation  
4-3  
 
Installing the Code Generation Tools  
Setting up the software tools using a C shell  
If you are using a C shell, enter the following:  
setenv C_DIR ”tool_dir”  
setenv A_DIR ”tool_dir”  
set path=(tool_dir $path)  
You can move the setenv and set path commands into your .login or .cshrc  
file to avoid entering these commands each time you invoke a new shell.  
Setting up the software tools using a Korn shell  
If you are using a Bourne or Korn shell, enter the following:  
C_DIR=tool_dir  
A_DIR=tool_dir  
PATH=tool_dir:$PATH  
You can move the environment variable instructions into your .kshrc file to  
avoid entering these commands each time you invoke a new shell.  
Unmounting the CD-ROM  
You must unmount the CD-ROM after copying the files. As root, enter the fol-  
lowing from a command shell:  
cd  
umount /cdrom  
exit  
4-4  
 
Setting Up the Code Generation Environment  
4.3 Setting Up the Code Generation Environment  
Before or after you install the code generation tools, you can define environ-  
ment variables that set certain software tool parameters you normally use. An  
environment variable is a special system symbol that you define and assign  
to a string. A program uses this symbol to find or obtain certain types of  
information.  
When you use environment variables, default values are set, making each  
individual invocation of the tools simpler because these parameters are auto-  
matically specified. When you invoke a tool, you can use command-line op-  
tions to override many of the defaults that are set with environment variables.  
The code generation tools use the following environment variables:  
A_DIR  
C_DIR  
C_OPTION  
TMP  
You can set up the environment variables o the command line or in your .login  
or .cshrc file (for C shells) or .profile file (for Bourne or Korn shells). To set up  
these environment variables in your system initialization file, enter the same  
commands that you would enter on the command line in the file.  
In addition to setting up environment variables, you must modify your path  
statement. The following subsections describe how to modify your path state-  
ment and how to define the environment variables that the code generation  
tools use.  
Setting Up the Code Generation Tools on an HP Workstation  
4-5  
 
Setting Up the Code Generation Environment  
Identifying the directory that contains the executable files (path statement)  
You must include the tool_dir directory in your path statement so that you can  
specify the assembler and compiler tools without specifying the name of the  
directory that contains the executable files.  
If you modify your .cshrc file (for C shells) or .profile file (for Bourne or Korn  
shells) to change the path information, add the following to the end of the  
path statement:  
/your_pathname/tool_dir  
If you set the path statement from the command line, use this format:  
For C shells:  
set path=(/your_pathname/tool_dir $path)  
For Bourne or Korn shells:  
PATH=/your_pathname/tool_dir $PATH  
The addition of $path or $PATH ensures that this path statement does not  
undo the path statements in the .cshrc or .profile file.  
Identifying alternate directories for the assembler (A_DIR)  
The assembler uses the A_DIR environment variable to name alternative  
directories for the assembler to search. To set the A_DIR environment vari-  
able, use this syntax:  
For C shells:  
setenv A_DIR ”pathname [;pathname ]”  
1
2
For Bourne or Korn shells:  
A_DIR=”pathname [;pathname ]”  
1
2
export A_DIR  
(Be sure to enclose the directory names within quotes.)  
The pathnames are directories that contain copy/include files or macro librar-  
ies. You can separate the pathnames with a semicolon or a blank. Once you  
set A_DIR, you can use the .copy, .include, or .mlib directive in assembly  
source without specifying path information.  
If the assembler does not find the file in the directory that contains the current  
source file or in directories named by the i option (which names alternate  
directories), it searches the paths named by the A_DIR environment variable.  
For more information on the –i option, see the TMS470R1x Assembly  
Language Tools User’s Guide or the TMS470R1x Optimizing C Compiler  
User’s Guide.  
4-6  
 
Setting Up the Code Generation Environment  
Identifying alternate directories for the compiler (C_DIR)  
The compiler uses the C_DIR environment variable to name alternate direc-  
tories that contain #include files and libraries. To set the C_DIR environment  
variable, use this syntax:  
For C shells:  
setenv C_DIR “pathname [;pathname . . .]”  
1
2
For Bourne or Korn shells:  
C_DIR=“pathname [;pathname . . .]”  
1
2
export C_DIR  
(Be sure to enclose the directory names within quotes.)  
The pathnames are directories that contain #include files or libraries (such as  
stdio.h). You can separate pathnames with a semicolon or with blanks. In C  
source, you can use the #include directive without specifying path information.  
Instead, you can specify the path information with C_DIR.  
Setting default shell options (C_OPTION)  
You may find it useful to set the compiler, assembler, and linker shell default  
options using the C_OPTION environment variable. If you do this, the shell  
usesthedefaultoptionsand/orinputfilenamesthatyounamewithC_OPTION  
every time you run the shell.  
Setting up default options with the C_OPTION environment variable is useful  
when you want to run the shell consecutive times with the same set of options  
and/or input files. After the shell reads the command line and the input file-  
names, it reads the C_OPTION environment variable and processes it.  
The set the C_OPTION environment variable, use this syntax:  
For C shells:  
setenv C_OPTION ”option [option . . .]”  
1
2
For Bourne or Korn shells:  
C_OPTION=”option [option . . .]”  
1
2
export C_OPTION  
(Be sure to enclose the options within quotes.)  
Setting Up the Code Generation Tools on an HP Workstation  
4-7  
 
Setting Up the Code Generation Environment  
Environment variable options are specified in the same way and have the  
same meaning as they do on the command line. For example, if you want to  
always run quietly (the –q option), enable C source interlisting (the –s option),  
andlink(thezoption), setuptheC_OPTIONenvironmentvariableasfollows:  
For C shells:  
setenv C_OPTION ”–qs –z”  
For Bourne or Korn shells:  
C_OPTION=”–qs –z”  
export C_OPTION  
In the following examples, each time you run the compiler shell, it runs the  
linker. Any options following –z on the command line or in C_OPTION are  
passed to the linker. This enables you to use the C_OPTION environment vari-  
able to specify default compiler and linker options and then specify additional  
compiler and linker options on the shell command line. If you have set –z in  
the environment variable and want to compile only, use the –c option of the  
shell. These additional examples assume C_OPTION is set as shown above:  
cl470 *.c  
cl470 –c *.c  
; compiles and links  
; only compiles  
cl470 *.c –z lnk.cmd  
; compiles and links using a  
; command file  
cl470 –c *.c –z lnk.cmd ; only compiles (–c overrides –z)  
For more information about shell options, see the TMS470R1x Optimizing C  
Compiler User’s Guide. For more information on linker options, see the  
TMS470R1x Assembly Language Tools User’s Guide.  
Specifying a temporary file directory (TMP)  
The compiler shell program creates intermediate files as it processes your  
program. By default, the shell puts intermediate files in the current directory.  
However, you can name a specific directory for temporary files by using the  
TMP environment variable.  
Using the TMP environment variable allows use of a RAM disk or other file  
systems. Italsoallowsyoutocompilesourcefilesfromaremotedirectorywith-  
out writing any files into the directory where the source resides. This is useful  
for protected directories.  
4-8  
 
Setting Up the Code Generation Environment  
To set the TMP environment variable, use this syntax:  
For C shells:  
setenv TMP ”pathname”  
For Bourne or Korn shells:  
TMP=”pathname”  
export TMP  
(Be sure to enclose the directory name within quotes.)  
For example, to set up a directory named temp for intermediate files, enter:  
For C shells:  
setenv TMP ”/temp”  
For Bourne or Korn shells:  
TMP=”/temp”  
export TMP  
Reinitializing your shell  
When you modify your shell configuration file, you must ensure that the  
changes are made to your current session. Use one of the following com-  
mands to reread your system initialization file:  
For C shells:  
source ~/.cshrc  
For Bourne or Korn shells:  
source ~/.profile  
Resetting defined environment variables  
The environment variables that you define remain set until you reboot the sys-  
tem. If you want to clear an environment variable, use this command:  
For C shells:  
unsetenv variable name  
For Bourne or Korn shells:  
unset variable name  
For example, to reset the A_DIR environment variable, enter one of these  
commands:  
For C shells:  
unsetenv A_DIR  
For Bourne or Korn shells:  
unset A_DIR  
Setting Up the Code Generation Tools on an HP Workstation  
4-9  
 
Setting Up the Code Generation Environment / Where to Go From Here  
Verifying that the environment variables are set  
To verify that the environment variables are set, enter:  
set  
This command lists the path and environment variables and their current  
values.  
4.4 Where to Go From Here  
Your code generation tools are now installed. Now you should do each of the  
following tasks:  
Go to Chapter 5, Getting Started With the Code Generation Tools. This  
chapter provides you with an overview of how to invoke and use the  
assembler, linker, and compiler.  
Read Chapter 6, Release Notes. This chapter explains the new features  
included in release 1.20 of the code generation tools.  
4-10  
 
Chapter 5  
Getting Started With the  
Code Generation Tools  
This chapter helps you start using the assembler, linker, and compiler by  
providing a quick walkthrough of these tools. For more information about  
invoking and using these tools, see the TMS470R1x Assembly Language  
Tools User’s Guide and the TMS470R1x Optimizing C Compiler User’s Guide.  
Topic  
Page  
5.1 Getting Started With the Assembler and Linker . . . . . . . . . . . . . . . . . 5-2  
5.2 Getting Started With the C Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7  
5-1  
 
Getting Started With the Assembler and Linker  
5.1 Getting Started With the Assembler and Linker  
This section provides a quick walkthrough of the assembler and linker so that  
you can get started without reading the entire TMS470R1x Assembly  
Language Tools User’s Guide. Example 5–1 through Example 5–6 show the  
most common methods for invoking the assembler and linker.  
1) Create two short source files to use for the walkthrough; call them  
file1.asm and file2.asm. (See Example 5–1 and Example 5–2.)  
Example 5–1. file1.asm  
.global inclw  
start: MOV  
MOV  
r6, #0  
r7, #0  
loop: BL  
inclw  
loop  
BCC  
.end  
Example 5–2. file2.asm  
.global inclw  
inclw: ADDS  
r7, r7, #1  
ADDCSS r6, r6, #1  
MOV  
pc, lr  
.end  
2) Enter the following command to assemble file1.asm:  
asm470 file1  
The asm470 command invokes the assembler. The input source file is  
file1.asm. (If the input file extension is .asm, you do not have to specify the  
extension; the assembler uses .asm as the default.)  
This example creates an object file called file1.obj. The assembler creates  
an object file only if there are no errors in assembly. You can specify a  
name for the object file, but if you do not, the assembler uses the input file-  
name with an extension of .obj.  
5-2  
 
Getting Started With the Assembler and Linker  
3) Now enter the following command to assemble file2.asm:  
asm470 file2.asm –l  
This time, the assembler creates an object file called file2.obj. The –l  
(lowercase L) option tells the assembler to create a listing file; the listing  
file for this example is called file2.lst. It is not necessary to create a listing  
file, but it gives you information and assures you that the assembly has  
resulted in the desired object code. The listing file for this example is  
shown in Example 5–3.  
Example 5–3. file2.lst, the Listing File Created by asm470 file2.asm l  
TMS470 COFF Assembler  
Copyright (c) 1995–1996  
Version 1.20  
Texas Instruments Incorporated  
Sat Feb 8 15:22:13 1997  
file2.asm  
PAGE  
1
1
2
3
.global inclw  
4 00000000 E2977001 inclw: ADDS  
r7, r7, #1  
5 00000004 22966001  
6 00000008 E1A0F00E  
ADDCSS r6, r6, #1  
MOV  
pc, lr  
7
8
.end  
No Errors, No Warnings  
4) Now enter the following command to link file1.obj and file2.obj:  
lnk470 file1 file2 –m lnker2.map –o prog.out  
The lnk470 command invokes the linker. The input object files are file1.obj  
and file2.obj. (If the input file extension is .obj, you do not have to specify  
the extension; the linker uses .obj as the default.) The linker combines  
file1.obj and file2.obj to create an executable object module called  
prog.out. The –o option supplies the name of the output module.  
Example 5–4 shows the map file resulting from this operation. (The map  
file is produced only if you use the m option.)  
Getting Started With the Code Generation Tools  
5-3  
 
Getting Started With the Assembler and Linker  
Example 5–4. Output Map File, lnker2.map  
*****************************************************  
TMS470 COFF Linker  
Version 1.20  
*****************************************************  
Sat Feb 8 15:24:43 1997  
OUTPUT FILE NAME: <prog.out>  
ENTRY POINT SYMBOL: 0  
SECTION ALLOCATION MAP  
output  
section page  
attributes/  
origin  
length  
input sections  
–––––––– –––– –––––––––– –––––––––– ––––––––––––––––  
.text  
0
00000000  
00000000  
00000010  
0000001c  
00000010  
0000000c  
file1.obj (.text)  
file2.obj (.text)  
.const  
.data  
0
0
00000000  
00000000  
UNINITIALIZED  
00000000  
00000000  
00000000  
00000000  
00000000  
00000000  
UNINITIALIZED  
file2.obj (.data)  
file1.obj (.data)  
.bss  
0
00000000  
00000000  
00000000  
00000000  
00000000  
00000000  
UNINITIALIZED  
file2.obj (.bss)  
file1.obj (.bss)  
GLOBAL SYMBOLS  
address name  
–––––––– ––––  
00000000 .bss  
00000000 .data  
00000000 .text  
00000000 edata  
00000000 end  
address name  
–––––––– ––––  
00000000 edata  
00000000 .bss  
00000000 end  
00000000 .data  
00000000 .text  
00000010 inclw  
0000001c etext  
0000001c etext  
00000010 inclw  
[7 symbols]  
5-4  
 
Getting Started With the Assembler and Linker  
The two files, file1 and file2, can be linked together with or without a com-  
mand file. However, using a command file allows you to configure your  
memory using the MEMORY and SECTIONS directives:  
The MEMORY directive lets you specify a model of target memory so  
that you can define the types of memory your system contains and the  
address ranges they occupy.  
The SECTIONS directive describes how input sections are combined  
into output sections and specifies where output sections are placed in  
memory.  
You can include the linker options and filenames in the linker command  
file, or you can enter them on the command line. If you do not include a  
linker command file, the linker uses a default allocation algorithm. Refer to  
the TMS470R1x Assembly Language Tools User’s Guide for more in-  
formation about the linker command file and the default allocation algo-  
rithm.  
Example 5–5. Sample Linker Command File, linker2.cmd  
/* Specify the System Memory Map */  
MEMORY  
{
D_MEM : org = 0x00000000 len = 0x00001000 /* Data Memory  
(RAM) */  
P_MEM : org = 0x00001000 len = 0x00001000 /* Program Memory (ROM) */  
}
/* Specify the Sections Allocation Into Memory */  
SECTIONS  
{
.data  
.text  
: {} > D_MEM /* Initialized Data */  
: {} > P_MEM /* Code */  
}
Typing in the following command line using the linker command file shown  
in Example 5–5 results in the map file shown in Example 5–6.  
lnk470 file1 file2 linker2.cmd m linker2.map o prog.out  
Getting Started With the Code Generation Tools  
5-5  
 
Getting Started With the Assembler and Linker  
Example 5–6. Linker Map File (linker2.map) Linked Using a Linker Command File  
*****************************************************  
TMS470 COFF Linker  
Version 1.20  
*****************************************************  
Sat Feb 8 15:36:45 1997  
OUTPUT FILE NAME: <prog.out>  
ENTRY POINT SYMBOL: 0  
MEMORY CONFIGURATION  
name  
origin  
length  
used  
attributes  
fill  
–––––––– –––––––– ––––––––– –––––––– –––––––––– ––––––––  
D_MEM  
P_MEM  
00000000 000001000 00000000  
00001000 000001000 0000001c  
RWIX  
RWIX  
SECTION ALLOCATION MAP  
output  
attributes/  
input sections  
–––––––– –––– –––––––––– –––––––––– ––––––––––––––––  
section page  
origin  
length  
.data  
.text  
.bss  
0
0
0
00000000  
00000000  
00000000  
00000000  
00000000  
UNINITIALIZED  
file2.obj (.data)  
file1.obj (.data)  
00000000  
00001000  
00001000  
00001010  
0000001c  
00000010  
0000000c  
file1.obj (.text)  
file2.obj (.text)  
00000000  
00000000  
00000000  
00000000  
00000000  
00000000  
UNINITIALIZED  
file2.obj (.bss)  
file1.obj (.bss)  
GLOBAL SYMBOLS  
address name  
–––––––– ––––  
00000000 .bss  
00000000 .data  
00001000 .text  
00000000 edata  
00000000 end  
address name  
–––––––– ––––  
00000000 edata  
00000000 .bss  
00000000 end  
00000000 .data  
00001000 .text  
00001010 inclw  
0000101c etext  
0000101c etext  
00001010 inclw  
[7 symbols]  
5-6  
 
Getting Started With the C Compiler  
5.2 Getting Started With the C Compiler  
The TMS470R1x C compiler consists of many phases, including parsing, opti-  
mization, and code generation. The simplest way to compile is to use the shell  
program, which is included with the compiler. This section provides a quick  
walkthroughsothatyoucangetstartedwithoutreadingtheentireTMS470R1x  
Optimizing C Compiler User’s Guide.  
1) Create a sample file called function.c that contains the following code:  
/**************************************/  
/*  
function.c  
*/  
*/  
/* (Sample file for walkthrough)  
/**************************************/  
int main(int i)  
{
return(i < 0 ? –i : i );  
}
2) To invoke the shell program to compile and assemble function.c, enter:  
cl470 –o function  
By default, the TMS470R1x shell program compiles and assembles 32-bit  
instructions. To compile 16-bit instructions, use the –mt option:  
cl470 –o –mt funtion  
The shell program prints the following information as it compiles the pro-  
gram:  
[function]  
TMS470 ANSI C Compiler  
Copyright (c) 1995–1997  
”function.c” ==> main  
TMS470 ANSI C Optimizer  
Copyright (c) 1995–1997  
”function.c” ==> main  
TMS470 ANSI C Codegen  
Copyright (c) 1995–1997  
”function.c”: ==> main  
TMS470 COFF Assembler  
Copyright (c) 1995–1997  
PASS 1  
Version 1.20  
Texas Instruments Incorporated  
Version 1.20  
Texas Instruments Incorporated  
Version 1.20  
Texas Instruments Incorporated  
Version 1.20  
Texas Instruments Incorporated  
PASS 2  
No Errors, No Warnings  
By default, the shell deletes the assembly language file from the current  
directory after the file is assembled. If you want to inspect the assembly  
language output, use the –k option to retain the assembly language file:  
cl470 –o –k function  
Getting Started With the Code Generation Tools  
5-7  
 
Getting Started With the C Compiler  
3) Also by default, the shell creates a COFF object file as output; however,  
if you use the –z option, the output is an executable object module. The  
following examples show two ways of creating an executable object  
module:  
a) The example in step 2 creates an object file called function.obj. To  
create an executable object module, run the linker separately by  
invoking lnk470 as in the following example:  
lnk470 –c function.obj lnk32.cmd –o function.out –l rts32.lib  
The c linker option tells the linker to observe the C language linking  
conventions. The linker command file, lnk32.cmd, is shipped with the  
code generation tools. The o option names the output module,  
function.out; if you don’t use the o option, the linker names theoutput  
module a.out. The –l option names the runtime-support library. You  
must have a runtime-support library before you can create an execut-  
able object module; the prebuilt runtime-support libraries rts32.lib and  
rts16.lib are included with the code generation tools.  
b) In this example, use the –z shell option, which tells the shell program  
to run the linker. The –z option is followed by linker options.  
cl470 –o function.c –z lnk32.cmd –o function.out –l rts32.lib  
For more information on linker commands, see the Linker Description  
chapter of the TMS470R1x Assembly Language Tools User’s Guide.  
4) The TMS470R1x compiler package also includes an interlist utility. This  
program interlists the C source statements as comments in the assembly  
language compiler output, allowing you to inspect the assembly language  
generated for each line of C. To run the interlist utility, invoke the shell pro-  
gram with the –s option. For example:  
cl470 –s function –z lnk32.cmd –o function.out  
The output of the interlist utility is written to the assembly language file  
created by the compiler. (The shell –s option implies –k; that is, when you  
use the interlist utility, the assembly file is automatically retained.)  
5-8  
 
Chapter 6  
Release Notes  
This chapter describes the media contents of the TMS470R1x tools kit. The  
tools are supported on SPARCstations, HP workstations, and PCs with DOS,  
Windows 3.1x, Windows 95, or Windows NT.  
This chapter also contains documentation of tools and features that are new  
or have been changed since the last release.  
Topic  
Page  
6.1 Media Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2  
6.2 Release Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4  
6-1  
 
Media Contents  
6.1 Media Contents  
The CD-ROM included in the TMS470R1x tools kit for SPARCstations and HP  
workstations contains the files listed in Table 6–1. The CD-ROM included in  
the TMS470R1x tools kit for PCs contains the files listed in Table 6–2.  
Table 6–1. Media Contents for SPARCstations and HP Workstations  
File  
Description  
README.1st Online release bulletin  
abs470  
ac470  
Absolute lister  
ANSI C parser  
ar470  
Archiver  
asm470  
cg470  
Assembler  
Code generator  
cl470  
Compiler shell program  
C source interlist utility  
Hex conversion utility  
Sample interrupt vector setup file  
COFF linker  
clist  
hex470  
intvecs.asm  
lnk470  
lnk16.cmd  
lnk32.cmd  
mk470  
opt470  
rts16.lib  
rts32.lib  
rts.src  
Sample 16-bit linker command file  
Sample 32-bit linker command file  
Library-build utility  
C optimizer  
16-bit runtime-support library  
32-bit rutime-support library  
C runtime-support source library  
Cross-reference utility  
#include header files for RTS:  
xref470  
*.h  
assert.h  
ctype.h  
errno.h  
float.h  
limits.h  
math.h  
setjmp.h  
stdarg.h  
stddef.h  
stdio.h  
stdlib.h  
string.h  
time.h  
6-2  
 
Media Contents  
Table 6–2. Media Contents for PCs  
File  
Description  
readme.1st  
abs470.exe  
ac470.exe  
ar470.exe  
asm470.exe  
cg470.exe  
cl470.exe  
clist.exe  
Online release bulletin  
Absolute lister  
ANSI C parser  
Archiver  
Assembler  
Code generator  
Compiler shell program  
C source interlist utility  
Hex conversion utility  
Sample interrupt vector setup file  
COFF linker  
hex470.exe  
intvecs.asm  
lnk470.exe  
lnk16.cmd  
lnk32.cmd  
mk470.exe  
opt470.exe  
Sample 16-bit linker command file  
Sample 32-bit linker command file  
Library-build utility  
C optimizer  
pminfo32.exe  
Utility to measure protected/real-mode switching  
16-bit runtime-support library  
32-bit runtime-support library  
C runtime-support source library  
Cross-reference utility  
#include header files for RTS:  
rts16.lib  
rts32.lib  
rts.src  
xref470.exe  
*.h  
assert.h  
ctype.h  
errno.h  
float.h  
limits.h  
math.h  
setjmp.h  
stdarg.h  
stddef.h  
stdio.h  
stdlib.h  
string.h  
time.h  
This file is included only in the tool kit for PCs running DOS.  
Release Notes  
6-3  
 
Release Enhancements  
6.2 Release Enhancements  
Release 1.20 of the TMS470R1x code generation tools contains general  
enhancements as well as enhancements specific to the assembler and  
compiler. The following sections list these enhancements.  
General enhancements  
The TMS470R1x general enhancements include the following items:  
All known bugs have been removed.  
COFF version 2 is supported. Section names are no longer limited to eight  
characters, and filenames are no longer limited to 14 characters. Section  
name length is unrestricted, and filename length is restricted by the con-  
ventions of your operating system.  
Note: Using Version 1 COFF  
If you depend on a third-party COFF-dependent tool that does not support  
version 2 COFF, then use the –v1 linker option. The –v1 option instructs the  
linker to generate version 1 COFF. Ensure that your object modules do not  
have section names that are longer than eight characters or filenames that  
are longer than 14 characters. The –v1 option is a temporary option for this  
release and it will be removed in a future release.  
Assembler enhancements  
The TMS470R1x assembler enhancements are as follows:  
A feature of COFF version 2 is the use of subsections. You can create  
subsections of any section to give you tighter control of the memory map.  
Subsectionsarecreatedusingthe.sectand.usectdirectives. Forinforma-  
tion on creating subsections, see the Introduction to Common Object File  
Format chapter of the TMS470R1x Assembly Language Tools User’s  
Guide; for memory map examples using subsections, see the Linker  
Description chapter.  
The assembler supports conditionally linked sections. You select sections  
for conditional linking with the .clink assembler directive.  
The .clink directive marks the current section as a conditionally linked sec-  
tion. This section will be linked into the final output of the linker only if it is  
referenced by a linked section through a symbol reference. By default, all  
sections are linked.  
6-4  
 
Release Enhancements  
The section in which the entry point of a C program is defined cannot be  
marked as a conditionally linked section. The compiler marks all function  
veneers as conditionally linked.  
You must link with the –a linker option, which creates an absolute, execut-  
able output module, to enable conditional linking. The –j linker option  
disables conditional linking.  
For information on the .clink directive, see the Assembler Directives  
chapter of the TMS470R1x Assembly Language Tools User’s Guide; for  
information on the –j linker option, see the Linker Description chapter.  
C compiler enhancements  
The TMS470R1x optimizing C compiler enhancements are as follows. For  
more information, see the named chapter of the TMS470R1x Optimizing C  
Compiler User’s Guide.  
You can specify command line options in a file. When you specify that file  
on the command line with the –@ shell option, the compiler reads the file  
and interprets it as if it contained part of the command line. For more  
information, see the Compiler Description chapter.  
The options that invoke the interlist utility with the shell have changed. The  
–s option interlists optimizer comments (if the optimizer is invoked) and  
assembly statements; otherwise it interlists C source and assembly state-  
ments. ThessoptioninterlistsCsourceandassemblystatements. Anew  
option, the –os option, interlists optimizer comments with assembly state-  
ments. To interlist C source and assembly statements with optimizer  
comments, use the –os and –ss options when invoking the optimizer. For  
more information, see the Compiler Description and Optimizing Your  
Code chapters.  
Global register variables are now supported. For more information, see  
the TMS470R1x C Language chapter.  
Bit-field manipulation improvements are incorporated. For more informa-  
tion, see the Runtime Environment chapter.  
The alignment of structures has changed. In previous releases, all struc-  
tures were word aligned. Now, a structure is aligned according to the align-  
mentofthestructure’smostrestrictiveelement. Formoreinformation, see  
the Runtime Environment chapter.  
Software interrupts are supported for C code. You define the software  
interrupt with the SWI_ALIAS pragma. For more information, see the  
TMS470R1x C Language and Runtime Environment chapters.  
Release Notes  
6-5  
 
6-6  
 
Appendix A  
Troubleshooting DOS Systems  
DOS/4GW is a memory manager that is embedded into the DOS version of  
the TMS470R1x code generation tools, so you may occasionally see  
DOS/4GW error messages while you are using the tools. The executable files  
for DOS/4GW are not shipped as such, nor is any documentation provided on  
this tool, except for the list of error messages.  
Section A.2, Kernel Error Messages, and Section A.3, DOS/4G Error Mes-  
sages, are excerpted from the DOS/4GW User’s Manual (reproduced here  
with the permission of Tenberry Software, Inc). Included are lists of error mes-  
sages with descriptions of the circumstances in which the error is most likely  
to occur and suggestions for remedying the problem. (Portions of the excerpt  
have been modified to provide you with specific information about using TI  
tools.)  
Topic  
Page  
A.1 Troubleshooting in the Protected-Mode Environment . . . . . . . . . . . . A-2  
A.2 Kernel Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5  
A.3 DOS/4G Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9  
A-1  
 
Troubleshooting in the Protected-Mode Environment  
A.1 Troubleshooting in the Protected-Mode Environment  
Getting 32-bit programs to execute properly under DOS can be frustrating.  
Your computer’s configuration and memory management can cause problems  
that may be difficult to find because many programs are interacting.  
This list of error messages is reproduced in Section A.2 on page A-5 and  
Section A.3 on page A-9 because they may occur when you are executing  
any tools, since all of the tools have been assembled along with the DOS/4GW  
memory extender. When reading this material, consider these items:  
When an Action directs you to technical support, determine the configura-  
tion of your system by using the PMINFO program (on page A-3) before  
contacting technical support. See the If You Need Assistance section on  
page vi, for information about contacting technical support.  
Some error messages are not included in this appendix because they are  
rarely seen when using DOS/4GW with the TMS470R1x tools. Also, many  
of the messages that are documented here are seldom seen when using  
DOS/4GW with the TMS470R1x tools.  
A-2  
 
Troubleshooting in the Protected-Mode Environment  
The PMINFO32.EXE program  
Purpose:  
Run PMINFO.EXE to determine the performance of protected/  
real-mode switching and extended memory.  
Notes:  
The time-based measurements made by PMINFO may vary  
slightly from run to run.  
If this error message appears:  
DOS/16M error: [17] system software does not follow VCPI  
or DPMI specifications  
check for a statement in your CONFIG.SYS containing  
NOEMS. If such a statement exists, remove it and reboot your  
computer.  
If the computer is not equipped with extended memory or if  
none is available for DOS/4GW, the extended-memory  
measurements do not display.  
Other DOS/4GW error messages are in Section A.3, DOS/4G  
Error Messages.  
Example:  
The following example shows the output of the PMINFO pro-  
gram on an 80486 AT -compatible machine running at  
33 MHz.  
–================================= PMINFO =======================================–  
Protected Mode and Extended Memory Performance Measurement –– 4.45  
Copyright (c) Tenberry Software, Inc. 1987 – 1996  
DOS memory Extended memory CPU performance equivalent to 33.0 MHz 80486  
–––––––––– –––––––––––––––  
640  
640  
550  
17854 K bytes configured (according to BIOS).  
31744 K bytes physically present (SETUP).  
17585 K bytes available for DOS/16M programs.  
19.1 (0.5) MB/sec word transfer rate (wait states).  
34.4 (0.5) MB/sec 32–bit transfer rate (wait states).  
21.6 (0.0)  
35.4 (0.5)  
Overall cpu and memory performance (non–floating point) for typical  
DOS programs is 7.78 0.62 times an 8MHz IBM PC/AT.  
Protected/Real switch rate = 18078/sec (55 sec/switch, 33 up + 21 down),  
DOS/16M switch mode 11 (VCPI).  
Troubleshooting DOS Systems  
A-3  
 
Troubleshooting in the Protected-Mode Environment  
PMINFO provides the information shown in Table A–1.  
Table A–1. PMINFO Fields  
Measurement  
Purpose  
CPU performance  
Shows the CPU processor equivalent and the speed of the CPU (in MHz)  
According to BIOS  
Shows the configured memory in DOS and extended memory as provided by the  
BIOS (interrupts 12h and 15h, function 88h)  
SETUP  
Shows the configuration obtained directly from the CMOS RAM as set by the com-  
puter’s setup program. It is displayed only if the numbers are different from those  
in the BIOS line. They are different if the BIOS has reserved memory for itself or  
if another program has allocated memory and is intercepting the BIOS configura-  
tion requests to report less memory available than is physically configured.  
DOS/16M programs  
Transfer rates  
If displayed, shows the low and high addresses available to DOS/4GW in  
extended memory  
PMINFO tries to determine the memory architecture. Some architectures perform  
well under some circumstances and poorly under others; PMINFO shows the best  
and worst cases. The architectures detected are cache, interleaved, page-mode  
(or static column), and direct.  
Measurements are made by using 32-bit accesses and are reported as the num-  
ber of megabytes per second that can be transferred. The number of wait states  
is reported in parentheses. The wait states can be a fractional number, like 0.5,  
if there is a wait state on writes but not on reads. Memory bandwidth (that is, how  
fast the CPU can access memory) accounts for 60% to 70% of the performance  
for typical programs (those that are not heavily dependent on floating-point math).  
Overall CPU and memory  
performance  
Shows a performance metric developed by Tenberry Software, Inc. (formerly  
knownasRationalSystems, Inc.), indicatingtheexpectedthroughputforthecom-  
puter relative to a standard 8-MHz IBM PC/AT (disk accesses and floating-point  
operations are both excluded).  
Protected/real switch rate  
Shows the speed with which the computer can switch between real and protected  
modes, both as the maximum number of round-trip switches that can occur per  
second, and as the time for a single round-trip switch, broken into the real-to-  
protected (up) and protected-to-real (down) components.  
A-4  
 
Kernel Error Messages  
A.2 Kernel Error Messages  
This section describes error messages from the DOS/16M kernel embedded  
in the TMS470R1x code generation tools. Kernel error messages can occur  
because of severe resource shortages, corruption of the executable file, cor-  
ruption of memory, operating system incompatibilities, or internal errors. All of  
these messages are quite rare.  
DOS/16M protected mode available only with 386 or 486  
Description  
DOS4G did not detect the presence of a 386-, 486-, or Pen-  
tium-based processor.  
Action  
If you are running the tools on a 386 (or later) PC, rerun the  
program. If you are running the tools on a 286 PC, reinstall  
and run the tools on a 386 PC or later.  
0: involuntary switch to real mode  
Description  
The computer was in protected mode but switched to real  
mode without going through DOS/16M. This error most often  
occurs because of an unrecoverable stack segment  
exception (stack overflow) but can also occur if the global  
descriptor table or interrupt descriptor table is corrupted.  
Action  
Restart your computer. If the problem persists, contact tech-  
nical support.  
2: not a DOS/16M executable <filename>  
Description  
DOS4G.EXE or a bound DOS/4G application has probably  
been corrupted in some way.  
Action  
Recopy the file from the source media.  
6: not enough memory to load program  
Description  
Action  
There is not enough memory to load DOS/4G.  
Make more memory available and try again.  
8: cannot open file <filename>  
Description  
The DOS/16M loader cannot load DOS/4G, probably  
because DOS has run out of file units.  
Action  
Set a larger FILES= entry in the CONFIG.SYS file, reboot,  
and try again.  
Troubleshooting DOS Systems  
A-5  
 
Kernel Error Messages  
9: cannot allocate tstack  
Description  
Action  
There is not enough memory to load DOS/4G.  
Make more memory available and try again.  
10: cannot allocate memory for GDT  
Description  
Action  
There is not enough memory to load DOS/4G.  
Make more memory available and try again.  
11: no passup stack selectors – GDT too small  
Description  
This error indicates an internal error in DOS/4G or an  
incompatibility with other software.  
Action  
Contact technical support.  
12: no control program selectors – GDT too small  
Description  
This error indicates an internal error in DOS/4G or an incom-  
patibility with other software.  
Action  
Contact technical support.  
13: cannot allocate transfer buffer  
Description  
Action  
There is not enough memory to load DOS/4G.  
Make more memory available and try again.  
14: premature EOF  
Description  
DOS4G.EXE or a bound DOS/4G application has probably  
been corrupted.  
Action  
Recopy the file from the source media.  
15: protected mode available only with 386 or 486  
Description  
DOS/4Grequires an 80386 (or later) CPU. It cannot run on an  
80286 (or earlier) CPU.  
Action  
Reinstall and run the tools on a 386 (or later) PC.  
A-6  
 
Kernel Error Messages  
17: system software does not follow VCPI or DPMI specifications  
Description  
Some memory-resident program has put your 386 or 486  
CPU into virtual 8086 mode. This is done to provide special  
memory services to DOS programs, such as EMS simulation  
(EMS interface without EMS hardware) or high memory. In  
this mode, it is not possible to switch into protected mode  
unless the resident software follows a standard that  
DOS/16M supports (DPMI, VCPI, and XMS are the most  
common).  
Action  
Contact the vendor of your memory-management software.  
22: cannot free memory  
Description  
Memory was probably corrupted during execution of your  
program.  
Action  
Make more memory available and try again.  
23: no memory for VCPI page table  
Description  
Action  
There is not enough memory to load DOS/4G.  
Make more memory available and try again.  
24: VCPI page table address incorrect  
Description  
Action  
There is an internal error.  
Contact technical support.  
25: cannot initialize VCPI  
Description  
An incompatibility with other software was detected.  
DOS/16M has detected that VCPI is present, but VCPI  
returnsanerrorwhenDOS/16Mtriestoinitializetheinterface.  
Action  
Find the other software that uses VCPI and disable it (stop its  
execution).  
28: memory error, avail loop  
Description  
Memory was probably corrupted during execution of your  
program. Using an invalid or stale alias selector may cause  
this error. Incorrect manipulation of segment descriptors may  
also cause it.  
Action  
Rerun the program and/or restart your computer.  
Troubleshooting DOS Systems  
A-7  
 
Kernel Error Messages  
29: memory error, out of range  
Description  
Memory was probably corrupted during execution of your  
program. Writingthroughaninvalidorstalealiasselectormay  
cause this error.  
Action  
Check your source code for references to variables that are  
not declared or are no longer in scope.  
32: DPMI host error (possibly insufficient memory)  
33: DPMI host error (need 64K XMS)  
34: DPMI host error (cannot lock stack)  
Description  
Action  
Memory under DPMI is probably insufficient.  
Under Windows, make more physical memory available by  
eliminating or reducing any RAM drives or disk caches. You  
can also edit DEFAULT.PIF so that at least 64K bytes of XMS  
memory is available to non-Windows programs. Under OS/2,  
increase the DPMI_MEMORY_LIMIT in the DOS box set-  
tings.  
35: general protection fault  
Description  
An internal error in DOS/4G was probably detected. Faults  
generated by your program should cause error 2001 instead.  
Action  
Contact technical support.  
38: cannot use extended memory: HIMEM.SYS not version 2  
Description  
An incompatibility with an old version of HIMEM.SYS was  
detected.  
Action  
Upgrade to a more recent copy of DOS or upgrade your DOS  
memory extender.  
40: not enough available extended memory (XMIN)  
Description  
An incompatibility with your memory manager or its configu-  
ration was detected.  
Action  
Try configuring the memory manager to provide more ex-  
tended memory or change memory managers.  
A-8  
 
DOS/4G Error Messages  
A.3 DOS/4G Error Messages  
DOS/4G errors are more common than kernel errors when using DOS/4G or  
DOS/4GW with the TMS470R1x code generation tools. They are usually re-  
lated to an unknown path name, corrupt files, or memory problems. Memory  
problems can include inadequate memory, poor configuration, or corrupted  
memory.  
1000 ”can’t hook interrupts”  
Description  
Action  
A DPMI host has prevented DOS/4G from loading.  
Contact technical support.  
1001 ”error in interrupt chain”  
Description  
Action  
A DOS/4G internal error was detected.  
Contact technical support.  
1003 ”can’t lock extender kernel in memory”  
Description  
DOS/4G could not lock the kernel in physical memory, prob-  
ably because of a memory shortage.  
Action  
Free some memory for the DOS/4G application.  
1005 ”not enough memory for dispatcher data”  
Description  
There is not enough memory for DOS/4G to manage user-  
installed interrupt handlers properly.  
Action  
Free some memory for the DOS/4G application.  
1007 ”can’t find file <program> to load”  
Description  
DOS/4G could not open the specified program. The file prob-  
ably does not exist. It is possible that DOS ran out of file han-  
dles or that a network or similar utility has prohibited read ac-  
cess to the program.  
Action  
Make sure that the filename was spelled correctly.  
1008 ”can’t load executable format for file <filename> [<error  
code>]”  
Description  
DOS/4G did not recognize the specified file as a valid execut-  
able file. DOS/4G can load linear executables (LE and LX)  
and EXPs (BW).  
Action  
Recopy the file from the source media.  
Troubleshooting DOS Systems  
A-9  
 
DOS/4G Error Messages  
3301 ”unhandled EMPTYFWD, GATE16, or unknown relocation”  
3302 ”unhandled ALIAS16 reference to unaliased object”  
3304 ”unhandled or unknown relocation”  
Description  
If your program was built for another platform that supports  
the LINEXE format, it may contain a construct that DOS/4G  
does not currently support, such as a call gate. One of these  
messages may also appear if your program has a problem  
mixing 16- and 32-bit code. A linker error is another likely  
cause.  
Action  
Check for viruses and reinstall the tools from the source  
media. If the problem persists, contact technical support.  
A-10  
 
Appendix B  
Glossary  
A
C
asm470: The name of the command that invokes the assembler for the  
TMS470R1x.  
assembler: A software program that creates a machine-language program  
from a source file that contains assembly language instructions, direc-  
tives, and macro definitions. The assembler substitutes absolute opera-  
tion codes for symbolic operation codes and absolute or relocatable  
addresses for symbolic addresses.  
C compiler: A software program that translates C source statements into  
assembly language source statements.  
code generator: A compiler tool that takes the file produced by the parser  
or the optimizer and produces an assembly language source file.  
COFF: Common object file format. A binary object file format that promotes  
modular programming by supporting the concept of sections. All COFF  
sections are independently relocatable in memory space; you can place  
any section into any allocated block of target memory.  
cl470: The name of the command that invokes the compiler shell program  
for the TMS470R1x. (The second character in the shell name is a lower-  
case L.)  
D
DOS/4G: The base version for DOS/4GW. You may occasionally see this  
term in an error message. If so, see Appendix A, Troubleshooting DOS  
Systems, for the appropriate action.  
B-1  
 
Glossary  
DOS/4GW: A memory extender that is bound with the DOS version of the  
TMS470R1x code generation tools. The executable DOS/4GW file is not  
shipped separately but is embedded within the other executables. Error  
messages from DOS/4GW are included in Appendix A, Troubleshooting  
DOS Systems, to assist you in debugging. If you receive one of these  
errormessages, contacttechnicalsupportforassistance, andremember  
that the tools are shipped as object files with the memory extender  
embedded.  
DOS/16M: The executable filename for a tool that is embedded in the  
TMS470R1x code generation tools. You may occasionally see this term  
in an error message. If so, see Appendix A, Troubleshooting DOS  
Systems, for the appropriate action.  
E
I
environment variables: System symbols that you define and assign to a  
string. They are usually included in batch files (for example, .cshrc).  
interlist utility: A compiler utility that inserts as comments your original C  
source statements into the assembly language output from the assem-  
bler. The C statements are inserted next to the equivalent assembly  
instructions.  
L
linker: A software program that combines object files to form an object mod-  
ule that can be allocated into system memory and executed by the de-  
vice.  
lnk470: The name of the command that invokes the linker for the  
TMS470R1x.  
O
optimizer: A software tool that improves the execution speed and reduces  
the size of C programs.  
options: Command parameters that allow you to request additional or  
specific functions when you invoke a software tool.  
B-2  
 
Glossary  
P
pragma: Preprocessor directive that provides directions to the compiler  
about how to treat a particular statement.  
protected-mode programs: 32-bit extended DOS programs. These  
programs require an extended memory manager and run on 80386,  
80486, andPentiumbasedPCsonly. Protected-modeprogramscanuse  
all available RAM on a computer up to 64M bytes.  
R
S
real-mode: 16-bit native DOS mode. This mode limits the available memory  
to 640K bytes. Calls to DOS may involve switching from protected to real  
mode. DOS real-mode tools are no longer supported by the TMS470R1x  
code generation tools.  
shell program: A utility that lets you compile, assemble, and optionally link  
inonestep. Theshellrunsoneormoresourcemodulesthroughthecom-  
piler (including the parser, optimizer, and code generator), the assem-  
bler, and the linker.  
structure: A collection of one or more variables grouped together under a  
single name.  
swap file: The file where virtual memory (secondary memory) is allocated  
on the hard disk.  
V
veneer: A sequence of instructions that serves as an alternate entry point  
into a routine if a state change is required.  
virtual memory: The ability of a program to use more memory than a  
computer actually has available as RAM. This is accomplished by using  
a swap file on disk to augment RAM. When RAM is not sufficient, part of  
the program is swapped out to a disk file until it is needed again. The  
combination of the swap file and available RAM is the virtual memory.  
The TMS470R1x tools use the DOS/4GW memory extender to provide  
virtual-memory management (VMM). This memory extender is not pro-  
vided as an executable file but is embedded in several of the tools  
shipped by TI. Contact technical support for more information.  
Glossary  
B-3  
 
B-4  
 
Index  
@ shell option 6-5  
CD-ROM (continued)  
requirements  
for DOS systems 1-2  
A
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
retrieving files from (copying)  
for HP workstations 4-4  
for SPARCstations 3-4  
unmounting  
A_DIR environment variable  
for DOS systems 1-5  
for HP workstations 4-6  
for SPARCstations 3-6 to 3-7  
for Windows 3.1x systems 1-5  
for Windows 95/NT systems 2-5  
asm470  
for HP workstations 4-4  
for SPARCstations 3-4  
definition B-1  
invoking 5-2  
cl470  
assembler, definition B-1  
assembler walkthrough 5-2 to 5-4  
assistance from TI vi  
definition B-1  
invoking 5-7  
.clink directive 6-4  
code generation tools  
C
for DOS systems 1-2  
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
C compiler walkthrough 5-7 to 5-8  
C_DIR environment variable  
for DOS systems 1-5  
for HP workstations 4-7  
for SPARCstations 3-7  
for Windows 3.1x systems 1-5  
for Windows 95/NT systems 2-6  
code generator, definition B-1  
COFF  
creating object file 5-8  
definition B-1  
version 1 switch 6-4  
version 2 support 6-4  
C_OPTION environment variable  
for DOS systems 1-6  
for HP workstations 4-7 to 4-8  
for SPARCstations 3-7 to 3-8  
for Windows 3.1x systems 1-6  
for Windows 95/NT systems 2-6  
compiler, definition B-1  
conditionally linked sections 6-4  
CD-ROM  
.cshrc file  
mounting  
for HP workstations 4-5 to 4-10  
for SPARCstations 3-5 to 3-10  
for HP workstations 4-3  
for SPARCstations 3-3  
Index-1  
 
Index  
environment variables  
D
A_DIR 1-5, 2-5, 3-6 to 3-7, 4-6  
C_DIR 1-5, 2-6, 3-7, 4-7  
directives  
C_OPTION 1-6, 2-6, 3-7 to 3-8, 4-7 to 4-8  
definition B-2  
MEMORY 5-5  
SECTIONS 5-5  
for DOS systems 1-4  
for HP workstations 4-5 to 4-10  
for SPARCstations 3-5 to 3-10  
for Window 3.1x systems 1-4  
for Windows 95/NT systems 2-4 to 2-7  
resetting 1-7, 2-7, 3-9, 4-9  
TMP 1-7, 2-7, 3-8 to 3-9, 4-8 to 4-9  
verifying 1-7, 2-7, 3-10, 4-10  
directories, software tools  
for DOS systems 1-5  
for HP workstations 4-3, 4-6  
for SPARCstations 3-4, 3-6  
for Windows 3.1x systems 1-5  
for Windows 95/NT systems 2-5  
disk space requirements  
for HP workstations 4-2  
for SPARCstations 3-2  
error messages  
DOS/4G A-9 to A-10  
kernel A-5 to A-8  
display requirements  
example  
for DOS systems 1-2  
assembler 5-2 to 5-3  
compiler 5-7 to 5-8  
linker 5-4 to 5-6  
PMINFO A-3  
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
DOS systems  
F
requirements 1-2  
setting up the environment 1-4  
software installation 1-3  
filename length 6-4  
DOS/16M, definition B-2  
G
DOS/4G  
definition B-1  
error messages A-9 to A-10  
global register variables 6-5  
DOS/4GW  
H
definition B-2  
described A-1  
hardware checklist  
for DOS systems 1-2  
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
E
enhancements  
host system  
assembler 6-4  
C compiler 6-5 to 6-6  
general 6-4  
for DOS systems 1-2  
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
environment setup  
for DOS systems 1-4  
for HP workstations 4-5 to 4-10  
for SPARCstations 3-5 to 3-10  
for Window 3.1x systems 1-4  
for Windows 95/NT systems 2-4 to 2-7  
HP workstations  
requirements 4-2  
setting up the environment 4-5 to 4-10  
software installation 4-3 to 4-4  
Index-2  
 
Index  
modifying PATH statement  
for DOS systems 1-5  
I
for HP workstations 4-6  
for SPARCstations 3-6  
for Windows 3.1x systems 1-5  
for Windows 95/NT systems 2-5  
installation, software  
for DOS systems 1-3  
for HP workstations 4-3 to 4-4  
for SPARCstations 3-3  
for Windows 3.1x systems 1-3  
for Windows 95/NT systems 2-3  
mounting CD-ROM  
for HP workstations 4-3  
for SPARCstations 3-3  
interlist utility  
mouse requirements  
definition B-2  
described 5-8  
enhancements 6-5  
for DOS systems 1-2  
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
invoking  
assembler 5-2 to 5-4  
compiler 5-7 to 5-8  
linker 5-2 to 5-6  
MS-DOS PMINFO A-3 to A-10  
N
notational conventions iii  
K
kernel error messages A-5 to A-8  
O
operating system  
for DOS systems 1-2  
L
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
linker, definition B-2  
linker walkthrough 5-2 to 5-4  
optimizer, definition B-2  
options, definition B-2  
lnk470  
definition B-2  
invoking 5-3  
P
PATH statement  
M
for DOS systems 1-5  
for HP workstations 4-6  
for SPARCstations 3-6  
for Windows 3.1x systems 1-5  
for Windows 95/NT systems 2-5  
media contents 6-2, 6-3  
HP workstations 6-2  
PCs with DOS 6-3  
PCs with Windows 3.1x 6-3  
PCs with Windows 95/NT 6-3  
SPARCstations 6-2  
performance considerations for DOS or Windows  
3.1x systems 1-8  
permissions  
MEMORY directive 5-5  
for HP workstations 4-2  
for SPARCstations 3-2  
memory requirements  
PMINFO A-3 to A-10  
example A-3  
for DOS systems 1-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
pragma, definition B-3  
Index-3  
 
Index  
.profile file  
shell, reinitializing 3-9, 4-9  
shell program  
for HP workstations 4-5 to 4-10  
for SPARCstations 3-5 to 3-10  
COFF file 5-8  
definition B-3  
protected-mode  
software checklist  
environment, troubleshooting A-2  
programs, definition B-3  
for DOS systems 1-2  
for HP workstations 4-2  
for SPARCstations 3-2  
for Windows 3.1x systems 1-2  
for Windows 95/NT systems 2-2  
software interrupts 6-5  
Solaris. See SPARCstations  
SPARCstations  
R
real-mode, definition B-3  
reinitializing  
.cshrc file 3-9, 4-9  
.profile file 3-9, 4-9  
shell 3-9, 4-9  
requirements 3-2  
setting up the environment 3-5 to 3-10  
software installation 3-3 to 3-4  
structure  
related documentation iv  
requirements. See hardware checklist; software  
checklist  
alignment 6-5  
definition B-3  
subsections 6-4  
resetting environment variables  
for DOS systems 1-7  
SunOS. See SPARCstations  
swap file, definition B-3  
system initialization files  
.cshrc  
for HP workstations 4-9  
for SPARCstations 3-9  
for Windows 3.1x systems 1-7  
for Windows 95/NT systems 2-7  
for HP workstations 4-5 to 4-10  
for SPARCstations 3-5 to 3-10  
.profile  
retrieving files from CD-ROM  
for HP workstations 4-4  
for SPARCstations 3-4  
for HP workstations 4-5 to 4-10  
for SPARCstations 3-5 to 3-10  
system requirements. See hardware checklist; soft-  
ware checklist  
root privileges  
for HP workstations 4-2  
for SPARCstations 3-2  
runtime-support library 5-8  
T
TMP environment variable  
S
for DOS systems 1-7  
for HP workstations 4-8 to 4-9  
for SPARCstations 3-8 to 3-9  
for Windows 3.1x systems 1-7  
for Windows 95/NT systems 2-7  
section names 6-4  
SECTIONS directive 5-5  
setting up the environment  
for DOS systems 1-4  
U
for HP workstations 4-5 to 4-10  
for SPARCstations 3-5 to 3-10  
for Window 3.1x systems 1-4  
for Windows 95/NT systems 2-4 to 2-7  
unmounting CD-ROM  
for HP workstations 4-4  
for SPARCstations 3-4  
setup.exe  
for DOS systems 1-3  
for Windows 3.1x systems 1-3  
for Windows 95/NT systems 2-3  
V
veneer, definition B-3  
Index-4  
 
Index  
virtual memory, definition B-3  
Windows 3.1x systems  
requirements 1-2  
setting up the environment 1-4  
software installation 1-3  
W
walkthrough  
Windows 95/NT systems  
requirements 2-2  
assembler 5-2 to 5-4  
C compiler 5-7 to 5-8  
linker 5-2 to 5-4  
setting up the environment 2-4 to 2-7  
software installation 2-3  
Index-5  
 
Index-6  
 
IMPORTANT NOTICE  
Texas Instruments (TI) reserves the right to make changes to its products or to discontinue any semiconductor  
product or service without notice, and advises its customers to obtain the latest version of relevant information  
to verify, before placing orders, that the information being relied on is current.  
TI warrants performance of its semiconductor products and related software to the specifications applicable at  
the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are  
utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each  
device is not necessarily performed, except those mandated by government requirements.  
Certain applications using semiconductor products may involve potential risks of death, personal injury, or  
severe property or environmental damage (“Critical Applications”).  
TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR WARRANTED  
TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER  
CRITICAL APPLICATIONS.  
Inclusion of TI products in such applications is understood to be fully at the risk of the customer. Use of TI  
products in such applications requires the written approval of an appropriate TI officer. Questions concerning  
potential risk applications should be directed to TI through a local SC sales office.  
In order to minimize risks associated with the customer’s applications, adequate design and operating  
safeguards should be provided by the customer to minimize inherent or procedural hazards.  
TI assumes no liability for applications assistance, customer product design, software performance, or  
infringement of patents or services described herein. Nor does TI warrant or represent that any license, either  
express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property  
right of TI covering or relating to any combination, machine, or process in which such semiconductor products  
or services might be or are used.  
Copyright 1996, Texas Instruments Incorporated  
 

TDK Radio Antenna DAPS 01 User Manual
Toshiba CRT Television 14AF45 User Manual
Toshiba DVD Player NTDVT006BK User Manual
Toshiba Tablet AT305 T32 User Manual
Trane Thermostat WSHP PRC003 EN User Manual
Triarch Indoor Furnishings 29320 2 User Manual
Tricity Bendix Cooktop SE 210 User Manual
ViewSonic Computer Monitor VS13777 User Manual
ViewSonic Projector PJ551D User Manual
Viking Range VGGT240SS User Manual