◆ 课程目标
通过本课程的学习,学员对桌面和嵌入式Linux应用编程有全面的了解,具备编写Linux环境下的应用程序和模块的能力。课程目标包括:
1)熟悉Linux操作系统具体操作
2)熟悉并可以编译Linux内核
3)熟悉嵌入式Linux系统开发的整体流程
4)熟悉Linux系统调用
5)能够熟练编写Linux应用程序,包括网络、图形等
6)了解Linux设备驱动程序的开发
◆ 培养对象
有志进行嵌入式Linux系统开发环境下应用程序开发工程师。
◆ 入学要求
学员学习本课程应具备下列基础知识:
具备计算机基础知识;
具备C语言编程基础;
了解Linux基本操作。
◆ 师资团队
【孙天泽】具有多年嵌入式开发实战经验,主要研究方向是嵌入式操作系统和Linux系统下的设备驱动开发。熟悉的处理器包括:EP7312、S3C44B0、S3C2410、PXA255。先后参与过GPS车载导航系统、无线手持POS机、地下管道探测仪等项目的开发工作,在项目中主要负责平台搭建和驱动开发工作。近年来一直从事实时系统的研究工作,对Linux内核有一定的理解。著有《嵌入式设计及Linux驱动开发指南》一书。
【田 彦】 清华大学博士,在嵌入式系统软件、硬件开发方面具有多年的项目开发经验。熟悉包括嵌入式Linux在内的多种嵌入式操作系统,熟悉PPC和ARM体系结构,从事过基于嵌入式系统的CAN、Bluetooth、RF、GPS、GPRS等研发工作。
【孙 琼】计算机网络专业硕士,已具有多年的嵌入式Linux开发经验,曾移植裁减过多个版本的嵌入式Linux(如uClinux、Rtlinux、Debain等),并在多种平台上移植过完整的NTP、SNMP等多个协议栈,全面参与视频监控系统的开发,对ARM、MIPS等体系结构都有较为深刻的理解,在Linux下有两年的驱动开发经验。《嵌入式Linux应用程序开发详解》一书作者。目前正在参与路由算法在硬件上的实现等项目。
◆ 教材
《嵌入式Linux应用开发班培训讲义》
《嵌入式Linux应用程序开发详解》华清远见教材编写组 编著
◆ 班级规模及环境
为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限15人,多余人员安排到下一期进行。人手一套开发板和开发用的PC主机。
◆ 学时
北京总部(滚动开班):
上课地点:北京清华大学
周末班(周六日上课):2008年9月20日,2008年10月25日,2008年11月22日
连续班(连续上课):2008年9月29日(国庆班),2008年10月25日,2008年11月22日
上海分中心(滚动开班):
上课地点:上海徐汇区银海大厦A座2层
周末班(周六日上课):2008年9月13日,2008年11月1日,2008年11月29日
连续班(连续上课):2008年9月13日,2008年9月29日(国庆班),2008年11月1日,2008年11月29日
深圳分中心(滚动开班):
上课地点:深圳大学
周末班(周六日上课):2008年9月6日,2008年11月01日,2008年12月13日
连续班(连续上课):2008年9月6日,2008年9月29日(国庆班),2008年11月01日
本课程每期班限额15名,报满即停止报名,请提前在线或电话预约
华清远见保留开课时间调整的权利,欢迎来电洽询
◆ 费用
◆课时: 共4天,每天6学时,总计24学时
◆培训费用(含教材费和午餐费):公司员工(2500元),个人自费(1900元),学生自费(1500元,凭有效证件)
◆认证费(可选):300元(项目考核通过,颁发中国软件行业协会嵌入式分会认证的《嵌入式Linux应用工程师》证书)
◆外地学员:代理安排食宿(需提前预定)
◆团体报名优惠措施:两人95折优惠,三人或三人以上9折优惠
◆套餐课程同时报名优惠措施(以下套餐优惠只能任选一种):
1、同时报选《ARM开发培训班》,即享受400元优惠
2、现在同时报选《ARM班》,《Linux应用班》,《Linux系统班》,《Linux驱动初级班》,《Linux驱动高级班》中的任意3门课程,即赠送三星2410开发板
报选此课程可获100元折价劵!
◆ 质量保障
1、培训过程中,如有部分内容理解不透或消化不好,可免费在下期培训班中重听;
2、培训结束后免费提供一个月的技术支持,充分保证培训后出效果;
3、培训合格学员可享受免费推荐就业机会。
◆ 课程进度安排(V4.0)
第一天9:00-12:00
1 嵌入式Linux基础
1.1 Linux简介及历史
1.2 安装Linux操作系统
1.3 Linux基本命令
1.4 GNU与GPL
1.5 函数库和系统调用
1.6 在线帮助
1.7 嵌入式系统开发流程
1.8 如何选择嵌入式操作系统
2 常用工具的使用
2.1 认识gcc编译器
2.2 认识gdb调试器
2.3 Makefile祥解
2.4 vi编辑器高级使用
2.5 库和头文件的保存位置
2.6 共享库及其相关配置
2.7 使用和创建函数库
2.8 什么是交叉编译
2.9 交叉编译的过程
13:00-17:00
【实验】
实验1:动手安装Linux系统
通过本实验,学员将具备安装Linux操作系统的能力,了解Linux的文件系统、交换分区等概念。
实验2:学习Linux系统命令
本实验指导学员学习Linux常用的命令,包括cp/rm/mkdir/rmdir/ls/mv/ln/kill/cd等。
实验3:配置tftp服务
本实验指导学员配置tftp服务
实验4:配置nfs服务
本实验指导学员配置nfs服务,为后面的开发工作打基础
实验5:建立嵌入式开发环境
本实验指导学员建立嵌入式开发环境,配置交叉编译器。
实验6:下载内核到嵌入式平台
实验7:下载根文件系统
实验8:编写并下载应用程序到嵌入式平台
实验6,7,8是嵌入式系统开发的基本步骤,通过这几个实验,学员可以掌握嵌入式系统开发流程。
第二天9:00-12:00
3 嵌入式Linux内核
3.1 认识Linux内核结构
3.2 编译Linux内核
3.3 Linux内核模块
3.4 裁剪Linux
3.5 Linux开机流程分析
3.6 认识Bootloader
3.7 移植uboot
3.8 移植Linux内核
4 Linux系统调用
4.1 理解系统调用
4.2 系统调用的限制
4.3 使用系统调用
13:00-17:00
【实验】
实验1:编译小于300k的Linux内核
通过本实验,学员将制作支持网络、支持音频等不同类型的内核,加深对Linux内核的了解。
实验2:使用open系统调用打开文件
通过本实验,学员可以熟悉Linux中open系统调用的方法。
实验3:使用read/write系统调用读写数据
通过本实验,学员可以熟悉Linux中read/write系统调用的方法。了解一般串口通信的方式。
实验4:其他系统调用实例
本实验将列举更多的系统调用实例,学员对Linux系统调用能有进一步的理解。
第三天9:00-12:00
5 进程
5.1 进程的属性和状态
5.2 进程的控制和调度
5.3 进程的创建、执行、消亡
5.4 进程的相关系统调用
5.5 守护进程
6 进程间通信
6.1 进程间通信基本概念
6.2 管道
6.3 信号(signal):
6.4 内存映射(mapped memory):
6.5 息队列(message queue):
6.6 信号量(semaphore)
6.7 共享内存
7 嵌入式Linux下的网络开发
7.1 ISO/OSI七层协议模型/IP网络4层模式
7.2 TCP/IP协议族
7.3 TCP/IP编程
7.4 基于嵌入式Linux的TCP/IP网络结构
7.5 基于嵌入式Linux的socket编程
7.6 UDP与TCP的区别
7.7 UDP Server-Client关系
13:00-17:00
【实验】
实验1:使用ps命令查看进程信息
Ps是基本的linux命令,通过本实验,不仅要熟悉ps命令方法,更重要的是可以了解Linux进程的组成。
实验2:使用proc文件系统查看进程信息
本实验将指导学员了解proc文件系统,通过proc文件系统查询进程信息,可以扩展到修改系统参数。
实验3:使用system()系统调用运行和等待
本实验将通过编写system系统调用的程序,加深对系统进程的了解。
实验4:exit和exec系统调用实例
实验5:编写一个守护进程
守护进程是Linux系统开发中很重要的知识点,本实验要求学员编写一个守护进程,通过本实验,学员可以熟悉守护进程的编写过程。
实验6:编写基于串口通信的多进程程序
通过本实验,学员可以掌握ARM的串行口工作原理,了解ARM的UART通讯。在了解了串口编程后,扩展到多串口同时通信,从而掌握进程间通信技术。
实验7:分析并加强Ping程序
实验8:编写一个简单的tftp服务器
本实验将开发一个tftp服务器,实现简单的文件传输功能
第四天9:00-12:00
8 嵌入式驱动开发
8.1 驱动程序基础知识
8.2 Linux设备驱动分类
8.3 Linux设备驱动模型
8.4 编写字符设备驱动程序
9 嵌入式图形开发
9.1 GUI基础知识
9.2 qt简介
9.3 建立Qt/Embedded 开发环境
9.4 编写qt程序
10 根文件系统
10.1 Linux文件系统概述
10.2 MTD技术分析
10.3 日记文件系统
10.4 制作根文件系统
10.5 制作ramdisk
13:00-17:00
【实验】
实验1:I/O实验,8*8发光二极管点阵
通过本实验,学员可以掌握ARM芯片I/O控制LED显示的方法,熟悉s3c2410处理器的I/O配置寄存器,编程实现实验板的发光二极管点亮和熄灭。同时还可以掌握Linux驱动开发能力。
实验2:动手制作ramdisk
本实验将创建一个ramdisk,并加载到Flash中去,启动Linux内核后,挂载该ramdisk。
实验3:制作cramfs文件系统
本实验将创建一个cramfs文件系统,并加载到Flash中去,启动Linux内核后挂载。
--------------------------------------------------------------------------------
本课程培训过的客户
清华大学精仪系 | 北京邮电大学 | 北京理工大学 | 北京工业大学 | 中国农业大学 | 东北大学 | 昆明理工大学 | 桂林电子科技大学 | 汕头大学 | 中国民航大学 | 中国传媒大学 | 北京交通大学 | 北京科技经营管理学院 | 中科院自动化所 | 北邮通信网络综合技术研究所 | 台湾四零四科技股份有限公司 | 上海飞利浦 | 天津津亚电子有限公司 | 北京新北光大地仪器有限公司 | 北京数位红应用技术有限公司 | 北京信诺瑞得信息技术有限公司 | 北京新中新有限公司 | 丹东思凯电子发展有限公司 | 光华科仪有限公司 | 北京怡德科技发展有限公司 | 北京公联信达 | 北京红樱枫软件公司 | 正星科技有限公司 | 杭州恩康数码科技有限公司 | 第二炮兵研究院 | 廊坊开发区大地公司 | 北京中电华大电子设计有限责任公司 | 意科通信 | 张家港合丰机械制造有限公司 | 济南泰信 | 北京东方凯奇 | 广州市奕星研科数码有限公司
|
|