2013-07-31 11 views
20

Desidero imparare le nozioni di base di Linux incorporato. Per fare questo, presumo che io debba andare a comprare una sorta di scheda hardware e avere il codice del kernel di Linux.Suggerimenti per l'apprendimento di linux incorporato

Non ho idea di dove iniziare e qualsiasi suggerimento/suggerimento sarebbe il benvenuto. Idealmente mi piacerebbe che la gente indicasse un sistema completo (ad esempio questo "kit di bordo con linux" con questi "manuali" è molto buono).

Anche il costo è un fattore come sto facendo io personalmente non come un business:)

Grazie mille, Codice

+2

Se ti puoi permettere, acquista un beaglebone Black o Raspberry Pi o altre schede disponibili nel tuo mercato.Apprendi concetti di base come Access Pin di GPIO, lettura di ADC, I2C, SPI, UART dallo spazio utente. Una volta trovato comodo guardare i driver, ad es. GPIO, USB ecc., Quale sia il tuo interesse :). –

+0

Perché non utilizzare QEMU [www.qemu.org] - un progetto di emulatore open source gratuito che è molto utilizzato (ad esempio Android SDK). Puoi trovare tutorial per emulare una macchina ARM/Linux usando QEMU. Es. http://balau82.wordpress.com/2010/03/22/compiling-linux-kernel-for-qemu-arm-emulator/ – kaiwan

+0

Grazie per entrambi i vostri commenti:), dalla lettura dei post qui sotto e guardando in giro a pochi altre fonti sembra che beagle black sia una scelta popolare e sembra piuttosto economica !, ma anche QEMU sembra degno di essere esaminato se è quello che penso tu stia suggerendo: o (cioè un emulatore di liming per PC dove puoi hackerare il codice) –

risposta

19

avrete bisogno di:

1 - Boards: ho iniziato con un BeagleBoard. Un nuovo beaglebone black è ora disponibile. C'è una grande comunità di supporto per i beagles; molte istruzioni sulle pagine here e here e pronte per l'installazione images. Puoi anche creare l'immagine da solo (passaggio 3). Queste schede hanno la maggior parte delle periferiche con cui potresti dover giocare e possono anche essere usate come computer extra!

2 - Libri: come ha osservato il Mali, Linux è un oggetto in rapido movimento, ma nelle prime fasi di apprendimento avrai bisogno di un solido riferimento. Suggerirei "Embedded Linux Primer: A Practical Real-World Approach" in quanto ha molti esempi e ti guida passo dopo passo. C'è anche "Building Embedded Linux Systems".

3 - Il firmware: a) toolchain, b) root filesystem ec) immagine del kernel. "Buildroot" è il modo più semplice per iniziare. Openembedded e Yocto hanno una curva di apprendimento molto ripida. "Embedded Linux Primer: A Practical Real-World Approach" contiene alcuni esempi su come utilizzare buildroot.

+0

Grazie molto molto per la tua risposta! Tutte queste opzioni sono molto apprezzate, è bello sapere che molte persone considerano opzioni simili :) ... sembra che beagle sia la via da seguire per iniziare:) –

+0

Tutte le risposte sono davvero buone, grazie !, ma questo sembra essere il più strettamente corrisponde a quello che volevo (e in effetti ottenuto). Ho ottenuto il BBB ei due libri che, dove consigliato ... non sono arrivati ​​fino a toolchain e così ... c'è molto da leggere! –

10

Avete alcune tavole cool (non costoso) a Olimex Inoltre, Armadeus è un bel progetto per cominciare.

Dipende davvero da cosa si vuole fare e cosa ti piace, ad esempio contribuire allo Replicant dovrebbe essere molto divertente. È inoltre possibile trovare un router economico supportato da openWrt. In altre parole, trova un piccolo progetto su cui ti divertirai ad hackerare e scegli l'hardware dopo.

Nei libri, penso che "Building embedded Linux Systems" sia un must, ma Linux è un obiettivo in rapido movimento, quindi i libri potrebbero essere obsoleti.

Per l'apprendimento delle nozioni di base, suggerisco di creare il primo sistema, Buildroot, rispetto ai sistemi di generazione Open Embedded o Yocto.

Felice Hacking,

+0

Thnakyou molto :) ... uno in più per Buildroot, questo sembra completare la mia lista di beagle + buildroot come passo iniziale per me. –

+0

Sembra una buona scelta, con buildroot imparerai molte nozioni di base: come generare una croce toolchain di compilazione, costruire un kernel per arm arch, cross compilare e generare un rootfs con busybox, e figlio su .. – Mali

6

Ho appena iniziato su Linux embedded. Ho appena ottenuto un lavoro in cui lavoro nel firmware per una serie di prodotti.
Sto leggendo questo libro "Embedded Linux Primer: A Practical Real-World Approach".
Tutto ciò che è implementato nei prodotti è presente in questo libro.
Consiglio vivamente questo libro. È fantastico.
Per me, la prima cosa che dovresti fare prima di immergerti è leggere questo libro. Il libro è una miniera d'oro.

+0

Grazie, infatti, in base a queste raccomandazioni questo è il libro che sto leggendo nel mio tempo libero con le mie pantofole e una tazza di tè :) Ho anche "Building embedded linux systems" e un beagle bone black su cui pasticciare: –

+0

Nice .. Forse dovrei leggere anche "Building embedded linux systems" .. –

+0

Non l'ho ancora avviato, ma sembra una progressione naturale :) –

Problemi correlati