LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Password
Linux - Embedded & Single-board computer This 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


Reply
  Search this Thread
Old 06-29-2008, 11:38 AM   #1
octane-link
LQ Newbie
 
Registered: Jun 2008
Posts: 2

Rep: Reputation: 0
Beginner to Embedded Linux


Hey everyone:

I am new to embedded linux, and I am stuck on good resources to learn from, what hardware to get for testing, etc. There is so much information that I am suffering data overload.

I have experience programming 8-bit uC's in C. However, I am totally new to Linux. I have dabbled a bit with Suse 10, but that was a while ago. I want to use this to create (eventually) an autopilot for a small aircraft. This means that the hardware must be decently small, that way I can save money between learning and final application.

Thanks for any help pointing me in the right direction!

EDIT: This is the board I am looking at right now: http://www.gaotek.com/index.php?main...products_id=41

Last edited by octane-link; 06-29-2008 at 12:12 PM.
 
Old 06-29-2008, 03:01 PM   #2
jdiggitydogg
Member
 
Registered: Sep 2007
Posts: 42

Rep: Reputation: 15
If you are interested in just doing some embedded work...you might start with one of the platforms supported by the OpenWRT project...like the Linksys WRT54GL or the Linksys NSLU2. The cost is good; and there is an active community. Its also easy to build the toolchains for development.
 
Old 06-29-2008, 10:09 PM   #3
estabroo
Senior Member
 
Registered: Jun 2008
Distribution: debian, ubuntu, sidux
Posts: 1,126
Blog Entries: 2

Rep: Reputation: 124Reputation: 124
That is a sweet board. From the product description it looks like the CD that comes with the development kit includes all the cross compilers and libraries that you'll need for that board for the most part.
 
Old 06-29-2008, 10:43 PM   #4
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
"This is the board I am looking at right now:"

Uh - I don't think so - do you have a high-level language for programming the FPGA, and do you have the JTAG programmer for transferring the program to the board?

Also keep in mind that the device does not have any provision for monitor/keyboard, so you need to be familiar with other techniques for testing your software.

I'd suggest using a low-power PC104 board based on ARM/XScale or x86 families of CPU and with display and keyboard input. When you're comfortable working with that, then you can take another small step by disabling the keyboard and display.

