基于嵌入式智能家居远程控制器设计答辩ppt

上传人:wt****50 文档编号:50648866 上传时间:2018-08-09 格式:PPT 页数:29 大小:1.27MB
返回 下载 相关 举报
基于嵌入式智能家居远程控制器设计答辩ppt_第1页
第1页 / 共29页
基于嵌入式智能家居远程控制器设计答辩ppt_第2页
第2页 / 共29页
基于嵌入式智能家居远程控制器设计答辩ppt_第3页
第3页 / 共29页
基于嵌入式智能家居远程控制器设计答辩ppt_第4页
第4页 / 共29页
基于嵌入式智能家居远程控制器设计答辩ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《基于嵌入式智能家居远程控制器设计答辩ppt》由会员分享,可在线阅读,更多相关《基于嵌入式智能家居远程控制器设计答辩ppt(29页珍藏版)》请在金锄头文库上搜索。

1、LOGO 基于嵌入式智能家居 远程控制器设计 指导老师:杨家红(博士)答辩学生:刘淑辉(07级计 算机科学与技术专业)LOGO摘要 本文研究了基于linux嵌入式操作系统,以使用 arm2440为CPU的ARM9嵌入式开发板为硬件基础,以 LINUX REDHAT 5为系统开发环境,以arm-linux-gcc 4.3.2为交叉编译环境以Friendly ARM Mini2440 Development Board为系统运行环境的智能家居系统 的设计与实现。通过详细的系统设计过程,制定系 统,包括嵌入式操作系统linux内核的定制、 bootloader的移植、linux内核的移植、文件系统的

2、 移植,并将其进行解析,将相应的命令根据通信协 议转化为相应的控制信号,接入控制电路从而控制 相应的电器。本装置采用了四盏灯模拟家中的各种 电器,通过远程的机算机来控制家里的电器。 LOGO功能模块设计 bootloader的移植 1配置和编译linux内核2配置和移植文件系统3驱动开发4LOGO本课题所用环境系统环境 LINUX REDHAT 5交叉编译环境 arm-linux-gcc 3.4.1系统运行环境 Friendly ARM Mini2440 Development BoardLOGO友善之臂图示:友善之臂LOGO 主要设计方法 文件系统的制作,移置linux2.6内核裁剪,移置b

3、ootloader移置建立 Linux 开发环境程序测试 LOGO Bootloaderstage1( 汇编部分 ) 固件( fireware )中的 boot代 码 Bootloader 的组成stage2( C部分) LOGO Bootloader硬件检测资源分配固件(固件( firewarefireware)中)中 的的bootboot代码代码LOGO Bootloader硬件设备初始化拷贝Boot Loader 的stage2 到RAM 空间中为加载Boot Loader 的stage2 准备RAM 空间stage1(汇编 部分) 设置好堆栈跳转到stage2 的C 入口点LOGO B

4、ootloader初始化本阶段常用的硬件设备内存映射mmap将kernel image文件和根文件系统 image从flash读到RAM空间stage2(C部 分) 为内核设置启动参数调用内核LOGO Bootloader的种类 Bootloader的实现大致可以分为以下几类 :1.Vivi 由三星提供,韩国mizi 公司原创,开放 源代码,必须使用arm-linux-gcc 进行编译, 目前已经基本停止发展,主要适用于三星 S3C24xx 系列ARM 芯片,用以启动Linux 系统,支持串口下载和网络文件系统启动等 常用简易功能。LOGO Bootloader的种类2. U-Boot:由三星

5、提供,韩国mizi 公司原创,开放 源代码,必须使用arm-linux-gcc 进行编译, 目前已经基本停止发展,主要适用于三星 S3C24xx 系列ARM 芯片,用以启动Linux 系统,支持串口下载和网络文件系统启动等 常用简易功能。LOGO Bootloader的种类3. BlobBlob(Boot Loader Object)是由Jan-Derk Bakker and Erik Mouw发布的,是专门为 StrongARM 构架下的LART设计的Boot Loader 。Blob支持SA1100的LART主板,但用户也可以 自行修改移植。 Blob也提供两种工作模式,在 启动时处于正常

