Skill Set Name: Embedded System Development

Topics Level Sub topics Skill Category No Code Share comment
Basics of embedded computer systems I

Understanding the basic concept and substance of embedded computer systems. Describe the general architecture of hardware, software, and networks in embedded computer systems.

  • Basics of embedded computer system
  • Application of embedded computer systems
  • Architectures for embedded computer systems
  • Software architecture for embedded systems
  • Network architecture for embedded systems
  • Design methods for embedded computer systems
  • Needs and application for OSS embedded computer systems
  • Relations between embedded systems and OSS
  • Practical cases of OSS embedded OSS systems
  • Precautions to be taken in using OSS in embedded systems
Architecture of embedded computer systems I

Understanding basic structure and roles and characteristics of embedded computer systems

Basics of embedded computer systems
  • Characteristics of embedded hardware
  • Requirement of embedded computer system
  • Limitation on hardware, software and network
9-1-2-I Basic database design theory
Requirements for embedded computers I

Understanding the basic configuration and features of embedded computers. Explain that connectivity, reliability, efficiency and interchangeability are among the requirements for computer systems.

Basics of embedded computer systems
  • Basic configuration and features
  • Connectivity, reliability, efficiency and interchangeability
Hardware and architectures for embedded computers I

rnderstanding characteristics of typical hardware and architectures for mbedded software

Requirements for embedded computers
  • Typical CPUs
    • Such as ARM, MIPS, Xscale, PowerPC, SH, M32R, etc.
  • Typical OS
    • Such as uCLinux, T-Kernel, eCOS, RTLinux, etc.
  • Typical network connectivity
    • LAN, WiFi, Infrared, low bandwidth wireless, IEEE1394, etc.
  • Issues and countermeasures specific to embedded systems
    • Power consumption
    • Small memory
  • Basic hardware configuration of embedded systems
    • The basic configuration, roles, and features of embedded computer hardware
Hardware and architectures for embedded computers II

Understanding embedded hardware architectures including CPU, and flash memory system.

  • Architecture of CPUs
    • Internal CPU architecture
    • System buses
    • Bus data communication
    • Operations in the CPU.
    • Memory connections
    • Instruction Set Architecture
  • Memory management methods
    •  Flash memory management
Embedded software basics I

Understanding roles and features of embedded software. Such as task and scheduling as a basic part of embedded software processing.

  • Functions of embedded OS kernels
    • Task and scheduling
    • Preemption
  • Resource management
    • Physical memory addressing
    • Virtual memory addressing
Details of embedded OS kernels II

Understanding functions, characteristics and roles of embedded OS kernels in detail

  • Functions required of embedded OS kernels
    • Embedding-specific issues related to task control
    • Synchronization primitives
  • Implementation of synchronization
    • Test and set
    • Semaphores
Real-time systems I

Understanding necessity, characteristics and processing method and design of real-time systems.

  • Basics of real-time systems
  • Design patterns for RT system
  • Time management
  • Real time programming
  • Queuing techniques
  • Hard real-time
  • Soft real-time
  • Device driver and RT
  • Priority and exclusion order
Real-time systems II

Understanding the mechanism of the context switch used to perform multiple tasks, and the concept of asynchronous processing and task
priority control.

File input/output
  • Application demand context switch
    • Preemption-based implementation
    • Interrupt-based context switch
  • Application controlled asynchronous / synchronous processing
    • Execution modes
    • Interrupt priority
  • Task priority control
  • Time control methods inside Linux kernel
I/O resource management II

Understanding concepts of system resource allocation, sharing and management in embedded environment including memory and IO

  • Management bus such as I2C, SMB, smart battery
  • I/O connection and buses such as Universal Serial Bus, IEEE1394, GPIB etc.
  • Special devices such as sensors, camera, motor and actuators
  • Communication devices such as WCDMA, GSM, Bluetooth
  • User interface devices such as touch panel, keypad, 3D accelerometer, thermometer etc.
Special memory devices management II

Understanding characteristics of memory devices specific to embedded systems.

Memory management
  • Flash memory
  • SSD
  • Memory cards such as SD card, MMC, memory stick, etc.


High reliability implementation II

Understanding perspective and technique of improving reliability of embedded application.

  • High reliability implementation
    • Fault avoidance and fault tolerance
    • Error detection implementations
    • Error recovery implementations