An autopilot is a very ambitious project; even with full specs for your type aircraft it will take at least 2 years to develop and test (assuming you know what you're doing from the start). Aircraft systems must be highly fault-tolerant; failures need to be detected and alarms/notices set and in the event of a complete failure, the system should essentially cut itself out of the control loop but set off an alarm so the pilot can take command. There are so many things to check - you don't want an autopilot to do horrible things like attempt to overcompensate and stall; you don't even want porpoising or wagging. I don't know of any legal means of retrofitting an aircraft with a home-made autopilot, unless it's an unlicensed aircraft like an ultralight. Then again if such a device failed in an ultralight, you'll probably lose control and hit the ground before you can even react to the alarm on the autopilot.
 
Old 06-29-2008, 11:17 PM   #5
octane-link
LQ Newbie
 
Registered: Jun 2008
Posts: 2

Original Poster
Rep: Reputation: 0
Just to clarify, this is for an R/C size plane, so no lives are at stake. There are no legal ramifications for what I am doing, I have checked that.

I don't think it will take two years to develop, but who knows. Software testing will be time-consuming, but most of the sensor work can be done in the lab. Testing control loops will have to be done in the field.

Thanks for all the input. I am still undecided what I will be doing, but you have given me a lot of insight.
 
Old 07-01-2008, 01:52 AM   #6
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
Well, for cheap embedded boards which run with Linux, have a look at the "gumstix" boards.

Of course you need an adequate power supply for your computer, adequate payload capacity for the extra electronics, and other sensors to give your pitch/yaw/roll. How will you program and switch on the autopilot, or do you just want the autopilot to hold the magnetic heading and maintain level flight and switch it off and on with a radio signal?

Depending on the complexity of the controller, you may be able to do with a mutant of an ancient microcontroller - check out www.rabbit.com. The R{2,3,4}000 are very capable and low-power successors to the old Z80 CPU.

Your first project might be to instrument the aircraft to measure parameters which you would need to implement an autopilot. Log time, wind speed and direction, pitch/yaw/roll, and position of your control surfaces; you should be able to work out the operating parameters - how quick/smoothly you apply the controls and the limit to which you push things. You can log wind speed and direction on the ground rather than from the air - unless you plan for the aircraft to move so high that the wind conditions are different from those on the ground. Naturally, the aircraft is controlled slightly differently under different wind conditions and when flying in different directions relative to the wind; in a full size aircraft you might adjust the trim, but I have no idea what to do in an automated model aircraft.

The interesting question: how do you measure altitude? A barometric altimeter may be perfectly adequate for large aircraft at flight altitude, but it would be difficult to find a small, light, but extremely sensitive barometer to estimate and maintain the altitude of your model aircraft.

Don't underestimate the amount of work needed, especially if you don't want your aircraft to crash during your tests.
 
Old 07-01-2008, 02:15 AM   #7
raedbenz
Member
 
Registered: Dec 2007
Posts: 93

Rep: Reputation: 15
hi..
the main issue is to learn embedded Linux and become capable with it.
All board will do the job, but when coming to board selection just compromise between the specs u require (peripherals, memory size, etc..) and the price.
(Always check whether there is a good support for ur board like forums , mailing lists, etc..)
 
Old 07-01-2008, 07:23 AM   #8
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
It's not clear to me what the point is; to learn embedded Linux or to play with embedded systems in general. The Rabbit CPU that I mentioned will not run Linux, but it is an excellent machine for all sorts of embedded work; especially if you take the time to write in assembly rather than use the somewhat clumsy C development environment provided. For an RC airplane, power consumption and weight are very important; a gumstix type machine or the CompactFlash package computer may be light enough, but perhaps too power-hungry - both will run Linux.

For learning to cross-build for embedded systems, it's most convenient to start out with a system that has video display and keyboard input capabilities. With some familiarity you can then move onto devices with no video display and no keyboard. This takes a lot of time, and it also takes a fair amount of money. This is why I think the cheapest way to learn is to get an ARM/XScale board just so it's not binary compatible with the computer that will be used to build the system, so things can't accidentally work when the build system is not set up properly. These boards can provide video and keyboard input and at a later stage you can simply disable those features and practise techniques for debugging without a keyboard or video display.
 
Old 07-01-2008, 07:38 AM   #9
rjlee
Senior Member
 
Registered: Jul 2004
Distribution: Ubuntu 7.04
Posts: 1,994

Rep: Reputation: 76
If low cost and lightweight are the main priorities, then I would look at the PIC series microcontrollers from Arizona Microchip.

The development kit sold my the manufacturers is highly expensive compared to the cost of the chips, but all you need are a programmer and an assembler, both of which are readily available for a much lower cost.

The chips themselves are quite limited; they only have a few dozen registers and no built-in support for off-chip memory, but they can do quite a lot for their price (a PIC10F200 will cost you $0.39, some of the more expensive ones have built-in AC/DC converters, and even radio decoders).

Edit: But again, while you can use Linux to program them, they don't run an operating system.
Hope that helps,

—Robert J Lee

Last edited by rjlee; 07-01-2008 at 07:39 AM.
 
Old 10-07-2008, 10:14 AM   #10
tablebubble
LQ Newbie
 
Registered: Feb 2006
Location: Lagos, Nigeria
Distribution: Mandriva 2009 Spring
Posts: 12

Rep: Reputation: 0
hello guys,
I need a development board for my final year project that is <= $100 (ie less than or equal to $100) and will have the following feature on board:

any ARM processor ( >=100MHz)
64MB SDRAM
256MB NAND flash
8MB SPI flash
10/100 Ethernet
SD/MMC slot
USB 2.0 host port
USB 2.0 device port
Standard 20-pin JTAG port

Or the most important to me are: ARM Processor, Ethernet, USB, SD/MMC slots with good SDRAM and flash.
 
Old 10-08-2008, 02:20 AM   #11
raedbenz
Member
 
Registered: Dec 2007
Posts: 93

Rep: Reputation: 15
Quote:
Originally Posted by tablebubble View Post
hello guys,
I need a development board for my final year project that is <= $100 (ie less than or equal to $100) and will have the following feature on board:

any ARM processor ( >=100MHz)
64MB SDRAM
256MB NAND flash
8MB SPI flash
10/100 Ethernet
SD/MMC slot
USB 2.0 host port
USB 2.0 device port
Standard 20-pin JTAG port

Or the most important to me are: ARM Processor, Ethernet, USB, SD/MMC slots with good SDRAM and flash.
hi,,
the price is quite low u looking for, but have a look to
bacteriologic systems and Olimex they are a little bit more than 100$
 
Old 10-09-2008, 07:29 AM   #12
tablebubble
LQ Newbie
 
Registered: Feb 2006
Location: Lagos, Nigeria
Distribution: Mandriva 2009 Spring
Posts: 12

Rep: Reputation: 0
Thanks man, though i've seen the site during my google search but it seems to be my best choice i think i will stick to it. but the package seems separated ( the board from its accessories), which means double pay. well, it might stick to it.
thanks
 
Old 10-09-2008, 07:32 AM   #13
tablebubble
LQ Newbie
 
Registered: Feb 2006
Location: Lagos, Nigeria
Distribution: Mandriva 2009 Spring
Posts: 12

Rep: Reputation: 0
I will also like to know which distro is best for embedded system?
 
Old 10-09-2008, 08:59 AM   #14
estabroo
Senior Member
 
Registered: Jun 2008
Distribution: debian, ubuntu, sidux
Posts: 1,126
Blog Entries: 2

Rep: Reputation: 124Reputation: 124
Usually the best distro is whatever distro has been ported to the particular piece of hardware your working with. If a distro hasn't been ported then I'd recommend looking at busybox, its an easy way to get the majority of the apps you need cross-compiled to your hardware.
 
Old 10-10-2008, 01:54 AM   #15
raedbenz
Member
 
Registered: Dec 2007
Posts: 93

Rep: Reputation: 15
Quote:
Originally Posted by tablebubble View Post
I will also like to know which distro is best for embedded system?
it depends what accessories u want. the mandatory features u required are on board in both brands.
Usually the best distro is the one that is provided with board from its manufacturer. although there are other distro to use. for example debian rootfs is quite popular.

cheers
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Embedded Linux as Dependable for Developers as RTOSes, says Embedded Market For LXer Syndicated Linux News 0 01-23-2008 11:40 AM
New on Linux, just a beginner :) sportivo888 LinuxQuestions.org Member Intro 1 12-03-2007 05:24 PM
Linux Beginner takkhar Linux - Newbie 12 07-26-2007 02:38 AM
beginner to linux n_kitchakit LinuxQuestions.org Member Intro 1 04-24-2006 09:25 AM
Linux Beginner rakeshrawatg Linux - Software 1 03-26-2006 07:31 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer

All times are GMT -5. The time now is 06:21 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration