开发者

Embedded Linux for total beginner

I want to learn how to develop in embedded linux. What materials should I need? I don't have the actual embedded device so I plan to use some device emulator for the PC. I want to know 开发者_开发技巧how to load the kernel and the filesystem in the device.


Depending on the device you plan on using, you may be able to emulate it using QUEMU.

Even without a device, you could probably get started by reading through some of the articles on http://www.linuxfordevices.com.

A good starting point may be The Embedded Linux Overview Quick Reference Guide.


You might want to check out http://www.linuxfromscratch.org/
Most standard linux distros are intended for full-blown desktops. The "linux from scratch" approach is ideal for embedded platforms, since you can create bare-bones kernels that can be fit into very small memory footprints.

It's fairly common for embedded single board computers to have at least one RS-232 serial port and at least one ethernet interface, and a boot loader stored in flash. The bootloader will often let you use the serial port to configure one of several boot options, such as boot from on-board flash, possibly from SD or USB flash, or use TFTP over ethernet, or sometimes even through the serial port itself.


The device manufacturer should provide some sort of SDK, development environment, or at least some documentation for loading an OS on the device.

You'll need some sort of cross-compiler and linker to create executables for the device. A remote debugger would be nice, but may not be available.

An emulator or simulator that runs on your workstation would be very, very helpful.

You'll need whatever hardware is needed to move data and executables to and from the device. This may be Ethernet, RS-232, wi-fi, Bluetooth, USB, optical, eprom burner, or something weird.

Without more information about exactly what kind of device you are targeting, there is not much more to suggest.


If you want to work on a real board instead of emulator, you can try some popular development board such the beagle board. Download a kernel source tree and make your own build, and then flash the bootloader and kernel images onto the board.


If you want to quickly start with something, I suggest to use QEMU and Angstrom precompiled packages. You can try this tutorial: running-qt4-examples-on-embedded-linux


Many of the more commonly used boards use flash memory for "disk" storage. Learning how to create and manipulate bootable images, including multiple partition disk images, will be one of those things you'll learn along the way.

As an earlier poster responded, you really need to decide which device you want to target, and that means deciding the applications you're intending to develop.

Not that you asked for a recommendation, but the ALIX boards from pcengines are widely available, reasonably priced, and relatively simple to get started with.


I suggest try from the basics and then move up. Try Cross Linux from Scratch http://www.linuxfromscratch.org/clfs/view/clfs-2.0/arm/?


Another good starting point, to get familiar with embedded Linux: www.embedded.org. You'll find a good intro there. I'm trying to get myself familiar with embedded Linux as well and this 7 part intro gave me more insight in the differences, how it works, and how to get started.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