Renesas 740 Family Spécifications

Naviguer en ligne ou télécharger Spécifications pour Mise en réseau Renesas 740 Family. Renesas 740 Family Specifications Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 102
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 0
APPLICATION NOTE
REJ05B0468-0100Z/Rev.1.00 September 2004 Page 1 of 102
740 Family
Programming Guidelines <C Language>
Preface
This application note is written for the Renesas 740 family 8-bit single-chip microcomputers.
It explains the basics of C language programming and how to put your program into ROM using the
M3T–ICC740 C compiler.
For details about hardware and development support tools available for each type of microcomputer
in the740 family, please refer to the appropriate hardware manuals, user's manuals and instruction
manuals.
Guide to Using This Application Note
This application note provides programming guidelines for M3T-ICC74, the C compiler for the 740
family. Knowledge of 740 family microcomputer architectures and the assembly language is helpful
in using this manual. The manual contains the following:
• Those who learn the C language for the first time Begin with Chapter 1.
• Those who wish to know ICC740 extended functions Begin with Chapter 2.
This application note is described with the case of the large memory model (-ml option). Please refer
to ICC compiler programming guide (icc740_jp.pdf) about options.
Before using material, please visit our website to confirm
that this is the most current document available.
Vue de la page 0
1 2 3 4 5 6 ... 101 102

Résumé du contenu

Page 1 - 740 Family

APPLICATION NOTE REJ05B0468-0100Z/Rev.1.00 September 2004 Page 1 of 102 740 Family Programming Guidelines <C Language> Preface This applicatio

Page 2 - Table of Contents

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 10 of 102 Method for Writing Comments Comments are

Page 3

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 100 of 102 2.5.5 Setting Up the Interrupt Vector Se

Page 4 - Introduction to C Language

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 101 of 102 REVISION HISTORY 740 family Programming

Page 5 - Features of the C Language

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 102 of 102 1. These materials are intended as a re

Page 6 - M3T-ICC740 Product List

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 11 of 102 The words listed in the following are

Page 7

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 12 of 102 1.2 Data Types 1.2.1 "Constants"

Page 8 - Rules on C Language

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 13 of 102 Character String Constants A row of alph

Page 9 - Programming Style

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 14 of 102 1.2.2 Variables Before a variable can be

Page 10 - Method for Writing Comments

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 15 of 102 Declaration of Variables Variables are d

Page 11

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 16 of 102 1.2.3 Data Characteristics When declaring

