This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
* Source code mainly in K&R C (not ANSI C), with some routines written in 68k assembler. * The code is generally closely linked to the hardware; it accesses registers via hard-coded addresses, uses interrupt routines a lot, and also relies on "register" directives etc. * Built using Microware C Assembler and linker (not the newer Ultra C) under OS-9 * The assembler routines are sometimes stored in separate files, sometimes inlined via #asm directives. The compiler-generated code will pass parameters to subroutines (functions) via d0, d1, ..., and extract return value from d0. The assembler routines rely on this fact. * The actual program code is linked with clibn.l, sys.l, math.l from OS-9, as well as a custom "cstart" routine, to make up a self-contained unit. clibn.l is a version of the C-lib which has no floating point support, while math.l provides *stand-alone* floating point support. * The software uses some floating point operations, and there is no math co-processor. * Format of the executable file is "OS9/68K module". * Code is currently loaded by another board via the VME bus. The load software ensures the module is written to a well-known memory address, then starts the execution by initiating a jump to that address + an "execution offset" extracted from the module header. * The software may be PROM'ed and/or transferred via S-records in the future.
------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |