Hi Michael<br><br><div class="gmail_quote">On 7 March 2013 12:11, Michael Schnell <span dir="ltr"><<a href="mailto:mschnell@lumino.de" target="_blank">mschnell@lumino.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 03/07/2013 10:45 AM, Chavoux Luyt wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
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?).<br>
<br>
</blockquote></div>
What exactly do you mean by embedded ?<br></blockquote><div>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: </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Possible definitions include:<br>
<br>
 - (hard) real-time<br></blockquote><div>Probably not necessary. It will need a real-time clock, though.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 - direct hardware access<br></blockquote><div>Yes, this will be needed. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 - interrupt programming<br></blockquote><div>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. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 - code in Flash memory (for "diskless" low-cost hardware)<br></blockquote><div>Definitely diskless to fit in a GPS collar. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 - no OS<br></blockquote><div>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).</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 - no GUI (for "headless" low-cost hardware)<br></blockquote><div>Yes! (If there is an OS, it might be possible to have a web interface and embedded web server for settings etc., though).</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 - memory space efficiency (for low-cost hardware)<br></blockquote><div>Yes! It needs to store at least  2160 GPS data points (in addition to the main program itself and any configuration settings).</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 - speed efficiency (for low-cost hardware)<br></blockquote><div>Yes! </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 - cross compiling<br></blockquote><div>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) </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 - remote debugging<br></blockquote><div>Will depend on the chipset and hardware design... can this be done using fpc?</div><div> </div><div>.Thanks</div><div>Chavoux</div></div>