- Embedded C
- Real Time Embedded System Design
Embedded Systems is simply the brain of the most of the electronics based systems to access, process, store and control the data. Few simple electronics circuits can be intelligently hardware designed without a microprocessor or microcontroller but is not worth the economics except for simple passive operations. So it's more or less must to put this so called silicon brain, which we engineers call as microcontroller in all electronics systems.
Development for embedded systems is different from common practices in many ways. For new developers in the embedded systems world, there is a learning curve to understand where conventional practices are no longer valid in this new environment. To be an embedded systems developer, s/he need to know many things about the hardware on which software will be executed. Often embedded systems are connected to some sort of control system (activating some switch, rotating a motor) and the developer also needs knowledge of that system as well. If the CPU and/or the operating system are different on the target embedded platform, s/he have to do cross-platform development, which has its own issues. There are different testing techniques as well because most of the embedded systems don't have a monitor screen where error messages or test results can be displayed.