The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

6(0,&21'8&725 32:(5 3RZHU (PEHGGHG $SSOL.DWLRQ %LQDU\ ,QWHUI


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet




6(0,&21'8&725
32:(5
3RZHU (PEHGGHG $SSOL.DWLRQ %LQDU\ ,QWHUID.H ($%, ,PSOHPHQWDWLRQ
6WHYHQ 6REHN .HYLQ %XUNH
Freescale Semiconductor, Inc.
More Information This Product, www.freescale.com
PowerPC Embedded Application Binary Interface
Freescale Semiconductor, Inc.
32-Bit Implementation
Version Initial Release
Description
Date 01/10/95
information contact: Stephen Sobek Microcontroller Technologies Group Motorola 6501 William Cannon Drive West Mail Stop OE45 Austin, 78735 steve@avar.sps.mot.com Kevin Burke Technology Products International Business Machines Corporation 3039 Cornwallis Road Mail Stop H83/061 Research Triangle Park, 27709 kevin_burke@vnet.ibm.com
PowerPC EABI, Version
More Information This Product, www.freescale.com
1995 Motorola, Inc. rights reserved. Important Notice Users While every effort been made ensure accuracy information this document, Motorola assumes liability party loss damage caused errors omissions statements kind this document, updates, supplements, special editions, whether such errors omissions statements resulting from negligence, accident, other cause. Motorola further assumes liability arising application information, product, system described herein; liability incidental consequential damages arising from this document. Motorola disclaims warranties regarding information contained herein, whether expressed, implied statutory, including implied warranties merchantability fitness particular purpose. Motorola makes representation that interconnection products manner described herein will infringe existing future patent rights, descriptions contained herein imply granting license make, sell equipment constructed accordance with this description. Trademarks following trademarks apply this document: PowerPC trademarks International Business Machines Corporation. Motorola trademark Motorola, Inc. UNIX registered trademark Novell, Inc. United States other countries, licensed exclusively through X/Open Company, Ltd.
Freescale Semiconductor, Inc.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Foreword PowerPC Embedded Application Binary Interface, EABI, created meet unique needs PowerPC embedded applications, specifically minimizing memory usage while maintaining high performance. EABI developed industry-wide working group consisting PowerPC chip manufacturers, software tool vendors, users. EABI defines conventions intended afford interoperability between conforming software components (e.g., compilers, debuggers, assembly language code). These conventions optimized embedded applications, which typically differ from desktop applications least following ways:
based real-time oriented memory constrained single purpose application
Freescale Semiconductor, Inc.
EABI created with explicit goal being close possible existing desktop ABI. While several alternatives were considered (e.g., PowerOpen ABI), chosen Unix System Release (SVR4) PowerPC. This choice makes possible SVR4 functions EABI environment without recompilation. ABI's sufficiently close that software tool vendors support both ABI's with single tools. Embedded programs that conform EABI gain efficiency space time using following features:
minimized stack usage relaxed alignment restrictions, optimizing memory usage small data areas data, read-only data, data around address zero. These reduce code
size improve data access time. Acknowledgements Members PowerPC Embedded Application Binary Interface Working Group devoted substantial time effort create this standard included: Barrett Kevin Burke Felix Burton Thomas Collopy Bill DeStein Mark Edwards Tomas Evensen Chris Ford Craig Franklin Tony Goelz Greenberg David Layman Steve Mihalik Rebecca Moeller Jack Patteeuw Steve Sobek Budi Sutardja Fred Viles Alex Steven Zucker
working group grateful efforts made participants.
PowerPC EABI, Version
More Information This Product, www.freescale.com
References ANSI X3.159-1989, American National Standard Information Systems Programming Language American National Standards Institute, 1989. DWARF Debugging Information Format, Revision: Version 1.1.0, UNIX International, Programming Languages SIG, October 1992. DWARF Debugging Information Format, Revision: Version 2.0.0, Industry Review Draft, UNIX International, Programming Languages SIG, July 1993.
Freescale Semiconductor, Inc.
PowerPC Microprocessor Family: Programming Environments, Motorola, Motorola document MPCFPE/AD, Microelectronics document MPRPPCFPE-01, 1994. System Application Binary Interface, Third Edition, UNIX System Laboratories, 1994 (ISBN 0-13-100439-5). System Application Binary Interface, PowerPC Processor Supplement, Microsystems IBM, 1995.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Table Contents
CHAPTER Terminology PowerPC Embedded Application Binary Interface
Introduction Overview Relationship UNIX System Release Base Extended Conformance Definitions Notation Future Directions CHAPTER CHAPTER Software Installation
Freescale Semiconductor, Inc.
Low-Level System Information
SVR4 Execution Support Machine Interface Processor Architecture Data Representation Fundamental Types Aggregates Unions Function Calling Sequence Registers Stack Frame Operating System Interface Exception Interface Process Initialization Coding Examples Data Objects Dynamic Stack Space Allocation DWARF Definition DWARF Register Number Mapping Address Class Codes
PowerPC EABI, Version
More Information This Product, www.freescale.com
CHAPTER
Object Files
Object File Processing Header Machine Information Sections Special Sections Relocation Relocation Types
Freescale Semiconductor, Inc.
CHAPTER
Program Loading Dynamic Linking
Program Loading Program Interpreter CHAPTER Libraries
SVR4 Library Routines Software Floating Point Emulation Support Routines APPENDIX EABI Summary
PowerPC EABI, Version
More Information This Product, www.freescale.com
PowerPC Embedded Application Binary Interface
CHAPTER
PowerPC Embedded Application Binary Interface
Freescale Semiconductor, Inc.
Introduction Overview
PowerPC Embedded Application Binary Interface (EABI) defines system interface compiled assembled embedded application programs that will embedded 32-bit implementations PowerPC architecture.
Terminology
word "shall" this document denotes characteristic behavior that mandatory EABI-conforming entity, such application program compiler. word "may" denotes characteristic behavior that explicitly permitted EABI-conforming entity.
PowerPC EABI, Version
More Information This Product, www.freescale.com
PowerPC Embedded Application Binary Interface
Relationship UNIX System Release
Except noted this document, EABI adopts specifications found those editions System Application Binary Interface System Application Binary Interface, PowerPC Processor Supplement that listed references.
Base Extended Conformance
Freescale Semiconductor, Inc.
This document defines levels conformance base EABI conformance extended EABI conformance. Base EABI conformance shall consist conforming requirements that labeled EXTENDED. Extended EABI conformance shall consist conforming requirements, including those labeled EXTENDED, with requirement labeled EXTENDED superseding conflicting base conformance requirements. E.g., extended EABI conformance requirement that static linker support SVR4 relocation types supersedes base EABI conformance requirement that relocation types Table supported.
Definitions Notation
following definitions notation used throughout this document:
SVR4 UNIX System Release operating system. SVR4 UNIX System Release Application Binary Interface, including
PowerPC processor supplement. Numbers decimal unless specified following way: 0xnnnn, where nnnn non-empty sequence hexadecimal digits, denotes hexadecimal number whose value, expressed hexadecimal, nnnn. byte bits. word bits bytes). GPRn, where number, denotes PowerPC General Purpose Register
Future Directions
Characteristics behaviors mandated this version EABI shall continue mandated indefinitely except where this document explicitly states otherwise. mandates that might withdrawn altered next edition EABI preceded WARNING: appear bold face type.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Software Installation
CHAPTER
Software Installation
Freescale Semiconductor, Inc.
Unlike SVR4 ABI, EABI shall have required physical media distribution EABIconforming application software, required software format (such continuous data stream) physical media, required layout files physical media, required format interpretation installation data files.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Low-Level System Information
CHAPTER
Low-Level System Information
Freescale Semiconductor, Inc.
SVR4 Execution Support
conforming entity, such application static linker, shall have requirements pertaining
dynamic linking global offset tables procedure linkage tables shared objects
EXTENDED conforming static linker, dynamic linker, high-level language processor (such compiler) shall implement following that conforms SVR4 ABI, conforming application that uses following shall that conforms SVR4 ABI:
dynamic linking global offset tables
PowerPC EABI, Version
More Information This Product, www.freescale.com
Low-Level System Information
procedure linkage tables shared objects
Machine Interface
Processor Architecture Unlike SVR4 ABI, which only allows non-privileged PowerPC instructions, EABI-conforming application program shall allowed privileged optional instruction defined PowerPC architecture, with following exceptions. SVR4 ABI, Fixed-Point Load Store Multiple instructions Fixed Point Move Assist instructions shall allowed EABI-conforming Little Endian applications.
Freescale Semiconductor, Inc.
Data Representation
Fundamental Types Unlike SVR4 ABI, alignment long double shall bytes (doubleword), although size long double shall bytes. Aggregates Unions Unlike SVR4 ABI, array, structure union containing long double shall start aligned byte boundary. However, SVR4 ABI, long double member within structure union shall start lowest available offset aligned byte boundary, size structure union with long double member shall multiple bytes.
Function Calling Sequence
Registers Unlike SVR4 ABI, GPR2 shall reserved system use, shall instead dedicated contain base sections named .sdata2 .sbss2, either section exists object file. base address such that every byte section within signed 16-bit offset that address. This analogous SVR4 ABI's GPR13 contain _SDA_BASE_, which base sections .sdata .sbss. routine shared object file shall GPR2.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Low-Level System Information
Stack Frame Unlike SVR4 ABI, stack pointer (GPR1) shall maintain 8-byte alignment, from initialization through routine calls dynamic stack space allocation.
Operating System Interface
Unlike SVR4 ABI, EABI-conforming entity shall have operating system interface requirements.
Freescale Semiconductor, Inc.
Exception Interface
Unlike SVR4 ABI, EABI-conforming entity shall have exception interface requirements.
Process Initialization
Unlike SVR4 ABI, EABI-conforming entity shall have process initialization requirements.
Coding Examples
Data Objects Analogous symbol _SDA_BASE_ described SVR4 ABI, symbol _SDA2_BASE_ shall have value such that address byte sections .sdata2 .sbss2 within signed 16-bit offset _SDA2_BASE_'s value (see "Special Sections" page 11). following discussion putting data sections .sdata, .sbss, .sdata2, .sbss2, .PPC.EMB.sdata0, .PPC.EMB.sbss0 makes distinction between defined external variables. source file, variable that stored stack either defined variable whose definition file (e.g., "int Var;" external variable that accessed code file defined file (e.g., "extern ExVar;"). high-level language processor, such compiler, shall have means (e.g., option) generating object file that conforms following rules:
Sections .sdata, .sbss, .sdata2 shall contain least following: Entries those defined variables that globally visible scalars size fewer bytes whose values will changed outside program (which excludes variables that volatile).
PowerPC EABI, Version
More Information This Product, www.freescale.com
Low-Level System Information
Freescale Semiconductor, Inc.
Every such defined variable whose initial value explicitly non-zero might changed program shall have .sdata entry that represents variable. Every such defined variable whose value initially might changed shall have .sbss entry .sdata entry that represents variable. object file generated intended part shared object file, every such variable whose value cannot changed program (such variable that const volatile) shall have .sdata2 entry that represents variable; otherwise, such constant variables shall have .sdata .sbss entries, appropriate. Entries produced static linker's resolution relocation types (see "Relocation Types" page 15). only external variables accessed generated code .sdata, .sbss, .sdata2, .sbss2, .PPC.EMB.sdata0, .PPC.EMB.sbss0 entries shall follows: External variables that scalars fewer bytes, whose values might changed program, whose values will changed outside program, shall accessed .sdata .sbss entries. address such variable will within 16-bit signed offset _SDA_BASE_, which shared object file same value _GLOBAL_OFFSET_TABLE_, otherwise loaded GPR13 conforming application. When object file part shared object file, external variables that scalars fewer bytes, whose values cannot changed program, whose values will changed outside program, shall accessed .sdata2 .sbss2 entries. shared object file, those constant external variables shall accessed .sdata .sbss entries. address such variable, when shared object file, will within 16bit signed offset _SDA2_BASE_, which loaded into GPR2 conforming application.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Low-Level System Information
example, consider generating object file that will part shared object file from following code fragment:
const short extern double extern const double extern extern extern extern double const float union my_union const volatile float struct my_struct volatile const float struct my_struct volatile const float i_sdata i_sdata2 i_sbss_or_sdata; s_sbss_or_sdata d_sdata_or_sbss; d_sdata2;
Freescale Semiconductor, Inc.
d_any_sdata_or_sbss[50]; f_any_sdata_or_sbss[200]; u_any_sdata_or_sbss; cvf_any_sdata_or_sbss; i_any_sdata[100] s_any_sdata vcf_any_sdata[5]
static
static
i_any_sbss_or_sdata[100]; s_any_sbss_or_sdata; vcf_any_sbss_or_sdata[25];
code fragment defines globally visible variables, compiler when conforming rules above would place i_sdata .sdata, i_sdata2 .sdata2, i_sbss_or_sdata s_sbss_or_sdata either .sbss .sdata, while same time generating code that accesses external variable d_sdata_or_sbss using offset relative value _SDA_BASE_ (which GPR13), accesses d_sdata2 using offset relative _SDA2_BASE_ (which GPR2), does access other external variables .sdata, .sbss, .sdata2, .sbss2, .PPC.EMB.sdata0, .PPC.EMB.sbss0 entries. Except when conforming rules above, conforming compiler could generate code accessing external variables d_any_sdata_or_sbss, f_any_sdata_or_sbss, u_any_sdata_or_sbss, cvf_any_sdata_or_sbss relative value _SDA_BASE_, relative _SDA2_BASE_, relative address (Although section .sdata2 generally used hold only constant data.) Even when conforming rules above, long section size restrictions met, variables unnamed data .sdata, .sdata2 .PPC.EMB.sdata0, variables unnamed data that initially .sbss, .sbss2, .PPC.EMB.sbss0. conforming compiler might place i_any_sdata, s_any_sdata, vcf_any_sdata .sdata, .sdata2, .PPC.EMB.sdata0. compiler might able i_any_sbss_or_sdata, s_any_sbss_or_sdata, vcf_any_sbss_or_sdata .sbss, .sbss2, .PPC.EMB.sbss0, even explicitly initialize those variables with zeroes place them .sdata, .sdata2, .PPC.EMB.sdata0. Finally, when conforming rule above that restricts their placement, i_sdata, i_sdata2, i_sbss_or_sdata s_sbss_or_sdata could placed other appropriate sections (such putting i_sdata .PPC.EMB.sdata0).
PowerPC EABI, Version
More Information This Product, www.freescale.com
Low-Level System Information
Dynamic Stack Space Allocation Unlike SVR4 ABI, stack pointer (GPR1) shall maintain 8-byte alignment.
DWARF Definition
Unlike SVR4 ABI, which does define debug format, EABI adopts DWARF debugging information format EABI-conforming applications. EABI-conforming application that uses debug format shall either DWARF Version 1.1.0 DWARF Version 2.0.0.
Freescale Semiconductor, Inc.
WARNING: some future time, DWARF Version 1.1.0 EABI-conforming applications might disallowed. DWARF Register Number Mapping EABI-conforming application shall both DWARF Version 1.1.0 DWARF Version 2.0.0 DWARF register numbering specified SVR4 ABI. Address Class Codes EABI-conforming application shall both DWARF Version 1.1.0 DWARF Version 2.0.0 address class codes specified SVR4 ABI.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
CHAPTER
Object Files
Freescale Semiconductor, Inc.
Object File Processing
EABI-conforming static linker shall accept input EABI-conforming SVR4-conforming relocatable object files, shall produce EABI-conforming object files.
Header
Machine Information header's e_flags member EABI-conforming object file shall have 0x80000000 set, defined name EF_PPC_EMB.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
Sections
Special Sections addition special sections SVR4 ABI, EABI-conforming object file shall allowed contain special sections described below. SVR4 reserved this document section names .sdata2, .sbss2, those beginning with string ".PPC.EMB.". special section .sdata2 intended hold initialized read-only small data that contribute program memory image. section can, however, used hold writable data. special section .sbss2 intended hold writable small data that contribute program memory image whose initial values sizes sections .sdata2 .sbss2 object file shall exceed bytes. file shall contain most section named .sdata2 most section named .sbss2. executable file, data items with local global scope placed into .sdata2 .sbss2. Sections .sdata2 .sbss2 shall appear shared object file. executable file contains .sdata2 section .sbss2 section, then static linker shall symbol _SDA2_BASE_ address such that address byte .sdata2 .sbss2 within 16-bit signed offset _SDA2_BASE_. executable file does contain .sdata2 .sbss2, then static linker shall _SDA2_BASE_ section header .sdata2:
sh_type shall SHT_PROGBITS sh_flags shall either SHF_ALLOC SHF_ALLOC SHF_WRITE sh_link shall SHN_UNDEF sh_addralign shall maximum alignment required data item .sdata2 sh_info sh_entsize shall
Freescale Semiconductor, Inc.
static linker creates .sdata2 section that combines .sdata2 section whose sh_flags SHF_ALLOC with .sdata2 section whose sh_flags SHF_ALLOC SHF_WRITE, then resulting .sdata2 section's sh_flags value shall SHF_ALLOC SHF_WRITE. section header .sbss2:
sh_type shall SHT_NOBITS sh_flags shall SHF_ALLOC SHF_WRITE sh_link shall SHN_UNDEF sh_addralign shall maximum alignment required data item .sbss2 sh_info sh_entsize shall
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
special section .PPC.EMB.sdata0 intended hold initialized small data that contribute program memory image whose addresses within 16-bit signed offset address special section .PPC.EMB.sbss0 intended hold small data that contribute program memory image, whose addresses within 16-bit signed offset address whose initial values sizes sections .PPC.EMB.sdata0 .PPC.EMB.sbss0 object file shall exceed bytes. file shall contain most section named .PPC.EMB.sdata0 most section named .PPC.EMB.sbss0. Data items with local global scope placed into .PPC.EMB.sdata0 .PPC.EMB.sbss0.
Freescale Semiconductor, Inc.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
section header .PPC.EMB.sdata0:
sh_type shall SHT_PROGBITS sh_flags shall SHF_ALLOC SHF_WRITE sh_link shall SHN_UNDEF sh_addralign shall maximum alignment required data item .PPC.EMB.sdata0 sh_info sh_entsize shall
section header .PPC.EMB.sbss0:
Freescale Semiconductor, Inc.
sh_type shall SHT_NOBITS sh_flags shall SHF_ALLOC SHF_WRITE sh_link shall SHN_UNDEF sh_addralign shall maximum alignment required data item .PPC.EMB.sbss0 sh_info sh_entsize shall
special section .PPC.EMB.seginfo provides means naming providing additional information about segments (which described program header table entries). file shall contain most section named .PPC.EMB.seginfo. Often embedded applications copy initial values variables from start execution. facilitate this, static linker resolves references application variables their locations, relocates variable's initial values their locations. segment whose data (addressed program header entry's p_offset field) consists initial values copied locations application variables copy segment. purpose .PPC.EMB.seginfo define that segment copy thus initial values for, second segment. section header .PPC.EMB.seginfo: sh_type shall SHT_PROGBITS sh_link shall either SHN_UNDEF section header table index section type SHT_STRTAB whose string table contains null terminated names which entries .PPC.EMB.seginfo refer sh_entsize shall sh_flags, sh_addr, sh_info, sh_addralign shall data section .PPC.EMB.seginfo shall contain only 12-byte entries whose structure
typedef struct Elf32_Half sg_indx; Elf32_Half sg_flags; Elf32_Word sg_name; Elf32_Word sg_info; Elf32_PPC_EMB_seginfo;
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
where:
sg_indx shall index number segment program header table. Program header
entries considered numbered from n-1, where number table entries. sg_flags shall mask flags. only allowed flag shall following: Flag Name
PPC_EMB_SG_ROMCOPY
Value 0x0001
Meaning segment indexed sg_indx copy segment indexed sg_info
sg_name shall offset into string table where null terminated name segment
Freescale Semiconductor, Inc.
indexed sg_indx found. section index string table used sh_link field .PPC.EMB.seginfo's section header. sh_link SHN_UNDEF, then sg_name shall .PPC.EMB.seginfo entries. sg_name value shall mean that segment indexed sg_indx name. sg_info shall contain information that depends value sg_flags. flag PPC_EMB_SG_ROMCOPY sg_flags, then sg_info shall index number segment which segment indexed sg_indx copy; otherwise, value sg_info shall segment copy second segment (based information section .PPC.EMB.seginfo), then:
first segment's p_type value shall PT_LOAD. second segment's p_type value shall PT_NULL.
EXTENDED None relocation entries that dynamic linker might resolve shall refer location segment that copy another segment. section exists, .PPC.EMB.seginfo shall contain least entry need contain entry every segment. Entries shall same order their corresponding segments program header table (increasing values sg_indx). Only .PPC.EMB.seginfo entry shall allowed segment. static linker support creation section .PPC.EMB.seginfo, and, supports creation, support only segment naming, only copy segments, both.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
Relocation
Relocation Types static linker shall support SVR4 relocation types except those listed Table 4-1. EXTENDED static linker shall support SVR4 relocation types, including those Table 4-1, dynamic linker shall support SVR4 relocation types appropriate dynamic linking.
Freescale Semiconductor, Inc.
TABLE 4-1.
SVR4 Relocation Types Extended Conformance
R_PPC_GOT16 R_PPC_GOT16_LO R_PPC_GOT16_HI R_PPC_GOT16_HA R_PPC_PLT24 R_PPC_COPY R_PPC_GLOB_DAT R_PPC_JMP_SLOT R_PPC_LOCAL24PC R_PPC_PLT32 R_PPC_PLTREL32 R_PPC_PLT16_LO R_PPC_PLT16_HI R_PPC_PLT16_HA
Table lists relocation types defined EABI. heading Check denotes whether link shall fail value computed does allocated bits. static linker shall support relocation types Table shall accept relocation entry whose relocation type defined either Table SVR4 ABI. EXTENDED dynamic linker shall process relocation entry whose relocation type defined either Table SVR4 ABI.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
relocatable fields EABI relocation types shall have alignment restrictions. Fields Table shall have following meanings (since fields unaligned, names start with `u'):
uword32 ulow21 uhalf16
32-bit field occupying bytes 21-bit field occupying least significant bits 24-bit field pointed relocation entry 16-bit field occupying bytes (e.g., Immediate instruction's immediate field)
Calculations Table following symbols:
Freescale Semiconductor, Inc.
relocation entry's r_addend field value address (value) symbol whose index relocation entry's r_info field offset from _SDA_BASE_ where .sdata static linker placed address symbol whose index r_info. R_PPC_EMB_SDAI16 description below. offset from _SDA2_BASE_ where .sdata2 static linker placed address symbol whose index r_info. R_PPC_EMB_SDA2I16 description below. offset symbol whose index r_info from start that symbol's containing section address start section containing symbol whose index r_info
Calculations Table following notation:
denote 32-bit modulus addition subtraction, respectively. ">>" denotes arith-
metic right shifting (shifting with sign copying) value left operand number bits given right operand. relocation types whose names contain string "14" string "16", upper bits value computed before shifting must same. #hi(value) #lo(value) denote most least significant bits, respectively, value. That #lo(x) 0xFFFF) #hi(x) 0xFFFF). #ha(value) compensates treating #lo() signed number. #ha(x) (((x 0x1)) 0xFFFF).
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
TABLE 4-2.
EABI Relocation Types
Value Field uword32 uhalf16 uhalf16 uhalf16 uhalf16 uhalf16 uhalf16 uhalf16 ulow21 none uhalf16 uhalf16 uhalf16 uhalf16 uword32 uhalf16 Check Calculation #lo(A #hi(A #ha(A _SDA2_BASE_ below below #lo(W #hi(W #ha(W below below
Relocation Type
R_PPC_EMB_NADDR32 R_PPC_EMB_NADDR16 R_PPC_EMB_NADDR16_LO R_PPC_EMB_NADDR16_HI R_PPC_EMB_NADDR16_HA R_PPC_EMB_SDAI16 R_PPC_EMB_SDA2I16 R_PPC_EMB_SDA2REL R_PPC_EMB_SDA21 R_PPC_EMB_MRKREF R_PPC_EMB_RELSEC16 R_PPC_EMB_RELST_LO R_PPC_EMB_RELST_HI R_PPC_EMB_RELST_HA R_PPC_EMB_BIT_FLD R_PPC_EMB_RELSDA R_PPC_EMB_SDAI16
Freescale Semiconductor, Inc.
This instructs static linker create 4-byte, word aligned, entry .sdata section containing address symbol whose index relocation entry's r_info field. most such implicit .sdata entry shall created symbol link, only executable shared object file. addition, value used relocation calculation shall offset from _SDA_BASE_ symbol's implicit entry. relocation entry's r_addend field value shall This instructs static linker create 4-byte, word aligned, entry .sdata2 section containing address symbol whose index r_info. most such implicit .sdata2 entry shall created symbol link, only executable file. addition, value used relocation calculation shall offset from _SDA2_BASE_ symbol's implicit entry. relocation entry's r_addend field value shall most significant bits address pointed relocation entry shall left unchanged. symbol whose index r_info
R_PPC_EMB_SDA2I16
R_PPC_EMB_SDA21
PowerPC EABI, Version
More Information This Product, www.freescale.com
Object Files
contained .sdata .sbss, then static linker shall place next most significant bits value (for GPR13); symbol .sdata2 .sbss2, then linker shall place those bits value (for GPR2); symbol .PPC.EMB.sdata0 .PPC.EMB.sbss0, then linker shall place those bits value (for GPR0); otherwise, link shall fail. least significant bits this field shall address symbol plus relocation entry's r_addend value minus appropriate base symbol's section: _SDA_BASE_ symbol .sdata .sbss, _SDA2_BASE_ symbol .sdata2 .sbss2, symbol .PPC.EMB.sdata0 .PPC.EMB.sbss0.
Freescale Semiconductor, Inc.
R_PPC_EMB_MRKREF
symbol whose index r_info shall different section from section associated with relocation entry itself. relocation entry's r_offset r_addend fields shall ignored. Unlike other relocation types, static linker shall apply relocation action location because this type. This relocation type used prevent static linker that does section garbage collecting from deleting important otherwise unreferenced section. most significant bits relocation entry's r_addend field shall value between representing Endian position within entry's 32-bit location (e.g., means sixth most significant bit). least significant bits r_addend shall value between representing length bits. position plus length shall exceed static linker shall replace bits starting position specified length with value symbol, treated signed entity. static linker shall 16-bits address pointed relocation entry address symbol whose index r_info plus value r_addend minus appropriate base section containing symbol: _SDA_BASE_ symbol .sdata .sbss, _SDA2_BASE_ symbol .sdata2 .sbss2, symbol .PPC.EMB.sdata0 .PPC.EMB.sbss0. symbol those sections, link shall fail.
R_PPC_EMB_BIT_FLD
R_PPC_EMB_RELSDA
PowerPC EABI, Version
More Information This Product, www.freescale.com
Program Loading Dynamic Linking
CHAPTER
Program Loading Dynamic Linking
Freescale Semiconductor, Inc.
Program Loading
Unlike SVR4 ABI, EABI-conforming entity shall have program loading requirements.
Program Interpreter
Unlike SVR4 ABI, EABI-conforming entity shall have program interpreter requirements.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
CHAPTER
Libraries
Freescale Semiconductor, Inc.
SVR4 Library Routines
chapter "LIBRARIES" System Application Binary Interface, PowerPC Processor Supplement describes optional required routines SVR4 libsys libc libraries. EABI-conforming library routine whose name matches name routine described chapter "LIBRARIES" (_va_arg, _dtou, routines Tables through 6-5) shall have interface semantics described SVR4 ABI. routine Table 6-1, 6-2, 6-3, 6-4, supported, then other routines same table shall supported.
TABLE 6-1. _q_add _q_dtoq _q_fle _q_mul _q_qtos _q_sub
SVR4 libsys 16-Byte Float Routines
_q_cmp _q_feq _q_flt _q_neg _q_qtou _q_utoq _q_cmpe _q_fge _q_fne _q_qtod _q_sqrt _q_div _q_fgt _q_itoq _q_qtoi _q_stoq
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
TABLE 6-2.
SVR4 libsys 8-Byte Integer Arithmetic Routines
_dtoll _urem64 _dtoull _rem64
_div64 _udiv64
TABLE 6-3.
SVR4 libsys 8-Byte Integer to/from 16-Byte Float Routines
_q_qtoll _q_qtoull _q_ulltoq
Freescale Semiconductor, Inc.
_q_lltoq
TABLE 6-4.
SVR4 libc 8-Byte Integer to/from String Routines
lltostr wstoll strtoll strtoull
atoll ulltostr
TABLE 6-5.
SVR4 libc 8-Byte Integer Arithmetic Routines
lldiv
llabs
Software Floating Point Emulation Support Routines
high-level language processor, such compiler, have means achieving floating point arithmetic, comparisons, loads, stores generating software floating point emulation (sfpe) code, rather than using PowerPC floating point instructions. language processor that supports sfpe code support conversions between floating point 64-bit integer (e.g., long long) data types. sfpe code:
Floating point registers, FPSCR, PowerPC register bits that could cause floating
point exception shall accessed. Floating point single precision scalars shall passed same returned same have same alignment long scalars. Single precision members aggregates shall have size alignment long members. Floating point double precision scalars shall passed same returned same have same alignment long long scalars. Double precision members aggregates shall have size alignment long long members. caller function that takes variable argument list shall condition register since arguments passed floating-point registers.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
following restrictions shall apply each sfpe support routines below, which intended called application sfpe code:
routines shall sfpe code. E.g., float double descriptions mean sfpe single preci-
sion double precision scalars, respectively, floating point registers will accessed. Floating point arithmetic comparisons routines shall IEEE conformant. Floating point arithmetic comparisons routines shall performed PowerPC floating point exceptions have been disabled shall raise floating point exceptions. Conformant library support sfpe code shall include routines Table (routine interfaces shown function prototypes).
TABLE 6-6.
Freescale Semiconductor, Inc.
SFPE Library Routines
_fp_round _d_add _d_dtof _d_feq _d_flt _d_neg _f_add _f_feq _f_flt _f_ftoq _f_neg _d_cmp _d_dtoi _d_fge _d_fne _d_qtod _f_cmp _f_fge _f_fne _f_ftou _f_qtof _d_cmpe _d_dtoq _d_fgt _d_itod _d_sub _f_cmpe _f_fgt _f_ftod _f_itof _f_sub _d_div _d_dtou _d_fle _d_mul _d_utod _f_div _f_fle _f_ftoi _f_mul _f_utof
_fp_round(int rounding_mode)
This function shall rounding mode sfpe library routines. rounding_mode then round nearest shall requested; rounding_mode shall request round toward rounding_mode shall request round toward positive infinity; rounding_mode shall request round toward negative infinity. This function shall return resulting rounding mode round nearest, etc.) which shall rounding_mode that rounding mode supported sfpe library routines. Only round nearest (this function returns shall required conformance.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
double _d_add(double double
This function shall return computed double precision.
_d_cmp(double double
This function shall perform unordered comparison double precision values shall return integer value that indicates their relative ordering: Relation
equal less than
Value
Freescale Semiconductor, Inc.
greater than unordered with respect _d_cmpe(double double
This function shall perform ordered comparison double precision values shall return integer value that indicates their relative ordering: Relation equal less than greater than
double _d_div(double double
Value
This function shall return computed double precision.
float _d_dtof(double
This function shall convert double precision value single precision shall return single precision value.
_d_dtoi(double
This function shall convert double precision value signed integer truncating fractional part shall return signed integer value.
long double _d_dtoq(double
This function shall convert double precision value extended precision shall return extended precision value.
unsigned _d_dtou(double
This function shall convert double precision value unsigned integer truncating fractional part shall return unsigned integer value.
_d_feq(double double
This function shall perform unordered comparison double precision values shall return they equal, otherwise.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
_d_fge(double double
This function shall perform ordered comparison double precision values shall return greater than equal otherwise.
_d_fgt(double double
This function shall perform ordered comparison double precision values shall return greater than otherwise.
_d_fle(double double
This function shall perform ordered comparison double precision values shall return less than equal otherwise.
Freescale Semiconductor, Inc.
_d_flt(double double
This function shall perform ordered comparison double precision values shall return less than otherwise.
_d_fne(double double
This function shall perform unordered comparison double precision values shall return they unordered equal, otherwise.
double _d_itod(int
This function shall convert signed integer value double precision shall return double precision value.
double _d_mul(double double
This function shall return computed double precision.
double _d_neg (double
This function shall return
double _d_qtod(const long double
This function shall convert extended precision value double precision shall return double precision value.
double _d_sub(double double
This function shall return computed double precision.
double _d_utod(unsigned
This function shall convert unsigned integer value double precision shall return double precision value.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
float _f_add(float float
This function shall return computed single precision.
_f_cmp(float float
This function shall perform unordered comparison single precision values shall return integer value that indicates their relative ordering: Relation
equal less than
Value
Freescale Semiconductor, Inc.
greater than unordered with respect _f_cmpe(float float
This function shall perform ordered comparison single precision values shall return integer value that indicates their relative ordering: Relation equal less than greater than
float _f_div(float float
Value
This function shall return computed single precision.
_f_feq(float float
This function shall perform unordered comparison single precision values shall return they equal, otherwise.
_f_fge(float float
This function shall perform ordered comparison single precision values shall return greater than equal otherwise.
_f_fgt(float float
This function shall perform ordered comparison single precision values shall return greater than otherwise.
_f_fle(float float
This function shall perform ordered comparison single precision values shall return less than equal otherwise.
_f_flt(float float
This function shall perform ordered comparison single precision values shall return less than otherwise.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
_f_fne(float float
This function shall perform unordered comparison single precision values shall return they unordered equal, otherwise.
double _f_ftod(float
This function shall convert single precision value double precision shall return double precision value.
_f_ftoi(float
This function shall convert single precision value signed integer truncating fractional part shall return signed integer value.
Freescale Semiconductor, Inc.
long double _f_ftoq(float
This function shall convert single precision value extended precision shall return extended precision value.
unsigned _f_ftou(float
This function shall convert single precision value unsigned integer truncating fractional part shall return unsigned integer value.
float _f_itof(int
This function shall convert signed integer value single precision shall return single precision value.
float _f_mul(float float
This function shall return computed single precision.
float _f_neg (float
This function shall return
float _f_sub(float float
This function shall return computed single precision.
float _f_utof(unsigned
This function shall convert unsigned integer value single precision shall return single precision value.
PowerPC EABI, Version
More Information This Product, www.freescale.com
Libraries
Conformant library support sfpe code include routines Table 6-7, which convert between floating point 64-bit integer data types (e.g., long long), shall include them included.
TABLE 6-7.
SFPE Library Routines Supporting 64-bit Integer Data Types
_d_dtoull _f_ftoull _d_lltod _f_lltof _d_ulltod _f_ulltof
_d_dtoll _f_ftoll
Freescale Semiconductor, Inc.
long long _d_dtoll(double
This function shall convert double precision value signed long long truncating fractional part shall return signed long long value.
unsigned long long _d_dtoull(double
This function shall convert double precision value unsigned long long truncating fractional part shall return unsigned long long value.
double _d_lltod(long long
This function shall convert signed long long value double precision shall return double precision value.
double _d_ulltod(unsigned long long
This function shall convert unsigned long long value double precision shall return double precision value.
long long _f_ftoll(float
This function shall convert single precision value signed long long truncating fractional part shall return signed long long value.
unsigned long long _f_ftoull(float
This function shall convert single precision value unsigned long long truncating fractional part shall return unsigned long long value.
float _f_lltof(long long
This function shall convert signed long long value single precision shall return single precision value.
float _f_ulltof(unsigned long long
This function shall convert unsigned long long value single precision shall return single precision value.
PowerPC EABI, Version
More Information This Product, www.freescale.com
EABI Summary
APPENDIX
EABI Summary
Table lists topics that addressed differently EABI SVR4 ABI. Table lists topics EABI that SVR4 ABI. Table lists additional requirements EABI extended conformance over EABI base conformance. Table lists EABI topics which support optional. Table lists SVR4 topics which there EABI requirements. Page numbers refer EABI pages.
Freescale Semiconductor, Inc.
TABLE A-1.
Different EABI SVR4 EABI privileged optional instructions allowed 8-byte aligned starts 8-byte aligned dedicated pointer .sdata2 .sbss2 sections multiple (stack 8-byte aligned) some required capabilities SVR4 privileged optional instructions allowed 16-byte aligned starts 16-byte aligned reserved system multiple (stack 16-byte aligned) only optional capabilities
Page
Topic PowerPC instruction long double scalar struct/union containing long double GPR2 usage stack pointer value language processor (e.g., compiler) support .sdata .sbss sections dynamic stack allocation (e.g., alloca) SVR4 relocation types
8-byte aligned linker support certain types optional, except extended conformance (See Table A-3.) support optional (See Table A-4.)
16-byte aligned linker support types required
libsys libc library routines
some required some optional routines
PowerPC EABI, Version
More Information This Product, www.freescale.com
EABI Summary
TABLE A-2.
EABI Unique Topic Description value within 16-bit signed offset .sdata2/.sbss2 bytes DWARF Version 1.1.0 DWARF Version 2.0.0 small data area (64K fewer bytes) pointed GPR2; some required language processor support small data area within 16-bit signed offset address section created static linker name segments declare segment copy second; support creation optional, creating linker support just naming, just copies, both (See Table A-4.) several required relocation types optionally supported language processor code generation restrictions library routines achieving floating point without using native PowerPC floating point; sfpe library support requires single double precision routines, and, 64-bit integer routine supported, such routines must supported (See Table A-4.)
Page
symbol _SDA2_BASE_ debug format .sdata2 .sbss2 sections
.PPC.EMB.sdata0 .PPC.EMB.sbss0 sections .PPC.EMB.seginfo
Freescale Semiconductor, Inc.
EABI relocation types software floating point emulation (sfpe)
TABLE A-3.
EABI Extended Conformance
Page
Description dynamic linking SVR4 global offset tables SVR4 procedure linkage tables SVR4 shared objects SVR4 static linker supporting optional copy segments ensures that relocation entries resolved dynamic linkers refer locations copy segment linker support SVR4, well EABI, relocation types
PowerPC EABI, Version
More Information This Product, www.freescale.com
EABI Summary
TABLE A-4.
EABI Optional Support Description static linker creation .PPC.EMB.seginfo, whether linker supporting creation allows only segment naming, only copy segments, both. language processor (e.g. compiler) generation software floating point emulation (sfpe) code, whether such generation includes conversions between floating point 64-bit integer data types inclusion libraries that support sfpe code routines that convert between floating point 64-bit integer data types
Page
Freescale Semiconductor, Inc.
TABLE A-5.
SVR4 Unique
exception interface operating system interface process initialization program interpreter program loading software distribution installation
PowerPC EABI, Version
More Information This Product, www.freescale.com

Other recent searches


ZXTN619MA - ZXTN619MA   ZXTN619MA Datasheet
PNZ158 - PNZ158   PNZ158 Datasheet
MAS9090B - MAS9090B   MAS9090B Datasheet
L35ESD12VCB2 - L35ESD12VCB2   L35ESD12VCB2 Datasheet
HL01RZC - HL01RZC   HL01RZC Datasheet
GRM2197U1H273J - GRM2197U1H273J   GRM2197U1H273J Datasheet
DL129 - DL129   DL129 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive