最新linux培训大纲改2.docx

上传人:b****6 文档编号:7462606 上传时间:2023-01-24 格式:DOCX 页数:27 大小:24.05KB
下载 相关 举报
最新linux培训大纲改2.docx_第1页
第1页 / 共27页
最新linux培训大纲改2.docx_第2页
第2页 / 共27页
最新linux培训大纲改2.docx_第3页
第3页 / 共27页
最新linux培训大纲改2.docx_第4页
第4页 / 共27页
最新linux培训大纲改2.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

最新linux培训大纲改2.docx

《最新linux培训大纲改2.docx》由会员分享,可在线阅读,更多相关《最新linux培训大纲改2.docx(27页珍藏版)》请在冰豆网上搜索。

最新linux培训大纲改2.docx

最新linux培训大纲改2

培训大纲

每天6课时,9:

00-12:

00、13:

30-16:

30

时间

培训内容

培训目标

师资

第一阶段:

Linux下C、c++、数据结构、高级编程

第一周

1、嵌入式Linux开发环境构建

2、linux入门

3、LINUX基础

4、字符串与数组

1、嵌入式Linux定制、开发

2、内核编译和配置

3、配置主机开发环境

4、交叉开发环境搭建

5、嵌入式Linux开发工具介绍

6、Shell编程

7、交叉调试应用程序

应用程序开发的示例

程老师

1、Linux介绍

2、Linux定制安装

3、Linux文件类型及属性

4、Linux目录结构

5、Linux基本命令

6、Linux启动详解

7、Linux系统服务

8、常用服务器配置

9、LinuxC语言编程环境

10、Vi

11、Emacs

12、Gcc编译器

13、Gdb调试器

14、Makefile工程管理器

15、Autotools使用

标准C字符串库函数一览

重点函数实现解析

C字符串处理范例

一维数组

二维数组

字符数组

结构体

结构体数组

预处理命令

第二周

函数

1、函数的类型和返回值

2、函数的参数传递

3、函数调用过程中的栈堆结构

4、可变参数列表

5、递归函数调用

6、回调函数

第三周

指针

1、判断指针的类型

2、指针的运算

3、数组和指针的同异

4、指向函数的指针

5、指针与抽象

6、指针与函数

邵老师

第四周

结构体

1、结构体

2、结构体数组

3、结构体与指针

4、指针与链表

5、共用体、位运算

第五周

文件IO

1、文件类型指针

2、文件打开与关闭

3、文件的读写操作

4、文件的定位

5、流和IO重定向

6、文件共享

7、文件记录锁

8、出错的检测

9、C语言实训1考核

第六周

线性表

1、数据结构基本概念

2、线性表、

3、栈和队列

4、串、数组和链表

5、实验

第七周

图和树

1、树和二叉树

2、有向图和无向图,哈希表

3、动态存储管理

4、实验

第八周

算法

1、查找

2、内部排序

3、外部排序

4、文件

5、种经典算法以及初步的算法分析技术

第九周

C++基础

1、从C到C++

2、C++程序构成

3、常变量

4、C++输入输出

5、内置函数

6、函数重载

7、C++处理字符串

8、引用

9、new和delete

6、面向对象

7、类申明

8、类成员

9、类和对象

10、类和对象实验

第十周

构造函数

6、构造函数

7、析构函数

8、对象数组

9、静态函数

10、实验

第十一周

运算符

5、运算符重载

6、继承和派生

7、多重派生

8、继承和组合

9、实验

实训和考核

第二阶段:

嵌入式系统基础

第十二周

嵌入式系统基础

ADS开发与调试环境使用

1、嵌入式系统概述

2、开发板的介绍

3、基于ARM技术的嵌入式系统硬件架构

4、嵌入式系统硬件平台选型

5、常用处理器芯片

6、常用嵌入式操作系统

7、ARM处理器

8、嵌入式系统的组成和开发流程介绍

9、开发板演示

董老师

1、ADS调试器

2、Armcc/armlink用法详解

3、CodeWarrior集成开发环境

4、target设置选项

5、Linker设置

6、ARMfromELF工具

7、使用AXD调试代码

8、ADS示例

第十三周

ARM体系结构

S3C2440微处理器

1、arm系统基本体系结构原理

2、ARM与其他体系结构处理器异同比较

3、ARM的工作模式

4、ARM寄存器组织

5、ARM处理器的存储器格式

6、结合ADS调试代码

1、S3C2440微处理器分析

2、S3C2440主要结构

3、片内资源

4、工作频率的选择

5、芯片内存储器的选择

6、S3C2440存储器映射

7、bank0总线宽度

8、nWAIT引脚的作用

9、nXBREQ/nXBACK引脚操作

10、ADS配置和实验

第十四周

Arm编程和调试

1、ARM汇编指令集

2、ARM汇编与C混合编程

3、中断与异常处理机制

4、ADS开发实例

5、Init启动代码分析

6、ADS实验启动代码

Arm接口与实验

1、S3C2440X详解

2、I/O端口

3、PWM

4、存储器配置

5、地址映射

6、初始化流程

7、DMA

8、ADC和触摸屏接口

9、ADS开发实例(结合各个接口细解)

第十五周

Arm接口与实验

1、UART接口

2、SPI接口

3、IIC接口

4、RTC

5、时钟和电源管理

6、看门狗

7、结合包括常用接口、总线、模块介绍

8、ADS开发实例(结合各个接口细解)

9、考核

第十六周

嵌入式linux内核移植

1、嵌入式系统移植基本概念

2、Linux内核源代码结构

3、Linux内核选项解析

4、内核模块编译、使用方法

5、Linux内核移植平台相关代码分析

6、Linux内核的打印与调试

7、Linux启动过程源代码分析

8、动手修改Linux内核源代码

嵌入式linux移植

1、Linux内核的打印函数

2、Linux内核启动过程错误分析

3、分析编译过程错误和宏定义的关系

4、解析oops信息

5、常用调试方法和工具

6、Linux文件系统制作

7、文件系统和存储设备的选择

8、部署Ramdisk文件系统的过程

9、JFFS2文件系统和Yaffs2文件系统

第十七周

Linux核心的平台相关层代码分析

1、ARM平台相关层代码结构(arm)

2、2.S3C2440的平台相关层代码结构

3、S3C2440板级相关层代码结构)

4、Linux核心的makefile和Kconfig分析

5、Linux核心的链接脚本分析

6、和板级移植相关的代码和数据结构

7、和平台级移植相关的代码和数据结构

第三阶段:

Linux高级编程

一周三天,

周六周日,企业的项目经理来上课,周一到周五有一天的实验课)

第五周

IO口编程,文件编程

1、Glibc简介

2、系统功能调用接口

3、标准I/O库接口

4、高级I/O

第六周

进程编程和

进程通讯

1、进程的属性和状态

2、进程控制和调度

3、守护进程

4、进程间的关系

5、信号、管道(PIPE)

6、守护进程

7、信号(signal)处理

8、内存映射(MAPPEDMEMORY)

9、消息队列(MESSAGEQUEUE)

10、posix共享内存

11、信号量,

12、互斥锁,读写锁

第七周

多线程编程

1、线程与进程的区别

2、Posix线程

3、线程的创建与结束

4、竞争和临界区概念

5、线程同步

第八周

IPC高级编程

1、线程间通信与进程间通信

2、posixIPC和systemVIPC

3、消息传递

4、同步

5、共享内存

第九周

网络编程

1、网络基本概念

2、路由概念

3、TCP/IP各个层次的主要协议和功能

4、UDP与TCP的区别

5、NTP协议实现

6、基于嵌入式LINUX的SOCKET编程

7、UDPSERVER-CLIENT关系程

8、如何抓包并分析内容

第十周

客户端/服务器编程

1、客户端与服务器概念

2、字节顺序

3、网络编程常用函数

4、socket概念及使用

第十一周

socket网络高级编程

1、最简单的TCPC/S

2、添加错误处理

3、处理SIGPIPE信号

4、使用fork进行并发处理

5、使用select与poll

第十二周

UPNP实现

1、socket处理

2、RTSP请求处理

3、媒体数据传输

4、什么是UPnP

5、UDP广播

6、HTTP协议的GET与POST

7、XML解析

复习与阶段考核

第四阶段:

Linux内核

第十三周

内核基本结构

1、简要介绍2.6内核

2、内核和2.4比较

3、最新内核技术介绍

4、Linux内核源代码结构

5、Linux内核启动流

6、Linux内核模块开发

周老师

1、Linux进程管理

2、O

(1)调度器分析

3、内核锁机制分析

4、内核抢占技术分析

第十四周

内存管理

中断和异常

1、内存管理与分配

2、Linux-i386的段式存储和页式管理

3、四级页表树

