tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Joining Tiny C Compiler with ItsyBitsy M0 Express


From: KHMan
Subject: Re: [Tinycc-devel] Joining Tiny C Compiler with ItsyBitsy M0 Express
Date: Sat, 21 Apr 2018 13:03:23 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2

On 4/21/2018 12:45 AM, Ulrich Althöfer wrote:
Dear Developers,
is it possible to implement the TCC on an awsome microcontroller board?
If you want to compile on the MCU itself, then data RAM will be an 
issue. See MicroPython FAQ here:
  https://github.com/micropython/micropython/wiki/FAQ

So 32KB will still be an issue for any non-trivial MicroPython script. See any number of forum postings on people running smack into this. If "tcc compile on MCU" inconveniences coders, then it will hurt adoption. Then for tcc you will need to expend effort on on-chip memory usage issues, or mitigate with library linking or dynamic linking.
Next, if you plan to target beginners and grow a community, you 
are up against a whole horde of similar beginner-MCU-board 
initiatives. Some might even have corporate (Sparkfun, AdaFruit 
and others are all eyeing the education pie) or crowdfunding 
backing. Assume you want to 'sell' tcc to beginners. Who are you 
targeting, what skill level, what age, etc. If you target 
experienced coders, then they will measure the thing versus their 
usual toolchain. For example, I for one have zero urge to move 
from my usual C toolchains to MicroPython -- I already have 
thousands of lines of working code that I can draw from. So the 
target demographic can be an issue.
Also, I have not come across any MicroPython projects during 
casual browsing on electronics projects -- it has not lit up the 
scene like Arduino (whose popularity may be partly due to many 
libraries and a lot of code that folks can cut and paste). Where 
are all the non-trivial projects done with MicroPython? I don't 
remember coming across any.
This is not to say it's a bad idea, but there may be significant 
barriers or issues, depending on your objectives. Also, early 
adoptees might not appear unless you already have a prototype that 
works and is useful -- often someone has to do the initial 
implementation.

I am fascinated by the very compact microcontroller board 'ItsyBitsy M0 Express'. It is equipped with the ARM Cortex M0+ processor (with 256KB Flash and 32 KB RAM builtin) running at 48 MHz and 2 MB SPI FLASH on board - hence called 'Express'. The USB board is developed by Adafruit Industries (Owner 'Ladyada'). Look at the website:
https://www.adafruit.com/product/3727

The particular feature of the ItsyBitsy is in my opinion the builtin Python interpreter in combination with the external accessible FAT file system. The USB interface is implemented native - without a separate processor. The Python interpreter is condensed to 'MicroPython'. The 'CircuitPython' is Adafruit's open source derivative of MicroPython especially prepared for Atmels ARM M0 type 'SAMD21'. Although the CircuitPython interpreter runs in this little ARM chip it shows 19696 bytes of free memory.
The intended benefits of joining the TCC with the ItsyBitsy:
- Faster execution time than with the Python interpreter.
- Better energy efficiency because of direct command execution.
- Better deterministic characteristic.
- C as an additional educational language to Python.
- The self-contained C source (equivalent to the interpreter version).
The last point (the self-contained C source) on such a compact 
embedded board is very fun, because you get independent from the 
usual Operating Systems, proprietary chains and local situations: 
just pull the USB board off and you have the whole development 
information with you.
Let's do IT:
- Information Technology
- Interdisciplinary Thinking

P.S.
Actually the ItsyBitsy M4 Express is advertised.
The ARM CORTEX M4 with 192k of RAM and 512k flash @ 120 MHz is builtin.
Greetings from Germany
Ulrich

--
Cheers,
Kein-Hong Man (esq.)
Selangor, Malaysia




reply via email to

[Prev in Thread] Current Thread [Next in Thread]