Simon,
what you are referring to is mostly not the RTL (which is a standardized
set of routines necessary to "make pascal work"). but are device drivers
that provide a link between the RTL and the underlying hardware, tasks
that in a non - embedded environment are performed by the operating system.
An example: the procedure "write / writeln" is part of the RTL. it does
all the formatting, calls conversion routines where necessary (from
numerical formats to string), and so on - but finally passes the
formatted sequence of characters to the operating system's file I/O,
which forma an intermediate layer, and finally calls the appropriate
device drivers (serial, console, disk, ....).
I completely agree with you that such a library would be highly
desirable, but it is a different thing than the RTL.
One exception: string functions, these are part of the RTL. for the AVR,
I am working on a unit system, that is mainly writen in assembler.
best regards,
Georg
Am 11.11.2015 um 18:06 schrieb Simon Ameis:
Hello,
does anyone work on a library (embedded RTL) for basic embedded
microcontroller units (MCU) like AVR or ARM?
I think, there should be a stable interface along different MCUs for
accessing various hardware interfaces.
* MCU compatible/optimized string functions
* I2C
* SPI
* GPIO
* Analog Inputs/Outputs
* PWM
* UART
* Timer
* Watchdog timers
These topics are much more dependant on the individual MCU families. It
would be great to have a cross MCU API though.
* MCU setup
* Power Management
As there are some libraries out there on the net, they could inspire the
design of the embedded RTL.
Are there any concerns on translating one library as long as it has a
less restrictive license than modified LGPL used by the default RTL
(e.g. BSD license)?
Kind Regards
Simon Ameis
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel