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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Clubley Newsgroups: comp.lang.ada Subject: Re: Ada platforms and pricing, was: Re: a new language, designed for safety ! Date: Wed, 18 Jun 2014 19:57:17 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <1402308235.2520.153.camel@pascal.home.net> <85ioo9yukk.fsf@stephe-leake.org> <255b51cd-b23f-4413-805a-9fea3c70d8b2@googlegroups.com> <5ebe316d-cd84-40fb-a983-9f953f205fef@googlegroups.com> <2100734262424129975.133931laguest-archeia.com@nntp.aioe.org> Injection-Date: Wed, 18 Jun 2014 19:57:17 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="e458ff8b81bc0c159989eb0e36c6e372"; logging-data="13459"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19P91fykwWKZ7fK6sJw1cCOLrJMNpO3tEE=" User-Agent: slrn/0.9.8.1 (VMS/Multinet) Cancel-Lock: sha1:PlrEHuVz5WSvUmlUycJpWQEPzVI= Xref: news.eternal-september.org comp.lang.ada:20438 Date: 2014-06-18T19:57:17+00:00 List-Id: On 2014-06-17, Randy Brukardt wrote: > "Simon Clubley" wrote in > message news:lnn8ff$k42$1@dont-email.me... >> Many of those people wanting to explore the language will be wanting >> to explore Ada by using it on embedded platforms so you need a range >> of Ada cross compilers available in the same way you have a range of >> C cross compilers available for those same people to use. > > It's impractical to have any such cross-compilers. Every such compiler > (run-time, really) has to be tailored to the specific board in question. We > treated each embedded compiler as something that would require extensive > support, and I still think we lost money on each. > You are thinking of this as a monolithic commercial product. Things are much more modular in the open source world. Taking the ARM bare metal (C language) world as an example: 1) At the bottom layer you have the compiler itself. This just generates code for a set of ARM architecture variants such as Cortex-M3 and Cortex-A8 as well as older ARM architecture variants such as the ARMv5 variants. It has absolutely no knowledge of any specific MCU or any board which that MCU might be placed on. Things like memory layouts are handled in linker scripts. 2) At the next layer up you have code to support a specific MCU. As well as MCU specific startup code, this includes things like interrupt handling which is MCU specific in the ARM world. This code generally comes from the manufacturer of the MCU and is usually free. 3) At the next layer up you have a code library to support the peripherals on a specific board. If this is a standard board, this code might be written for you by the manufacturer, or you might have to write this code yourself. As an aside, I tend not to like the manufacturer's code and tend to write and use my own code library written to my standards, but that's probably just me as most people seem to just use the manufacturer's code as-is. This is all C code BTW; as mentioned previously I don't do any Ada bare metal work on ARM due to the compiler issue, but I have done some Ada embedded work under RTEMS. I don't know about Luke, but when I talk about Ada cross compilers, I'm only really thinking about the first part (the compiler itself) although you will probably need to add in Ada specific initialisation code into the MCU startup code. Provided the calls into the Ada RTL are cleanly documented then that's not a problem for me. > > Personally, I'm dubious that there are enough hardware hackers out there for > the existence of free Ada cross-compilers to matter. I found hardware > near-impossible to understand, and as such, it's clearly beyond the > possibility for 99.9% of hobbyists as well. :-) > I'm surprised at that. Granted, the components I use are PDIP sized, but when they are available in that size, I have no problem designing and building circuits. I'm more capable in the digital hardware world than in the analogue (or RF) world however. Simon. -- Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP Microsoft: Bringing you 1980s technology to a 21st century world