Chinaunix首页 | 论坛 | 博客
  • 博客访问: 304323
  • 博文数量: 78
  • 博客积分: 3635
  • 博客等级: 中校
  • 技术积分: 1115
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-28 09:35
文章分类

全部博文(78)

文章存档

2011年(13)

2010年(65)

我的朋友

分类:

2010-11-01 17:05:02

全文:嵌入式ARM-Linux整体培训大纲(一)

(1)Linux概述; 

(2)Linux安装、内核定制、使用及初始化流程分析。

(3)linux的管理和网络应用  

(4)shell程序设计;

(5)实验:(a)安装与定制Red hat Linux系统、定制Linux内核;

         (b)实验:编写shell程序。

        (c)实验:linux命令实践和网络应用。 

(1)Linux进程管理,包括进程的PCB管理、进程状态及迁移、进程的创建与消亡、进程间通信;系统调用基础知识。

(2)Linux存储管理,包括Linux下进程的虚地址空间的概念、进程的虚存段VMA、内存映射、共享存储等;

(3)实验:编写应用程序,实现进程之间通过共享存储进行通信。

(4)Linux文件系统,介绍VFS技术、EXT2、EXT3文件系统; 

(1) 设备驱动程序结构介绍,内核模块技术及内核模块编程知识;

(2) Linux下的应用程序结构介绍;Make file讲解。

(3) 实验:学习编写一个Linux TCP/IP 通讯程序。 

(1)嵌入式的基本概念

(2)嵌入式微处理器分类

(3)ARM嵌入式系统的硬件结构 

(1)基于ARM的GUI技术的介绍

 (2)MINIGUI的GUI实验

 (3)QTE的GUI实验 

 (1)ARM嵌入式系统硬件开发相关技术

(2)ARM7体系结构(ARM7 S3C44B0X)和ARM9体系结构(ARM9 atm9200) 

(1)ARM嵌入式系统的指令及编程

 (2)ARM汇编指令实验 

上午:

(1)嵌入式linux系统简介

(2)嵌入式linux开发环境的介绍

(3)嵌入式linux内核分析 

下午:

(1)嵌入式linux设备驱动程序开发

(2)嵌入式多线程开发

(3)实时嵌入式linux系统介绍 

 上午:

(1)嵌入式系统开发的组网结构实验;

(2)嵌入式linux内核编译实验;

(3)嵌入式linux文件格式改变实验; 

下午:

(1)嵌入式文件系统实验;

(2)嵌入式应用程序实验;

(3)嵌入式驱动程序实验;

(4)嵌入式系统稳定性测试实验 

 LINUX调试技术培训大纲(二) 

Linux初步调试

      1.1 使用printk/printascii打印调试信息

      1.2 使用KGDB/GDB

      1.2.1 GDB原理简介

      1.2.2 使用GDB调试应用程序

      1.2.3 使用KGDB调试内核程序

      1.3 使用PROC接口调试驱动

      1.4 使用BDI2000调试器

      1.5 综述

     试验1:printk/printkascii调试内核启动

     试验2:使用kgdb调试内核  

 Linux系统性能分析与优化

      2.1 用内核函数跟踪工具(KFT)跟踪内核启动/关闭时间

      2.1.1 内核函数跟踪工具(KFT)简介

      2.1.2 KFT的使用

      2.2 用Linux跟踪工具(LTT)分析执行流

      2.2.1 Linux跟踪工具(LTT)简介

      2.2.2 LTT的使用

      2.3 用基准测试工具分析Linux特定模块性能

      2.3.1 基准测试原理简介

      2.3.2 LMbench/Unixbench基准测试工具介绍及使用

      2.3.3 Netperf基准测试工具介绍及使用

      2.3.4 LTP基准测试工具介绍及使用

      2.4 解决Linux系统实时性指标

      2.5 综述

      实验1:使用KFT分析启动和关闭时间

      实验2:使用LTT工具跟踪Linux执行流

      实验3:使用LMBench分析内核各模块性能 

