Bill Welliver wrote:
>The really affordable MCUs, such as AVRs and PICs, are probably just
>too slow to be useful.

Well, actually, forget the AVRs and PICs.  One can get ARM MCUs with
everything onboard (except USB) for EUR 0.55.  Which is close enough
or cheaper than most AVRs and PICs.
The first thing that does USB as well as ARM, is something like
EUR 2.10 (way cheaper than ATxmega).
So 8-bit MCUs have become obsolete as far as I am concerned.

>In the case of micropython, I suspect that the micropython
>interpreter is the firmware flashed to the MCU and that they're using
>some sort of flash card to store the libraries and script to run,

They do interpreter and libs on the flash, but have a 1MB flash for that.
But, in case of an MCU, the amount of libraries required is close to none.

But, like I said, the 1MB flash is larger than I'm willing to put in
most small MCU designs.

>From the kickstarter site:

-----------------------------cut here-----------------------------
Micro Python is a complete rewrite, from scratch, of the Python scripting 
language.  It is written in clean, ANSI C and includes a complete parser, 
compiler, virtual machine, runtime system, garbage collector and support 
libraries to run on a microcontroller.  The compiler can compile to byte code 
or native machine code, selectable per function using a function decorator.  It 
also supports inline assembler.  All compilation happens on the chip, so there 
is no need for any software on your PC.

Micro Python currently supports 32-bit ARM processors with the Thumb v2 
instruction set, such as the Cortex-M range used in low-cost microcontrollers.  
It has been tested on an STM32F405 chip.

Micro Python has the following features:

Full implementation of the Python 3 grammar (but not yet all of Python's 
standard libraries).
Implements a lexer, parser, compiler, virtual machine and runtime.
Can execute files, and also has a command line interface (a 
read-evaluate-print-loop, or REPL).
Python code is compiled to a compressed byte code that runs on the built-in 
virtual machine.
Memory usage is minimised by storing objects in efficient ways.  Integers that 
fit in 31-bits do not allocate an object on the heap, and so require memory 
only on the stack.
Using Python decorators, functions can be optionally compiled to native machine 
code, which takes more memory but runs around 2 times faster than byte code.  
Such functions still implement the complete Python language.
A function can also be optionally compiled to use native machine integers as 
numbers, instead of Python objects.  Such code runs at close to the speed of an 
equivalent C function, and can still be called from Python, and can still call 
Python.  These functions can be used to perform time-critical procedures, such 
as interrupts.
An implementation of inline assembler allows complete access to the underlying 
machine.  Inline assembler functions can be called from Python as though they 
were a normal function.
Memory is managed using a simple and fast mark-sweep garbage collector.  It 
takes less than 4ms to perform a full collection.  A lot of functions can be 
written to use no heap memory at all and therefore require no garbage 
collection.
Tell me about the Micro Python board...

The Micro Python board is an electronics development board that runs Micro 
Python, and is based on the STM32F405 microcontroller.  This microcontroller is 
one of the more powerful ones available, and was chosen so that Micro Python 
could run at its full potential.  The microcontroller is clocked at 168MHz and 
has 1MiB flash and 192KiB RAM, which is plenty for writing complex Python 
scripts.  The board measures 33x40 mm and is pictured below.
-----------------------------cut here-----------------------------
-- 
Stephen.
  • Emb... Stephen R. van den Berg
    • ... Stephen R. van den Berg
    • ... Bill Welliver
      • ... Stephen R. van den Berg
        • ... Stephen R. van den Berg
          • ... Bill Welliver
            • ... Stephen R. van den Berg
              • ... Bill Welliver
                • ... Stephen R. van den Berg
                • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
                • ... Stephen R. van den Berg
                • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
                • ... Arne Goedeke
                • ... Stephen R. van den Berg
                • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
                • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
                • ... Arne Goedeke

Reply via email to