[fpc-pascal] Fwd: [Lazarus] Free-pascal question: Embedded programming

Chavoux Luyt chavoux at gmail.com
Thu Mar 7 12:44:51 CET 2013


Sorry for cross-posting... I asked this question on Lazarus list and
was told that it fits better here...

---------- Forwarded message ----------
From: Chavoux Luyt <chavoux at gmail.com>
On 7 March 2013 12:11, Michael Schnell <mschnell at lumino.de> wrote:
>
> On 03/07/2013 10:45 AM, Chavoux Luyt wrote:
>>
>> 1. How good is Lazarus/fpc for embedded programming (compared to C)? It will probably be on a (custom-made) device with ARM/Atmel-based chipset (with or without an OS - will this make a difference?).
>>
> What exactly do you mean by embedded ?

I am not going to build the hardware myself, but will probably (help
to) program the device. It will be a programmable GPS collar, so I am
not sure what the engineers are going to include. But to answer your
questions:
>
>
> Possible definitions include:
>
>  - (hard) real-time

Probably not necessary. It will need a real-time clock, though.
>
>  - direct hardware access

Yes, this will be needed.
>
>  - interrupt programming

Yes, probably. I want to include an accelerator meter and it should
send a hardware interrupt to tell the device to take a GPS reading.
>
>  - code in Flash memory (for "diskless" low-cost hardware)

Definitely diskless to fit in a GPS collar.
>
>  - no OS

Although an OS will probably make things easier, low power consumption
will be the most (?) important requirement. An OS that runs all the
time (or use too much power to boot up every time it receives a
hardware interrupt) will probably not work (even if an open-source OS
exists for a specific chipset).
>
>  - no GUI (for "headless" low-cost hardware)

Yes! (If there is an OS, it might be possible to have a web interface
and small embedded web server for settings etc., though).
>
>  - memory space efficiency (for low-cost hardware)

Yes! It needs to store at least  2160 GPS data points (in addition to
the main program itself and any configuration settings).
>
>  - speed efficiency (for low-cost hardware)

Yes!
>
>  - cross compiling

Yes, the development will be done on Linux (either fpc or c
cross-compiler) and written to the device using whatever
pins/connectors are available (probably USB and possibly wireless/UHF
- this will depend on hardware design)
>
>  - remote debugging

Will depend on the chipset and hardware design... can this be done using fpc?

2. I remember that the original Turbo Pascal (and Delphi) could use
in-line (i386) assembler. Is this still possible with
Lazarus/free-pascal and for other chipsets like Atmel/ARM?

Thanks
Chavoux



More information about the fpc-pascal mailing list