Page 12

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 17 of 102 Inhibiting Optimization by Compiler (vola

Page 13 - Character String Constants

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 18 of 102 1.3 Operators 1.3.1 Operators of ICC740 I

Page 14 - Basic Data Types of ICC740

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 19 of 102 1.3.2 Operators for Numeric Calculations

Page 15 - Declaration of Variables

740 Family Programming Guidelines <C Language> REJ05B0468-0100Z /Rev.100 September 2004 Page 2 of 102 Table of Contents Chapter 1 Introducti

Page 16 - 1.2.3 Data Characteristics

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 20 of 102 Assignment Operators The operation of &q

Page 17

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 21 of 102 1.3.3 Operators for Processing Data The o

Page 18 - 1.3.1 Operators of ICC740

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 22 of 102 Comparison between Arithmetic and Logical

Page 19 - Binary Arithmetic Operators

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 23 of 102 1.3.4 Operators for Examining Condition U

Page 20 - Assignment Operators

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 24 of 102 1.3.5 Other Operators This section explai

Page 21 - Shift Operators

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 25 of 102 Cast Operator When operation is performe

Page 22

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 26 of 102 1.3.6 Priorities of Operators The operato

Page 23 - Logical operators

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 27 of 102 1.3.7 Examples for Easily Mistaken Use of

Page 24 - Conditional Operator

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 28 of 102 Incorrectly Interpreted "Precedence&

Page 25 - Comma (Sequencing) Operator

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 29 of 102 1.4 Control Statements 1.4.1 Structuring

Page 26

740 Family Programming Guidelines <C Language> REJ05B0468-0100Z /Rev.100 September 2004 Page 3 of 102 1.9.3 Macro Definition ...

Page 27

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 30 of 102 1.4.2 Branching Processing Depending on C

Page 28

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 31 of 102 else-if Statement Use this statement whe

Page 29 - Structuring of Program

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 32 of 102 switch-case Statement This statement cau

Page 30 - Count Up (if-else Statement)

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 33 of 102 A switch-case statement normally has a

Page 31

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 34 of 102 1.4.3 Repetition of Same Processing (Repe

Page 32

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 35 of 102 for Statement The repeat processing that

Page 33

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 36 of 102 do-while Statement Unlike the for and wh

Page 34

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 37 of 102 1.4.4 Suspending Processing There are con

Page 35

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 38 of 102 goto Statement When a goto statement is

Page 36

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 39 of 102 1.5 Functions 1.5.1 Functions and Subrout

Page 37 - 1.4.4 Suspending Processing

APPLICATION NOTE REJ05B0468-0100Z /Rev.1.00 September 2004 Page 4 of 102 Chapter 1 Introduction to C Language 1.1 Programming in C Language 1.

Page 38

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 40 of 102 1.5.2 Creating Functions Three procedures

Page 39 - Arguments and Return Values

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 41 of 102 Example for a Function In this example,

Page 40

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 42 of 102 1.5.3 Exchanging Data between Functions I

Page 41 - Example for a Function

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 43 of 102 1.6 Storage Classes 1.6.1 Effective Range

Page 42

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 44 of 102 1.6.2 Storage Classes of Variables The st

Page 43 - 1.6 Storage Classes

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 45 of 102 Storage Classes of External Variable If

Page 44 - Storage Class Specifiers

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 46 of 102 1.6.3 Storage Classes of Functions The st

Page 45

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 47 of 102 Summary of Storage Classes Storage class

Page 46 - Global and Local Functions

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 48 of 102 1.7 Arrays and Pointers 1.7.1 Arrays Arra

Page 47 - Summary of Storage Classes

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 49 of 102 1.7.2 Creating an Array There are two typ

Page 48 - What is an Array?

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 5 of 102 1.1 Programming in C Language 1.1.1 Assemb

Page 49 - One-dimensional Array

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 50 of 102 Two-dimensional Array A two-dimensional

Page 50 - Two-dimensional Array

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 51 of 102 1.7.3 Pointers A pointer is a variable th

Page 51 - Declaring a Pointer Variable

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 52 of 102 Relationship between Pointer Variables an

Page 52

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 53 of 102 1.7.4 Using Pointers This section shows s

Page 53 - 1.7.4 Using Pointers

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 54 of 102 Passing Addresses between Functions The

Page 54

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 55 of 102 1.7.5 Placing Pointers into an Array This

Page 55 - Pointer Array Declaration

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 56 of 102 Pointer Array and Two-dimensional Array

Page 56

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 57 of 102 1.7.6 Table Jump Using Function Pointer I

Page 57

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 58 of 102 1.8 Struct and Union 1.8.1 Struct and Uni

Page 58 - 1.8.1 Struct and Union

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 59 of 102 1.8.2 Creating New Data Types The element

Page 59

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 6 of 102 1.1.2 Program Development Procedure The op

Page 60 - Referencing Struct

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 60 of 102 Referencing Struct To refer to each memb

Page 61

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 61 of 102 Example for Referencing Members Using a P

Page 62 - Column Type Definition

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 62 of 102 Unions Unions are characteristic in that

Page 63 - 1.9 Preprocess Commands

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 63 of 102 1.9 Preprocess Commands 1.9.1 Preprocess

Page 64 - 1.9.2 Including a File

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 64 of 102 1.9.2 Including a File Use the command &q

Page 65 - Defining a Character String

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 65 of 102 1.9.3 Macro Definition Use the "#def

Page 66 - Canceling Definition

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 66 of 102 Defining a Macro Function The command &q

Page 67 - 1.9.4 Conditional Compile

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 67 of 102 1.9.4 Conditional Compile ICC740 allows y

Page 68

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 68 of 102 Example for Conditional Compile Descripti

Page 69 - Chapter 2

APPLICATION NOTE REJ05B0468-0100Z /Rev.1.00 September 2004 Page 69 of 102 Chapter 2 Downloading a Program into the ROM 2.1 Memory Allocation 2

Page 70 - 2.1 Memory Allocation

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 7 of 102 Creating Machine Language File from Source

Page 71 - Segment configuration

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 70 of 102 2.1 Memory Allocation 2.1.1 Types of Code

Page 72 - Segment locations in memory

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 71 of 102 2.1.2 Segments Managed by the ICC740 The

Page 73

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 72 of 102 2.1.3 Controlling Memory Allocation The I

Page 74

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 73 of 102 Adding segment names (“lnk740.xcl”) The

Page 75

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 74 of 102 #pragma codeseg (segment name to be c

Page 76 - 2.2.2 Startup Program

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 75 of 102 2.2 Initialization Setup Files 2.2.1 Role

Page 77

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 76 of 102 2.2.2 Startup Program For a built-in type

Page 78

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 77 of 102 Setting up the stack page (“cstartup.s31”

Page 79 - 2.2.3 Link Command File

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 78 of 102 Registering the reset vector (“cstartup.s

Page 80

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 79 of 102 2.2.3 Link Command File The link command

Page 81

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 8 of 102 1.1.3 Easily Understandable Program Since

Page 82

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 80 of 102 Segment location and beginning/ending add

Page 83

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 81 of 102 Setting the stack size (“lnk740.xcl”) Th

Page 84

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 82 of 102 Setting the beginning/ending addresses of

Page 85 - Pointer variables

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 83 of 102 Specifying a library (“lnk740.xcl”) Spec

Page 86 - Bit variables

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 84 of 102 2.3 Extended Functions for Putting into t

Page 87

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 85 of 102 Pointer variables A pointer variable its

Page 88 - Defining the SFR area

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 86 of 102 2.3.2 Handling of Bits The ICC740 allows

Page 89

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 87 of 102 If it is desired to change the order i

Page 90

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 88 of 102 2.3.3 Control of the I/O Interface To con

Page 91

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 89 of 102 2.3.4 Alternative Way when Unable to Writ

Page 92 - Interface keywords

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 9 of 102 Programming Style To improve program main

Page 93

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 90 of 102 2.4 Linkage with Assembly Language 2.4.1

Page 94

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 91 of 102 Rules for passing arguments The ICC740 u

Page 95 - 2.5 Interrupt Handling

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 92 of 102 Interface keywords To declare the functi

Page 96

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 93 of 102 2.4.2 Calling Assembly Language from C La

Page 97

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 94 of 102 Example for calling a subroutine The fol

Page 98

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 95 of 102 2.5 Interrupt Handling The ICC740 allows

Page 99

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 96 of 102 2.5.1 Example for Writing Interrupt Handl

Page 100

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 97 of 102 2.5.2 Writing Interrupt Handling Function

Page 101

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 98 of 102 2.5.3 Setting the Interrupt Disable Flag

Page 102

740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 99 of 102 2.5.4 Registering to the Interrupt Vector

Commentaires sur ces manuels

Pas de commentaire