tag:blogger.com,1999:blog-64375792008-01-22T15:23:12.908-08:00GNU Development EnvironmentA complete suite of GNU software tools including C, C++, Fortran, Java Cross Compilers, GDB/Insight Debugger Simulator, and additional hosted utilities for embedded ARM7, ARM9, and XScale CPU applications development.mmitchelnoreply@blogger.comBlogger17125tag:blogger.com,1999:blog-6437579.post-1076530215611751592004-02-11T12:10:00.000-08:002004-04-06T12:38:40.186-07:00Tool Building, Debugger & CPU Simulator: GDB/Insight 6.0GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed. GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act: Start your program, specifying anything that might affect its behavior. Make your program stop on specified mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076529938478728342004-02-11T12:05:00.001-08:002004-04-06T12:36:03.920-07:00Tool Building, C Runtime Library: Newlib 1.12.0Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. The following commands are issued to generate the target directory. $ CFLAGS="-s -O3" export CFLAGS $ PATH=/gnude/bin:$PATH export PATH $ mkdir build-newlib; cd build-newlib; ../newlib-1.12.0/mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076529919721582442004-02-11T12:05:00.000-08:002004-04-06T12:34:30.593-07:00Tool Building, Bootstrap Cross Compiler GCC 3.3.2GCC is the GNU Compiler Collection, which currently contains front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...). The following commands are issued to generate the target directory. $ CFLAGS="-s -O3" export CFLAGS $ PATH=/gnude/bin:$PATH export PATH $ mkdir build-gcc; cd build-gcc; $ ../gcc-3.3.2/configure --targetmmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076532407564676042004-02-11T11:40:00.000-08:002004-04-06T12:46:14.810-07:00Tool Building, Binary Utilities: Binutils 2.14The GNU Binutils are a collection of binary tools. The main ones are: ld - the GNU linker. as - the GNU assembler. But they also include: addr2line - Converts addresses into filenames and line numbers. ar - A utility for creating, modifying and extracting from archives. c++filt - Filter to demangle encoded C++ symbols. gprof - Displays profiling information. nlmconv - Convertsmmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076528364348928302004-02-11T11:39:00.000-08:002004-02-11T12:13:48.186-08:00Description of Development ToolsA Development Environment for ARM7, ARM9, and XScale Targets The GNU Development Environment is a complete suite of GNU C/C++, Fortran, Java Cross Compilers, Insight/GDB Debugger, and additional utilities hosted on Windows NT/2K/XP for embedded ARM7, ARM9, and XScale CPU applications development. The Windows Installer distribution contains all of the following GNU Packages: Binutils 2.12, mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076099714657265302004-02-06T12:35:00.000-08:002004-02-06T12:38:19.700-08:00apcs -- arm procedure calling standard (search)An ARM developed standard convention for register naming, stack layout, and argument passing. Google Searchmmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076099545985490572004-02-06T12:32:00.000-08:002004-02-06T12:38:27.216-08:00tpcs -- thumb procedure calling standard (search)An ARM developed standard convention for register naming, stack layout, and argument passing. Google Searchmmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076091968688500602004-02-06T10:26:00.000-08:002004-02-06T12:29:47.496-08:00returnne -- tpcs return to caller (macro)The following macro generates inline code to return to caller; the current state of flags within the processor status word are consulted. macro returnne bxne lr mend mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076091917803936762004-02-06T10:25:00.000-08:002004-02-06T12:35:08.670-08:00returneq -- tpcs return to caller (macro)The following macro generates inline code to return to caller; the current state of flags within the processor status word are consulted. macro returneq bxeq lr mend mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076091779969789622004-02-06T10:22:00.000-08:002004-02-06T12:35:25.686-08:00return -- tpcs return to caller (macro)The following macro generates inline code to return to caller. macro return bx lr mend mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076091625528653102004-02-06T10:20:00.000-08:002004-02-06T12:35:39.966-08:00callne -- tpcs call to named label (macro)The following macro generates inline code to call a named label; the current state of flags within the processor status word are consulted. macro callne $a1 ldrne ip,=$a1 movne lr,pc bxne ip mend mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076091589961992092004-02-06T10:19:00.000-08:002004-02-06T10:30:57.780-08:00macro: calleq -- tpcs call to named labelThe following macro generates inline code to call a named label; the current state of flags within the processor status word are consulted. macro calleq $a1 ldreq ip,=$a1 moveq lr,pc bxeq ip mend mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076089809425128232004-02-06T09:50:00.000-08:002004-02-06T10:10:31.950-08:00macro: call -- apcs call to named labelThe following macro generates inline code to call a named label. macro call $a1 ldr ip,=$a1 mov lr,pc bx ip mend mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076521901796687992004-02-01T09:51:00.000-08:002004-02-11T09:54:12.170-08:00DescriptionOriginal GNU Licenses for the individual packages remain unmodified; the original licenses are still applicable. This distribution is specifically compiled and collated as a collection of GNU utilities to facilitate embedded development and provide a convenient method for programmers to obtain precompiled tools for their environment. Criteria for libraries included in this distribution is mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076521868972336032004-02-01T09:50:00.000-08:002004-02-11T09:53:39.340-08:00DescriptionThe GNU Development Environment is a complete suite of GNU C/C++, Fortran, Java Cross Compilers, Insight/GDB Debugger, and additional utilities hosted on Windows NT/2K/XP for embedded ARM7, ARM9, and XScale CPU applications development. The Windows Installer distribution contains all of the following GNU Packages: Binutils 2.12, GCC 3.1, Newlib 1.10.0, GDB Insight 5.2, Make 3.79.1, DiffUtils mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076521813652598032004-02-01T09:49:00.000-08:002004-02-11T09:52:44.043-08:00DefinitionGNUDE is a complete suite of GNU C, C++, Fortran, and Java Cross Compilers, and the GDB CPU Simulator and Debugger for embedded microprocessor applications development. Targets development for ARM7, ARM9, and XScale applications.mmitchelnoreply@blogger.comtag:blogger.com,1999:blog-6437579.post-1076521652382499142004-02-01T09:47:00.000-08:002004-02-11T09:50:16.466-08:00DescriptionGNUDE is a complete suite of GNU C, C++, Fortran, and Java Cross Compilers, and the GDB CPU Simulator and Debugger for embedded microprocessor applications development. Targets development for ARM7, ARM9, and XScale applications. mmitchelnoreply@blogger.com