114培训网欢迎您来到南京凌嵌教育科技!

400-850-8622

全国统一学习专线 8:30-21:00

江苏南京ARM嵌入式linux内核驱动开发工程师班

授课机构:南京凌嵌教育科技

关注度:1009

课程价格: ¥4900.00元

上课地址:请咨询客服

开课时间:滚动开班

咨询热线:400-850-8622

在线报名

课程详情在线报名

更新时间:2024-11-22
ARM嵌入式Linux系统驱动开发工程师班课程介绍 课程背景 嵌入式软件开发无疑是当今最热门的行业,嵌入式软件工程师的薪资比普通的软件工程师的薪资平均高50%以上。随着智能电网、物联网的建设,社会对嵌入式人才的需求越来越多。 很多同学或在职人员已经意识到了嵌入式开发的重要性,已经开始自学嵌入式开发技术,但是因为嵌入式开发不同于普通的纯软件开发,它是综合了计算机软、硬件的一门综合*,涉及模拟电路,数字电路,C语言、计算机组成原理,微机控制技术,网络技术,数据结构等课程,很多同学面对嵌入式涉及的这么多课程和知识点,往往不知道从何处下手开始学习嵌入式。 嵌入式Linux开发主要分为2大部分,即嵌入式Linux应用程序开发和嵌入式Linux底层驱动程序开发。嵌入式Linux应用程序开发是指在现有的嵌入式Linux平台上进行应用层程序开发,应用程序开发人员不用关心底层的硬件平台和设备驱动程序,只是在应用层实现相关的业务流程和逻辑即可,从这个角度看,嵌入式Linux应用程序开发和普通的基于桌面版Linux和服务器Linux的应用程序开发基本类似。 相比嵌入式Linux应用程序开发,嵌入式Linux驱动开发无论是从技术的难度,还是对开发人员的要求都要高一个层次,嵌入式驱动开发人员主要为具体硬件设备开发相应的设备驱动程序,构建嵌入式底层开发平台,这就要求嵌入式驱动开发人员不但要懂应用的开发,还需要非常理解具体硬件设备的工作原理以及linux系统内核的原理,这样才能开发出高效,稳定的设备驱动程序。因此,一个优秀的嵌入式系统驱动工程师非常难找,年薪一般可达15万 ~ 30万以上。 本课程即是针对有兴趣学习嵌入式Linux系统驱动开发又不知道从何处着实开始学习嵌入式Linux开发的在校同学以及社会在职人员。 课程目标 本课程采用理论教学与实验相结合的方式,系统地介绍嵌入式Linux系统开发的流程,嵌入式Linux系统移植的方法,Bootloader的原理,嵌入式Linux下设备驱动程序开发过程。通过本课程的学习,学员可以掌握嵌入式Linux下字符设备、块设备、网络设备、LCD显示屏、触摸屏,USB设备等嵌入式硬件的设备的驱动开发,同时掌握嵌入式Linux的系统驱动开发和分析的一般方法,达到举一反三,灵活运用的效果。 培养对象 ARM嵌入式Linux初学者 ARM嵌入式Linux爱好者 有志于从事ARM嵌入式Linux系统驱动程序开发的工程师 入学要求 学员学习本课程应具备下列基础知识:  具备计算机基础知识;  具备C语言编程基础;  具备嵌入式linux应用程序开发基础 电子类、计算机类、通信类、自动化类高年级本科生或研究生 培训教材  《ARM嵌入式Linux系统驱动研发工程师培训讲义》  《ARM嵌入式Linux系统驱动研发工程师培训实验教程》 课时费用 课时: 共20天,160课时 培训费用(含教材费用 + 开发板费用):4900元 实验环境 为了保证培训效果,增加互动环节,我们坚持小班授课,每期报名人数限10人,多余人员安排到下一期进行。每个学员配备一套嵌入式飞凌ARM9学习开发板。 课程大纲 (2011-02-12更新) 详情登陆 时间 课程大纲 *部分 ARM嵌入式Linux设备驱动开发基础 第 一 天 上午 嵌入式系统的开发模型 ARM体系架构及编程基础 ADS开发工具的使用 S3C2440微处理器介绍及接口设计 S3C2440的地址空间、时钟系统、中断系统及GPIO编程 FL2440开发板电路原理图介绍 下午 实验目的: 练习裸机环境下ARM9的中断及GPIO编程 任务描述: 当用户按下某一个按键时,对应的LED灯亮,再次按下该按键时,对应的LED灯灭。要求不使用操作系统,按键采用中断机制实现。 第 二 天 上午 Bootloader的概念及功能 UBOOT的结构及源码组织 UBOOT的配置、编译及连接过程 UBOOT加载内核过程源码分析 UBOOT的常用命令 UBOOT的移植 下午 实验目的: 练习UBOOT的使用及移植 任务描述: 移植UBOOT的FL2440开发板上,FL2440开发板上电后,UBOOT能正常运行并能正常引导启动linux内核。 第 三 天 上午 Linux2.6内核的内存管理机制 Linux系统的内核空间和用户空间 Linux内核的虚拟地址和物理地址 Linux虚拟内存到物理内存的映射机制 ARM存储管理单元MMU,页表介绍,段页式存储管理 Linux内核编程常用存储管理函数介绍 下午 实验目的: 练习如何建立页表,深入理解MMU,,页表是如何完成虚拟地址到物理地址的映射过程。 任务描述: 在裸机环境下建立一个页表,启用MMU,将不同的虚拟地址空间映射到同一个物理地址空间(LED的物理地址),映射完成后,在应用程序中操作2个虚拟地址,都可以来操作该LED.。 第 四 天 上午 Linux内核中断管理系统 Linux内核中断响应流程分析 Linux内核中断管理相关函数解析 Linux中断处理的上半部分和下半部分 Linux定时器管理 Linux硬件定时器及软件定时器的使用 下午 实验目的: 练习linux系统下的中断编程及硬件定时器编程 任务描述: 编写一个硬件定时器驱动程序,在其中一个PIN脚上周期性输出PWM波形,应用程序可以启动,停止PWM波形的输出,同时可以改变PWM波的频率和占空比。 第 五 天 上午 Linux2.6 设备驱动模型 Linux2.6 总线、设备及设备驱动的概念及关系 Linux2.6 sysfs文件系统 Linux2.6 设备及设备驱动程序架构 下午 实验目的: 练习基于Linux2.6 的设备驱动模型开发设备驱动; 任务描述: 基于Linux2.6的platform设备驱动模型重写LED字符设备驱动。 第 六 天 上午 Linux设备驱动程序中的并发控制、信号量; Linux设备驱动程序中的阻塞与非阻塞IO Linux设备驱动程序中的轮询操作 Linux设备驱动程序中的异步通知和异步IO; 下午 实验目的: 练习在Linux设备驱动程序中使用并发控制、阻塞和非阻塞、轮询和异步通知 任务描述: 在Linux LED驱动中增加并发控制 在Linux globlemem驱动中增加阻塞和非阻塞,并支持轮询操作; 在Linux 按键驱动中增加异步通知 第二部分 ARM嵌入式Linux设备驱动程序开发 第 七 天 上午 LCD屏设备驱动程序设计 TFT LCD屏硬件工作原理分析 S3C2440 LCD接口控制信号及相关寄存器分析 TFT LCD控制信号时序分析 下午 实验目的: 练习S3C2440 LCD接口的硬件编程 任务描述: 裸机环境下编写LCD驱动程序,在LCD屏上显示一幅给定的图片 第 八 天 上午 嵌入式Linux下LCD屏驱动程序框架 嵌入式Linux下LCD屏驱动源码分析 嵌入式Linux下LCD屏驱动的移植 下午 实验目的: 深入理解嵌入式Linux LCD屏设备驱动,练习嵌入式Linux LCD屏设备驱动的移植与开发; 任务描述: 在移植的Linux内核上增加对LCD屏驱动的支持. 读Linux内核LCD屏驱动源码,完成LCD屏驱动源码分析笔记 第 九 天 上午 嵌入式Linux网卡驱动程序设计 S3C2440与网络芯片DM9000的接口电路分析 网络芯片DM9000的硬件工作原理 下午 实验目的: 深入理解S3C2440与DM9000的接口电路及DM9000的硬件工作原理,练习DM9000的硬件编程。 任务描述: 裸机环境下完成DM9000驱动程序,完成ARP报文的收发。 第 十 天 上午 嵌入式Linux下网卡驱动程序框架 Linux下网络协议栈分析 嵌入式Linux网络驱动源码分析 嵌入式Linux网卡驱动移植 下午 实验目的: 深入理解嵌入式Linux网卡驱动框架,练习嵌入式linux环境下网卡驱动的移植 任务描述: 在移植的Linux内核上增加对DM9000网卡驱动的支持。 读linux DM9000网卡驱动源码,完成源码分析理解笔记; 第十一天 上午 嵌入式Linux Nor Flash驱动程序设计 嵌入式Linux Nor Flash硬件工作原理及电路原理图分析 嵌入式Linux MTD子系统框架及源码分析 嵌入式Linux Nor Flash驱动程序源码分析 下午 实验目的: 深入理解嵌入式Linux环境下MTD子系统的工作原理,练习嵌入式Linux环境下NorFlash驱动编程。 任务描述: 在移植的Linux内核上增加对NOR FLASH驱动的支持; 读Linux NorFlash驱动源码,完成源码分析理解笔记 第十二天 上午 嵌入式Linux NAND FLASH驱动程序设计 NAND FLASH硬件工作原理及NAND FLASH操作流程 S3C2440 NAND FLASH控制器接口及电路原理图分析 NAND FLASH读写时序分析 下午 实验目的: 深入理解NAND FLASH的操作流程,练习NAND FLASH硬件编程 任务描述: 裸机环境下完成FL2440上NAND FLASH驱动程序,实现对NAND FLASH的读、写、擦除操作。 第十三天 上午 嵌入式Linux NAND FLASH驱动程序框架 嵌入式Linux NAND FLASH驱动程序源码组织 嵌入式Linux NAND FLASH驱动程序源码分析 嵌入式Linux NAND FLASH 函数调用流程 下午 实验目的: 深入理解嵌入式Linux NAND FLASH驱动框架,练习嵌入式Linux下NAND FLASH驱动程序开发 任务描述: 在移植的Linux内核上增加对NAND FLASH的支持; 读Linux nand flash驱动源码,完成源码分析理解笔记 第十四天 上午 嵌入式Linux 触摸屏驱动程序设计 电阻式触摸屏硬件工作原理 S3C2440触摸屏接口电路原理图分析 嵌入式Linux触摸屏驱动程序框架 下午 实验目的: 深入理解触摸屏硬件工作流程,练习S3C2440下触摸屏硬件工作编程 任务描述: 裸机环境下完成基于S3C2440的触摸屏驱动程序,实现对触摸上位置坐标的测量 第十五天 上午 嵌入式Linux触摸屏驱动程序源码分析 嵌入式Linux输入子系统框架 嵌入式Linux输入子系统工作原理 嵌入式Linux输入子系统源码分析 下午 实验目的: 深入理解嵌入式Linux触摸屏、输入子系统程序框架,练习嵌入式Linux下触摸屏及其他输入设备的驱动程序开发。 任务描述: 在移植的Linux内核上增加对触摸屏驱动的支持 读Linux触摸屏驱动源码,完成源码分析笔记 第十六天 上午 嵌入式Linux I2C总线驱动程序设计 I2C总线硬件工作原理及电路原理图分析 I2C总线时序分析 S3C2440 I2C总线控制器工作原理 下午 实验目的: 深入理解I2C总线硬件工作原理,练习I2C总线硬件编程 任务描述: 裸机环境下完成S3C2440 I2C总线硬件编程,通过I2C总线驱动读写EEPROM AT24C02 第十七天 上午 嵌入式Linux I2C总线驱动程序框架及源码组织 嵌入式Linux I2C 控制器驱动 嵌入式Linux I2C 核心 嵌入式 Linux I2C 设备驱动程序源码分析 下午 实验目的: 深入理解嵌入式Linux I2C总线驱动程序框架,练习嵌入式Linux下I2C设备驱动程序的开发 任务描述: 在移植的linux内核上增加对I2C设备AT24C02的驱动支持 读I2C总线驱动源码,完成I2C总线设备驱动源码分析笔记 第十八天 上午 USB设备基本概念,USB设备,接口,端口,传输模式 USB主控制器,USB设备, S3C2440 USB主控制器介绍及USB主控制器接口 USB总线控制器驱动框架 下午 USB主控制器源码分析 第十九天 上午 USB设备驱动程序框架及源码组织 USB核心子系统 USB设备驱动程序开发一般方法 USB请求块 下午 EZ-USB Cy7c68013a-56 USB2.0 开发板介绍及原理 EZ-USB Cy7c68013a-56 USB2.0 开发板的使用 第二十天 实验目的: 深入理解linux下USB设备驱动框架,练习嵌入式Linux下USB设备驱动程序开发。 任务描述: 开发EZ-USB Cy7c68013a-56 USB2.0 开发板的嵌入式Linux设备驱动程序,在FL2440开发板上通过USB接口控制EZ-USB Cy7c68013a-56 USB2.0 开发板的LED灯。 读Linux USB设备驱动源码,完成源码分析笔记
姓名不能为空
手机号格式错误