LINUX驱动开发培训大纲(三)

1. LINUX字符设备驱动程序开发

    1.1 LINUX内核结构

    1.2 LINUX内核配置与编译

    1.3 LINUX内核模块编程与加载

    1.4 LINUX-2.6设备驱动模型与SYSFS文件系统

    1.5 LINUX设备驱动程序基础与设备I/O

    1.6 LINUX字符设备驱动基础

    1.7 字符设备驱动程序实现框架与典型驱动分析

    1.8 用户空间与内核空间的数据传输

    1.9 阻塞与非阻塞I/O设计 

 【实验】

    1、驱动开发编程环境与内核配置、编译

    2、编写模块化字符设备驱动程序与测试

    3、如何为内核程序传递参数

    4、蜂鸣器驱动程序编写与测试

    5、阻塞型字符设备驱动编写与测试  

学习目标     通过字符设备驱动程序开发高级篇的学习,学员能够进行复杂的字符设备驱动程序开发,包括掌握设备硬件中断服务程序编写、操作延迟与中断上下部的编程以及掌握内核空间内存的使用等。

 2. LINUX字符设备驱动程序高级开发

    2.1 LINUX内核中断子系统

    2.2 中断处理程序编写

    2.3 驱动程序上/下半部处理与延缓执行机制

    2.4 内核定时器与延迟机制

    2.5 内核地址空间与内存使用

    2.6 内核与驱动程序调试  

 【实验】

    1、编写一个简单的驱动程序,使用3种内存分配机制

    2、扫描键盘的驱动原理

    3、内核定时器的使用

    4、编写带中断支持的扫描键盘驱动

    5、上下部支持的键盘驱动编写

学习目标     块设备常用于存储,如闪存等。通过这一天块设备驱动程序开发的学习,学员能够明白Linux中块设备驱动的特点及框架,独立分析Linux中大部分块设备的驱动方法,并熟悉MTD设备驱动的特点与框架,具备MTD Nand Flash驱动程序开发的能力。通过实验,学员还可以掌握IDE、Ramdisk驱动移植方法。

 3. LINUX块设备驱动程序开发

    3.1 块设备及其驱动的特点

    3.2 块设备驱动程序中两个关键结构体GEN_DISK与REQUEST

   3.3 块设备驱动程序的注册与请求处理

    3.4 MTD设备的特点以及与块设备的关系

    3.5 MTD设备驱动的框架及关键结构体分析

    3.6 S3C2410(S3C2440)中的NAND FLASH控制器分析

    3.7 S3C2410(S3C2440) NAND FLASH MTD驱动分析

 【实验】

    1、编写简单的块设备驱动程序

    2、实现RAMDISK驱动

    3、IDE硬盘的驱动移植

    4、移植S3C2410 闪存控制器驱动

    5、配置MTD内核选项

    6、移植嵌入式文件系统

学习目标     网络设备是嵌入式产品开发,特别是基于网络的产品开发中必须掌握的一种设备。通过Linux网络设备驱动程序开发的学习,学员将深入理解Linux网络驱动程序中有关套接字(socket)、套接字缓冲区(sk_buff)等概念,了解网络驱动程序的数据交换过程。通过实际的动手操作,学员将掌握如何移植或编写具体网卡的驱动程序,并在此基础上实现更为高级的网络功能。

 4. LINUX网络设备驱动程序开发

    4.1 OSI网络参考模型

    4.2 套接字(SOCKET)简介

    4.3 套接字缓冲区(SK_BUFF)

    4.4 NET_DEVICE结构分析

    4.5 数据包传送与接收

    4.6 网络驱动的中断处理

    4.7 网络设备驱动程序的基本实现  

【实验】

    1、了解网络设备驱动中常用的数据结构

    2、分析网络驱动程序结构

    3、编写简单的虚拟以太网卡驱动程序

    4、移植并编写CS8900A网卡驱动程序

    5、移植并编写DM9000网卡驱动程序

    6、配置网络参数,测试网卡驱动程序行为 

阅读(1042) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~