Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Mastering Embedded Linux Programming
Mastering Embedded Linux Programming
Mastering Embedded Linux Programming
Ebook896 pages7 hours

Mastering Embedded Linux Programming

Rating: 5 out of 5 stars

5/5

()

Read preview

About this ebook

Harness the power of Linux to create versatile and robust embedded solutions

About This Book

- Create efficient and secure embedded devices using Linux
- Minimize project costs by using open source tools and programs
- Explore each component technology in depth, using sample implementations as a guide

Who This Book Is For

This book is ideal for Linux developers and system programmers who are already familiar with embedded systems and who want to know how to create best-in-class devices. A basic understanding of C programming and experience with systems programming is needed.

What You Will Learn

- Understand the role of the Linux kernel and select an appropriate role for your application
- Use Buildroot and Yocto to create embedded Linux systems quickly and efficiently
- Create customized bootloaders using U-Boot
- Employ perf and ftrace to identify performance bottlenecks
- Understand device trees and make changes to accommodate new hardware on your device
- Write applications that interact with Linux device drivers
- Design and write multi-threaded applications using POSIX threads
- Measure real-time latencies and tune the Linux kernel to minimize them

In Detail

Mastering Embedded Linux Programming takes you through the product cycle and gives you an in-depth description of the components and options that are available at each stage. You will begin by learning about toolchains, bootloaders, the Linux kernel, and how to configure a root filesystem to create a basic working device. You will then learn how to use the two most commonly used build systems, Buildroot and Yocto, to speed up and simplify the development process. Building on this solid base, the next section considers how to make best use of raw NAND/NOR flash memory and managed flash eMMC chips, including mechanisms for increasing the lifetime of the devices and to perform reliable in-field updates. Next, you need to consider what techniques are best suited to writing applications for your device. We will then see how functions are split between processes and the usage of POSIX threads, which have a big impact on the responsiveness and performance of the final device The closing sections look at the techniques available to developers for profiling and tracing applications and kernel code using perf and ftrace.

Style and approach

This book is an easy-to-follow and pragmatic guide consisting of an in-depth analysis of the implementation of embedded devices. Each topic has a logical approach to it; this coupled with hints and best practices helps you understand embedded Linux better.
LanguageEnglish
Release dateDec 29, 2015
ISBN9781784399023
Mastering Embedded Linux Programming

Read more from Simmonds Chris

Related to Mastering Embedded Linux Programming

Related ebooks

Operating Systems For You

View More

Related articles

Reviews for Mastering Embedded Linux Programming