6、的启动加载模式,但是它会延时 10 秒等待终端用户按下任意键而将 Blob 切换到 下载模式。如果在 10 秒内没有用户按键,则 Blob 继续启动 Linux 内核。LOGO Bootloader的移植将vivi 的源代码码包复制到某一个目录录,进进入该该目录录,运行以 下命令: #tar xvzf vivi.tgz 执执行该该命令将把vivi 源代码码解压压到目录录,进进入vivi 源代码码目 录录,执执行: #make clean #make menuconfig一般不需要更改任何配置,直接退出,然后执执行“make”开始 编译编译 ,执执行结结果如下: #make ARCH=arm C

7、ROSS_COMPILE=arm-linux- 此时时已经经在当前目录录下生成了 vivi,把vivi 烧烧写到目标标板的 NandFlash 运行。LOGO 配置和编译 linux 内核 1主 机: VMWare redhat9 2开发板: Mini2440- -64MB Nand 3编译器: arm-linux- gcc-4.3.2移植环境LOGO内核的主要概念内核,即操作系统。它为底层的可编程部件提供服 务,为上层应用程序提供执行环境。内核裁剪就是对这 些功能进行裁剪,选取满足特定平台和需求的功能。不 同的硬件平台对内核要求也不同,因此从一个平台到另 一个平台需要对内核进行重新配置和编译

8、。操作系统从 一个平台过渡到另一个平台。Linux是一款平台适应性强 ,且容易裁剪的操作系统。因此Linux在嵌入式系统得到 了广泛的应用。LOGO linux内核的组成部分进程调度 内在管理 虚拟文件系统 网络接口 进程通信 LOGOLinux内核移植过程 (1)将所有文件复制到工作目录下,然后解压内核文件 和编译器文件。 (2)为内核打补丁。 (3)修改Makefile,修改编译环境。 (4)修改machine ID。如果这一步省略,会在移植到开 发板后Bootloader引导的时候出现机器ID错误的现象。 出错的ID号将以十六进制给出,将其转化为十进制,替 换mach-types文件中的

9、对应项。这里移植后报的错误是 0xFB,即对应十进制251。 (5)制作uImage文件。在内核目录下建议一个名为 mkimage的文件 (6)对内核进行配置。执行make at91rm9200dk_defconfig实际上就是完成对内核的配置 。 (7)编译内核生成映像文件。LOGOLinux内核移植过程内核移植过程图LOGO文件系统的配置与移植文件系统简单的说就是一种目录结构,由 于 linux操作系统的设备在系统中是以文件的形 式存在,将这些文件进行分类管理以及提供和内 核交互的接口,就形成一定的目录结构也就是文 件系统,文件系统是为用户反映系统的一种形式 ,为用户提供一个检测控制系统的

10、接口 LOGO文件系统的配置与移植 根文件系统是linux启动时使用的第一个文件系统 ,没有根文件系统性,linux将无法正常启动。 根文件系统由一系列目录组成,目录中包括了应 用程序,C库以及相关的配置文件。LOGO文件系统的配置与移植Linux支持多种文件系统,常用的基于存 储设备的文件系统类型包括:jffs2, yaffs, cramfs, 等。本次设计采用的是yaffs2。yaffs2是专为嵌入式系统使用NAND型闪 存而设计的一种日志型文件系统。与jffs2相比, 它减少了一些功能(例如不支持数据压缩),所以 速度更快,挂载时间很短,对内存的占用较小。 另外,它还是跨平台的文件系统,

11、除了Linux和 eCos,还支持WinCE, pSOS和ThreadX等。LOGO文件系统移植过程 1.创建根文件系统的目录 2.创建设备文件 3.安装/etc 4.编译内核模块 5.安装内核模块 6.配置busybox 7.编译,安装busbox 8.制作yaffs 文件系统映象LOGOLinux驱动开发 Led驱动的开发: mini2440 开发板上所用到的4 个LED 的硬件资源 要操作所用到的 IO 口,就要设置它们所用到的寄存器 。低电平亮,高电平灭。 LOGOLinux驱动开发 驱动程序在 Linux 内核里扮演着特殊的角色. 它们是截然不同的“黑盒子”, 使硬件的特殊的一 部分响应定义好的内部编程接口. 它们完全隐藏 了设备工作的细节. 用户的活动通过一套标准化 的调用来进行, 这些调用与特别的驱动是独立的; 设备驱动的角色就是将这些调用映射到作用于实 际硬件的和设备相关的操作上. 这个编程接口是 这样, 驱动可以与内核的其他部分分开建立, 并在 需要的时候在运行时“插入”。LOGOLinux驱动开发驱动驱动 的配置模块块LOGOLinux驱动开发驱动驱动 开发发LOGO主界面LOGO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号