comp.lang.ada
 help / color / mirror / Atom feed
From: Paul Rubin <no.email@nospam.invalid>
Subject: Re: ANN: Cortex GNAT RTS 2018-07-15
Date: Wed, 18 Jul 2018 01:29:15 -0700
Date: 2018-07-18T01:29:15-07:00	[thread overview]
Message-ID: <87tvox9cbo.fsf@nightsong.com> (raw)
In-Reply-To: pimq4q$102k$1@gioia.aioe.org

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>> you can type Python code at it interactively, and you can also drag
>> and drop files onto it since it also presents a USB flash drive
>> interface.  It's great.
>
> Well, there will be no place left for actual programming. There are
> lots of such boards on the net running various interpreters, e.g. Lua.

The Trinket is a dinky little MCU board that will be controlling a fish
tank heater or something.  There's not enough space for a large program
but it's not intended for that type of application.  It comes with about
25k of free space and you can free up some more (maybe another 25k?)  by
deleting some unneeded libraries.  The bigger boards have the 2MB SPI
flash chip which is tons of space for stuff like this.

> People keep on breaking out in order to save place and CPU cycles by
> programing in C.

Yes you might want to drop down to C for speed, or just delete Python
completely from the board and run the Arduino toolkit, or (as we're
discussing here) the GNAT RTS.  Again it depends on the application but
the 32k of ram on the M0 is enough to run typical programs.  MicroPython
also runs on the BBC micro:bit which has only 16k of ram, but that's
significantly more cramped.  Of course the M4 version of the Adafruit
board has 192k of ram, bigger than the old minicomputers some of us
remember.

> Ada without tasking and other useful features would be in the same
> league as C in terms of memory use and performance.

I think Simon mentioned that GNAT RTS uses FreeRTOS for tasking.
FreeRTOS is pretty small (https://freertos.org/FAQMem.html) and the rest
of the GNAT RTS is not that large either, for these chips or even for
the Bluepill.  But, I know of Forth multitaskers using only a few dozen
lines of code altogether, and less than 100 bytes of ram per task
depending on stack and cell size.  I've played a little with STM8 eForth
which is an interactive interpreter supporting 2 tasks, using around 4k
of flash memory and again, maybe 100 bytes of ram.  The STM8 board
itself has 8k of flash and 1k of ram and is almost a throwaway.

  reply	other threads:[~2018-07-18  8:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-15 19:41 ANN: Cortex GNAT RTS 2018-07-15 Simon Wright
2018-07-15 21:53 ` Paul Rubin
2018-07-16  8:53   ` fabien.chouteau
2018-07-16 11:56   ` Simon Wright
2018-07-27  9:07     ` Paul Rubin
2018-07-27 10:13       ` fabien.chouteau
2018-07-27 20:20       ` Simon Wright
2018-07-27 20:51         ` Paul Rubin
2018-07-28 11:18           ` Simon Wright
2018-07-16 14:56   ` Simon Wright
2018-07-17  2:14     ` Paul Rubin
2018-07-17  8:27       ` fabien.chouteau
2018-07-17  9:43         ` Paul Rubin
2018-07-17 10:21           ` fabien.chouteau
2018-07-17 13:14       ` Simon Wright
2018-07-17 19:46         ` Paul Rubin
2018-07-18  0:59           ` Paul Rubin
2018-07-18  7:27           ` Dmitry A. Kazakov
2018-07-18  8:29             ` Paul Rubin [this message]
2018-07-18 11:31         ` Tero Koskinen
2018-07-18 21:52           ` Paul Rubin
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox