 |
| 有志从事ARM Linux嵌入式开发、Linux驱动开发、系统开发、应用开发的学生或工程师,针对已经报名或打算报名参加东方赛富培训的学员。 |
 |
| 本课程详细讲解嵌入式Linux上驱动程序开发流程,其中包括设备驱动程序概念、字符设备驱动程序、块设备与网络设备、网卡驱动以及常用嵌入式设备驱动开发等知识。同时独立实现两种嵌入式设备驱动程序的编写,包括驱动模块的调试和加载以及完整的项目开发文档的编写。 |
 |
1、计算机、电子、自动化、通信、信息工程等相关专业。 2、大学专科(含专科)以上学历。 3、不具备以上条件,但从事 2 年以上计算机软硬件开发的技术人员。 4、有就业需求的学员应满足相关企业员工身体健康要求。 |
 |
1、培训过程中如有内容理解不透或消化不好,可免费在下期班中重听;或者申请补课。 2、培训结束后免费提供技术支持和免费项目实践机会,充分保证学员项目实践机会。 3、免费为培训学员推荐就业机会。 |
 |
|
就业承诺:东方赛富3G学院承诺学员—参加3G学院就业课程,保底薪,100%全部就业;不就业,退全额学费;凡通过入学基础考试的学员,入学即签订就业保障协议。 就业行业:电信/网络/通讯、消费类电子、工业控制、军工企事业、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。 |
 |
|
【欧阳坚】 清华大学硕士,10年软件开发经验,6年嵌入式行业教学经验,曾任职于FSMLabs中国区技术总监。负责开发ARM处理器在RTLinux实时操作系统的升级,移植和维护。移植了24xx, 64xx, PXA270, EP9312, OMAPx, IXP25x, IXP26x, Cortex系列处理器。在美国著名的手机软件公司负责XWindows, DirectFB, WM图形系统开发, 优化显卡驱动硬件加速功能。负责移植Android系统平台到多款ARM机器上。优化Android平台的Webkit,设计和开发基于webkit的webwidget framework开发。研究生期间,就积极参与RTLinux和SkyEye内核开源项目,长期从事嵌入式Linux内核,系统级别开发。精通Linux内核驱动和移植,RTLinux实时内核开发。在实时RTLinux技术领域,是国内最权威的开发者之一。 【江文峰】 清华大学计算机系硕士,原清华大学计算机系、清华大学软件学院助教。EMC中国研发中心高级工程师。9年软件开发经验,6年嵌入式Linux开发经验,精通嵌入式Linux、RTlinux、MIPS,精通嵌入式系统的移植与开发,独立移植过ARM处理器到Linux 2.4, Linux 2.6内核平台、开发了SKYEYE中MIPS 64位CPU模拟器,参与了国际知名开源项目QEMU开发。对MIPS体系结构和底层软件非常精通、并基于ARM、MIPS、嵌入式Linux开发多种设备驱动程序、无线传感器网络研发等。目前从事存储设备的研发工作,其所在的EMC公司是全球最大的存储解决方案提供商,拥有全世界2/3的市场份额。之前参与EMC子公司VMware中虚拟技术研发工作。了解Linux虚拟化技术。 【许拥军】 清华大学计算机系硕士,Google中国工程院高级工程师,原清华大学计算机系国家863项目“系统动态核迁移”技术负责人。9年软件开发经验,6年嵌入式开发经验,精通嵌入式系统、Linux内核。对嵌入式操作系统Linux、uClinux、WinCE有深入研究,尤其精通内核的调度系统、MMU管理和中断控制。曾经移植多款PowerPC处理器,对MPC7XX, MPC8XX系列处理器理解很深,对PowerPC的中断系统、FPU计算单元、MMU控制器、Cache和多处理器SMP技术有透彻的了解。在ARM、XSCALE等多种体系结构平台上移植Linux内核时;对嵌入式Linux的实时性、安全、可靠性的特点也有深入研究。参与翻译了操作系统经典书籍《操作系统--精髓与设计原理(第五版)》,该书作为清华北大众多高校的计算机操作系统专业教材。 更多师资团队... |
 |
|
◆《东方赛富嵌入式Linux驱动班内部讲义》 ◆ S3C2440实验开发板(人手一块)

|
 |
|
为保证教学质量,每期预科班限额15人,如要参加,请提前在本页最下方提交预约信息。 |
 |
开课时间:2010年09月18日 上课地点:东方赛富3G学院清华校区(北京海淀区中关村五道口清华东门成府路45号海升集团C座5层) 课程配备:教材、电脑、实验器材开发板人手一套 |
 |
课时:6天(36课时) 培训费用:公司3500元,个人3000元,学生2500元(含教材费、午餐费) 外地学员:代理安排食宿(需提前向学院说明,预定房间) 交费方式:网上转帐、银行汇款、支票 咨询电话:010-82865990转8001 参加预科班前15名可获100元优惠券,先报先得!
团体报名优惠: ◆团体报名优惠措施:两人95折优惠,三人及三人以上9折优惠 ◆套餐课程同时报名优惠措施(以下套餐只能任选一种): 1、同时报选《嵌入式Linux系统开发班》或《嵌入式Linux移植开发班》,即享受400元优惠,同时可获中国软件行业协会嵌入式系统分会认证证书。 2、同时选报《嵌入式Linux应用开发班》、《嵌入式Linux系统开发班》、《嵌入式Linux驱动开发班》、《嵌入式Linux移植开发班》、《Android应用开发培训班》、《Android系统开发培训班》、《Android系统移植培训班》中的任意3门课程,即赠送S3C2440开发板。 3、报选本课程可获200元折价券!查看折价券使用规范 |
 |
