From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-3.2 required=3.0 tests=BAYES_00,NICE_REPLY_A, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!feeder.eternal-september.org!2.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Niklas Holsti Newsgroups: comp.lang.ada Subject: Re: Working around -freestanding limitations? Date: Sat, 1 Apr 2023 19:14:28 +0300 Organization: Tidorum Ltd Message-ID: References: <9f2d643e-b610-4931-bd70-342b52c11566n@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net EU9VfB0y4zOy8B25dEeElwJ8XFIobWXBiu0n0S7zSaIV9qj8bR Cancel-Lock: sha1:59orYLt2OGUBfhrh90WHQ/2mogI= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US In-Reply-To: <9f2d643e-b610-4931-bd70-342b52c11566n@googlegroups.com> Xref: feeder.eternal-september.org comp.lang.ada:65050 List-Id: On 2023-04-01 15:26, Hou Van Boere wrote: > Hi Everyone. > > I know there are several floss RTOS option for us but I don't really > need all of the supports they offer and they just make things more > complex. Certainly using most RTOS from Ada is more complex than using an Ada RTS from Ada. Do you want to use tasking at all? Or just a single thread? > Here are my goals: > > 1)I want to build my own circuit board with a microprocessor not microcontroller. Can you explain why? Input/output is often more complex with a microprocessor (I assume you mean something that could run a PC or a tablet) than with a microcontroller. A microprocessor may need a lot of complex initialization and driver SW which you can get in some RTOS but not in an Ada RTS. And I believe that circuit-board design is more complex for microprocessors than for microcontrollers, however I have no experience with either case. > 2)I want to run with gcc/gnatmake ... -freestanding > > 3)I only need the Ada 83 subset, which I guess is pretty close to Ravenscaler I see the Ada 83 tasking features as almost orthogonal to Ravenscar. Ada 83 has no protected objects, and all inter-task communication must be done with rendez-vous using task entries. Ravenscar forbids task entries and rendez-vous and substitutes protected objects. Both work, but Ravenscar is perhaps more resistant to deadlock errors.