APIIT+ Programming+ +advance
APIIT+ Programming+ +advance
Introduction
Specific Architectures are used in this section of Embedded Linux Course towards using the Hardware
architecture and programming embedded controller boards.
Device drivers are written by programmers with intimate knowledge of the hardware device – its
architecture and modes of operation. There is a bewildering array of devices and more are added each
month, some of them even exotic.
Writing device drivers for Linux requires both knowledge of the hardware and the kernel. This course
aims to provide participants with detailed knowledge of the structure of the major Linux devices:
character, terminal, block and network. It presents hands-on training for writing and customizing
device drivers for an embedded system. Kernel modules and kernel threads are also described. There
is also a special topics section to provide the linkage to optimization, efficiency, robustness and
economy considerations within the context of an embedded system.
Audience
• Graduates who wants to know how to use Linux for their Embedded projects
• Electronics graduate and Computer Science graduates who wish to learn basics of Embedded
Linux and Device Driver programming
• The pre-requisite of the Advanced course is the Basic Module.
• Who wants to have hands on session on Embedded Linux and upgrading their embedded
systems knowledge.
At Course Completion
After completing this training, you will be able to:
Pre-requisite
• Embedded Linux Basic Knowledge
• Some understanding of Operating Systems Fundamental
• Redhat Linux Usage and knowledge
• Fresh Electronics or Computer Science graduates with interest in Embedded system concept.
Day 1
Development Environment
Development tools - Red Hat Linux
Target board setup - ARM7 Board and SARM PDA
Debugging facilities
Use Hyper Terminal or TTY in the Host Environment - Setting up Console
• Laboratory Assignment 1 – Setting up the development environment and the ARM7 target
board. Linux kernel experiments.
Day 2
Kernel Modules
What are kernel modules?
Kernel space
Concurrency in the kernel
Building a kernel module
Installing and removing modules
Interrupt Handling
Interrupt handling and control
Interrupt handler
Autodetection: PCI cards, boards
Probing : find out about interrupts
Implementing a handler
Tasklets
Interrupt sharing: Shared handler
• Advanced Lab : Running XServer on an Embedded Xscale Board