[fpc-devel] "embedded" again

Thomas Schatzl tom_at_work at gmx.at
Wed Jan 16 12:03:36 CET 2013


Hi,

On Wed, 2013-01-16 at 11:06 +0100, Michael Schnell wrote:
> On 01/15/2013 12:01 PM, Michael Van Canneyt wrote:
> >
> > On old hardware, maybe, but these days ?
> >
> The topic of the thread is "embedded".
> 
> Here <you often use hardware featuring  rather restricted resources.
>
> In many Linux tool config scripts the keyword "embedded" even still is 
> used as a synonym for MMU-less.

Neither one of your targets fit my description of "embedded" or having
"restricted" cpu or memory resources for running fpc or lazarus. Don't
know the demands of your application though.

Calling a beaglebone a restricted device is somewhat odd given that the
cpu is clocked at 720Mhz, has 256MB RAM and runs full Linux. There are
even beefier "embedded" (I read embedded as designed for industrial
applications with higher quality, customization options, support and
long-term availability demands than boards with consumer cpus given your
targets and your reluctance to use any of my other possibilities)
developer platforms available (e.g. IGEPv2 @ 1Ghz/512MB RAM, also
cortex-a8 iirc; they recently announced development of a Cortex a15
design too). They're just little harder to find, maybe slightly more
expensive and you don't get the very latest and greatest.

The Qnap isn't really an embedded device either from fpc/lazarus POV,
with 1.2Ghz/256MB RAM for an *entry* level ARM Qnap. It runs a full
desktop Linux in the end. Differences in external connectors or whether
it comes with a nice case are not relevant for running either FPC or
Lazarus. If the cpu is capable of running full Linux, it runs FPC and
Lazarus, maybe slowly. But at 1 Ghz+ this shouldn't be an issue.

Really consider trying Lazarus on the beaglebone natively, it should be
reasonable, maybe a bit slow. On the Qnap I don't know if it is useful,
it uses some arm11 cpu which is much slower clock for clock than a
Cortex-A8, but then the beaglebone is clocked slower. Lazarus is a bit
performance demanding.

If you only care about the CPU differences, and not about the heavily
modified stock qnap linux, you can also install a debian chroot on the
qnap (been there, done that, on a ts-119 long ago) as suggested earlier
and use aptitude to install anything you want.

The Qnap applications you write cannot be GUI applications, using
command line gdb could be sufficient in the worst case if you don't want
to setup remote debugging. It may be more useful to ask in the Lazarus
lists about how to setup that than here though. There are enough
websites that explain how to setup a remote gdb session. 

With the command line gdb, typically with very few commands you can get
very far already. Especially if you do your main debugging on the PC
anyway. You can also try the gdb integrated TUI (text mode user
interface) - so that you can "visually" single-step etc. if that feels
more comfortable to you.

Btw, to simplify development and save copying over resulting binaries
all the time you could always map the relevant directories onto your
local pc e.g. using sshfs or smb and use scripts to call the native
compiler. The qnap and the beaglebone have (relatively) low-latency
ethernet connectors, so there should be virtually no difference in
performance when editing.

Hth,
Thomas





More information about the fpc-devel mailing list