Embedded systems are a combination of hardware and software designed to provide a specific function within a larger system. Embedded systems are increasingly common in the world of the Internet of Things as more of our devices and products are connected directly to real-time monitoring. System design for interconnected products allows computing systems to safely monitor, track, and repair faster than ever possible. Computer science can now create these intricate systems within a broader framework that makes it easier to control and implement these pieces without losing overall control.
The world is moving towards the ease of IoT. What used to take a ton of human power can now be accomplished by the power of machine learning and AI. Embedded system software ranges from little to no user interface to complex user experiences that more deeply connect us to the devices in our world. Consumer electronics, cars, agricultural equipment, manufacturing, and medical equipment are all possible locations for embedded software. The development process for this new era can be complex, and it's worth it to learn the types of hardware and software tools available to you.
Introduction to Embedded systems: What is an embedded system Vs. General computing system, history, classification, major application areas, and purpose of embedded systems. Core of embedded system, memory, sensors and actuators, communication interface, embedded firmware, other system components, PCB and passive components.
8—bit microcontrollers architecture: Characteristics, quality attributes application specific, domain specific, embedded systems. Factors to be considered in selecting a controller, 8051 architecture, memory organization, registers, oscillator unit, ports, source current, sinking current, design examples.
RTOS and Scheduling, Operating basics, types, RTOS, tasks, process and threads, multiprocessing and multitasking, types of multitasking, non preemptive, preemptive scheduling.
Task communication of RTOS, Shared memory, pipes, memory mapped objects, message passing, message queue, mailbox, signaling, RPC and sockets, task communication/synchronization issues, racing, deadlock, live lock, the dining philosopher’s problem.
The producer-consumer problem, Reader writers problem, Priority Inversion, Priority ceiling, Task Synchronization techniques, busy waiting, sleep and wakery, semaphore, mutex, critical section objects, events, device, device drivers, how to clause an RTOS, Integration and testing of embedded hardware and fire ware.
Simulators, emulators, Debuggers, Embedded Product Development life cycle (EDLC), Trends in embedded Industry, Introduction to ARM family of processor.