Linux - Embedded & Single-board computerThis forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.

Notices

Welcome to LinuxQuestions.org, a friendly and active Linux Community.

You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!

Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.

If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.

Having a problem logging in? Please visit this page to clear all LQ-related cookies.

Introduction to Linux - A Hands on Guide

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

I am out of the world of uC and I don't have any experiences with embedded Linux.
At the moment I am working on a bigger projekt which is why I am wondering now if I could use a Linux-Board instead of a uC.

In the moment I don't think in practical work on a Linux-Board. My questions are just bearing general interest but nevertheless they are important for me.

The device/tool I am developing will be handled via USB and different PC (Windows). It generates I/O-signals with a resolution of 2^16Hz very close to the noise level. Ethernet is not needed as it will cause problems with the security of the department. It will need at least 1GByte remanent storage for application, a display very view operating elements and some ADCs/DACs, too. If I would use a Linux-Board I will do this without further intelligence which I have to program (for instance uC). When I am talking about I/Os then I will probably add them to the mentioned board with a external solution.

There are some good points and some bad about if I should use a Linux-Board or not.
I am especially interested a technical view very close to what is possible and what will be difficult. For me this does not include for example licences, attendance, strategy, ... - These are points that i have already made out.

My questions are:
- How complicated is it to implement a HID-USB-conection for the mentioned purpose.
- How about noise on the I/Os? Are they very stable?
- What about real-time? Is it possible to control I/Os in a secure way like it is possible with microcontrollers?
- Are there any other technical aspects that could be interesting for me?

Not sure to understand what you're talking about, do you want to generate random digital patterns? What do you mean by "stable", continuous? a fixed generation frequency?
By the way, it depends on the I/O peripheral used, if it's buffered, you can expect a continuous random output flow by using method like double-buffering. If not see point bellow. If you need a stable output frequency, here too it depends on the kind of peripheral, if it use an hardware clock to generate pattern it's OK, if not see point bellow.

Quote:

- What about real-time? Is it possible to control I/Os in a secure way like it is possible with microcontrollers?

Linux itself isn't hard realtime capable, but it's soft realtime with the preemtive option(s) enabled during the kernel compilation. If you need hard realtime, you can add a sub-layer to linux which handle hard real time jobs and let linux doing all other work, take a look to "adeos", "xenomai" etc...

Quote:

- Are there any other technical aspects that could be interesting for me?

some other points that could interest you: take a look at comedi which is an unified driver for the kind of stuff you want to do (if i have understand what you want). My personal opinion about linux is that it can unify your development live since applications written for linux can run from ARM9 to mainframe, it ease it too since you can use a plenty of code already existing etc... But, you have to know how linux work, and the best way to do it is to play with it, install it on your personal computer and look how it boot, how it's organized etc...

A last point, i think your post would be better suited under the "embedded" part of the forum.

By "stable" I mean no changes in the Voltage but also the jjittering in the clock-accuracy should be like that of a watch-quartz.

I think I will not need a hard realtime. For me it does not matter when the digital pattern begins exactly. But it is more important that the signal itself is "stable" like mentioned above. Also the assembly of the pattern should be exactly on the same on the I/O like ordered. What I want to say is that there should be no missing or additional pieces in the pattern.

Neither I have used any shell nor I configurated a PC. But I use Linux-Debian on my PC. How long do you think will a person like me need to install and programm a Linux-Board for the purpose of my project?

Will it be possible to complete my project by just learning by doing? I mean this could be a good possibility to play with a lot of little pieces and questions which will lay around me and in my fingers and "to play with it" - just to use your words.

- Hmm, I guess there will be no way to put this thread into a other part of the forum.