| 授课时间 |
课程大纲 |
|
第一天 |
学习目标:通过本次课程学习,学员掌握Linux内核模块编程,内核模块编程时驱动编程的基础和框架,学员应充分掌握模块的编译,加载和卸载,掌握模块中常用的API函数的使用和注意事项。同时也要求掌握中断的注册等方法的使用。 |
|
9:00 | 12:00 |
一 Linux内核模块开发详解 1. Linux内核模块原理 ◆ 模块的概念 ◆ 模块的编译 ◆ 模块的加载,卸载和查看 2. Linux内核中断原理 ◆ 中断响应流程 ◆ 中断处理流程 3. Linux内核API函数和数据结构详解 ◆ file_operations数据结构详解 ◆ 内存分配API函数 ◆ 字符串操作API函数 ◆ 注册设备文件API函数 ◆ 中断相关API函数 ◆ 其他Misc API函数
|
|
13:00 | 16:00 |
【实验】 1. Intel x86内核创建,编译和运行helloworld内核模块 2. 将x86移植到S3C6410开发板上 3. 将helloworld内核模块增加设备文件/dev/helloworld 4. 将helloworld内核模块中增加file_operations接口 |
|
第二天 |
|
9:00 | 12:00 |
二 Linux字符设备驱动原理(2.6) 1. 设备驱动 ◆ Linux设备驱动的概念 ◆ Linux设备驱动分类 ◆ Linux设备驱动和内核模块的关系 ◆ Linux设备驱动2.4和2.6不同点 2.字符设备驱动程序 ◆ 字符设备驱动程序详解 ◆ 主设备号和次设备号原理 ◆ fs_operation数据结构详解 ◆ 驱动程序调试技术简单介绍 3. 字符设备驱动和硬件按键设备驱动 ◆ S3C6140按键硬件原理 ◆ S3C6140按键中断原理 ◆ S3C6140按键驱动设计 4. 用户空间应用程序访问按键驱动接口 ◆ 读取S3C6140按键 ◆ 控制S3C6140按键 |
|
13:00 | 16:00 |
【实验】 1. 使用字符设备设计串口驱动 2. 使用字符设备设计S3C6410按键驱动 3. 使用串口驱动驱动2个串口进行对接通讯 3. 使用中断模式进行按键处理 |
|
第三天 |
|
9:00 | 12:00 |
三 Linux字符设备驱动高级技术(2.6) 1. Linux内核open流程和重要数据结构 2. Linux内核close流程和重要数据结构 3. Linux内核ioctl流程和重要数据结构 4. Linux内核read流程和重要数据结构 5. Linux内核write流程和重要数据结构 |
|
13:00 | 16:00 |
|
|
第四天 |
|
9:00 | 12:00 |
四 Linux网络设备驱动(2.6) 学习目标:
1. 网络接口net_device数据结构和相关API函数详解 2. 网络数据包sk_buff数据结构和相关API函数详解 3. 网络netif_网络接口函数详解 4. 以太网注册相关API函数 5. 数据包的发送流程 6. 数据包中断接收过程 7. 网络数据包的优化NAPI原理 |
|
13:00 | 16:00 |
【实验】 1、编写简单的虚拟以太网卡驱动程序 2、移植并编写DM9000网卡驱动程序 3、配置网络参数,测试网卡驱动程序行为 4、将DM9000网络驱动修改成字符设备的驱动 5、设计一个类似loopback的循环虚拟网卡驱动 |
|
第五天 |
|
9:00 | 12:00 |
五 Linux Framebuffer和触摸屏驱动 学习目的: 1、LCD硬件原理 2、触摸屏TS原理 3、mmap显存映射原理 4、fb_ops数据结构和相关函数 5、fb_相关函数介绍 6、触摸屏注册函数介绍 7、触摸屏x,y坐标读取 8、触摸屏中断产生原理 9、理解上层GUI原理 |
|
13:00 | 16:00 |
【实验】 1、移植S3C6410Framebuffer驱动 2、在S3C6410LED上编程一个应用层圆形,长方形等图形 3、移植S3C6410Touchscreen驱动 4、在LED和TS上实现应用程序可以跟踪光标操作 |
|
第六天 |
|
9:00 | 12:00 |
六 LINUX下USB驱动开发基础 6.1 USB规范介绍 6.2 USB主机控制器 6.3 USB HUB 6.4 USB设备状态 6.5 USB描述符 6.6 USB请求 6.7 USB通讯数据格式 6.8 S3C2410 USB device控制器 6.9 编写usbtransfer固件程序
|
|
13:00 | 16:00 |
六 LINUX下USB驱动高级开发 6.10 Linux USB驱动层次 6.11 Linux USB主机控制器驱动介绍 6.12 Linux USB HUB驱动介绍 6.13 Linux USB 设备驱动程序 6.14 编写usbtransfer设备驱动程序 6.15 编写usbtransfer设备应用程序 | |