Exploring BeagleBone: Tools and Techniques for Building With Embedded Linux
T**B
One of the best all-around learning books I've ever seen on an embedded system.
Wow. Where to begin with this book? So much to say...Here's my first thought: If you are looking for a simplified, superficial and less-than-complete review of all-things Beaglebone, then do not buy this book. For everyone else, this book is a MUST HAVE!Seriously.I got the Kindle version of this book almost two weeks ago, and have spent 6-8 hours per day reading it and working on the examples--and I am still only in Chapter 8. There are a LOT of examples, and they are generally very thorough. Dr. Molloy has also created a companion website for this book (who else does that, btw?), and I've regularly been posting any little errata that I find to the page for the appropriate chapter. There have been very minor errata found thus far, which is incredible enough given the complexity of the subject matter. Therefore you really are only limited by your own effort, in terms of what you can learn from this book. I could write an extremely lengthy review about this book and go on and on and on about how it really IS the definitive "How-To" book on all-things Beaglebone because, well, it is. But until you get the thing and start working through it for yourself, you wouldn't appreciate half of what I could say. However I think there are two very important points that I should discuss in this review.First, this is not just a book about using the Beaglebone platform. Sure, that's what the title says it's about--and that's indeed the theme to the book. However this book is about so much more than *just* using the BBB: It's about how to work efficiently with an embedded Linux device, and how to master said device. Dr. Molloy's teaching style is easily one of the best I've ever seen in the field of Computer Science, and the order and flow of this book is very intuitive. This will readily allow you to build on previous chapters and enhance your learning as you move through the book. In addition he teaches you some basic electronics, so that you can work with the BBB device safely and not damage the hardware (or the underlying Linux operating system). When you consider the breadth of material necessary to work with such a platform as the BBB device, it really is a huge undertaking to cover in just one book--but at no time did I feel lost or overwhelmed by the material.The other thing that must be said about this book is that is is NOT just a book about programming. Yeah sure, that stuff is covered. But a monkey could write C/C++ code, given enough time and the proper incentive. It wouldn't necessarily be *good* code--but I've met some humans who can't write good C/C++ code either, and they profess to be well above the monkey in the grand scheme of things. Rather this book really is about how to be a Computer Scientist in the area of Embedded Systems. It's about how to take a well-engineered and very capable embedded hardware platform and use it with an unbelievably powerful (and immensely configurable) operating system, and master their combined use. In other words--it's about thinking like an actual Computer Scientist is expected to think in the real world. Also, the book is not about just loading some code examples into your text editor or IDE, running them...and then telling yourself: "Yup, I got it...that's easy. I can do that, no problem!" Certainly you could do that, but you'd only be cheating yourself. There are way too many of those types of programmers out there that do just that, but then don't even know how to log in to a device remotely, set up a proper tool-chain or (God forbid) have to debug a non-working system. But with this book you are exposed to all of those things--all in the first few chapters!So in conclusion, I'll say one last thing: There are several other books on the market about the Beaglebone/Beaglebone Black devices, and they are generally very good. I believe that I have them all for the most part. However those books are NOT this book. This book is like those books, on steroids...times 10. If those books are the mathematical equivalent of Trigonometry and College Algebra, then this book is Calculus 3 *and* Differential Equations...all rolled into one. Yes, it really is that good. But hey, don't believe me. Instead, just have a look inside the book and judge for yourself. Better yet, buy the Kindle version and go through Part 1. The knowledge you will gain in just those five chapters alone will easily be worth the $23 you spend on the Kindle version of this book.I have no affiliation with Texas Instruments or with Dr. Molloy. However I have been following his YouTube tutorials for over two years now and am very grateful that he has taken the time to develop this entire learning package (book, website, video demonstrations, etc). Using this book my knowledge of embedded Linux has grown by leaps and bounds, in just the past two weeks!
X**X
Ambitious and successful - really useful.
I've never taken a class from Prof. Molloy; that's my loss. I hope his students appreciate their exposure to a really great teacher.After several weeks of floundering around, reading some other books on the BBB, and countless meandering wiki threads, I came to notice a pattern - this guy Molloy comes up a lot in my searches and he has a good S/N ratio. Oh, he's got a book? Worth a shot.Wow. Molloy has the great teacher's gift of anticipating your questions and meeting them with explanations, not recipes. I learned as much in 3 days with this book as in the previous 4 weeks of full-time research. The book has plenty of what I needed: how to work with Linux to access the hardware. It's mercifully free of incantations without explanation. It just skips over the script-kiddy stuff that is all you can find in so many other resources.This is an incrediblly ambitious, meaty book - it's actually 4 books in one. There are whirlwind courses on digital electronics, Linux for the user and sysadmin, and C/C++ programming, before getting down to the ostensible topic, the Beaglebone. I can see the point of the electronics and Linux material, and the presentation is solid and will be comprehensible to a motivated beginner, but C/C++ programming is such a large topic that no one book could do it justice, let alone a few pages. It's not that this topic is unimportant; on the contrary it is central to doing real projects with embedded computers. However my feeling is that it would have been better to state up-front to the reader that some competency is assumed and go on from there. The treatment in the book is simultaneously inadequate for a novice and superfluous for an experienced programmer. The reality is that if you don't have a reasonable grasp of C/C++, you are not going to get very far in embedded programming. (My guess is that Prof. Molloy knows this perfectly well but the editors did not feel entirely comfortable releasing a popular book that states this too directly. Nonetheless, kudos to Wiley too, for publishing a very solid, worthwhile book.)That's pretty much my only criticism, and really it amounts to carping about a couple dozen pages in a 565 page book.If what you want is a recipe for some JS to host a web page on your BBB, this isn't the book for you. If you want to know how to access the onboard peripherals, interface with outside devices, and make the computer actually do something in response to the physical world, you won't find a more thorough, yet efficient presentation. The material on dealing with device trees and .DTBO files alone is worth the price of the book. Nobody else talks about how to control it, including the BBB technical reference, yet it's crucial to understand. Thank you, Prof. Molloy.
M**A
What I love about his techniques is that he uses real programming ...
Derek Molloy is the BEAGLEBONE Master! I have been following Derek for a few years now and have worked out some of his examples in the past...What I love about his techniques is that he uses real programming paradigms instead of skirting it with scripts, python and other simpler programming techniques! If you are serious, you do it in C, write your own drivers, etc. That is the approach I like the most even though it is more complicated. I actually started with Beaglebone in baremetal. Very little code was available other than the SDK which is available from TI that can be quite mind boggling to get going...I wrote my own extensions to code sourcery to work from CCS compiler, so I can use my own JTAGs. I got everything to work just fine. Derek takes the route of programming via the Linux OS, which is a bit different than baremetal...The nicest thing you can do in baremetal is perhaps get as close to a a realtime, stripped down version of an OS as you can get, using something like FreeRTOS. There are a few ports that I've seen still in their infancy...Either way, in the Linux environment you have to go through the peripheral memory maps and make use of the drivers to get things done. There is no better book available that teaches this approach! Good luck getting a handle on the internals of the kernel and working with the driver layers otherwise! This book does an excellent job revealing those secrets and it is a humbling task in my opinion and a bit of Linux tribal knowledge that is revealed here...If you like Linux or wished you knew how to access peripherals through the driver layer, PRU's and so on, get this book on Kindle...It might save a few bucks too!
S**R
Masterpiece !
I found it great ! A concise text about Linux and programming development in C++ for embedded systems. Without this one might have to take up costly training and spend extensive time to search internet about the problems being faced. Provides simple method and exhaustive resources to the additional study material. Support videos on YouTube are also present.
C**N
Very helpful to start developing with the BBB and to patch the kernel for Real Time Applications
It was a very helpful reference to learn how to use the beaglebone black for real time applications and it contains useful tips to control all the peripherals in the board
T**R
Exactly the way the subject should be covered.
This might just be the best book I've ever owned and read in the genre of programming and embedded systems. The language and organization is clear and orderly. The illustrations are very good, and perfectly accompany the text. Coverage of the subject matter is thorough, although some parts are a bit generic in nature. After I had watched one of the author's U-Tube videos on the BBB, I had a strong feeling that the book would be extremely polished and I was not disappointed. It is very tutorial in nature, although the index seems to permit lookup of specific aspects, to the point of making it useful as a reference book as well. There is enough ground level material that a fairly raw beginner could learn from, as well as good explanations of most of the more advanced topics. The examples and illustrations all seem to be accurate and extremely practical.My usual strategy for book buying on any subject that is new to me is to find two or three books that each have a slightly different slant on the subject, in order to get thorough coverage of the material. In this case, I'm not sure there are any three books that would add up the the value of Molloy's coverage.
M**I
Altamente recomendado
Neste livro, Derek Molloy fez um grande trabalho. O livro é dividido em 3 partes: BeagleBone Basics; Interfacing, Controlling and Communicating; e Advanced BeagleBone Systems.A primeira parte aborda o básico do hardware da BeagleBone como, por exemplo, a localização dos módulos principais e conectores. Depois, Derek faz uma introdução ao Linux em sistemas embarcados, onde são apresentados alguns conceitos e muitos comandos básicos de Linux, de uma forma bastante resumida, mas ao mesmo tempo muito abrangente. Depois disso, são apresentados alguns princípios básicos de eletrônica, como corrente, tensão, associação de resistores, diodos e conversores analógico/digitais. a primeira parte finaliza com um capítulo com o básico de programação para a BeagkleBone.A parte 2 aborda as GPIOs de forma bastante didática, com exemplos de acesso usando C++. São apresentadas entradas analógicas e digitais, saídas analógicas, digitais e controle PWM. O capítulo seguinte aborta a compilação cross, usando a IDE Eclipse. a seguir são abordadas questões de comunicação com os barramentos internos da BeagleBone, como I2C e SPI, finalizando com o interfaceamento da BeagleBone com o mundo externo (motores DC, motores de passo, relés, senssores analógicos, displays etc). Questões mais avançadas de Linux também são abordadas nesta segunda parte, como, por exemplo, módulos do kernel.A parte 3 aborda tópicos avançados, não só da BeagleBone, mas de programação e Linux também. Exemplos: sensores usados em IoT (Internet of Things), celinte Web em C/C++, envio de e-mails, gerenciamento de dispositivos IoT, interfaces com displays LCD, desenvolvimento de aplicações com interfaces gráficas usando Qt, captura de imagens, áudios e vídeos; streamings de vídeo. O capítulo final aborda questões de interfaceamento em tempo real..Acredito que este seja um "must have" em termos de Linux em sistemas embarcados, É óbvio que o objetivo e tema principal do livro é a BeagleBone, mas são apresentados muitos conceitos de interfaceamento eletrônico que são básicos a qualquer sistema eletrônico. Do ponto de vista do Linux, são apresentados muitos conceitos que são usados não só em sistemas embarcados, mas em qualquer sistema Linux. Ou seja, o livro também oferece um conhecimento razoável em Linux. Em termos de programação, o livro aborda técnicas de proramação muito interessantes que podem (e devem) ser aplicadas em qualquer desenvolvimento de software em Linux, como, por exemplo, funções callback, POSIX threads e desenvolvimento de aplicações em modo gráfico.
F**T
Une bible
Ce livre est très complet et aborde de façon détaillé tous les aspects du Beaglebone. Même s'il est très bien écrit, il vous faudra avoir déjà quelques connaissance en programmation, en électronique et en OS linux.j'ai l’édition de 2015 qui suite aux nouvelles versions de l'OS n'est plus à jour, mais le site de l'auteur permet d'avoir les informations pour adapter les exemples.