Embedded System Design

PIC Microcontroller Application (Firmware) Development


PIC microcontroller is a family of Harvard architecture microcontrollers made by Microchip Technology. A PIC microcontroller is a processor with built in memory and RAM and you can use it to control your projects (or build projects around it). So it saves you building a circuit that has separate external RAM, ROM and peripheral chips.


Basic programming knowledge and electrical circuit theory


- Introduction of PIC microprocessor, the programming environment, project set up and program debugging;
- The principle and realization of static and dynamic display of LED;
- The principle of keypad for PIC microprocessor;
- How to work on the matrix keyboard.
- Use PIC microcontroller to control relay.
- Work with DS18B20 digital temperature sensor;
- How to set timer in PIC microcontroller;
- The analog-to-digital conversion in PIC microcontroller;
- The SPI communication port in PIC microcontroller;
- The application of IIC communication port;
- The application of PIC parallel port;

Image description

Fundamentals of CPLD/FPGA System Design with VHDL Language


This course is targeted for those who begin to learn complex programmable logic device (CPLD). The course is based on VHDL language. Students will learn how to use VHDL library, how to build entities and architectures and how to debug after completing a program. This course combines both theoretical lecture and hand-on practices on study board (based on Altera EPM240T100C5 chip).


30 hours


Digital electronics design and programming knowledge.


- Concept of CPLD and FPGA, basic structure of VHDL.
- Familiar with Moore State Machine and usage of RTL viewer.
- VHDL design process of a counter and how to write program to the study board.
- A design example on dual in-line package (DIP) switch and dynamic LED display.
- Detecting of keying and display control.
- Eliminating jitter of keys
- A design example of traffic light and how to control timing.
- A design example of dynamic display and how to control dot matrix display.
- How to use ADC0804 to collect voltage information and convert to digital data.
- Sine wave generation, theory of Direct Digital Synthesizer (DDS)

Image description

Embedded System Design Based on ARM7/9 Proccessor


Increase your understanding of how system-on-chip (SoC) and microprocessors are designed and used in embedded systems development. Participants will learn about the 16/32-bit embedded RISC processor ARM architecture and discover its wide applicability in embedded applications. Concepts and methodologies employed in designing a system-on-chip (SoC) based around a microprocessor core are thoroughly discussed. Practical hands-on lab exercises based on the ARM instruction set are used to reinforce the concepts learned. Architectural Support for high-level languages, systems development, operating systems, and survey of ARM processor cores are discussed.


C programming knowledge and electrical circuit theory


Part 1: Introduction to embedded system

Hardware platform

Software platform

Use virtual machine (VMWARE)

Linux operating system

Part 2: Program Testing

Use of testing board

ADS application environment

Analysis on booting code

S3C444BOX I/O interface and interrupt

S3C444BOX I/O interface


Use AD to collect temperature, audio and read/write NAND flash

Use AD to collect temperature

Audio principle

NAND Flash

 USB D12 sub-system

USB protocol introduction

Concept of position machine

Part 3: uC/OS-II

Introduction to uC/OS-II

Some code analysis

Create Instance

Use uC/OS-II to collect temperature.

Part 4: Tutorial on Embedded uclinux

u-boot migration and analysis;

operations in uclinux

File directory in uclinux

Booting code analysis

Driver program design

Driver program design project

Image description