Hi all!
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 money).
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 question?
Sorry about the long and slightly offtopic post.
Thanks: Circum
- Do you know a good mailing list about rtlinux and embedded systems
programming for a newbie?
You might check this site for articles and information:
I don't see any reason why you couldn't use linuxbios to start your own binary, compiled with gcc. I would recommend using linux though, and something like busybox (http://www.busybox.net/) and uclibc (http://www.uclibc.org/) will keep it small.
I believe rtlinux is now a commercial product (?); you may not need it for a tightly controlled embedded system; maybe be a custom driver or two will do it.
Just some ideas.
-Steve
Greetings,
Depending on the requirements of the device, you could consider running your app as init from the linux kernel. Possibly setting SCHED_FIFO or SCHED_RR will be needed for more responsiveness.
LinuxBIOS will certainly improve the boot time and reliability.
G'day, sjames
On Wed, 2 Apr 2003, Fery wrote:
Hi all!
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 money).
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:
- 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?
Can I use linuxbios to boot RTLinux?
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. :)
- Do you know a good mailing list about rtlinux and embedded systems
programming for a newbie?
- Maybe are there other (possibly non-free) kernels which come into
question?
Sorry about the long and slightly offtopic post.
Thanks: Circum _______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios