收藏 分销(赏)

嵌入式LINUX学习大纲.doc

上传人:仙人****88 文档编号:8766473 上传时间:2025-03-01 格式:DOC 页数:24 大小:173.50KB
下载 相关 举报
嵌入式LINUX学习大纲.doc_第1页
第1页 / 共24页
嵌入式LINUX学习大纲.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述
嵌入式LINUX学习大纲 1、Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器 2、Shell 编程基础 Shell简介 认识后台程序 Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作 熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序 3、Linux 下的 C 编程基础 linux C语言环境概述 Gcc使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化 熟悉Linux系统下的开发环境 熟悉Gcc编译器 熟悉Makefile规则编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序 4、嵌入式系统开发基础 嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程 熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序 4、嵌入式系统移植 Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板 5、嵌入式 Linux 下串口通信 串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM 能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序 6、嵌入式系统中多进程程序设计 Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序 编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述 任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信 编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序 7、嵌入式系统中多线程程序设计 线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序 8、嵌入式 Linux 网络编程 网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现 基本UDP套接口编程 许可证管理 PPP协议 GPRS 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程 熟悉UDP协议、PPP协议 熟悉GPRS 使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器 编写一个运行在 ARM平台的网络播放器 9、GUI 程序开发 GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序 调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件 10、Linux 字符设备驱动程序 设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念 了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序 对比Linux2.6内核与2.4内核中字符设备驱动的不同 Linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析 块设备的读写请求队列了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个文件系统 对比Linux2.6内核与2.4内核中块设备驱动的不同 11、文件系统 虚拟文件系统 文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 MTD技术简介 MTD块设备初始化 MTD块设备的读写操作了解Linux系统的文件系统 了解嵌入式Linux的文件系统 了解MTD技术 能够编写简单的文件系统为 ARM9开发板添加 MTD支持 移植JFFS2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统 嵌入式 Linux 就业班课程大纲 一、Linux 操作系统入门班 1) Linux简史 系统特性 / 设计理念 / 与其它操作系统之间的差异 / 开放源码 2) Linux安装 Linux 分发包 / 安装前准备 / 系统安装与规划 3) Linux基本命令 登录 / Bash 常用命令 / Shell 常用按键 / 快捷键 / 参考手册 4) Linux基本系统管理 系统启动与初始化 / 单人模式 / 管理用户帐号 5) Linux文件系统管理 Ext2文件系统 / 文件权限与属性 / 设备文件 / /proc 文件系统 / 根文件系统 6) Linux软件与内核的升级 备份与压缩工具 / 建立新内核 / 自动载入模块 7) Linux的窗口系统 X窗口系统 / XFree86 / KDE / GNOME / 8) Linux上常用编辑器 VI / VIM / Emacs / Tex / LeTex / 排版与文书处理 9) Linux上常用图像和网络工具 MetaPost / Gimp / openSSH / telnet / rdesktop / QTerm / 10) Linux各种服务器的安装 Apache / VSFTP / Sendmail / DNS / FireWall / Route Server Samba / NFS / PPP / DHCP / MySQL Server -------------------------------------------------------------------------------- 二、Linux 开发编程基础班 1) C 语言程序设计精要 C语言的地位和重要性 / 基本特点 / 历史渊源 深刻理解指针 / 工具的重要性 / 实践出真知 2) C语言语法重点难点剖析 变量声明与定义 / 函数声明与定义 / 数组与指针 / 变量的可见范围与生存期 编译与链接 / 交叉编译与链接 / 内存与I/O / C语言与数据结构要点 C语言代码移植 / C语言与嵌入式系统开发 / 从C到C++ 3) Linux 程序设计基础 编程风格 / GNU编程风格 / Linux 内核编程风格 4) Linux 应用程序开发 GCC / make / Makefile / GDB 5) Linux 源代码管理 RCS / CVS / 软件打包 / 制作RPM 6) IDE 的使用 VIM / Emacs / glade / kdevelop -------------------------------------------------------------------------------- 三、Linux 开发编程高级班 1) 系统编程 信号 / signal函数 / 不可靠的信号 / 中断的系统调用 / 可再入函数 管道 / popen和pclose函数 / 协同进程 / FIFO 消息队列 / 信号灯 / 共享内存 / 客户机-服务器属性 2) 网络编程 网络基本概念 / 套接口编程 / 网络字节次序 / Client/Server 结构 / UDP 编程 3) 进程控制 进程标识 / fork 函数 / vfork 函数 / exit 函数 / wait 函数 / 用户标识 4) 多线程编程 创建和销毁线程 / 用条件变量改进线程同步 / 线程同步 / 线程的取消和终止 5) 文件 I/O 文件描述符 / open / read / write / close / ioctl / 原子操作 / dup / dup2 函数 6) 高级 I/O 非阻塞I/O / 记录锁 / 流 / I/O多路转接 / 异步I/O / 存储映射I/O 7) 脚本语言编程 Shell 编程 / AWK编程 / 使用sed编程 yacc/lex 简介 / 利用正则表达式编程 -------------------------------------------------------------------------------- 四、嵌入式体系结构基础班 1) ARM概述及其基本编程模型 ARM技术的应用领域 / ARM处理器系列 / ARM处理器模式 / ARM寄存器 ARM体系的异常中断 / ARM体系中存储系统 2) ARM指令分类及其寻址方式 ARM指令集概要 / ARM指令的分类 / ARM指令的一般编码格式 ARM指令寻址方式 / 协处理器Load/Store指令的寻址方式 3) ARM指令集 ARM基本指令 / ARM指令功能段 / Thumb指令 4) ARM汇编语言程序设计 ARM汇编语言 / ARM汇编语言程序格式 / 子程序调用 /汇编程序设计举例 5) ARM存储系统 ARM存储系统概述 / 访问CP15寄存器的指令 / 存储器管理单元MMU 快速上下文切换技术 / cache的工作原理和地址映像方法 6) ARM异常中断处理 ARM中异常中断处理概述 / 进入和退出异常中断的过程 / 中断处理程序安装 SWI异常中断处理程序 / FIQ和IRQ异常中断处理程序 / 其他异常中断处理程序 7) C\C++以及汇编语言的混合编程 内嵌汇编器的使用 / 从汇编程序中访问C程序变量 / 在C\C++程序中使用内嵌的汇编指令 / 汇编程序,C程序及C++程序的相互调用 8) 体系结构对系统开发的支持 AMBA总线 / ARM参考外围规范 / ARM仿真器 / JTAG边界扫描测试结构 建立硬件系统原型的工具 / ARM调试结构 9) 体系结构对操作系统的支持 操作系统简介 / ARM系统控制协处理器 / 保护单元寄存器CP15 / ARM保护单元 CP15 MMU寄存器 / ARM MMU结构 / 同步 / 上下文切换 / 输入/输出 10) MIPS系统结构 MIPS简介 / MIPS数据格式和指令集 / 特权资源 / CP0寄存器 操作模式 / 虚拟内存系统(地址空间分配和TLB) / 例外 MIPS的汇编语言 11) MIPS系统常见交叉编译器简介 交叉编译环境的建立 / 汇编器,编译器,链接器和其他编译附属命令 MIPS编译器的优化和编译选项 / ELF文件结构分析 / 内嵌汇编语言 -------------------------------------------------------------------------------- 五、嵌入式硬件设计基础班 1) Cadence PCB设计工具简介 EDA概述 / Cadence PCB工具简介 / Allegro PCB Design HDL 610工具包 2) 创建项目及原理图设计 创建PCB设计项目 / 创建平面设计 3) 层次化设计 层次化设计 / 自顶向下层次化设计 / 自底向上层次化设计 / 层次化设计的浏览 4) 设计规则 规则驱动的设计流程 / 简单规则添加 / 规则管理器Constraint Mangager 5) 网表生成 网表生成 / BOM表生成 / 网表传递 6) 设计修改 元件/网表查找 / 元件替换 / 全局修改 7) 原理图符号库 Cadence PCB 原理图符号库结构 / 原理图符号库创建工具Part Developer 8) PCB设计工具 Allegro Allegro PCB设计流程 / Allegro 工作界面介绍 / Allegro 工作环境设置 9) Allegro 设计规则 Allegro 设计规则体系 / Allegro 基本设计规则 / Allegro 扩展设计规则 10) Allegro 布局 Allegro 布局策略 / Allegro 布局规划 / 原理图驱动布局 Quick Place / 交互布局 / 自动布局 / 管脚交换 11) Allegro 布线 交互布线 / 自动布线 / 布线后优化 12) Allegro 覆铜 阴片与阳片 / 覆铜 / 电源地分割 13) Allegro 光汇文件生成 设计检查 / 丝印层生成 / 光汇文件生成 14) Allegro 封装库生成 创建焊盘 / 创建封装库 -------------------------------------------------------------------------------- 六、嵌入式 Linux 开发应用班 1) 嵌入式 Linux 综述 Linux的由来及现状 / 嵌入式操作系统 / 嵌入式linux的典型应用及分类 实时Linux / ARMlinux / uClinux / ARM、PPC、MIPS、X86 体系结构 2) 嵌入式开发基本概念 内核 / 文件系统 / 根文件系统 / 驱动程序 / 设备文件 3) 嵌入式开发常用工具 VI / Emacs / GCC及其它交叉编译器 / Makefile项目管理工具 / SkyEye 仿真工具 4) 嵌入式Linux开发流程 基本概念总体流程 / 引导程序 Bootloader 原理及代码分析 / 开发实例 嵌入式 Linux系统裁减及配置 / 编译相关文件剖析 / 系统固化方法 根文件系统的制作方法 / 应用程序的编写 / 系统加电自动启动 5) 嵌入式Linux下应用开发 应用程序编程基本理论 / 进程间通信 / 线程基本理论 / 网络编程基本概念 / 常用接口 / 网络字节序 / 通讯协议 / 网络安全初步 动态库、静态库的制作及使用 / 综合实例解析 / 嵌入式采集系统三机网络通讯 6) 嵌入式图形界面开发 嵌入式图形系统选择 / microwindows / Qt/Embedded / MiniGUI 嵌入式图形系统的基本概念 / 位图 / GDI / 事件 / 控件类和控件 / 定时器 Framebuffer / X Window / SVGALib / LibGGI MiniGUI 的配置、编译、安装 / MiniGUI 的移植 / MiniGUI IAL的开发及实例 综合实例演示 / 嵌入式数据采集系统三机界面设计和实现 / 系统集成 实验内容: 1) 基于Intel Lubbock开发板上的Linux 实现 XScale交叉编译环境的建立 / LUBBOCK开发板的Linux内核配置 / Linux Host主机环境配置 / 加载并运行Linux内核 / 建立NFS根文件系统 启动内核 / 运行HelloWorld程序 2) 基于44B0X开发板上的bootloader移植 硬件平台的搭建 / 软件调试平台的安装和使用 Boot Loader代码分析 / 进入main函数 / Bootloader 的调试和烧写 3) 基于44B0开发板上的uClinux实现 建立交叉编译环境 / 配置并编译uClinux内核(支持网络文件系统) 配置NFS服务器端 / 编写编译应用程序 / 加载并运行uClinux 4) uClinux下的LED驱动 建立交叉编译环境、解压内核 /. 编写LED驱动程序 编写应用程序 /. 配置、编译并运行内核 / 测试 LED 驱动工作情况 5) 嵌入式图形界面的开发—MiniGUI MiniGUI 在Intel XScale/PXA255 Lubbock上的移植 MiniGUI 在S3C44B0X开发板上的移植 6) 基于Nandflash的JFFS2文件系统的实现 建立交叉编译环境、解压内核、打补丁文件 / 配置内核和用户选项 编译uClinux /. 下载并运行 / 测试 JFFS2 文件系统工作情况 7) 基于skyeye的uClinux和ARM Linux 内核调试 skyeye中常用的命令 / 在SkyEye上调试uClinux内核 / SkyEye LCD 仿真实例 生成支持skyeye_ne2k网卡的内核 /在SkyEye上测试网络通讯情况 8) 基于S3C4510B开发板上的uClinux实现 在 ARM7 开发板上下载和运行uClinux 内核 uClinux 内核的交叉编译和 SkyEye 仿真调试 添加新的 uClinux 应用程序 / 编写应用程序代码 / 修改相关 Makefile 文件 修改相关 config.in 文件 / 重新编译内核和文件系统 -------------------------------------------------------------------------------- 七、嵌入式 Linux 开发驱动班 1) 设备驱动程序简介 Linux设备驱动的概念 / 设备和模块分类 / 模块的构建、编译和装载 2) 字符设备驱动程序 字符设备驱动程序分析 / 主设备号和次设备号 / 文件操作 fs_operation结构分析 /open/release/read/write/ioctl/阻塞型I/O/poll和 select 异步通知 / tasklet和底半部 / 内核空间与用户空间数据的互访 实例分析:键盘及触摸屏驱动分析(中断实现) / 驱动程序调试技术 3) 块设备与网络设备 块设备驱动程序的特点和工作原理 / 典型的块设备驱动程序分析 MTD Flash块设备驱动 / 实例分析:SD卡驱动程序的实现 网络设备驱动程序简介及网络参考模型 / 套接字(socket)简介 / 套接字缓冲 net_device结构分析 / 数据包传输与接收 / 中断处理函数 / MAC地址解析 网卡驱动信息统计 / 实例分析:linux下NE2000兼容网卡驱动 4) 常用嵌入式设备驱动分析及嵌入式设备驱动开发精要 I2S协议分析及驱动程序实现 / I2C协议分析及驱动程序实现 SPI协议分析及驱动程序的实现 / 驱动程序开发常用技巧 uClinux设备驱动程序开发注意事项 / uClinux设备驱动程序添加方法 综合实例演示:uClinux下添加键盘驱动(基于44B0X处理器) ARMlinux设备驱动程序开发注意事项 / ARMlinux设备驱动程序添加方法 综合实例演示:ARMlinux下添加触摸屏驱动(基于2410处理器) 实验内容: 1) 蜂鸣器驱动程序编写 理解字符设备驱动程序的框架 填写蜂鸣器的驱动代码 通过对蜂鸣器驱动程序的编写,熟悉了解掌握驱动程序的基本编写步骤 理解蜂鸣器示范驱动代码的原理;掌握设备驱动程序的基本编写步骤 2) LED指示灯驱动程序编写 理解字符设备驱动程序的框架 了解LED指示灯的驱动代码 填写LED指示灯的应用程序代码 通过对LED指示灯的驱动程序的编写,加深了解掌握驱动程序的基本编写步骤 理解示范驱动代码的原理,学写一个LED指示灯的驱动程序 3) 数码管驱动程序编写 理解字符设备驱动程序的框架 了解数码管驱动程序 掌握驱动程序的编写流程 通过对数码管的驱动程序的编写,进一步掌握驱动程序的基本编写过程和步骤 理解示范驱动代码的框架和原理,尝试编写一个数码管驱动程序的驱动程序 4) 液晶屏驱动程序编写 理解字符设备驱动程序的框架 了解LCD驱动程序 掌握驱动程序的编写流程 通过对液晶屏驱动程序的编写,深入理解掌握驱动程序的基本编写过程和步骤 理解示范LCD驱动代码的框架和原理,深入理解掌握驱动程序的编写过程 5) USB鼠标的驱动 USB驱动原理介绍 USB鼠标驱动的代码的分析 USB鼠标驱动程序的验证 通过对USB鼠标的驱动程序编写,加深了解掌握usb驱动程序的基本编写步骤 理解示范驱动代码的原理 6) 8139网卡的驱动 网卡驱动流程介绍 8139网卡驱动的代码的分析 8139网卡驱动程序的验证 通过对8139网卡的驱动程序编写,加深了解掌握网卡驱动程序的基本编写步骤 理解示范驱动代码的原理 -------------------------------------------------------------------------------- 八、嵌入式 Linux 开发移植班 1) 内核调试工具 Skyeye的使用 Skyeye的源代码分析,基于Skyeye开发针对特定开发板的模拟器 2) Bootloader移植 LPC2294的体系架构分析 U-BOOT(或blob)的简介和架构分析 3) uClinux移植 术语和uClinux源代码的基本常识 启动代码的汇编程序部分 setup_arch(内核初始化) PARSE_OPTIONS(uClinux命令行参数的解析) trap_init(中断底层初始化,中断向量到do_IRQ) init_irq(中断高层初始化,do_IRQ到中断服务程序) time_init(时钟中断) 串口驱动 其它杂项(各种剩余的修改文件) uClinux的配置(Makefile, config.in, .config) 4) 代码分析 Linux2.4底层代码分析 设备驱动代码分析:串口和时钟、网络驱动分析 Linux2.6的底层代码分析 / Linux2.6的操作系统移植 实验内容: 1) LPC2294平台上的串口,时钟,pll和系统初始化方面的编程 2) 移植U-BOOT(或blob),使U-BOOT(或blob)可以在开发板上运行 3) 开发针对目标板的Skyeye模拟器,并在Skyeye上运行U-BOOT(或blob) 4) uCLinux 2.4.x的移植到真实开发板 -------------------------------------------------------------------------------- 九、项目实践 ―― 嵌入式数据采集系统 1) 实现目标: 基于 S3C44B0 处理器,设计并实现一个最小系统,完成数据采集、网络通讯、图形用户界面显示以及 嵌入式数据库存储功能。 2) 时间安排: 第一周:硬件设计 考核知识点: 嵌入式硬件设计原理 / S3C44b0 处理器外设资源 / Candence 原理图设计 网表生成 / 布线设计 / 信号完整性验证 第二周:系统移植 考核知识点: Bootloader 移植 / Flash 烧写工具使用 / 硬件调试方法 uClinux 编译 / 配置 / 移植 / JFFS2 文件系统移植 网络设备驱动 / 液晶设备驱动 / LED 设备驱动编写 / 数模转化驱动 第三周:应用开发 考核知识点: 网络 SOCKET 编程 / 通讯协议设计与实现 GUI 程序开发 / 控件使用和消息触发机制 数据库原理 / SQL 语句 / SQLLite 的移植 / 嵌入式数据库的设计和实现 第四周:测试发布 考核知识点: 系统集成 / Alpha 测试 / Beta 测试 源代码管理 / 编写用户使用手册 / 提交项目文档 Linux的介绍及开发环境的搭建 1.1 介绍Linux历史,Linux目录和子目录 1.2 介绍环境变量的设置和交叉编译器的使用 1.3 配置主机开发环境,包括 NFS TFTP BootP(或DHCP)网络服务 1.4 建立交叉开发环境 1.5 Linux基本命令,VI编辑文本命令的使用 实验: (1) 基于XScale PXA270实验开发板,建立Linux交叉开发环境. (2) 配置TFTP NFS SMB BootP(或DHCP)网络服务,最后消化,理解讲课的内容。 1.6 熟悉嵌入式Linux开发环境构建 1.7 配置超级终端Minicom 1.8 Makefile文件的分析和讲解 1.9 shell编程,包括脚本的编写。 2.0 基本XScale PXA270实验开发板的硬件接口知识 实验: (1) 基于XScale PXA270实验开发板,配置minicom终端. (2) 练习编写hello编程. (3) 练习如何用makefile文件编译程序,如何构建一个目标文件,如何编写脚本文件。 讲解Bootloader源码的启动过程和相应驱动的编写,资源的分配 2.1 Bootloader原理介绍,包括目前流行的u-boot介绍 2.2 Bootloader目录和整个软件架构的分析 2.3 Bootloader资源分配 2.4 Bootloader源码分析,包括基本命令的介绍 2.5 Bootloader通过tftp下载目标代码的机制 2.6 Bootloader命令集的介绍,剖析原码,分析flash驱动 2.7 Bootloader移植过程,包括flash驱动的编写,编译,下载 实验:掌握Bootloader常用命令,掌握如何做出命令参数,分析修改Bootloader源代码,flash驱动的编写,Bootloader移植到XScale PXA270实验板上 (1) Bootloader常用命令 (2) 添加Bootloader新命令 (3) 分析Makefile文件,配置编译Bootloader (4) flash驱动,网口的编写机制,如何修改MAC接口驱动添加到linux内核,分析常见驱动源码。 熟悉linux kernel 源码,配置编译Linux内核 3.1 Linux内核介绍 3.2 Linux内核源代码结构 3.3 Linux内核顶层和目录里的Makefile,config.in解析 3.4 Linux内核image生成的解析 3.5 Linux内核驱动的组成结构 3.6 Linux内核选项解析,结合驱动程序讲解添加驱动的方法,如何写字符性驱动,块驱动。 3.7 Linux内核编译链接,内核平台移植 实验:配置XScale PXA270板的Linux内核,熟悉内核配置选项;编译交叉开发环境所需要的内核 (1) 熟悉linux内核目录下的makefile,config.in (2) 分析菜单配置文件的组织结构 (3) 熟悉内核配置过程选项,添加IO驱动实验,LCD、LED,SD卡驱动等 (4) 剖析字符性和块驱动的组成,结合代码分析,学会调试 (5) 移植linux内核,下载到目标板上,进行调试,分析相应驱动源代码,分析故障。 文件系统及上层应用程序 4.1 文件系统结构的介绍 4.2 分析Qt/E的移植过程,掌握图形GUI编程 4.3 下载文件系统到目标板,进行调试。 实验:熟悉XScale PXA270,熟悉Qt/E修改参数,利用它的软件架构做应用。 (1) Qt/E 移植实验,用busybox制作最小文件系统实验。 (2) 实现应用程序和驱动程序之间的通信,设备文件和应用程序的接口。 (3) XScale PXA270平台下GUI程序的开发。 开发平台: 采用嵌入式平台XScale PXA270,最高主频达到624Mhz,内核兼容 ARM10。接口包括USBHost/Slave、以太网、音频、串口、TFT、LCD、触摸屏、VGA、CF、MMC、SIM接口等;操作系统:Windows CE .NET 5.0;每位学员一台Dell最新平面液晶电脑,一台接口丰富功能强大性能稳健的PXA270嵌入式开发平台。 蓝牙模块在HHARM2410上的移植 ---同济大学高性能计算中心 Dennis He   最近两天在HHARM2410-R3上移植了USB蓝牙设备和 BlueZ 蓝牙协议栈,呵呵,蓝牙果然是个很好的东西,协议栈内容很丰富,挂上去以后可以使用很多功能。我现在就可以用它来接收 GPS 数据以及和用手机上网。我是在做车载的,所以特别有用。积累了一些关于蓝牙的知识,但是算是初步的,把我的经验发上来,各位做过蓝牙的大哥请多指导。   一切版权归bluez的作者---同济大学高性能计算中心 Dennis   欢迎各位发邮件给我和我讨论 dennis.he.2005@   先介绍一下硬件,我用的是电脑卖场里面随便买到的 USB 蓝牙适配器,价格在80元左右,应该是台产的,没有牌子,像一个小一点的U盘。买之前叫卖家在windows下测试一下,带一个带蓝牙的手机过去试试看,确认能用再买。   linux上的蓝牙协议栈有好几个,官方的蓝牙协议栈是Bluez,在www.bluez.org上能找到所有的说明文档和源代码。我先是在自己的pc上安装了bluez的协议栈,然后又把它移植到了华恒HHARM2410-R3上。 (一) 在Red hat 9上安装Bluez   在pc上的安装我参考了O'Reilly的Linux Unwired一书,chapter 7中详细地介绍了linux下的bluetooth的基础知识、安装、配置和使用。安装前必须了解一下bluez的基本结构,直接位于发射传输协议之上的协议是HCI(host control interface),我的手机和蓝牙GPS用到的高层协议是服务发现协议SDP和模拟串口的协议RFCOMM,中间那一层协议是L2CAP,应该是处理逻辑链路的吧,我并不是很清楚,请参考bluez的官方文档。 HHARM2410-R3上用到内核版本是2.4.18,于是我在pc上安装bluez时也使用了2.4.18的内核。使用bluez必须要对内核打patch的,于是到www.kernel.org上下载了linux-2.4.18.tar.bz2后到http://www.bluez.org/patches.html上下载针对2.
展开阅读全文

开通  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 

客服