* Selecting Ada95 compiler for MSDOS realtime application @ 1996-11-05 0:00 Richard Maffei 1996-11-06 0:00 ` Michael F Brenner 1996-11-06 0:00 ` Samuel Tardieu 0 siblings, 2 replies; 5+ messages in thread From: Richard Maffei @ 1996-11-05 0:00 UTC (permalink / raw) To all fellow Ada developers and advocates: We are in the process of starting a new software development project and desire to use Ada. However, we are having difficulty in finding a development environment that will suit our needs. Below are some requirements for our selection. I would appreciate any feedback (experiences, comments, technical details, etc.) concerning compiler selection from others who have performed similar projects. A non-GNAT solution is preferred to avoid any potential restrictions/requirements associated with the commercial release of software containing GNU libraries. Target: 486 Embedded PC, MSDOS based - primarily to support PCMCIA card flash file systems for the purpose of data logging. Development platform: Multitasking - concurrent processing of serial I/O with up to 6 devices using complex protocol incorporating handshaking with precise time-out requirements. Supports interrupt handlers for I/O 1 (one) ms timer resolution - as opposed to standard PC timer of 55 ms. Anxiously awaiting, Rick -- _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ Richard A. Maffei ramaffei@cacd.rockwell.com ramaffei@cedar-rapids.net I speak for myself, not my company. "Computers in the future may weigh no more than 1.5 tons." -- Popular Mechanics, 1949 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Selecting Ada95 compiler for MSDOS realtime application 1996-11-05 0:00 Selecting Ada95 compiler for MSDOS realtime application Richard Maffei @ 1996-11-06 0:00 ` Michael F Brenner 1996-11-08 0:00 ` Robert Dewar 1996-11-06 0:00 ` Samuel Tardieu 1 sibling, 1 reply; 5+ messages in thread From: Michael F Brenner @ 1996-11-06 0:00 UTC (permalink / raw) Richard Maffei <ramaffei@cedar-rapids.net> posted a requirement for a non-GNAT Ada-95 compiler that handles the following: > concurrent processing of serial I/O with up to 6 devices using > complex protocol incorporating handshaking with precise time-out > requirements. Supports interrupt handlers for I/O > 1 (one) ms timer resolution as opposed to standard PC timer of 55 ms. The reason for using a non-GNAT Ada-95 compiler is for fear of commercial use of GNAT's libraries. If commercial use of the GNAT compiler and the libraries needed to produce this application is forbidden, then there is a serious problem, and it needs to be solved. However, in addition to GNAT meeting these requirements for multiple serial interrupt handlers (you have to write a few lines of code, which you can actually lift from the Meridian, Janus developers, Alsys, DDC-I, or djgpp manuals, and you have to understand the 80x86 interrupt structure), and fast resolution timer, there are other Ada-83 compilers that can meet these requirements, such as the ones named in the preceeding sentence. Some of these are in the process of coming out with full Ada-95 compilers, but this is not important because of the upwards compatibility of Ada-83 to Ada-95. For example, the EMCC multiple serial interrupt handlers, with the exception of a tiny bit of machine dependent code, are line-for-line identical on Alsys Ada-83 and GNAT Ada-95. So you can implement code like this (or identical to this, since it is free software) in a way that works on a couple of Ada-83 compilers and GNAT now, and later move to other Ada-95 compilers as Tompson and others finishes implementing the Ada-95 features in their compilers. However, however, there is a much more important observation that might be of help to you, and choice of compiler (or even language) will not help: you would probably get a lot more performance out of your system (two orders of magnitude more), if you used a serial port concentrator, a piece of hardware available from several famous hardware vendors which can be found by searching the net. The concentrator does the byte-level interrupts and places the results of the twelve serial ports into a RAM buffer (in the concentrator, not in the 80x86). The 80x86 just has a single serial (or parallel) port that accesses the concentrator, and can get one or more bytes from the buffers for the twleve ports, with a greatly reduced overhead for interrupt handling. Such concentrators in speeds up to 56K for ISDN, RS485, RS422, or RS232 interfaces cost about $800 to $2000 dollars for a dozen ports, with the cheapest being those made for RS232. To get RS422 balanced signals you will pay closer to the $2000 because you will need the equivalent of an RS232 to RS422 converter circuitry. This is a case where a portion of the problem should really be solved in hardware, to increase the throughput of the software. Nevertheless the Ada compilers that exist now (83 or 95) can meet your real requirements, even if some of them happen to be 83 this year. Mike Brenner <mikeb@mitre.org> ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Selecting Ada95 compiler for MSDOS realtime application 1996-11-06 0:00 ` Michael F Brenner @ 1996-11-08 0:00 ` Robert Dewar 0 siblings, 0 replies; 5+ messages in thread From: Robert Dewar @ 1996-11-08 0:00 UTC (permalink / raw) Mike Brenner says "The reason for using a non-GNAT Ada-95 compiler is for fear of commercial use of GNAT's libraries. If commercial use of the GNAT compiler and the libraries needed to produce this application is forbidden, then there is a serious problem, and it needs to be solved." There is no problem. Nothing needs to be solved. Of course it is possible to use GNAT to generate proprietary (I assume that is what you mean by commercial) programs. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Selecting Ada95 compiler for MSDOS realtime application 1996-11-05 0:00 Selecting Ada95 compiler for MSDOS realtime application Richard Maffei 1996-11-06 0:00 ` Michael F Brenner @ 1996-11-06 0:00 ` Samuel Tardieu 1996-11-07 0:00 ` Robert Dewar 1 sibling, 1 reply; 5+ messages in thread From: Samuel Tardieu @ 1996-11-06 0:00 UTC (permalink / raw) To: ramaffei >>>>> "Richard" == Richard Maffei <ramaffei@cedar-rapids.net> writes: Richard> A non-GNAT solution is preferred to avoid any potential Richard> restrictions/requirements associated with the commercial Richard> release of software containing GNU libraries. Richard, I really cannot understand this sentence: the GNU licence does concern you *only* if you want to redistribute a modified *compiler*, that is if your project is to produce and give away (sell ?) an Ada compiler (which I guess isn't, since you mention real-time) and choose to modify GNAT, then you have to distribute the sources as well and respect the licence. But if you use GNAT for development as a compiler, then it doesn't add any restriction or requirement compared to other compilers! I think you should take some time and read the General Public Licence which is distributed with GNAT. I know of several companies that use GNAT for developping commercial applications and sell these applications without any restriction. Sam, happy user of GNAT -- Samuel Tardieu -- sam@hacker.org ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Selecting Ada95 compiler for MSDOS realtime application 1996-11-06 0:00 ` Samuel Tardieu @ 1996-11-07 0:00 ` Robert Dewar 0 siblings, 0 replies; 5+ messages in thread From: Robert Dewar @ 1996-11-07 0:00 UTC (permalink / raw) >>>>> "Richard" == Richard Maffei <ramaffei@cedar-rapids.net> writes: Richard> A non-GNAT solution is preferred to avoid any potential Richard> restrictions/requirements associated with the commercial Richard> release of software containing GNU libraries. There are no such restrictions/requirements that would cause you any difficulty with such commercial release. There are many commercial proprietary products that are compiled with GNU compilers. On a number of occasions, I have heard people spreading the impression that there is a problem here, including some salespeople. They are mistaken, there is no such problem! ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~1996-11-08 0:00 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 1996-11-05 0:00 Selecting Ada95 compiler for MSDOS realtime application Richard Maffei 1996-11-06 0:00 ` Michael F Brenner 1996-11-08 0:00 ` Robert Dewar 1996-11-06 0:00 ` Samuel Tardieu 1996-11-07 0:00 ` Robert Dewar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox