收藏 分销(赏)

嵌入式Linux知识块和知识点.doc

上传人:a199****6536 文档编号:10588435 上传时间:2025-06-03 格式:DOC 页数:66 大小:991.04KB
下载 相关 举报
嵌入式Linux知识块和知识点.doc_第1页
第1页 / 共66页
嵌入式Linux知识块和知识点.doc_第2页
第2页 / 共66页
点击查看更多>>
资源描述
嵌入式Linux知识块和知识点 基础 安装Linux系统 (1) 语言选择:简体中文 (2)键盘配置: 美国英语式 (3)鼠标配置: 3键鼠标(PS/2) (4)选择安装还是升级: 新安装 (5) 安装类型 个人桌面: 工作站: 服务器: 定制: (6)磁盘分区设置 自动分区: 手工分区: (7)为系统分区: 显示当前分区,下一步 (8)添加分区: 挂载点 固定大小 指定空间大小 使用全部可用空间 强制为主分区 检查磁盘坏块 (9)引导装载程序配置: 选择引导装载程序:GRUB 选择要引导的操作系统 引导装载程序是否使用口令 配置高级引导装载程序选项 (10)网络配置: 编辑网络设备 是否引导时激活 设备名 IP/ 子网掩码 设置主机名 通过DHCP自动设置 手工设置 其他设置 网关 主要 次要 第三 (11)防火墙配置: 选择安全级别 高级 中级 无防火墙 选择防火墙规则 默认 定制 信任的设备 容许进入 其他端口 (12)语言支持的选择: Chinese (P.R. of china) (13)时区配置: 亚洲/上海 (14)设置根口令 (15)选择软件包组: (16)准备安装: 应该看到一个安装 Red Hat Linux 做准备的屏幕。 当你重新引导系统后,一份完整的安装日志可在 /root/install.log 中找到,以备今后参考。要取消安装进程,按计算机的重新启动按钮,或者使用 [Control]-[Alt]-[Delete] 组合键来重启计算机。 (17)安装软件包: (18)创建引导盘: (19)视频卡配置: 自动检测,若检测不到,请手工配置 (20)配置显示器: 自动检测,若检测不到,请手工配置 (21)定制配置: 色彩深度:真色24位 屏幕分辨率:1024×768 (22)安装完成 基本使用 登录和注销 启动和关机 显示属性的设置 改变桌面背景 显示设置 分辨率 色彩深度 配置日期和时间 光盘的使用 (1)在文件管理器中使用光盘 (2)在终端提示下使用光盘 用户还可以手工地在 shell 提示下挂载和卸载光盘。在光盘驱动器内插入一张光盘,打开 终端,然后键入以下命令: # mount /mnt/cdrom 这样,光盘就会被挂载,便可以用文件管理器来使用它了。还可以通过点击桌面上的主目录图标,并在位置栏内键入“ /mnt/cdrom ”来访问光盘。光盘上工作完毕后,在把它从驱动器内弹出之前必须卸载它。关闭所有使用光盘的应用程序或文件管理器,然后在终端提示下键入以下命令: # umount /mnt/cdrom 现在,便可以安全地按光盘驱动器上的弹出按钮来取出光盘。 打印机的安装及设置 使用RPM来管理软件包 RPM 的设计目标 可升级性 强大的查询功能 系统校验 纯净源码 RPM基本操作模式 安装RPM包 rpm –ivh RPM包的全路径文件名 删除RPM包 rpm -e RPM包名称 升级RPM包 rpm -U RPM包的全路径文件名 查询RPM包 rpm -q 校验已安装的软件包 rpm -V 命令及相关概念 命令的使用方式 在Linux系统中打开终端的方式有以下两种: 种是在桌面上依次单击“主程序→系统工具→终端”可打开如图2-1的终端窗口;另一种是在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择“终端”命令,也可打开终端窗口 键盘上大多数字符是普通打印字符,它们没有特殊含义。只有少数特殊字符指示计算机做专门的操作。其中最常见的特殊字符是回车键RETURN,它表示输入行结束;系统收到回车信息便认为输入的当前行结束,系统的响应是让屏幕光标回到下一行行首。 回车符只是控制符的一个例子。控制符是指控制终端工作方式的非显示字符。输入一般控制符必须先按下控制键,或称作CTRL键,然后再按所对应的字符键。例如,输入回车符可以直接按回车键,也可以先按控制键,再按m键。 CONTROL-m或CTL-m也是回车符。一些常用的控制符有:CTL-d,它表示终端的输入结束;CTL-g控制终端响铃;CTL-h称为退格键,用于改正输入的错误. 此外还有两个特殊键,一个是DELETE键,另一个是BREAK键。大多数LINUX系统中,DELETE键表示立即终止程序。在有些系统里,也用CTL-c终止程序。一般说来,BREAK键及DELETE键、CTL-c的功能基本相同。 另外,在终端上还有一个命令补齐(Command-Line Completion)的操作技巧,所谓命令补齐是指当键入的字符足以确定目录中一个唯一的文件时,只须按 Tab 键就可以自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时,如果此文件是该目录下唯一以 g开头的文件,这时就可以按下 Tab 键,这时命令会被自动补齐为:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便 文件概念及操作命令 ls [选项] [文件目录列表] 文件类型 -:常规文件 Ø         d:目录 Ø         b:块特殊设备 Ø         c:字符特殊设备 Ø         p:有名管道 Ø         s:信号灯 Ø         m:共享存储器 文件类型的字符表示文件的权限,权限由三个字符串组成,这三个字符串分别表示:该文件所有者的权限、组中其他人的权限和系统中其人的权限;每个字符串又由三个字符组成,依次表示对文件的读(用字符r表示)、写(用字符W表示)和执行权限(用字符x表示)。当用户没有相应的权限时,该权限的对应位置用短线“-”来表示。 #find [目录列表] [匹配标准] cat [选项] 文件列表 grep [选项] 匹配字符串 文件列表 sort [选项] 文件 diff [参数] 原文件 目标文件 cp [选项]  源文件 目标文件 rm [选项] 文件列表 mv [-f] [-i] 文件1 文件2 安装和登录命令:login、 shutdown、halt、reboot、mount、umount、chsh  文件处理命令:file、mkdir、、dd、、 mv、、、ln  系统管理相关命令:df、 top、free、quota、at、lp、adduser、groupadd kill、crontab、tar、unzip、gunzip、last  网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin rcp、finger、mail、nslookup  系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho  Shell编程 建立嵌入式开发环境 软件开发环境 建立交叉开发工具链 使用现有的交叉开发工具链 建立交叉开发工具链 1. 从ARM Linux站点得到cross-3.3.2.tar.bz2 2. 对cross-3.3.2.tar.bz2解压 $ tar –jxvf cross-3.3.2.tar.bz2 3. 通过相关文档得到具体安装路径 $ ./3.3.2/bin/arm-linux-gcc –v --prefix=/usr/local/arm/3.3.2 4. 建立相关目录,并将解压后的文件移到此相关目录 $ mkdir –p /usr/local/arm $ mv ./2.95.3 /usr/loca/arm/ 5. 在环境变量PATH 中添加路径 $ export PATH=$PATH:/usr/local/arm/3.3.2/bin 3.3.2 因为GCC 编译器的运行是依赖于其他工具和库,通常不能把这些工具放在任意目录下。只好向下载的站点求教,一般通过相关的README 或者说明文档可以得到具体的安装路径。 Arm-linux Bin Etc Include Info Lib Libexec Sbin Share Sys-include usr Bin Include Info Lib Libexec Man tmp 3.4.1 因为GCC 编译器的运行是依赖于其他工具和库,通常不能把这些工具放在任意目录下。只好向下载的站点求教,一般通过相关的README 或者说明文档可以得到具体的安装路径。 Arm-linux Bin Etc Include Info Lib Libexec Sbin Share Sys-include usr Bin Include Info Lib Libexec Man tmp 手工制作交叉开发工具链 编译binutils $ tar -jxf ./source/binutils-2.14.tar.bz2 $ cd binutils-2.14 $ mkdir build-arm-linux $ cd build-arm-linux $ ../configure --target=arm-linux --prefix=/usr/local/arm/3.3.2 $ make $ make install 编译GCC的辅助编译器 编译生成glibc库 编译生成完整的GCC编译器 制作交叉调试器 使用交叉开发工具链 编辑器vi 二进制工具 编译器gcc 调试器gdb 工程管理器make 配置TFTP服务 配置NFS服务 配置超级终端/minicom 硬件开发环境 串口 Kermit Minicom windows 超级终端 以太网 简单的文件传输协议TFTP 网络文件系统NFS 动态主机配置协议(DHCP USB JTAG 综合以上熟悉开发流程 部署Linux系统 移植U-Boot 理解嵌入式linux引导程序的原理,掌握如何在FS2410硬件平台上移植u-boot      2.1 Bootloader介绍       2.2 u-boot工程介绍       2.3 u-boot的编译使用       2.4 u-boot源码分析       2.5 u-boot资源分配       2.6 u-boot移植过程 【实验】       (1) u-boot常用命令       (2) 添加u-boot新命令       (3) 设置u-boot环境变量       (4) 配置编译u-boot       (5) 移植FS2410的u-boot-1.3.4             ● 支持网卡、串口功能             ● 支持从nor、nandflash启动             ● 支持nor、nandflash烧写             ● 支持yaffs2、jffs2文件系统烧写             ● 支持u盘文件读取 定制uboot 安装uboot 裁剪内核 /usr/src/linux-x.y-z 内核源码树 drivers arch … makefile arch=arm CROSS_COMPILE= .config .config文件被处理生成一个C语言头文件autoconf.h 输出文件 system.map vmlinux 链接器脚本文件 mlinux.lds arch/arm/kernel/head.o arch/arm/kernel/init-atask.o init … kernel mm fs ipc security lib/lib.a arch/arm/lib lib drivers net 配置编译Linux内核 目标:熟悉内核的原码结构和kbuild Makefile语法;掌握和内核、驱动模块编译相关的原理及方法。 3.1 Linux内核介绍       3.2 Linux内核特点       3.3 Linux内核源代码结构       3.4 Linux内核选项解析       3.5 Linux内核编译链接       3.6 内核模块编译、使用方法 【实验】       (1) 配置交叉开发环境       (2) 熟悉菜单配置文件的组织结构       (3) 熟悉内核配置过程选项       (4) 加入Kconfig新选项       (5) 编译交叉开发环境所需要的内核       (6) 在内核中加入自己的字符设备程序 移植Linux内核源码 目标:通过今天课程的学习,学员能够熟悉内核启动流程、掌握内核移植的一般方法、分析平台相关代码结构,并能够自己动手移植高版本内核支持FS2410开发板。       4.1 Linux内核移植介绍       4.2 Linux内核移植平台相关代码分析       4.3 动手修改Linux内核源代码       4.4 分析编译过程错误和宏定义的关系       4.5 Linux启动过程源代码分析       4.6 2.6内核平台设备结构介绍 【实验】       (1) 配置编译高版本的Linux内核       (2) 移植高版本(linux-2.6.26)内核支持FS2410板 ● 网卡驱动移植             ● mtd支持及flash分区方法             ● yaffs2文件系统移植             ● sd卡驱动             ● 液晶支持             ● u盘功能       (3) 分析解决编译过程中的错误 调试Linux内核及优化linux内核 目标:掌握内核调试的常用方法、内核优化的方法策略。       6.1 Linux内核调试概述       6.2 Linux内核的打印函数       6.3 Linux内核启动过程错误分析       6.4 解析oops信息       6.5 常用调试方法和工具       6.6 基本的驱动程序分析       6.7 系统启动时间优化       6.8 电源管理方法             ● 动态、静态功耗介绍             ● 嵌入式处理器对电源管理的支持             ● 嵌入式linux电源管理结构             ● 用户层电源管理策略             ● 设备驱动层电源管理策略 【实验】       (1) 通过基本调试手段解决内核启动过程错误       (2) 分析、处理oops错误       (3) 优化系统,加快系统启动速度       (4) 优化系统,降低系统功耗 定制内核映像 安装内核映像 Linux内核修炼         1)全面认识和了解Linux内核的框架,并以此为基础掌握学习Linux内核、分析阅读Linux内核源码的方法,真正地迈过那道无形的门坎。         2)掌握、分析、钻研某个子系统在Linux内核中实现机制的方法,并了解Linux内核中的进程管理、内存管理、文件系统。         3)了解如何参及Linux内核的开发和测试,以及一些常用的调试手段和工具。         4)掌握Linux设备驱动的开发方法。         5)掌握Android运行所需要的Linux内核开发和技巧。  全面认识和了解Linux内核的框架,掌握学习Linux内核、分析阅读Linux内核源码的方法。 第1章 Linux内核的基本面       1.1 Linux内核成长史       1.2 多变的Linux内核版本号       1.3 获取Linux内核的源代码       1.4 ALinux内核及那些发行版       1.5 Linux内核是如何工作的           ·“Linux虚拟机”——系统调用           ·台前——文件系统           ·幕后——进程调度           ·幕后——内存管理           ·模块化的Kernel 第2章 Linux内核的按需配置及编译       2.1 按需配置Linux内核           ·配置方式的多种选择           ·认识常见的配置选项           ·重视.config文件       2.2 为Linux内核打补丁       2.3 编译Linux内核           ·认识一些及编译有关的目录及文件           ·构建编译环境           ·备份是重要得           ·编译步骤           ·一些实用的小技巧       2.4 Linux内核的文档及编译       2.5 【实验】配置、编译Linux 2.6内核 第3章 浏览Linux内核源码       3.1 所需的技术基础       3.2 Linux内核的体系结构       3.3 Linux内核源码树       3.4 使用vim+cscope+ctags       3.5 Linux内核代码的特点           ·gcc扩展的使用           ·内嵌汇编       3.6 Linux内核中的链表       3.7 代码样例       3.7 【实验】配置vim浏览内核源码 第4章 如何分析Linux内核源码       4.1 Linux内核学习的心理问题       4.2 kernel地图:Kconfig及Makefile           ·看懂Kconfig及Makefile           ·利用Kconfig及Makefile定位目标代码       4.3 分析Linux内核源码如何入手           ·分析README           ·分析Kconfig及Makefile           ·态度决定一切:从初始化函数开始       4.4 【实验】定位并分析某个子系统或模块在内核中的实现 掌握分析钻研某个子系统在内核中实现机制的方法,了解内核中的进程管理、内存管理、文件系统。 第5章 开始之前——Before we begin       5.1 系统初始化       5.2 Linux内核中的时间       5.3 系统调用       5.4 中断及中断处理       5.5 Linux内核中的同步 第6章 子系统的初始化       6.1 Linux内核选项解析           ·Linux内核选项           ·注册Linux内核选项           ·两次解析       6.2 那些入口函数           ·.initcall.init节           ·do_initcalls()函数       6.3 以PCI子系统为例       6.4 【实验】分析某个子系统的初始化过程 第7章 进程管理及调度      7.1 Linux中的进程       7.2 进程的来源:fork和clone       7.3 所有美好的事物都会结束:进程退出       7.4 内核线程       7.5 进程调度           ·O(1)调度           ·CFS调度       7.6 不确定的Multi-thread 第8章 内存管理       8.1 物理地址、逻辑地址及虚拟地址       8.2 分页       8.3 内存在内核中的分配       8.4 进程的内存组织       8.5 内存映射mmap       8.6 页面缓存 第9章 虚拟文件系统VFS       9.1 VFS的体系结构       9.2 理解VFS的那些数据结构       9.3 VFS的缓存机制       9.4 文件系统的注册及安装       9.5 文件系统的日志管理 了解如何参及Linux内核的开发和测试,以及一些常用的调试手段和工具 第10章 Intent Receiver       10.1 工具链及其生成       10.2 Linux内核中的Makefile       10.3 严格遵守Linux内核的编码风格      10.4 添加代码到Linux内核       10.5 为什么Linux内核没有稳定的API?       10.6 如何提交补丁       10.7 学会使用Git       10.8 【实验】安装Git并用它来来获取最新的Linux内核源码 第11章 一些最上镜的Linux内核调试手段及工具       11.1 Linux内核对调试的支持       11.2 二分法及printk       11.3 获取Linux内核信息       11.4 调试福音之oops       11.5 神奇的SysRq       11.6 调试利器之GDB       11.7 调试利器之Systemtap       11.8 Linux内核崩溃转储       11.9 利用模拟器       11.10 【实验】分析一个oops       11.11 【实验】配置GDB调试环境并调试Linux内核 第12章 子系统的初始化       12.1 Linux内核测试的4个阶段       12.2 性能分析及调优工具           ·CPU性能分析及调优           ·Memory性能分析及调优           ·IO性能分析及调优           ·Network性能分析及调优       12.3 oprofile       12.4 启动速度调优       12.5 【实验】Linux内核性能测试并提交Linux内核测试报告 掌握驱动的开发方法,掌握Android运行所需要的Linux内核开发和技巧。 第13章 驱动开发的方法论       13.1 模块化的Linux内核       13.2 第一个模块“Hello World!”       13.3 重中之重:设备模型           ·总线、设备和驱动           ·在USB子系统上的投影       13.4 驱动开发三件宝:spec、datasheet及Linux内核源码       13.5 sysfs       13.6 【实验】结合设备模型分析一个Linux内核中现有的驱动       13.7 【实验】编写一个简单的模块 第14章 Android环境的相关介绍       14.1 Android的历史和介绍       14.2 Android和Linux的扯不清理还乱的关系       14.3 取得Android的源代码和编译生成可执行环境       14.4 Android源代码构成和运行原理       14.5 加入新的处理器支持到Android框架 第15章 移植Android所需要的Linux内核       15.1 Android运行所需要对Linux内核作的修改       15.2 Android对现有驱动所必须做的修改           ·键盘、鼠标驱动和键值映射           ·显示驱动           ·audio驱动       15.3 编译和拓展Android的启动分区boot.img       15.4 Android的启动过程分析和调试技术       15.5 【实验】生成一个可供Android启动的Linux内核       15.6 【实验】制作和生成一个可运行的boot.img 第16章 实现Android的硬件抽象层       16.1 Android的硬件抽象层的原理和构成       16.2 实现ril,完成Android的移动网络功能支持       16.3 libhardware_legacy接口       16.4 libhardware接口       16.5 蓝牙支持       16.6 【实验】将一个wifi驱动加入Android硬件抽象层 构建文件系统 集成部署Linux系统 目标:理解嵌入式linux引导程序的原理,掌握如何在FS2410硬件平台上移植u-boot。       5.1 Linux文件系统制作       5.2 Linux系统集成测试       5.3 文件系统和存储设备的选择       5.4 部署Ramdisk文件系统的过程       5.5 部署JFFS2文件系统的过程       5.6 部署Yaffs2文件系统的过程 【实验】       (1) 制作最小的文件系统       (2) 添加udev支持       (3) 部署ramdisk文件系统       (4) 部署cramfs文件系统       (5) 部署jffs2文件系统       (6) 部署yaffs2文件系统       (7) 配置u-boot使系统独立运行 定制文件系统 裁减文件系统 安装文件系统 理解启动过程 内核引导(u-Boot) 目标板硬件初始化 初始化内存等硬件 把压缩的内核映像加载到内存 在嵌入式Linux 开发中,经常用到网络加载的方式,就是通过TFTP 协议把内核映像加载到目标板内存。那么目标板的Bootloader还应该能够驱动网络接口,配置IP地址。不同的Bootloader 还有一系列命令进行配置 跳转到内核映像入口执行 解压内核映像 完成自解压或者重定位 跳转到解压后的内核代码入口 跳转到内核映像入口head.o 内核启动main.c start_kernel Setup_arch 参数为指向内核命令行的指针 初始化设备驱动 挂接根文件系统 从文件系统的目录下找到init程序,启动init进程 在交叉开发环境中,通常采用NFS文件系统。在内核启动过程可以挂接NFS 根文件系统。这种方式将极大地方便嵌入式Linux 交叉开发。 使目标板挂接NFS根文件系统 在主机端配置相应的网络服务 TFTP DHCP NFS 配置目标板的内核选项 配置相应的网络驱动程序 “Network device support” 配置内核启动命令行参数 配置内核挂接NFS根文件系统 应用程序启动 完成系统初始化 启动相关服务 管理用户登录 程序开发 驱动程序开发 LINUX字符设备驱动程序开发 从用户设备I/O编程角度深入了解设备驱动的原理;通过了解字符设备驱动框架和具体硬件设备I/O操作,能够进行字符设备驱动开发;了解linux2.6内核的设备模型及掌握udev的使用 1.1 LINUX字符设备驱动基础     1.2 字符设备驱动程序实现框架及典型驱动分析     1.3 用户空间及内核空间的数据传输     1.4 同步、互斥、阻塞、睡眠机制     1.5 Linux-2.6设备模型及sysfs文件系统  1.6 udev及devfs文件系统 【实验】     1、驱动开发编程环境及内核配置、编译     2、编写模块化字符设备驱动程序及测试     3、如何为内核程序传递参数     4、在驱动代码中加入创建proc结点方法     5、蜂鸣器驱动程序编写及测试     6、编写驱动实现包含等待队列、信号量、fifo等功能     7、学会利用udev和sysfs文件系统动态创建设备结点 设备驱动中常用的内核机制 掌握在基本字符设备驱动的基础上增加复杂的内核机制;了解1inux内核中断子系统的实现原理,掌握linux中断处理程序编写方法;掌握内核延时机制及内存管理机制   2.1 Poll和select操作     2.2 异步通知机制     2.3 1inux内核中断子系统     2.4 中断处理程序编写     2.5 驱动程序上/下半部处理及延缓执行机制     2.6 内核定时器及延迟机制     2.7 内核内存管理机制 【实验】     1、编写驱动实现包含等待队列、信号量、fifo等功能     2、编写驱动实现包含poll功能     3、编写驱动实现包含异步通知功能     4、编写秒表字符设备,掌握定时器用法   5、编写驱动实现tasklet功能     6、编写驱动实现工作队列功能     7、按键中断实验     8、A/D转换实验 LINUX块设备驱动程序开发 明白Linux中块设备驱动的特点及框架,独立分析Linux中大部分块设备的驱动方法,并熟悉MTD设备驱动的特点及框架,具备MTD Nand Flash驱动程序开发的能力。通过实验,学员还可以掌握IDE、Ramdisk驱动移植方法。 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)等概念,了解网络驱动程序的数据交换过程。通过实际的动手操作,学员将掌握如何移植或编写具体网卡的驱动程序,并在此基础上实现更为高级的网络功能。了解MMC/SD卡的物理及电气特性,熟悉相关的工作协议,并在此基础上能够移植或编写Linux下的MMC/SD控制器的驱动程序。 4. LINUX网络设备驱动程序开发     4.1 OSI网络参考模型     4.2 套接字(SOCKET)简介     4.3 套接字缓冲区(SK_BUFF)     4.4 NET_DEVICE结构分析     4.5 数据包传送及接收     4.6 网络驱动的中断处理     4.7 网络设备驱动程序的基本实现 5. LINUX下MMC/SD卡驱动开发     5.1 嵌入式系统中几种常见存储介质的比较(NOR/NAND FLASH、CF、MMC/SD)     5.2 MMC/SD卡物理及电气规范简介     5.3 MMC/SD卡工作中的关键命令及关键结构信息     5.4 S3C2410(S3C2440)中MMC/SDHOST控制器分析     5.5 LINUX中MMC/SD存储卡驱动程序结构分析     5.6 S3C2410(S3C2440)中MMC/SD HOST控制器的驱动实现 【实验】     1、编写简单的虚拟以太网卡驱动程序     2、移植并编写CS8900A网卡驱动程序     3、移植并编写DM9000网卡驱动程序     4、配置网络参数,测试网卡驱动程序行为     5、MMC/SD协议分析  6、在LINUX源码中加入针对ARM平台的MMC/SD主控制器驱动的支持 LINUX帧缓冲驱动程序开发 掌握嵌入式Linux显示驱动程序的开发方法,理解嵌入式Linux图形驱动程序实现机制,能够移植或编写嵌入式显示控制器驱动程序,并完成针对各种LCD硬件的定制。 6. LINUX帧缓冲驱动程序开发     6.1 帧缓冲显示技术     6.2 帧缓冲驱动程序显示原理     6.3 帧缓冲驱动程序的数据结构     6.4 帧缓冲驱动程序的API     6.5 帧缓冲驱动程序的基本实现     6.6 使用高级图形库 7. 触摸屏驱动开发     7.1 触摸屏工作原理     7.2 S3C2410触摸屏控制器工作原理     7.3 触摸屏驱动程序编写 【实验】     1、熟悉FRAMEBUFFER驱动的结构     2、熟悉FRAMEBUFFER中的重要数据结构     3、编写S3C2410彩色LCD控制器驱动程序     4、编写测试程序控制屏幕显示     5、编译高级图形库例子,显示图形     6、熟悉触屏驱动程序     7、写触屏测试代码 LINUX下USB驱动开发基础  掌握USB通讯规范及拓扑结构中的主机控制器、HUB、USB设备的工作流程;掌握S3C2410 USB device控制器的工作原理;最后在S3C2410开发板上编写usbtransfer固件程序,结合PC机上windows环境下的DNW软件,实现基于usb的文件下载功能。通过Linux下USB驱动开发内容的学习,学员将深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后的学员能够移植或编写USB主机OHCI和设备驱动程序,最后通过对usbtransfer设备的驱动编程,实现在linux环境下的文件下载功能(替换DNW的下载功能)。 8. LINUX下USB驱动开发基础     8.1 USB规范介绍     8.2 USB主机控制器     8.3 USB HUB     8.4 USB设备状态     8.5 USB描述符     8.6 USB请求     8.7 USB通讯数据格式     8.8 S3C2410 USB device控制器     8.9 编写usbtransfer固件程序 9. LINUX下USB驱动高级开发     9.1 Linux USB驱动层次     9.2 Linux USB主机控制器驱动介绍     9.3 Linux USB HUB驱动介绍     9.4 Linux USB 设备驱动程序     9.5 编写usbtransfer设备驱动程序     9.6 编写usbtransfer设备应用程序 【实验】     1、在开发板上烧写并测试USB固件程序     2、usbtransfer固件程序分析及编写     3、使用usbview工具观察USB设备     4、使用sysfs分析USB层次结构  5、LINUX下编写usbtransfer设备驱动实现USB下载 步
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服