I am sorry if I am asking stupid, I have just falled into an embedded
software project. So far I have only developed desktop applications, but
I have a strong affection to embedded systems. :)
So, the task I want to get through is as follows:
We have an existing product (a medical bedside monitor) working on a
x86-based system, the "kernel" is dos/dpmi, which, in fact, is used only
to switch the processor to protected mode (no task management, (almost)
no memory management, etc.). Now, we have to rewrite the program, as the
hardware is changing, the code is unmanageable (it was not me, I am a
fresh employee at the company :), and anyway.
The new hardware's core will be the geode gx1 processor with the CS5530
companion chip, and we have an Advantech PCM-5820 mainboard with these
chips to start developing and play with, and possibly use in the final
system (if the self-made mainboard developing is too slow / too much
I proposed to use a kernel under our new program, as we do not need to
implement many low- and middle-level protocols (such as the tcp/ip
stack, ethernet driver, etc.), maybe(?) task management, etc. As nobody
used this approach at the company yet (me neither), there are no
experiences how hard to port a kernel to a custom hardware, and what
constraints place the kernel upon our program.
I have a few years linux experience (but not hardware or kernel module
programming), so naturally my first idea was linux or rtlinux. I have
also found the linux4.tv project, which use quite similar hardware,
downloaded the source, but I didn't get the point except that possibly
we can get out the fb video driver source code for gx1.
As currently this motherboard has quite slow bios boot-up, and my idea
to use linux, I have found the linuxbios project. And, because there are
many smart people here, I have some questions to you:
1. Can I use linuxbios to boot a single executable, which is analog to
the current use of dpmi? E.g., I use linuxbios (beside that it boots up
the hardware) to switch into protected mode, and I have a single binary
what somehow gets some parameters (e.g., memory size), and runs in
privilege level 0 (no kernel)? Can I use standard tools (like gcc) to
compile and link such a beast?
2. Can I use linuxbios to boot RTLinux?
3. Can I use linux/rtlinux only as a "big lib" of device drivers and
other stuff? I.e. the scheduler is at my hand, and rtlinux is only a
process which runs when I let him run, and not too long either. :)
3. Do you know a good mailing list about rtlinux and embedded systems
programming for a newbie?
4. Maybe are there other (possibly non-free) kernels which come into
Sorry about the long and slightly offtopic post.