Book Description
This new book is carefully designed to teach C language programming as it applies to embedded microcontrollers and to fuel knowledge in the application of the Microchip® family of PIC® microcontrollers. Coverage begins with a step-by-step exploration of the C language showing readers how to create C language programs to solve problems. PIC processors are then studied, from basic architecture to all of the standard peripheral devices included in the microcontrollers. Numerous worked-out example programs demonstrate common uses for each of the peripherals. Readers are subsequently introduced to the built-in functions available in C, to help speed their programming and problem solving. Finally, readers are taken through use of the C Compiler, and learn to efficiently develop custom projects.
Customer Reviews:
A rare tutorial for using C on the PIC.......2007-01-22
Unlike most PIC books which focus on coding in assembler, this book uses the CCS C compiler for all of its examples. It provides simple solid C examples that show what needs to be done. An embedded C tutorial in the front of the book reviews the language. Excercises (With some solutions in an appendix) at chapter end help you know what you understood and where you need more work. The appendix of library functions repeats what is available in the CCS help so I did not find it useful. Maybe it would be to someone who didn't have the compiler. Overall, this book helped me find how to do what I needed to with a minimum of reading irrelevant information and that's really the highest praise I can give to an instructional book. I recomend this book to any experienced programmer who wants to get started with PIC development.
Doesnt worth its price.......2005-04-26
Provided you have NO knowledge on C programming and microcontroller, otherwise you dont really need this book. I personally think that big portion of contents could be found in CCS's manual and sample code FREE.
Anyway, this book is more readable than the manual as it is more well-arranged, together with some explanation and diagram. This could be helpful to beginner with NO prior knowledge on embedded C programming.
Excelent book for a Newbie!.......2004-02-19
For a Newbie on PIC C programming like me, this is really an excellent book. It teaches C language programming, helping the reader to create an entire program (step-by-step). Also, the reader can understand the PIC architecture and learn how use a C compiler (like CCS C). Finally, the reader can learn and try to implement a complete project using microcontrollers. I recommend this book to anyone who is thinking to make a travel through the field of microcontrollers and embedded programming.
A very good Text Book.......2003-11-28
A very good textbook for undergraduate learning MCU programming. This book is based on CCS C complier, a step-by-step guide from basic C programming to project planning.
Book Description
Enter the world of embedded programming and microcontroller applications! One of the only books available today that uses the increasingly popular and cost-effective Atmel AVR embedded controller as the platform and application for learning, Embedded C Programming and the Atmel AVR, 2E is the perfect choice for novices. Featuring a host of fully-functional example applications, this highly innovative book enables users to adopt a "learn by doing" approach as they develop the knowledge and skills needed to achieve proficiency. Following an introduction to Atmel AVR RISC processors, readers are launched immediately into an embedded C language tutorial. Here, they'll experiment with variables and constants, operators and expressions, control statements, pointers and arrays, memory types, preprocessor directives, real-time methods, and more! In addition to a comprehensive library functions reference, an entire chapter on the CodeVision AVR C Compiler provides clear, step-by-step instruction in IDE installation and operation, mixing Assembler with C, and using the Code Wizard Code Generator. Use of peripherals - such as keypads, LCD displays, and other common embedded microcontroller-related devices - is also explored fully in this all-inclusive, state-of-the-art programmer's how-to and reference manual.
Customer Reviews:
What an excellent book ..........2007-01-22
I have only just started programming with AVR and was looking for a book that would help me. After reading other reviews I decided to buy this book - and I'm glad that I did.
It starts off with an introduction to embedded C, moves on to discuss the Atmel AVRs and concludes with a chapter on developing a project from scratch. But, what's good is that it starts off from the basics with plenty of explanations (so if you've never done anything with AVRs before, then this is for you), and moves on to the complex stuff later.
The book covers almost every topic you would want, so you can always use the book as a reference later. There is a comprehensive Appendix in the back too which lists the various C functions and Atmel instruction sets.
My only complaint is that the book dedicates to much space on the CodeVision C Compiler (there is a whole chapter on using the IDE, and several references are made to it throughout the book). It's a pity that there is no mention of the AVR-GCC Compiler - since it's free!!
Overall, this is an excellent book, that I would definately recommend to anyone starting off with programming the Atmel AVR microprocessors.
Read these reviews for general info as they may refer to the first edition!.......2007-01-04
Hi folks!
It's amazing how reviews dated months (or years) prior to the publication date of a new edition got added here. I do own the earlier edition and find it to be *exactly* what I needed to both ramp up my knowledge of embedded C processing and learn the AVR micro.
Now we have this new edition that just might overcome some of the valid criticisms of the reviewers as well as bring the explanations up to date for the newer processors. Or it might not. . .. An update review would be helpful as I don't want to spend $90 to get the same book with a different cover. Ahhh! Amazon's return policy. I'll order the new one and either write an update review or send it back. Nice!
UPDATE!
Well, I ordered the new edition. . .. Here's the scoop: the authors have updated the chip used in the examples to the Mega16 (and sometimes the Mega128) so this is a good thing as there have been significant changes in the naming of internal registers, etc. since the first edition was written. There are some short additions here and there (e.g. a two-page section on I2C) and "Lab problems" in addition to the exercises at the end of each chapter. The new book is thirty pages longer, but somewhat thinner than the first ed.
So, if you're a bit of a newbie (like me) and are using a particular chip (like the Mega16 as I was) this edition is well worth the cost as it tracks the chip internals closely in the descriptions. If you are "just looking," maybe a used first edition will answer 99% of your questions for 50% of the price. In either case, the explanation of embedded C in the first 80 pages of the book is superb! There is also an excellent project example--start to finish--that ties it all together.
Great for Beginners and as a reference for Advanced Programmers.......2005-12-11
In a word, this book is Awesome! It takes the reader through beginner to advanced programming of the AVR in C and provides an extensive list of projects while remaining just abstract enough to allow the reader to translate the code and concepts into many different but similar real-world problems. The first section also provides a quick recap on basic C programming for people (like me) who program infrequently enough in C to forget basic concepts.
You can find more AVR info at http://www.hobbyrobotics.org/avr.htm
Good book.......2005-09-23
Perfect book to help make transition from assembly language to C.
Best if you know about internal micro peripherals and a little C but I stumbled along despite never having used C.
Too Much / Not Enough.......2005-09-21
I bought both this book and the C Programming for Microcontrollers book by Joe Pardue. This book would be acceptable, maybe even good if not compared to the other book. This book has a short 'tutorial' introduction to C even thought the title implies that it is about C. The Pardue book is entirely about C as used in micros. This book uses an expensive commercial compiler. The Pardue book uses the free WinAVR compiler (included on the CD). This book uses expensive and confusing (to me) development systems. The Pardue book uses the AVR Butterfly which only costs $19.99 and has everything you'd want and is simple to use. This book goes into a lot of details on stuff that I guess would be of use for filling time a college course and if you are an academic type you might like that. The Pardue book starts out holding your hand, but quickly becomes brief in getting you going with fun projects that help with my real real world interests. Finally this book costs more than the Pardue book costs with the Butterfly and the full projects kit thrown in. Yeah, the Pardue book has some typos, but an error sheet is included so that's no big deal. I wish I had saved my money and just gotten the Pardue book, an AVR Butterfly and the projects kit
Book Description
Embedded software is in almost every electronic device designed today. There is software hidden away inside our watches, microwaves, VCRs, cellular telephones, and pagers; the military uses embedded software to guide smart missiles and detect enemy aircraft; communications satellites, space probes, and modern medicine would be nearly impossible without it. Of course, someone has to write all that software, and there are thousands of computer scientists, electrical engineers, and other professionals who actually do.
Each embedded system is unique and highly customized to the application at hand. As a result, embedded systems programming is a widely varying field that can take years to master. However, if you have some programming experience and are familiar with C or C++, you're ready to learn how to write embedded software. The hands-on, no-nonsense style of this book will help you get started by offering practical advice from someone who's been in your shoes and wants to help you learn quickly.
The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Even if you've done some embedded programming before, you'll still benefit from the topics in this book, which include:
- Testing memory chips quickly and efficiently
- Writing and erasing Flash memory
- Verifying nonvolatile memory contents with CRCs
- Interfacing to on-chip and external peripherals
- Device driver design and implementation
- Optimizing embedded software for size and speed
So whether you're writing your first embedded program, designing the latest generation of hand-held whatchamacalits, or simply managing the people who do, this book is for you.
Customer Reviews:
Not so good.......2007-07-26
I'm new to embedded system programming so I bought this book. I was disappointed because I didn't get much from this book. Buy something else.
Promptly returned ..........2006-10-06
In agreement with an earlier reviewer who also gave this book 1-star rating, it took me about 10 minutes of going through this relatively thin book to realize that its contents was not substantive (at all). Too much hand-waving, and not nearly enough meat. And there's barely any C or C++ code in the book.
Excellent.......2006-08-07
I am curious for the meaning of "advanced users" and what they would enjoy on a "advanced book" and why they despise this book for its basic content, And perhaps, they are after a title like "do my work". I guess much of the material here is very important to embedded developers, being experienced or not. For ex, start up code, the memory initializations and the excellent introduction to a RTOS. I am an Electrical Engineer, always writting embedded application code ( mostly dealing with API calls when it comes to low level ) and I was looking for clarification of several issues and the book did it well. Have a manual for your processor, your compiler and it will be all that you will need. Tips for embedded applications might be easily found on application notes ( be it ARM based processors or AVRs or Freescales ). This book is about writting the software not about the applications them selves.
Over-rated.......2006-06-17
"But keep in mind, it is extremely superficial. In other words, it's a great introduction for people who have no idea whatsoever what embedded development involves." This is a quote from a reviewer that gave it 5 stars. I agree with this reviewer comments but don't buy a book you will outgrow before you finish reading it! For now, I still recommend the David E. Simon book.
Good introduction to embedded systems.......2006-01-19
This book is geared towards people who intend to venture into the field of embedded systems and need an overview on the basics. These include the scope of development and most importantly, things that the developer should pay attention to (In the embedded system field, the developer has to pay close attention to the underlying hardware's characteristics such as registers, interrupts and memory address locations, in Java application development on the other hand, the underlying hardware and to some extent the OS is considered an afterthought).
Though the examples are targeted to the Arcom board, the author makes a good effort to extract general principles applicable to any other hardware type. A passing knowledge of C and C++ is required though to understand the code.
Of course, experienced embedded systems programmers would find the text a rehash of what they know however for those new to the field, this serves as a very good foundation.
Book Description
Embedded software is found in almost every electronic device today. Because each system is highly customized to the application at hand, programming them can take a long time to master. Yet, if you have programming experience and a familiarity with C -- the de facto language of embedded systems -- this popular hands-on book is exactly what you need to get started.
By using freely available GNU programming tools and a low-cost single board computer from Arcom, you will be able to follow along with this book's "learn by doing" approach. You'll experiment with compiling, linking, and locating as well as managing peripherals, preprocessor directives, interrupts, and real-time programming methods. Advanced material explains the essentials of managing memory, optimizing code, and code portability for cross platform development. This new edition also features the use of free compilers and operating systems. Authored by two of the leading authorities in the field, Programming Embedded Systems will help you develop the knowledge and skills you need to achieve proficiency with embedded software.
Customer Reviews:
Great Introduction to Embedded Systems Programming........2006-12-17
This book gives an excellent overview of programming embedded systems. It provides numerous examples of real-world hands-on embedded programming. I'd recommend that you have experience in C. Experience with operating systems concepts (such as interrupt service routines) would also be helpful.
Unlike usual programming books, you won't be able to pick up the book, download something, and start working. You'll need to have an embedded system that you can use. The authors use a system from Arcom that will run you about $300. I've not used it and was very wary about it when I first started reading, but as I read through the various examples I gained a great appreciation for the system. It looks like a great way to gain hands-on experience with embedded programming.
Before getting this book I read through the Lego Mindstorm NXT documentation and felt very lost. I didn't understand the symbols on the schematics and they used strange acronyms (like I2C and PWM). I also have an Iguanaworks USB infrared transceiver. I bought it to use in a MythTV system I am building. This book has enabled me to understand the schematics of both the Mindstorm and the transceiver as well as the documentation of both systems. I now feel ready to do my own embedded systems programming.
That said, I did not like everything in this book. They gloss over areas that I felt would have helped me (such as how to use a JTAG adapter and how to create an interrupt service routine under Linux). There are areas where the writing does not flow well and is redundant. The book switched from using an embedded x86 processor in the first edition to using an ARM processor in the second and there are still references to the old processor.
Even with its faults I am glad I got this book. It filled in many of the gaps that I have as a software engineer who is wanting to learn about embedded systems programming. I feel a whole new world has just been opened up to me and I can't wait to jump in.
A classroom and lending collection standard........2006-12-11
Programming Embedded Systems with C and GNU Development Tools appears in its second updated edition to include even more real-world and Linux examples, and is a recommended pick for programmers with a familiarity with C. It's been used as a college textbook and covers everything from basic debugging skills to determining the applications and needs of real-time projects. In updating details and clarifying routines, the 2nd edition of Programming Embedded Systems should be considered both a classroom and lending collection standard.
Diane C. Donovan
California Bookwatch
Great guide to developing embedded systems.......2006-11-08
This book is the much needed update to the book on embedded systems also published by O'Reilly. This book assumes that the reader already has some programming experience and is at least familiar with the syntax of the C language. It also helps if you have some familiarity with basic data structures, such as linked lists. The book does not assume that you have a great deal of knowledge about computer hardware, but it does expect that you are willing to learn a little bit about hardware along the way. This is, after all, a part of the job of an embedded programmer.
The book contains 14 chapters and 5 appendixes. The chapters can be divided into two parts. The first part consists of Chapters 1 through 5 and is intended mainly for newcomers to embedded systems. These chapters should be read in their entirety and in the order that they appear. This will bring you up to speed quickly and introduce you to the basics of embedded software development. After completing Chapter 5, you will be ready to develop small pieces of embedded software on your own.
The second part of the book consists of Chapters 6 through 14 and discusses advanced topics that are of interest to inexperienced and experienced embedded programmers alike. These chapters are mostly self-contained and can be read in any order. In addition, Chapters 6 through 12 contain example programs that might be useful to you on a future embedded software project.
Throughout the book, the authors strike a balance between specific examples and general information. Minor details have been eliminated making the book more readable, at least in my opinion. You will gain the most from the book if you view the examples primarily as tools for understanding important concepts. Try not to get bogged down in the details of any one circuit board or chip. If you understand the general C programming concepts, you should be able to apply them to any embedded system you encounter. To focus the book's example code on specific concepts, these examples have been left intentionally incomplete. For example, certain include files and redundant variable declarations are omitted. For complete details about the code, you can refer to the full example source code on the book's web site. I discuss this book further in the context of its table of contents:
Chapter 1, Introduction - Explains the field of embedded programming and lays out the parameters of the book, including the reference hardware used for examples.
Chapter 2, Getting to Know the Hardware - Shows how to explore the documentation for your hardware and represent the components you need to interact with in C.
Chapter 3, Your First Embedded Program - Creates a simple blinking light application that illustrates basic principles of embedded programming.
Chapter 4, Compiling, Linking, and Locating - Goes over the ways that embedded systems differ from conventional computer systems during program building steps, covering such issues as cross-compilers.
Chapter 5, Downloading and Debugging - Introduces the tools you'll need in order to iron out problems in both hardware and software.
Chapter 6, Memory - Describes the different types of memory that developers choose for embedded systems and the issues involved in using each type.
Chapter 7, Peripherals - Introduces the notion of a device driver, along with other coding techniques for working with devices.
Chapter 8, Interrupts - Covers this central area of working with peripherals.
Chapter 9, Putting It All Together - Combines the concepts and code from the previous chapter with convenience functions and a main program, to create a loadable, testable application.
Chapter 10, Operating Systems - Introduces common operating system concepts, including tasks and synchronization mechanisms, along with the reasons for adding a real-time operating system.
Chapter 11, eCos Examples - Shows how to use some features of the eCos real-time operating system.
Chapter 12, Embedded Linux Examples - Accomplishes the same task as the previous chapter, but for the embedded Linux operating system.
Chapter 13, Extending Functionality - Describes options for adding buses, networking, and other communication features to a system.
Chapter 14, Optimization Techniques - Describes ways to decrease code size, reduce memory use, and conserve power.
Appendix A, The Arcom VIPER-Lite Development Kit - Describes the board used for the examples in this book and how to order one for yourself.
Appendix B, Setting Up Your Software Development Environment - Gives instructions for loading the software described in this book on your host Windows or Linux computer.
Appendix C, Building the GNU Software Tools - Shows you how to compile the GNU development tools
Appendix D, Setting Up the eCos Development Environment - Shows you how to build an eCos library appropriate for your embedded system so you can compile programs to run on your system.
Appendix E, Setting Up the Embedded Linux Development Environment - Describes how to install the embedded Linux tools for your Arcom system and build and run a program on it.
Average customer rating:
- Intended for uCOSII kernel user,but worth reading to others
- Excellent book if you have no....
- A hands-on and practical guide to low-level programming
- Excellent content and easy to follow.
|
Embedded Systems Building Blocks: Complete and Ready-to-Use Modules in C
Jean J. Labrosse
Manufacturer: R&D Books
ProductGroup: Book
Binding: Hardcover
Computer Science
| Computers & Internet
| Subjects
| Books
| Artificial Intelligence
| Circuitry
| General
| Human-Computer Interaction
| Information Theory
| Modeling & Simulation
| Research
| Software Engineering
| Systems Analysis & Design
Embedded Systems
| Microprocessors & System Design
| Hardware
| Computers & Internet
| Subjects
| Books
Design & Architecture
| Hardware
| Computers & Internet
| Subjects
| Books
General
| C
| Programming
| Computers & Internet
| Subjects
| Books
Software Development
| Software Design, Testing & Engineering
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
Real-Time Data Processing
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
General
| Networks, Protocols & APIs
| Networking
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
Engineering
| Professional & Technical
| Subjects
| Books
| Aerospace
| Automotive
| Bioengineering
| Chemical
| Civil
| Computer Technology
| Design
| Economics
| Education
| Electrical & Electronics
| Energy
| General
| Industrial, Manufacturing & Operational Systems
| Management
| Marine
| Materials
| Materials Science
| Mechanical
| Nuclear
| Patents & Inventions
| Petroleum, Mining & Geological
| Power Systems
| Reference
| Research
| Special Topics
| Telecommunications
| Welding
Engineering
| Specialty Stores
| Books
| Aerospace
| Automotive
| Bioengineering
| Chemical
| Civil
| Computer Technology
| Design
| Economics
| Education
| Electrical & Electronics
| Energy
| General
| Industrial, Manufacturing & Operational Systems
| Management
| Materials
| Materials Science
| Mechanical
| Nuclear
| Patents & Inventions
| Petroleum, Mining & Geological
| Power Systems
| Reference
| Research
| Special Topics
| Telecommunications
| Welding
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
All Titles
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Computers & Internet
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Professional
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Similar Items:
-
MicroC OS II: The Real Time Kernel (With CD-ROM)
-
Embedded C (With CD-ROM)
-
Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers (Embedded Technology)
-
An Embedded Software Primer
-
Real-Time Concepts for Embedded Systems
ASIN: 0879306041 |
Book Description
- This second edition features revisions that support the latest version of the author's popular operating system and book, MicroC/OS-II - Complete and ready-to-use modules in C Get a clear explanation of functional code modules and microcontroller theory
You get hands-on experience with real-time system modules provided by the author and functional code modules that may be used to create basic embedded system functions. This second edition features a new chapter on PC services and uses the updated MicroC/OS-II.
Customer Reviews:
Intended for uCOSII kernel user,but worth reading to others.......2005-03-17
This book is intended for uses on RTOS, ore more specifically, uCosII which ared used in the sample codes. To me, using real time kernel for simple applications as demonstrated in this book, is highly unnecessary. The codes seems to take up plenty of memory, there are still plenty much room for optimization. I am not using uCOSII, therefore, the sample code and most explanations seem to me as "calling functions" only, which I quickly browsed through.
However, the concept of RTOS is well-explained! With simple sentences, the author clearly illustrate how RTOS run basically. This is especially useful to those with no background on OS. I particular found the chapter on "Analog I/O" is more worth reading. It organizes some of the common I/O reading methods in clear form. For instance, after ADC is enabled, its output can be polled after some delay, or polled periodically, or by external interrupt. In addition, a great example on ADC and DAC project is covered.
I would recommend this book to beginners who have learned to write simple single task (such as read/write I/O, writing to LCD, RS232), and want to integrate tasks into a bigger application.
Excellent book if you have no...........2002-11-22
If you have experience in writing device driver (for any OS) this book is not the best choice. But if you don't, this book is an excellent one. This book takes you through each and every step involved in building various kinds of device driver for the system. The content is written to make sure you understand the concept(s).
A hands-on and practical guide to low-level programming.......2000-04-25
This book from Jean Labrosse is right in line with the author's other book (Micro-C/OS II): simple, right to the point and tremendously useful. The book really demystifies some concepts too often omitted in other books, such as real-time systems concepts. The author provides numerous pictures, which are far easier to understand that any written explanations. I can't wait to read more from Labrosse.
Excellent content and easy to follow........1998-07-06
An excellent book for those new to Embedded Systems concepts. Not really for experienced users but still a good solid reference. This book doesn't assume that you know everything already like most books. By using these ready to use C modules all the user needs to do is to make some minor changes in order to get a project off the ground. Concepts are explained very clearly with no nonsense and without being too simplistic. Topics are interesting. It even utilizes a real time kernel. ( his own but that's OK ) I highly recommend this book.
Book Description
'Downright revolutionary... the title is a major understatement... 'Quantum Programming' may ultimately change the way embedded software is designed.'
-- Michael Barr, Editor-in-Chief, Embedded Systems Programming magazine (Click here
Practical Statecharts in C/C++ illustrates how to efficiently code statecharts directly in C/C++. You get a lightweight alternative to CASE tools that permits you to model reactive systems with UML statecharts.
Customer Reviews:
This is a sleeping hit book!.......2007-07-12
First prior to reading this book, I was finding the title unattractive. I did not know what statecharts were and what Quantum programming was. By reading this book, I have learn that statecharts were special finite state machines that could be built by deriving them from more general FSM similar to how OO classes inheritance works.
Quantum is the name of the presented framework in the book. The title is misleading because I though that Quantum programming was some weird new programming technique that I was not aware and did not care to learn. I think that it is important to find catchy names to market software but one negative point of the book, is that the author spend way too much pages to describe similarities between quantum physics and his framework to justify the name 'Quantum' for his framework. Programmers are not all quantum physics enthusiasts!
Concerning the book content, the author presents the C++ classes implementing the statecharts framework and a set of classes to make threads driven by statecharts collaborate together by communicating with message queues. It is an interesting reading and there are many places where you can learn good programming tricks by seeing the author code. However, I am not sure that I would want to use the framework because it is complex. Let me clarify what I mean. It is not the framework that is complex but implementing statecharts is complex. I believe that the author made his code as simple as possible to implement statecharts. Personally, I still have to work on a problem where a simple FSM will not be enough.
The best feature of the book is its presentation of a base class to implement FSMs and compares it with traditional table based FSMs and a OO FSM like the one presented in the Design Pattern book and it is highly convincing that his FSM implementation is superior to the other 2 in size, performance and ease of maintenance. Another interesting topic is the author method to emulate C++ in C. You cannot beat the real thing with an emulation but when you have to go write C and you are used to do OO programming, this method might become handy.
I would say that for the FSM pattern and the C++ in C methodology alone, even if it represents a small proportion of pages in the book, it justifies the purchase of this book.
Must read material for anyone using state machines.......2007-01-23
Book is excellent in covering state machines and has many practical examples. It did not come short in covering different approaches used by real programmers to implement STMs. In second half of the book author is going into more advanced stuff and proposes what seems like an original new idea of Quantum Programming. Word "Quantum" in itself is very misleading in this context plus there is nothing new in tackling complexities of the real world dependencies in terms of State Machines. In fact author going further in creating entire new Object Oriented methodology with State Machine flavor. I doubt if most of practitioners will find more advanced chapters practically applicable, but it does not in any means reduces the values of the book as whole.
Nice concept but useless in real-time embedded application.......2006-11-22
Since I saw quite a few excellent reviews on Amazon as well as on some other websites, I decided to purchase the book hoping it would give me some fresh new ideas in implementing FSM for real-time embedded system. I was quite disappointed when I received the book and had a chance to read it. Here are my own personal comments:
- The text is too verbose and quite disorganized. Reading this I had the feeling of listening to someone rambling on and on.
- The concept is unique and quite interesting. However, it is useless as far as embedded system implementation. Think of how you are going to debug this in a real-time environment. It would be a nightmare!
- Lots of the detailed codings are encapsulated by the house-keeping codes. This is a definitely NO-NO for embedded system application if one must know every single line of executable code. (You have to know if you want to do size and speed optimization.)
- It would be a nightmare to maintain an application written using this concept. It is just not consistent with the natural flow of thinking. Don't forget that the human element can never be detached from any application.
- Debugging the state machine written using this concept is extremely difficult. (Believe me! I tried.) The concept of simply returning to the parent state if no special handling is required can be very very misleading during real-time debugging.
Simply put, if you want to read some new interesting idea, this book is for you. But if you are looking for practical idea to apply to your SW development project, I suggest you look elsewhere. The 5-star rating is very very misleading. If you are still curious, you might want to check it out first at your local Barnes&Nobles or Border before buying.
(In case anyone wonders about my background, I've been doing software development & architecture for the past 18 years.)
less useful than I initially thought.......2006-06-02
A couple of months ago I would have fully agreed with most of the reviewers: yes, statecharts is an important topic, and Samek covers it well. Indeed he does: The book is chock-full of (working!) code and will give you a head-start at tackling difficult behavioral control problems. I do not develop real-time software, but thinking of _every_ software as if it were real-time can increase quality. I feel I gained a lot of insight, and it made me rethink some architecture issues.
You can brush over the quantum-babble, mainly because it's irrelevant and an already overstreched analogy-for-everything. With regards to Statecharts, no harm is done that Samek is evangelizing a little bit too forcefully.
So why 3 stars only? After working with the concepts and coding a number of statemachines the Samek-way, I started to notice that Samek's approach does not quite deliver as promised:
* Be prepared to be disconnected from the community: Samek's statecharts part in a lot of aspects from the UML 2.0 statecharts (although there is a website w/ quite a lot of activity). Looking at UML-compliant statecharts from fellow developers you will realize that you cannot transcribe them easily using Samek's framework. Main reason: UML has functionality (= non-statemachine code) in transition actions and event guards, Samek in state event handlers.
* Samek's statemachines are "run-to-completion", which results excessive self-posting of events and queuing. Although the code is not spaghetti, the execution is - and debugging is _very_ difficult.
* After a while, it is very difficult to infer the statechart semantics from the code. I certainly want to believe Samek that there is no real value in separating semantics (= statechart description) from functionality (= code which uses the statemachine), but this turned out to be a maintainance nightmare.
* Samek's statemachines do not offer orthogonal states, but for bigger projects you will need orthogonality to model concurrent aspects of a system. The lack of orthogonality is salvaged by the publish/subscribe framework also included in the book: You just use a number of statemachines and connect them via a message bus. This might work in the real-time space but it's obviously not something you will be able to include in your software. As a consequence, it is difficult to use statemachines in a "tactical" fashion.
David Harel (the inventor of statecharts, see his paper from '87, e.g. on citeseer) designed statecharts as a visual language to enable thinking (alone and in the team) about the behaviour of systems. Samek disagrees: coding and thinking go hand in hand. This might seem to be very "agile" but there are pitfalls. Actually he seems to be as strict in his assertions than Harel is - not agile at all.
There are approaches which are more balanced in that they mimic statechart semantics "better" (= more UML-compliant) than his. Take a look at SCXML (XML-driven, Java-interpreted) or at CHSM (C++/Java code generation). Also take a look at the roundtrip modelling tools which (most likely) ship w/ your preferred development environment.
Samek is very up-beat and a strong believer in what he says. I bought into his vision and hoped for a productivity / morale boost comparable to using unit tests (like JUnit). It never really turned out that way, and statemachine coding à la Samek remained a trial-and-error business until I decided to use a different approach.
It's an important, very original book, and an interesting read. My advice: Give it a try, but don't get carried away.
A Sophisticated Technique.......2005-06-01
It's not an easy-to-read book because the topic is complicated.
But the technique described in this book which is developed by Samek is very sophisticated - the library code is light weighted, the interface is easy to use, and the logic mapping from the statechart to the implementation is straight forward. This is the conclusion I got after applied this method in the development of a complicated behavior control for a medical device.
Many technique books were put together quickly without solid practical value, not this one!
Average customer rating:
- Very easy to understand
- Maybe The Best Technical Book I've Read
- Helpful
- Good Introduction to Keil's C51 Compiler
- Good introductory book for embedded programming in C.
|
Embedded C (With CD-ROM)
Michael J Pont
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback
Embedded Systems
| Microprocessors & System Design
| Hardware
| Computers & Internet
| Subjects
| Books
Design & Architecture
| Hardware
| Computers & Internet
| Subjects
| Books
General
| C
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
C & C++ Windows Programming
| Development
| Microsoft
| Computers & Internet
| Subjects
| Books
Systems Analysis & Design
| Computer Science
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
General
| Education
| Nonfiction
| Subjects
| Books
French
| Foreign Language Nonfiction
| Nonfiction
| Subjects
| Books
Mathematics
| Professional Science
| Professional & Technical
| Subjects
| Books
| Applied
| Chaos & Systems
| Geometry & Topology
| Mathematical Analysis
| Mathematical Physics
| Number Systems
| Pure Mathematics
| Transformations
| Trigonometry
Nonfiction
| French
| Foreign Language Books
| Specialty Stores
| Books
Professional & Technical
| French
| Foreign Language Books
| Specialty Stores
| Books
All French Books
| French
| Foreign Language Books
| Specialty Stores
| Books
All Titles
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Computers & Internet
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Nonfiction
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Professional
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Similar Items:
-
C And The 8051
-
Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers (with CD-ROM)
-
Embedded Systems Building Blocks: Complete and Ready-to-Use Modules in C
-
An Embedded Software Primer
-
Programming Embedded Systems: With C and GNU Development Tools, 2nd Edition
ASIN: 020179523X |
Customer Reviews:
Very easy to understand.......2007-09-21
This book covers the basics of embedded programming on an 8051 microcontroller. It is very easy to read and understand and comes with an evaluation version of the keil compiler. Simulation software is built into the compiler so you can test your code on a simulated 8051 device. This is a good book for a beginner to embedded programming.
Maybe The Best Technical Book I've Read.......2006-12-14
This may be the best technical book that I've ever read, and I've read a bunch. I can't say enough about Dr. Pont's accomplishment with this book.
He clearly and concisely takes the reader/student through the basics of programming embedded devices. He uses the 8051 with the Keil compiler as an example platform and provides adequate code listing examples. If you're an embedded guru with decades of experience in microcontroller programming this book may not be for you. However, if you're one of us, from a computer science background, whose embedded experience comes from programming at the application level, then I highly recommend "Embedded C" without reservation.
Helpful.......2005-12-17
As a desktop applications programmer this was a good introduction to the embedded world for me. Whenever I try to learn some new technology, there always tends to be a knowledge gap that needs bridged. Once it has been, I am able to start using whatever that technology is. I feel this book is my bridge for learning to write code for embedded systems.
When I first bought the book, I would just try to read it from chapter to chaper starting with chapter one. I've started to read it several times. This method, I now realize, was a mistake as there is some terminology that doesn't make sense even to a seasoned programmer such as myself. Embedded systems are quite different from building applications for an operating system running on a robust microprocessor.
I found that what I should have done from the start was to install the demo compiler from Keil and the project examples. Once I did this, the book really started to come to life as I could step through the code with the debugger and see what was really going on. I got through the first four chapters with a strong understanding in the very first evening I did this.
The book seems to do a good job of covering all of the main topics you would want to know about. It is not short on examples which is a great feature. I, do, however, have a single complaint. In chapter 5, Pont talks about code organization. Now, while I feel that this is a reasonable things to learn, for someone who is just getting started with embedded programming it would have been better to save that as a bonus chapter at the end and instead let all of the preceeding chapters contain everything in a single file. I'm not suggesting that it's a bad idea to organize your code. I'm simply stating that I was able to understand the first four chapters much quicker because I didn't have to jump around from file to file to figure out where a certain function or variable had been declared. Some might complain that keeping all of the code in a single file would create "spaghetti" code, however, for learning purposes, I feel this is a reasonable trade-off. Not to mention, the code examples are not terribly long.
In the end this book has been really great. The prose Pont uses is very approachable and he does a good job (especially at the beginning) to explain what is happening in the code. I definitely recommend this book and the 8051 is a great choice of processor. There is a lot of sample code on the web and it is a very well documented MCU. Plus the tools for development using this chip are very inexpensive as are the chips themselves.
Good Introduction to Keil's C51 Compiler.......2004-04-03
This is a good introduction to Keil's C51 compiler. I have 1 year experience writing PIC code using CCS C compiler. My latest project is to develope 8051 microcontroller firmware using Keil's C Compiler. The documentation provided by Keil is limited and confusing, not a good one to beginner.
"Embedded C" is definitely a rather good introductory book to Keil's C51 compiler. It is suitable to reader who already has knowledge of C programming. In this book, some special features and instructions are explained, such as sbit and the I/0 pin (which bother me the most in the beginning stage, as 8051 I/O is different from PIC and Motorola).
Furthermore, the author also introduce the Real Time Concept, RS232 etc which differ the Embedded C with the desktop C. This is especially useful to beginner of embedded programming.
Good introductory book for embedded programming in C........2002-06-27
I believe the real title of this book is more like "Introduction to embedded systems programming and software design with 8051 using C". Most of the C and C++ programmers will not find anything more about the C language they do not already know. The author claims that the target audience is desktop developers with C++ and Java programming. Probably this involves a portion of this programming crowd, who have not done any low level programming and are relying on existing libraries or have very little experience. One obvious advantage of the book is its clear style. The touch of many important topics and well selected examples from very small to a decent size projects is another plus. Selecting a well known microcontroller flavor (Intel 8051) is a plus, for the specific points that could be illustrated when one has to use such a cheap and not very powerful device for a project. The choice to demonstrate the examples with the Keil development environment makes it very convenient for the reader to follow the text. For the experienced embedded programmer most topics are pretty well known and they may find the style very easy and not so rich in new information. For example interrupts are not discussed until chapter 7 and the book has 4 more chapters. The users of bigger microcontrollers ,16 and 32 bit, may find that the code does not cover some of the more complex issues they have to face in their software designs. I am mostly refering to the developers creating code for Motorola 32 bit and the ARM family. Looking forward for the forthcoming book "Embedded Operating Systems" from the same author due for publication Jan, 2004.
Book Description
Implement proven design techniques for control systems without having to master any advanced mathematics. Using an effective step-by-step approach, this book presents a number of control system design techniques geared toward readers of all experience le
Using the techniques and reusable code in
Embedded Control Systems in C/C++, embedded systems developers can design control systems without the advanced calculus skills that are typically required.
Customer Reviews:
Title is a complete misrepresentation.......2006-09-27
This book is a complete joke, the title is a complete misrepresentation of the book's contents. I've read journal articles that have more information on embedded control than this 200+ page book.
Everything in this book can be gotten from more complete references on control systems, such as Dorf and Bishop's "Modern Control Systems" for starters. Even Phillips and Nagle's "Digital Control System Analysis and Design" has more information on embedded control when it isn't even the primary focus of their book.
Instead of explaining how to program control systems in C/C++ the author provides a brief overview of control techniques and MatLab code.
The author never actually discusses embedded control which is the title of the book. The point of the book, and even the title, is supposedly to explain how to control embedded systems with C/C++, yet the author never discusses anything remotely close to this, the closest he ever gets are programs that convert MatLab files to C. This is completely useless if the author doesn't explain how to use a converted MatLab file on an embedded microcontroller. The author doesn't even have examples on choosing processors for embedded systems.
Save $70 and put it towards a real controls book.
A totally misrepresented useless book.......2005-09-10
The author undertakes to teach you control systems w/o underlying mathematics. Well, I thought, that's nice (and, needless to say, it makes a good selling point), but... there's one but here: it may not be possible. And indeed the author has not succeeded at his stated goal. Not only that, he hasn't even tried: without any preliminaries (other than the declaration of intent to make it simple) the author starts bashing you over the head with s-notation (Laplace), poles and zeros, state space, swiped sines, linear/non-linear DEs, root locuses, eigenvalues, covariant matrices. etc. If using complicated things (after promising not to) w/o explaining or even defining them first in any way means making it simple, then this book is a success. I however, don't see it this way.
Here's the missing reality check: in order to understand what's going on there you need to be comfortable with: complex, vector, and matrix analyses, integral transforms (Laplace and Fourier), and signal processing. In other words, you need to have studied control (and that, of course, implies a solid mathematical background). You also need to know Matlab, or at least understand how one works with it in general.
The C++ aspect of the book is a joke: there's two and a half primitive snippets of code that any idiot could write if he knew what is to be achieved -- and for that you need the things I've mentioned above. Why it's in the book I can't fathom... maybe to have a pretext, no matter how thin, for putting the "in C/C++" on the cover.
Well, OK, the first few chapters (like, three) do present a few useful things (PID controllers and tuning) in an understandable way (how's your calculus, btw?). The bibliography is decent too: small, but pointed and of good quality (though no surprises here: for integral transforms, go for Churchill; for system identifications, Ljung; for signals, Oppenheim... but we already knew that, didn't we). In fact, why stop here: there are very good control textbooks as well -- Astrom, Ogata, etc., etc. Full of math, yes, but not promising anything their authors have no intention of fulfilling. Once you're through the texts like that, you'll be able to digest Mr Ledin's book (of course the question then becomes, what the hell you'll need if for?)
Another question: what's the deal with the word "embedded" in the title? There's zilch in this book about anything specifically embedded. Another sales-enhancing magic word?
Bottom line: being smart enough to understand this book implies that you don't need it; not being smart enough... well, then it seems like you don't need it either. I have no doubts that Mr Ledin is a very smart engineer -- and god bless, more power to him here -- but as to bookwriting... What good is this book? Who's it for? No simple mortal fits the bill: everyone will be either too smart to need it, or too stupid to understand it.
Regrettably, "Embedded Control Systems in C/C++" is yet another typical CMP book -- expensive, misrepresented, and useless. Oh yeah, and it's poorly written too (but that's the least of this book's flaws).
Absolutely not recommended.
Good overview of control systems, not too much C/C++.......2005-07-19
I'm still finishing the book, so this review may be a little unfair. There are two unfortunate things about this book. The title indicates C/C++. There's not that much code in the book, especially for the analysis of the control systems. More implementation of the controller, which is OK. Keep in mind that's not the main goal of the book. The overview of control systems is pretty good with just enough of the theory and math. I was seeking an introduction so I could better understand what the control systems experts are battling with servo development and tuning. The second issue I have is I think the dependency on Matlab is a little too much. It would have been great if the publisher could have included a stripped down version of Matlab on the CD. Many of the 'solutions' are pretty magical as we just plug into Matlab and have our answer with somewhat incomplete explanations of what Matlab is doing to figure it out. I have yet to see an example of motor control and/or the plant model for a motor, which is what I'm particularly interested in. An example, with hardware, would have been great. Overall, I'm happy I bought the book and feel I better understand the basic theory and challenges of control system development and modeling.
Book Description
Eager to transfer your C language skills to the 8-bit microcontroller embedded environment? This book will get you up and running fast with clear explanations of the common architectural elements of most 8-bit microcontrollers and the embedded-specific de
Get up and running fast with this clear presentation of 8-bit MCU development principles and demonstration project, complete with schematics, a parts list, and sample code. Learn the details of device-specific hardware development -- from preliminary software design to implementation of a working consumer product.
Customer Reviews:
Dont Bother.......2005-12-18
I wish I had not spent money on this, what a waste of time.
A Great Intro to C Embedded Programming.......2003-07-17
"C Programming for Embedded Systems" is a fantastic book for those who are already familiar with C programming. This book shows how C can be used to write code for an 8 bit microcontroller - Motorola's workhorse of the industry, the 6805. The thermostat project is well documented including a full schematic and real pictures of the completed circuit on the CD. The CD also includes ByteCraft's C compiler and project source code. The project simulates a heating/cooling system with an LCD display, keypad, thermistor, and a fan and light bulb to simulate heating and cooling. The project also makes use of Motorola's MC68HC705JICS emulator (available from DigiKey). This book is meant to be only part of a comprehensive education in embedded programming, and makes no claims to be an in depth volume on the subject. In conclusion, this is a great book to make one aware of the issues and challenges in writing code in C for 8 bit embedded systems as well as gaining experience on one of Motorola's most popular processors.
Limited Usefulness.......2003-05-04
"C Programming for Embedded Systems" promised to be an extremely useful book for those interested in embedded systems however, its scope is so limited that it proves to be close to useless. If you want a very basic introduction to programming motorolas simplest embedded processors then this book is for you. For the rest of us however, the amount of useful material relevant to all chips is probably about 30 pages and if you don't know the material covered here, you probably shouldn't be wanting to program embedded systems.
For a better book, buy a book on PIC assembler, it will prove to be much more useful in the long run. The best method to start programming embedded systems: look for projects and documentation on the internet. Your time will be much better spect there than with this book.
Basic Book.......2001-11-27
This book lacked any real depth in embedded systems,
I was disappointed, I have used byte craft's compiler
for the cop processor and found the manual very helpful,
though this book I suggest is only suitable as quick
reference.
Rubbish.......2001-04-22
One of the most important things an embedded assembly programmer coming into C needs to know is how to set up absolute memory addressing without resorting to compiler-specific features or assembly language. This book resorts to compiler-specific #pragma directives to fit its chosen chip and OS. The fact that we might want to use _no_ OS and a non-Bytecraft compiler is not something that seems to have crossed the author's mind. Much better to shell out the extra ten bucks for Ted Van Sickle's _Programming Microcontrollers in C_. That one is Motorola-oriented but at least has the common decency to explain how to set up ports and peripherals within the ANSI C language proper.
Average customer rating:
- Great starter book
- Great eVB coverage!
|
eMbedded Visual Basic: Windows CE and Pocket PC Mobile Applications
Christopher Tacke , and
Tim Bassett
Manufacturer: Sams
ProductGroup: Book
Binding: Paperback
Embedded Systems
| Microprocessors & System Design
| Hardware
| Computers & Internet
| Subjects
| Books
Visual Basic
| Development
| Microsoft
| Computers & Internet
| Subjects
| Books
| .Net
| C#
| C++
| Visual Studio
VBA
| Development
| Microsoft
| Computers & Internet
| Subjects
| Books
Windows - General
| Operating Systems
| Microsoft
| Computers & Internet
| Subjects
| Books
Mobile & Handheld Computing
| Microsoft
| Computers & Internet
| Subjects
| Books
Object-Oriented Design
| Software Design, Testing & Engineering
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Basic
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
Programming
| Mobile & Wireless Computing
| Computers & Internet
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
All Titles
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Computers & Internet
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Similar Items:
-
Pocket PC, Handheld PC Developer's Guide with Microsoft Embedded Visual Basic
-
Pocket PC Network Programming
-
Pocket PC Database Development with eMbedded Visual Basic
-
Professional Visual Basic Windows CE Programming
-
Palm & Pocket PC Programming
ASIN: 0672322773 |
Book Description
This book is an in-depth exploration into eVB's inherent features, and how to use them to solve likely mobile application programming tasks. After reading the book the reader will be able to write applications tackling a wide array of business problems for Windows CE-powered devices, both customized and for PocketPC and Handheld PC products. This book will help ease the transition into the language, and provide a reference for even more experienced developers.
Download Description
This book is an in-depth exploration into eVB's inherent features, and how to use them to solve likely mobile application programming tasks. After reading the book the reader will be able to write applications tackling a wide array of business problems for Windows CE-powered devices, both customized and for PocketPC and Handheld PC products. This book will help ease the transition into the language, and provide a reference for even more experienced developers.
Customer Reviews:
Great starter book.......2003-01-16
This book was really helpful when I was first getting up to speed on Embedded Visual Basic development. The chapter discussing what could be done in VB but not in EVB was very useful. The samples in the book are useful.
Once you have a good grasp of EVB though this book seems to be lacking the more advanced issues you'll run into. It doesn't cover near enough of the API calls and how to use them in EVB. It doesn't talk about building an install. It doesn't discuss the remote API. It doesn't discuss tricks on how to get your application working across different platforms.
If you're getting started check this book out, if you've been programming for awhile and need a good reference book on all topics look elsewhere.
Great eVB coverage!.......2002-07-13
I really enjoyed reading this well-written book on eMbedded Visual Basic. I particularly liked the chapter on SQL Server CE. The reader is well-served by the clear implementation of a complicated feature like SQL Server Replication. The author leaves no stone unturned in his coverage of POOM development. This book is a must-read!
Books:
- Enterprise Service Bus
- Essential PHP Security
- Essential Software Architecture
- Firewall Fundamentals
- Foundation ActionScript for Flash 8 (Foundation)
- Head First Java, 2nd Edition
- History: Fiction or Science? (Chronology, No. 1)
- How to Do Everything with Microsoft Office PowerPoint 2003 (How to Do Everything)
- Information Technology Project Management, Fourth Edition
- Information Technology Project Management, Fourth Edition
Books Index
Books Home
Recommended Books
- The Pursuit of Happyness
- South Park Conservatives: The Revolt Against Liberal Media Bias
- Costing Human Resources: The Financial Impact of Behavior in Organizations
- Horror, The Film Reader
- Introduction to the Mathematics of Financial Derivatives
- Spike vs. Dracula
- Manufacturing the Future: A History of Western Electric
- Principles of Accounting Ninth Edition Volume Two Chapters 13-27, Custom Publication
- Key Issues in the New Knowledge Management
- Mr. Lincoln's Wars: A Novel in Thirteen Stories