Home   |   About Us
 Embedded System:

Part 1. Embedded System and BSP programming

1. Introduction
· Embedded system feature and class.
· The routing of embedded system development.
· What is uClinux
· Getting started with uClinux
· uCsimm hardware.
· LAB: configure and build a linux kernel, run on the uCsimm board.

2. Motorola 68k Hardware Architecture
· Dragonball 68EZ328 MCU hardware detail
· Motorola 68K core Architecture and Instruction Set.
· 68EZ328 Boot procedure (part of BSP) under uClinux.
· 68K Exception Processing
· LAB: add user applications under uClinux env.

3. uClinux Architecture
· linux Configure language
· GNU Make language
· Write own Makefile and config.in
· LAB: build a new board BSP with Coldfire board.

4. Advanced topic
· Linux kernel architecture
· Coldfire MCU architecture and interrupt controller
· Write BSP Link descript file, layout memory and program position
· How to build a new board.
· LAB: build a new board BSP (continue)

5. Powerpc architecture
· Powerpc 860 netcomm CPU architecture
· PPC core architecture and Instruction Set
· PPC Exception.
· BDM Debug method.
· PPC linux architecture
· LAB: build a new linux system and run on the ppc860 card board.

6. Write PPC BSP with u-boot project
· Flash theory and program .
· PPC 860 Memory controller
· PPC chip selection and BOOT procedure
· PPC clock
· U-boot architect and programm
· LAB:write flash,memory driver, use u-boot to up ppc board and run ppc linux (4 weeks)


Part 2. Embedded Linux Device Driver Writing

7. Building and Running Modules
· Kernel Modules Versus Applications
· Major & Minor Device Number , Making a Device File
· Initialization and Shutdown
· Explicit Initialization and Cleanup Functions
· I/O Ports and I/O Memory
· Using Resources
· Automatic and Manual Configuration

8. Character Drivers
· Typical Character Drivers
· Character Device Registration ,Character Device Special File and Device Numbers
· file_operations structure, struct file, struct inode
· Character Device Methods open(), release(), read(), write()
· Data Transfers between User Process and Driver ,copy_from_user(), copy_to_user()

9. Debug , Enhanced Character Drivers , Time Flow
· Debug Method
· Proc file methods and registration
· Ioctl(), Block I/O ,wait queue. Access Control through Drivers
· Poll and select
· Managing Time, Linux Style, Utilizing Kernel Timers, Wait queues, and Task Queues

10. Advance Technique: Memory, Hardware, and Interrupt Management
· Interrupt Management, Handling and Registration
· Auto-detecting IRQ's, Kernel Help in detecting IRQ's
· Enabling and Disabling Interrupts, Splitting Interrupt Handling - Top Half & Bottom Half , Tasklet.
· Combating Race Conditions ,Atomic Actions ,Spinlocks

11. Block Device Drivers
· Block Device Driver Characteristics
· Differences between Block and Character Drivers
· Block Driver Variables and Functions
· The Mount Problem ,Partitions in Block Drives
· Partition able Devices , gendisk structure and Location
· Modules and Partition Tables
· LAB: write a 68ez328 Port D and interrupt driver.

12. Network Drivers
· Network Driver Characteristics
· netdevice structure fields, methods
· ether_setup() and its brothers
· skb buffer structure fields.
· Write a SCC PPC net driver.

Back
About Us | Contact Us | Site Map | Legal Notices and Terms of Use | Privacy Statement
Copyright © 2003-2004 BBT College . All rights reserved.