4、Linux的进程地址空间分布

5、VM的策略:

请求分页、写时复制,交换和页面置换(Token-based)

6、内核缓冲区管理:

slab分配器

7、页核心分配器和NUMA内存分配策略

8、页帧换出守护进程:

kswapd

9、Linux中断处理

1、内核中的定时

2、高精度定时

3、IA-32平台上的中断概述以及APIC介绍

4、Linux的硬件中断模型和内核出入口图

5、BottomHalf机制

6、软中断的实现

7、Tasklet

8、工作队列

9、Linux对异常的实现

10、Linux内核并发与同步

11、时间、定时、延缓操作等

复习和考核

第五阶段:

QT图形界面

第十三周

QT基础

1、嵌入式Linux图形用户界面

2、Qt的特点

3、搭建QT开发环境

4、QT图形界面编程技术

5、QT窗口部件

6、QT介绍及其信号插槽机制

实验:

1、Helloworld

2、数字钟

1、父子化机制

2、常用控件介绍

3、界面布局管理

4、QT绘图

实验:

1、数字钟布局

2、模拟钟

3、实时曲线绘制

第十四周

1、QVFB虚拟帧缓存的建立和模拟开发调试

2、Qt编程举例

3、QT程序移植技术

4、QT设计师的应用

5、QT中的事件处理

6、项视图类

实验:

1、拼图游戏

1、开发板的NFS启动

2、开发板的QT运行环境搭建

3、QT程序的移植

4、QT对开发板上硬件资源的操作

5、为嵌入式应用定制Qtopia

6、交叉编译

实验:

1、串口设置、数据采集程

1、QT的网络编程

2、QT的数据库编程

实验:

1、局域网聊天工具

QT复习和考核

第六阶段:

Linux驱动程序设计

第十三周

Bootloader编程

1、Linux启动代码分析

2、程序的存储和加载过

3、RO、RW以及ZI段的存储特性

4、启动代码的搬移过程

5、启动代码的初始化流程

6、bootloader简介和架构分析

7、boot常用命令

8、设置u-boot环境变量

9、配置编译u-boot

10、bootloader代码解析及使用

11、bootloader资源分配和移植

12、添加/修改bootloader功能模块

13、实现自己的bootloader

周老师

实验:

1、添加u-boot新命令

2、移植u-boot-1.3.4

3、修改Linux的启动logo

4、修改核心启动参数

5、添加硬件检测功能模块

第十四周

 

1、Linux驱动简介

2、Linux设备驱动的概念

3、Platformdevice模型介绍

4、模块的概念

5、模块的构建、编译和加载

6、驱动程序调试技术简单介绍

7、字符设备驱动程序设计

实验:

1、Platformdevice模型实验

2、GPIO按键实验——使用中断机制访问

3、按键中断实验

字符驱动

1、字符设备驱动程序实现框架

2、典型驱动分析

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

4、同步、互斥、阻塞、睡眠机制

5、Linux-2.6设备模型与sysfs文件系统

6、udev与devfs文件系统

7、fs_operation结构分析

8、中断机制

9、softirq机制

实验:

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

2、LED驱动程序设计

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

4、编写秒表字符设备,掌握定时器用法

字符驱动

1、Poll和select操作

2、异步通知机制

3、1inux内核中断子系统

4、中断处理程序编写

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

6、内核定时器与延迟机制

7、内核内存管理机制

8、ioctl型驱动

9、阻塞型驱动程序设计

实验:

1、内核程序传递参数

2、串口驱动程序设计

3、在驱动代码中加入创建proc结点方法

4、编写驱动实现包含等待队列、信号量、fifo等功能

5、编写驱动实现包含poll功能

6、编写驱动实现tasklet功能

7、驱动的测试程序编写

块设备驱动程序开发

1、块设备驱动程序的特点和工作原理

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

3、块设备驱动的设备文件接口概念

4、块设备驱动的文件系统接口概念

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

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

7、S3C2440中的NANDFLASH控制器驱动分析

8、块设备驱动的注册接口(register_blkdev)等

9、块设备驱动操作接口(open,release,ioctl等)

10、块设备驱动的request队列和request操作

实验:

1、实现RAMDISK驱动

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

3、配置MTD内核选项

4、修改vdisk.c支持多个设备

5、移植嵌入式文件系统

代码分析(vdisk.c)

1、vdisk.c的注册接口

2、vdisk.c的open,release,ioctl

