From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,df6b9475ff19c894 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!news.glorb.com!newsfeeder.wxs.nl!transit.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Sender: GlosterPaulColin@Delta-Utec_PC5_FreeBSD.lan Newsgroups: comp.lang.ada Subject: Re: Embedded References: <1124485055.715288.205290@g43g2000cwa.googlegroups.com> <6yxNe.9353$RS.363@newsread3.news.pas.earthlink.net> From: Colin Paul Gloster User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 Date: 24 Aug 2005 20:00:26 +0200 Message-ID: <86r7cjz03p.fsf@Delta-Utec_PC5_FreeBSD.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 213.84.206.176 X-Trace: 1124906421 news.xs4all.nl 11076 [::ffff:213.84.206.176]:18600 X-Complaints-To: abuse@xs4all.nl Xref: g2news1.google.com comp.lang.ada:4283 Date: 2005-08-24T20:00:26+02:00 List-Id: Lanarcam wrote in news:1124485055.715288.205290@g43g2000cwa.googlegroups.com : "[..] [..] You [..] select an OS or no OS, depending on the requirements. [..]" A partial Ada implementation for 8 bit Atmel AVR processors without multitasking and without interfacing to an operating system for substituting Ada processes (tasks) with operating system processes or threads can be found from HTTP://AVR-Ada.SourceForge.net If you want to target 32 or more bits processors, there are a number of vendors. If you want to target 8 or 16 bit embedded processors, though other vendors had supported them in the past, you may find that the Ada vendor RR Software would be one of the most willing and can provide proper Ada compilers and runtime executives for small targets: see WWW.RRSoftware.com/html/prodinf/janus83/other/83embsys.htm and also please realize that its staff member Randy Brukardt had said on Mon, 17 Nov 2003 15:57:57 -0600 in "Re: Is it possible to build an Ada cross-compiler for an 8-bit embedded target now that gcc 3.X has support for Ada?", Message-ID: in news:comp.lang.ada : ""Peter Milliken" wrote in message news:zgRsb.200$co2.10332@nnrp1.ozemail.com.au... > Subject pretty much says it all. > > Now that you can build an Ada compiler using gcc 3.X (well, > according to the > build instructions of gcc 3.x :-)), I began to wonder whether it was > possible to build a cross-compiler for an 8-bit target > processor. The 8-bit > processor family in question is already supported by gcc (I > believe). > > When I say "possible", I just mean "follow the cross-compiling instructions > and out pops an Ada compiler" - I don't mean, "spend months of work patching > various files and then you might have an Ada compiler" :-) To not answer your actual question at all, but... As someone else pointed out, the biggest cost/overhead is porting the runtime libraries. Speaking for Janus/Ada, porting the code generator/compiler usually only takes a month or so (and that's for building a code generator from scratch). But building the basic runtime support for exceptions, tasking, floating point (which usually has to be emulated on small processors), etc. can take a lot of time. In addition, that support can make programs quite large. Because of this, I think you'd have trouble making acceptable programs with a general-purpose compiler like GCC. Janus/Ada was originally built for Z-80 and 8086 processors without much memory. Thus, we only load floating point and tasking support when they are used. That isn't very valuable on standard systems like Windows these days, but it matters a lot on 8-bit systems. The only reason that we don't support 8-bit processors is a lack of demand. Everyone seems to use a different processor, and thus we cannot really justify the investment building code generators (easy) and runtime libraries (not as easy) for each one. Of course, we're always interested in customization projects, but that won't help you convince your manager... Randy Brukardt" Jeffrey R. Carter said: "[..] [..] there's at least one compiler that produces ANSI C as its intermediate language, so you can always choose Ada." Mr. S. Tucker Taft's AdaMagic Ada to ANSI C compiler (sold by SoftCheck: WWW.SofCheck.com/products/adamagic.html , Lanarcam: I would suggest you to remember the compiler's and the person's name: the name of company has changed a few times) could be used: but do not forget that C compilers for microcontrollers are often not ANSI compliant, though they may be compatible enough with AdaMagic. Targets for various vendors' compilers listed on HTTP://AdaIC.org/compilers/cpl/lists/CPLbase.html include: Analog Devices ADSP 21020; Algorithmics P-4000i (R4600); PowerPC; Analog Devices Visual DSP 4.0; Analog Devices SHARC 21060; Heurikon Baja (R4700); Heurikon Laguna (R4600); Heurikon Malibu (Mips R3081); Intel i960MC; Lockheed Martin RAD6000; MIPS R3000; MIPS R4000; Motorola 68040; Raytheon Extended Weapons Control Computer (EWCC); and Siemens Nixdorf RM 200. More from HTTP://AdaIC.org/compilers/report83.html : 68000; DSP96002; Freescale (Motorola) MVME1603, MVME1604; AN/UYK-43; AN/UYK-44; AN/AYK-14; Harris NH6202; 68030; Integrated Device Technology IDT7RS301 R3000/R3010; MIL-STD-1750A (these are still being made by the way); 68882; Tadpole Technology plc TP860M; ICL Series 39 Level 80 & Series 39 SX Processor; Encore 91 Series; Heurikon Malibu (R3081); IBM 937x, 43xx, 308x 8090, & ES/9000 processors; Intel iPSC/860; RISCAE Honeywell RH32; Intel i80960MC; Intel i960MX; R3200-6; 68020; Intel 80860; NEC MV4000; PSS Zoran ZR34325 Digital Signal Processor AdaRAID; MAXION Multiprocessor System, Model 9200; Phillips PG2100; CAPS/AAMP2, CAPS/AAMP3, & CAPS/AAMP5; SKYstation 8117-P; SKYbolt Model 8146-V; ATLAS ELEKTRONIK GmbH MPR 2300; i960MX; 1750B; Analog Devices, ADSP-2106x; Intel EXV80960MC; Texas Instruments TMS320C30; Fairchild F9450 on an SBC-50 board; Tronix PI960MX-JXV Board (80960MX); Cyclone CVME962 Board (80960MC); Intel 80960KB; Texas Instruments TMS320C40; Integrated Device Technology IDT7RS301 System; the F-16 Modular Mission Computer (though I doubt you will target that!); TMS320C31; Freescale (Motorola) 68881; 68010; INMOS T425 transputer on a B403 TRAM; INMOS T800 transputer on a B405 TRAM; CETIA Power Engine (VGPW2/VMTR2); DY 4 Systems SVME-122; INMOS T800 transputer implemented on a B417 TRAM; Cyclone CVME 48; Force CPU 21, CPU 29, CPU 30, CPU 31, Ironics IV9001 board (AMD 29000); Heurikon HKMIPS/V3500; LSI Logic LR33000/LR33050; Motorola 68302, Philips-Signetics 68070, & Toshiba 68301 single-board computers; DY 4 Systems SVME-144; and ForceCPU-40 Series/Eagle I. More Ada compilers exist too: e.g. Irvine Compiler Corporation ( WWW.Irvine.com ) targets Texas Instruments the C62xx/C64xx/C67xx platforms of DSPs.