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!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Getting started with bare-board development Date: Wed, 16 Nov 2016 10:30:03 +0100 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: vZYCW951TbFitc4GdEwQJg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 X-Mozilla-News-Host: news://news.aioe.org X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:32338 Date: 2016-11-16T10:30:03+01:00 List-Id: On 2016-11-15 18:32, Adam Jensen wrote: > It still seems to me that the ability to compartmentalize the > emulated/simulated/HIL environment from the workstation's environment > would be helpful, if not essential, at various stages of development and > verification. > > Does this make sense or is my view still somewhat askew? Of course it does. We use GNAT project files for this with scenario variables controlling the choice of the tool-chain (e.g. cross-compiler) and source code directories (to handle target dependencies). It works pretty well. >> Whatever OS/platform-dependent parts requiring test under an emulator, >> they are quite minuscule or non-existent if an OS is used. Which is also >> the reason why bare-board targets should be avoided where possible. > > I can appreciate how it might be desirable for the workstation and the > embedded target to provide the same OS/RTS environmental abstractions > (for a software application developer's convenience), but the class of > embedded software that I have in mind probably needs to have deep > integration with the hardware, and the hardware definitely will have > very deep traction with reality. AdaCore did some good job abstracting basic hardware interfaces missing in the standard library. I mean sockets, OS basic I/O, COM ports. Most of other things are either: 1. hardware-specific. These are a part of the developing itself. Thus we would likely have to mock/simulate them anyway. 2. domain-specific. These are abstracted by other means, by a middleware in my case. So in the end they don't hinder switching from the workstation to target and back. In short, it is not that horrific or complicated as it appears. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de