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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.182.236.4 with SMTP id uq4mr26006155obc.3.1449511013581; Mon, 07 Dec 2015 09:56:53 -0800 (PST) X-Received: by 10.182.125.3 with SMTP id mm3mr285892obb.13.1449511013559; Mon, 07 Dec 2015 09:56:53 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!mv3no10268409igc.0!news-out.google.com!l1ni53igd.0!nntp.google.com!mv3no12995365igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 7 Dec 2015 09:56:53 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=138.162.0.41; posting-account=9yqilwkAAAAlbxojEc6DW1OEOsACipCN NNTP-Posting-Host: 138.162.0.41 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: STM32F4 GNAT Run Time System - roadmap From: Jere Injection-Date: Mon, 07 Dec 2015 17:56:53 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:28685 Date: 2015-12-07T09:56:53-08:00 List-Id: On Monday, December 7, 2015 at 11:49:11 AM UTC-5, Simon Wright wrote: > Jere writes: >=20 > > I am currently looking at an M0+ chip, which as far as I can tell, has > > no GNAT cross compiler's available (nor runtimes). It does have a GCC > > port for 4.9.3 I think, but not GNAT. Speaking from the perspective > > of developing on a Windows machine. > > > > At some point I guess I will have to dig in and figure out how to > > build GNAT for the m0+ using windows, then I'll have to figure out the > > runtime, but I am light years from understanding that stuff at the > > moment. >=20 > I think it'd be simple enough to make an M0+ compiler (once one's found > the proper incantation); the problem I had was getting one compiler to > generate M3 or M4F code as required. I think the ARM branch at > https://launchpad.net/gcc-arm-embedded can do it, but the changes > haven't been rolled in to the GCC trunk; and there are apparently > problems building Ada with that source tree; and they are up to 4.9.3 > only. That the one I have been looking at in my off time. The vendor for my chip= actually provides a version of that build for their IDE. I've been going = through various webpages with references to building a GNAT cross compiler.= I'll get that down eventually I hope. > Of course the work I've done has been on Mac OS X; perhaps look at > TDM-GCC, starting at http://getadanow.com/#get_windows I'm definitely able to get Ada for Windows (Both GNAT GPL and FSF) for wind= ows development. I guess I meant that so far all the references to buildin= g a cross compiler have been from the Linux context. Translating to a wind= ows environment is sometimes challenging. Again though, I'll get there. J= ust have to take my time and figure things out. The other issue is all the= tutorials seem to target M3 and M4, so I need to translate those to M0+ as= well. > If your chip has FreeRTOS you might be able to work from my > http://sourceforge.net/projects/cortex-gnat-rts/ - there are 12 or so > board-specific sources, though I think that at least two of the files > could be moved to common. This is something I should ask about: I am running pure bare metal. We wo= n't have SD cards or hard drives. Everything we do will need to run straig= ht on the micro's Flash itself. We may or may not have EEPROMs, but even i= f we do, we are talking 512K bits (64k bytes) of standard EEPROM (so too sl= ow for general use ... 1-5ms write times). I am pretty sure there is a Fre= eRTOS port for my chip (I'll need to verify, but I am pretty sure). Is the= re a configuration where I am able to use the FreeRTOS runtime you made in = that context? Does the runtime have all it needs to operate on a baremetal= board or do I need to have FreeRTOS installed and running similar to windo= ws or Linux with an SD card to hold the application executable? In my idea= l world, I would simply write an Ada program, compile it, and write it stra= ight to the micro's Flash. I am unsure if the runtime you proposed works i= n that manner or not. The ravenscar profile based runtime provided by AdaC= ore appears to (I have not had to install an OS to use that cross compiler)= . That said, I am mostly familiar with straight up bare metal, so a zero foot= print runtime (if I understand what that entails) would be fine as well an= d maybe preferable due to our timing constraints. I don't really need taski= ng. In the past I've not had it...well that is not entirely true depending= on how you define it. I remember yall joking about Duff's device in anoth= er thread, but I've used an implementation of that for some cooperative thr= eading in C (see Adam Dunkels protothreads). Not the prettiest thing, but = in lei of no actual tasking primitives, it made some of the programming eas= ier. Either way, that was a one off thing. I usually just program without= anything resembling tasking. If any of this sounds brash or curt or dismissive, I apologize. I in no wa= y mean it to sound so. I am writing quickly as I have to run to a meeting.= I am really excited about this stuff. =20