3、vdisk.c的request队列和request操作

实验:

1、音频驱动实验

2、USB摄像头采集实验

3、数字接口摄像头采集实验

4、I2C驱动实验

5、AD/DA采集实验

第十五周

LCDFramebuffer设备驱动程序开发

1、液晶/触摸屏工作原理

2、S3C2440液晶、触摸屏控制器工作原理

3、LCD屏驱动程序编写

4、Framebuffer帧缓冲显示技术

5、帧缓冲驱动程序原理

6、帧缓冲驱动程序的数据结构及结构分析

7、帧缓冲驱动程序的API

8、帧缓冲驱动程序的基本实现

9、使用高级图形库

实验

1、熟悉FRAMEBUFFER驱动的结构

2、熟悉FRAMEBUFFER中的重要数据结构

3、编写S3C2440彩色LCD控制器驱动程序

4、编写测试程序控制屏幕显示

5、编译高级图形库例子,显示图形

6、熟悉触屏驱动程序

7、写触屏测试代码

网络设备驱动程序开发

8、常见网卡

9、网卡芯片所实现的协议层功能

10、cs8900网卡芯片手册导读

11、cs8900网卡硬件电路分析

12、LinuxTCPIP网络结构概述

13、套接字(SOCKET)简介

14、套接字缓冲区(SK_BUFF)

15、数据包传送与接收

16、NET_DEVICE结构分析

17、网络驱动的中断处理

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

19、Linux网络设备结构

实验:

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

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

3、cs8900与DM9000网卡驱动程序对比

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

第十六周

USB设备原理

1.USB规范介绍

2.usbhost/client分类说明

3.usb四种传输类型及其作用

4.USB设备状态

5.USB描述符

6.USB请求

7.USB通讯数据格式

8.usb地址端点的使用

9.S3C2440USBdevice控制器

10.usb协议实现及其详解

11.编写usbtransfer固件程序

12.usb设备即插即用过程

实验:

在开发板上烧写并测试USB固件程序

usbtransfer固件程序分析与编写

使用usbview工具观察USB设备

使用sysfs分析USB层次结构

LINUX下编写usbtransfer设备驱动实现USB下载

复习和考核

第十三周

职业素养

第十四周

面试技巧

考核与就业

毕业答辩与就业指导

第七部分嵌入式linux项目实战部分

视频采集终端项目实训大纲

课程内容

 

理论部分

项目需求分析说明书

1.编写需求分析报告的要求

2.需求分析报告的编制者

3.需求报告评审

4.需求报告格式

项目概要设计说明书

1.编写概要设计的要求

2.概要设计报告的编写者

3.概要设计和需求分析、详细设计之间的关系和区别

4.概要设计的评审

5.概要设计格式

项目详细设计说明书

1.详细设计的要求

2.详细设计的评审

3.详细设计格式

测试分析报告

1.界面测试

2.可用性测试

3.功能测试

4.稳定性(强度)测试

5.性能测试

6.逻辑性测试

实验部分

编码调试

1.软件编码的要求

2.编码的评审

3.编程规范及要求

项目开发总结报告

1.合法性检查

2.软件代码测试

3.软件文档检查

4.软件系统测试

5.测试结果交付方式

嵌入式Linux项目实战

设计并实现一个完整的嵌入式视频服务器的完整解决方案,涉及到数据采集、网络/无线通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。

在整个开发过程中,需要用到的知识点包括如下方面:

13.需求分析文档,系统设计文档,详细设计文档

14.ARMLinux的内核编译

15.rootfs文件系统构建

16.linuxweb服务器的搭建

17.按键驱动编写

18.usb驱动编写

19.GPRS通信驱动实现

20.网卡驱动程序编写

21.通过摄像头驱动编写

22.SOCKET编程,基于标准协议的媒体数据传输

23.中断驱动程序编写

24.使用Qt图形界面编程实现视频本地播放程序

25.用户界面设计

26.CGI程序设计

27.程序优化、测试(包括:

内存泄漏、系统调用跟踪、函数执行时间及频率检测、coredump处理等)

28.系统测试用例及文档

29.使用说明书

通过实战项目,培训学员建立起团队开发和协同工作的能力;增加学员对企业项目开发模式的概念的理解;规范化学员的项目开发流程;加强学员对编写项目概要设计文档和详细设计文档的能力,加强学员对软件产品质量的理解。

为就业前的职业技能和素质训练做好充分准备。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1