Rating: 5 out of 5 stars
5/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Mastering Embedded Linux Programming - Simmonds Chris

    nq ^book_preview_excerpt.html}nGbۤ<[㵏9%HI;{8UeVWT{qKkܣ\|YYMvW̬/"]<ۦm5:&V&'hM~w6j-&M)srYy.ӷO68M^wv6{eksg|vm.LrԵ [Ƿon sgѩ^M{M3kխVnYQfckoydZ}uU,ic}Z6Y]LWYf&~ –yĒ/k3KˢI$cs`]mићn [IiskJ6:r״vI=*m㒀tۗ|t:mc+4[sgxv\ib]d[]]D+C5ѻsM=WeQ3}/)Y9{f:y.3CF62ĻoT]iߥaZo6kPH؊cKbNXF.>݌2GiaƤuV~mm-btҤu}FzeN| oMf5IV[bǸ$Ev8,mܭ:!rѤ3;^?k/޾jڴ,6ѓ>ð5hLFk09J+ݣZmm;q"R} (K~cyF.:@hO0v#wqE6{GBFFXQTE 3L9>įq׬-i]h % e=w#x*F7j6ů.IA^E>*B:Iq5fM0ng?!{]U33^D%6fj{S1!͋fG$-!"{83ޯ D1b/ƾb՟}ڭ%[.FsTYvޥkcJ6/>r@̙y}/ 4;G}ڏX ,I!ƩÁbfYB: =D՘unsSm{0ɆH%%Ba9iYpbe;[[me1'G~kqEyn.ސ cZ;KWI$ɼ}u5zq͞OC8+O{hMb^čCp 7Sv:LX[*orZVlpZgZ>)]XC8W;f$`e5(5{FXm{=ǘUUiW˿zYb2nMMSЩ'(V"%AŒ 82kTU qz#K2>Ui51),-5B=ªnʇ揱ԗv$ Fmfo+-p<,{G{v8{}2+f1i\ ydl  _&Hż Ċ2(؇-oXKR$9BZ{DCЉ6g?ԮFɜ КlQՊ%9A6O񢵪y] a!*+[udَ yJL&(,v>֮*ĀcWXv>~=YlybNI38ܶӦMt7?zu<G!FQD#2x3/G1S>\"7gdLNSSe-O&sh sןG,WO^0*׬Y^旎brmq7w9_1l*RPƬ06kb-I \yNI1IX)uA T0Q >LB:OXm%h?x!U@؍kCl~VI rt젨]ÊD4"6R'2yB]DN;dcF +[(]( mW18ؐbF *XA>oNG7zu9*1AmbS+ul%YxLBPC(tBo,CυKy shE\$Hry?3G7AVJr2.tQeH95'Jv#\NѮ]n TwǨOMNc)汳Hm46졈Mk%O3JN^4zxދ3UbѮEpKLWE$it!2Qab^gl:uѴq"L,W^|Kzzr,1Z7dq #C׈Vcd'&)[ )sq2M?SYh4Ex~9E<a!1.:NξJU^k~L~LP$ kd4qwi6aqu6T.~D'L~q?jBk;ҁ욈d$vZmlCb[<8q(ډ2bn$I--NJUkz*Z$i?VEס& + {B5Цf9;v)""6PCiқщ-:1-u1p.Q߆=?LNʹߌק1Fs|/kJhӸo)F}3|O{@UڭG}XonЉ*Ea;p^\ۗu7\O\[XTǽ4D7+[DN ܉Y QR]Tc&߱eoJ+bnJcfng/-fje F*Khbz9[Z87tFxy~i68Ƹv8Wt#d CnҘ!΍x#ZliԊJuZ2Vm#"95/wJtnnM(~Òv5BV qܢTudޓєN C/Jǡ70@h<Go}k檜'>dhgo0m{Tu l +[xܨ:Kո=Yb#o9P6(YFEzl~X,)Ċe';RSےQ|Kp\2{Y֜3?Mϥ֡\pQ$w5UAn+UzY$5Df/'v|;5̀"E܂dmink(bȍ1~羸Ȋ5}#b +hfYu1!*y 8i-6ڴ6+H.swiM[߮i 3;KYJS=$ 9q'F_hA{SL;u,-ty*\Y-'i༑oJ YbEt◹|;MoDV-r 쫠K(KBM4|[ztG"{mvSOs_vB!8<-wigьmca T vrY4ymߪ}Ƭ%Y-v>\.ɾ(xe 3EEQҐܝsOHtճvz4a ZӠo+/iRr-LUF3-Ijk-iC[!UkRx)Z)ґ-+!t:Zw ;d wiC5tvsqDJ =R mrݘrFZ mW'|ڬG%@zVF=I2Pl+.1M]@BI -ruaܰbդA-lqw̭uQJ Urd$HHTiU~nA9*ԤM]CC)t"Vg<5RgmPY!e}6%bbZ\r1O,q¨V@ttS|2z-ojNf(lݩ/o|ESI,Ҝw"æ ǀIwv$7K8 * o@$ #MvY˵aTMQ݈YQҍ*2:qK+[KB<] ӵj<}ۀkR]`uǍjcLJhxGZ  VOgv94[6Z1  M;d7 L iuInȌ"($!ӭq0ba $ܾ? $O4.x#D Z W,tʉmjzKaNZ3֓JrA&ݪԊL#Ղ5Q1rL7֐* n%|nމo9 \peQ׶Ј- SpWF@WJӧAkln@R0D_kLO~GwYF!0fԕe$x_O|/ME2/!;j>LKaމscȍ 2aOe {h jtvE+K )5$*,G_g}C8>.h*CBdA^3- v8ud9ihkR, pd\cvo݉fg< Eo<VI+)+<\ޭ V9V\;HrCo2 ' "/3:ߌztxiqO~p#4ٛ emYA& !A+ӓ Ull8U&Mce+ӲE%.reg?9Y<C_4A9 f_tYܴE9{79_z,VJK,Q1۶n5Cۓ#ΒhR' Ǔ>ax8KNz] 3R9*"20/iP_";{7\kGJ&oɧ ^Zpdgt$7l 2?q^68V yqtY,zMhA BX[E"I`U.΋]|Bڭ-@OnC{3#,۸W!S{B]% o+- ݄W w G;x嶜%:dx1nW#N0 q6F3+KӅDtf4]p. 7%󲶷‘ K4<R<}°Hq9F:K{?boZax 0^ƥ7š@՞J n6+\?5ɫtZqb $%h^vKS![B(5) @CKs0TL_o7uxWhPࡌc8X%Cҥk:p9(䘱WaV<=R'.H[PoW~K5mt+MCd?1) L{UE9S"y+,)' x#G]-8I+1&t$U3`Zŭt^ ti9`y?\\_xdaٻ'okNq_uP BPT=@$3:35ꂽ}ouddmrQ{![bW{rE)ː9"nvÁ z58s""=Pn„? Dd+2rֽƋbb(0H/7`C#y%r}m YI09q*Db Vx` D%{Wل.CZU7/k"Qy2Ajۉ`$إJmR^tP&8tN3:hV}K_dU(d5N'p:iMwkEqCDz{Wo2kY{mƙG 5<}%~[mZ@E9Bl>߉ 疿ք/[lP@|(+Lm-.&Ͻc5[5KNjZ U x宝>zpi2`k,35\%"\yh/0M+sה,z?8kBb q2E&#uS5z>>ᡞ4TjѪbw:)9f%.A_:CĊ/&~g5(t׵A("`;Ggv?|ZGO9fJa^nV[p=Nu'MY8 g6;8ٟ׃$E /% {bϮ-yH>,,a+f|0|7a62ȥˎq}O!S#~g sqDBn0|7x]^nK@m7Wo:нJXp(R}J:<ɧT@}XJ-7)AE!`7F<>,T =Aq@$&.οAjC3f$MÖ qW(f~DCX #<+@W"wVk9֦;.wCH-B5929hӧH4~^(0g \>\aayCCߧrjF=g 6]*C4ɮv4(&Px">l%Hoy ײVrַ8 W s}BJ@jN?$tS&JX >cZcΙeޟT& Vrj@μEp(})'#/B:tW}qj_#!̇iWqC^9WM5xW(c, 0i@Jϫ~I h#s` 1eMx`tieǎ Iy _q <ۋ?]|HN.?xNI?NCЏ;C6u>AБ +8'>Vaqլi ]~~W3KfP'06:ԥ ޭs=EÚOn:]1BW(av.z!$g_#kU[$k+PWڕCn=U :l VHJ' ^Qͽk@WXK[jy8Tr d8?Iê ӓiOᤃ}|n|ё5\`[<>a4 .] 09;{(Z2/qVS|wV b&§VrcA 1G9lI.oy\NqU!뻢- ۣmqyh3Dh&]&O2zvcډ8'd%qS!WC؊WXkΓ%]O+F\b{1%^*N䟒:ic8E:Q3Ee3S] %dTp\|"GmAF?tɏ?]Y˴=]\Ift30dx;0f1^{)l0AՀP&ju\xn DdSb"Zudpޜ#I.1waLyRS12%>!8~N.WSO@\% TYstß؟o-kef!9\Tܽz$mw@k?ە-#/ Uj>kڡ ^ KN<@̸5sTC8Z\v qΔlD>D|o<G 0\)&MRcֲ!pF@+kM!XJL$0i6ߌ ~L$NNȹߕ~HJ#fGR_;; / p-ԛH0-sJR{-idgH1fx|Vr|"-*vP$0I fԖR,:Vr&]N59Nǹ'ȶ,]ūO(+2=<ܽzy-C)1>A2¶LIX6Q+NUr9kno(qy V4K@ӺR,7P 2I+#IQ`q8[p+FMy| k3y 84' ȿY *߻c5nd$gqѸqxL\^{ClN#n(f ʭ0R]#I2xiƹfruAtwNmw*newv0xԫP*jh*5_|عܕELFfMܻ3\ȈKdjS[1Ԍ+ \%oU銓 Wo{У JnG ؞R8}Fu[4tQh3+*J`+^TU[>i%iٱoR}.etS7>TP5)+U7\4-'{lzsLn$Y)kf;١7DTxҰ3ץ *Ǖa.RZ ݔqj};Y pyt:{T%Qؕ8$]K0Wb;e)ʉrj4K A 7Z?>ָ'`7j.0 ;"_:̂+ʦo2oM"z;Yҭ[-lt$F͸!|[(,ihe6E'UW2[H5WćM\X,PdnyEL jJΎSK[(4ӪuY5[[v1x,"Yxr}jD)L2BC97_}ɞ y˝AƼa$C_<vܣHheQLM KׂݛenMAP Q>̞g|CRfa ܴ:cnkAI&sƇXG2N &kLV1TG_)2 IXW0%Z}5_߅H;1E>!ȃrk<*ё bWMZyB_".]pj'T3b"[ijc`WrBO\[~*DRSrsHJժ SedM(2iƠW^=^6BwIQ?T*srОX( e3q+&)A60Usҋ%<±Q&TuAsT\5H|UXW)YG"0GR_G p 8@_*=T@rE7*㘀Ю2g!Ȁ,/N}W.$ )K :-y6筒)n}7N9m>ןvDd$9.;Z.&r =B/D eL=wxLWhZO:tsEYr=6$o$8$Jr EdlŠ[!DL]^ P]xPĴv00fxXX15i W}@M=&@»M|%${ZvҕdevqwM\\OZԜ+$o֞Ʋ'@np1gt`'d~7u3[ PkHaAPrq[N˰#4fr5ya}ۍ8#9@eO;y/<E2Pk5S,5A*_FݙDj?-A)M !E9W]8Wa+`?L٩Ӽ}/QypI3{kfs.ohC^ior+NvPТ*{ &n)niuUBGDa췁7~yM Vc@U
    Enjoying the preview?
    Page 1 of 1