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

上传人:wuy****n92 文档编号:73759655 上传时间:2023-02-22 格式:PPT 页数:29 大小:1.22MB
返回 下载 相关 举报
基于嵌入式智能家居远程控制器设计答辩.ppt_第1页
第1页 / 共29页
基于嵌入式智能家居远程控制器设计答辩.ppt_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《基于嵌入式智能家居远程控制器设计答辩.ppt》由会员分享,可在线阅读,更多相关《基于嵌入式智能家居远程控制器设计答辩.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、LOGO基于嵌入式智能家居基于嵌入式智能家居远程控制器设计远程控制器设计指导老师:杨家红(博士)指导老师:杨家红(博士)答辩学生:刘淑辉(答辩学生:刘淑辉(07级计级计算机科学与技术专业)算机科学与技术专业)LOGO摘要摘要本文研究了基于本文研究了基于linuxlinux嵌入式操作系统,以使用嵌入式操作系统,以使用arm2440arm2440为为CPUCPU的的ARM9ARM9嵌入式开发板为硬件基础,以嵌入式开发板为硬件基础,以LINUX REDHAT 5LINUX REDHAT 5为系统开发环境,以为交叉编译环境为系统开发环境,以为交叉编译环境以以Friendly ARM Mini2440

2、Development BoardFriendly ARM Mini2440 Development Board为系为系统运行环境的智能家居系统的设计与实现。通过详细统运行环境的智能家居系统的设计与实现。通过详细的系统设计过程,制定系统,包括嵌入式操作系统的系统设计过程,制定系统,包括嵌入式操作系统linuxlinux内核的定制、内核的定制、bootloaderbootloader的移植、的移植、linuxlinux内核的内核的移植、文件系统的移植,并将其进行解析,将相应的移植、文件系统的移植,并将其进行解析,将相应的命令根据通信协议转化为相应的控制信号,接入控制命令根据通信协议转化为相应的控

3、制信号,接入控制电路从而控制相应的电器。本装置采用了四盏灯模拟电路从而控制相应的电器。本装置采用了四盏灯模拟家中的各种电器,通过远程的机算机来控制家里的电家中的各种电器,通过远程的机算机来控制家里的电器。器。LOGO功能模块设计功能模块设计bootloader的移植的移植 1配置和编译配置和编译linux内核内核2配置和移植文件系统配置和移植文件系统3驱动开发驱动开发4LOGO本课题所用环境本课题所用环境系统环境系统环境 LINUX REDHAT 5交叉编译环境交叉编译环境 系统运行环境系统运行环境 Friendly ARM Mini2440 Development BoardLOGO友善之臂

4、友善之臂图示:友善之臂LOGO主要设计方法主要设计方法文件系统的制作,移置文件系统的制作,移置linux2.6内核裁剪,移置内核裁剪,移置bootloader移置移置建立建立Linux开发环境开发环境程序测试程序测试 LOGOBootloaderstage1(汇编部汇编部分分)固件固件(fireware)中的中的boot代代码码Bootloader的组成的组成stage2(C部分部分)LOGOBootloader硬件检测硬件检测资源分配资源分配固件固件固件固件(firewarefireware)中的中的中的中的bootboot代码代码代码代码LOGOBootloader硬件设备初始化硬件设备初

5、始化拷贝拷贝BootLoader的的stage2到到RAM空间中空间中为加载为加载BootLoader的的stage2准备准备RAM空间空间stage1(汇编汇编部分部分)设置好堆栈设置好堆栈跳转到跳转到stage2的的C入口点入口点LOGOBootloader初始化本阶段常用的硬件设备初始化本阶段常用的硬件设备内存映射内存映射mmap将将kernelimage文件和根文件系统文件和根文件系统image从从flash读到读到RAM空间空间stage2(C部部分分)为内核设置启动参数为内核设置启动参数调用内核调用内核LOGOBootloader的种类的种类Bootloader的实现大致可以分为以

6、下几类的实现大致可以分为以下几类:1.Vivi 由三星提供,韩国mizi 公司原创,开放源代码,必须使用arm-linux-gcc 进行编译,目前已经基本停止发展,主要适用于三星S3C24xx 系列ARM 芯片,用以启动Linux 系统,支持串口下载和网络文件系统启动等常用简易功能。LOGOBootloader的种类的种类 2.U-Boot:由三星提供,韩国mizi 公司原创,开放源代码,必须使用arm-linux-gcc 进行编译,目前已经基本停止发展,主要适用于三星S3C24xx 系列ARM 芯片,用以启动Linux 系统,支持串口下载和网络文件系统启动等常用简易功能。LOGOBootlo

7、ader的种类的种类3.Blob Blob(Boot Loader Object)是由Jan-Derk Bakker and Erik Mouw发布的,是专门为StrongARM 构架下的LART设计的Boot Loader。Blob支持SA1100的LART主板,但用户也可以自行修改移植。Blob也提供两种工作模式,在启动时处于正常的启动加载模式,但是它会延时 10 秒等待终端用户按下任意键而将 Blob 切换到下载模式。如果在 10 秒内没有用户按键,则 Blob 继续启动 Linux 内核。LOGOBootloader的移植的移植将将vivi的源代的源代码包复制到某一个目包复制到某一个目

8、录,进入入该目目录,运行以下,运行以下命令:命令:#tarxvzfvivi.tgz执行行该命令将把命令将把vivi源代源代码解解压到目到目录,进入入vivi源代源代码目目录,执行:行:#makeclean#makemenuconfig一般不需要更改任何配置,直接退出,然后一般不需要更改任何配置,直接退出,然后执行行“make”开始开始编译,执行行结果如下:果如下:#makeARCH=armCROSS_COMPILE=arm-linux-此此时已已经在当前目在当前目录下生成了下生成了vivi,把,把vivi烧写到目写到目标板的板的NandFlash运行。运行。LOGO配置和编译配置和编译linu

9、x内核内核1主主机:机:VMWareredhat9 2开发板:开发板:Mini2440-64MBNand 3编译器:编译器:arm-linux-gcc-4.3.2移植环境移植环境LOGO内核的主要概念内核的主要概念 内核,即操作系统。它为底层的可编程部件提供服务,为上层应用程序提供执行环境。内核裁剪就是对这些功能进行裁剪,选取满足特定平台和需求的功能。不同的硬件平台对内核要求也不同,因此从一个平台到另一个平台需要对内核进行重新配置和编译。操作系统从一个平台过渡到另一个平台。Linux是一款平台适应性强,且容易裁剪的操作系统。因此Linux在嵌入式系统得到了广泛的应用。LOGOlinux内核的组

10、成部分内核的组成部分进程调度进程调度 内在管理内在管理 虚拟文件系统虚拟文件系统 网络接口网络接口进程通信进程通信 LOGOLinuxLinux内核移植过程内核移植过程(1 1)将所有文件复制到工作目录下,然后解压内核文件)将所有文件复制到工作目录下,然后解压内核文件和编译器文件。和编译器文件。(2 2)为内核打补丁。)为内核打补丁。(3 3)修改)修改MakefileMakefile,修改编译环境。,修改编译环境。(4 4)修改)修改machine IDmachine ID。如果这一步省略,会在移植到开。如果这一步省略,会在移植到开发板后发板后BootloaderBootloader引导的时

11、候出现机器引导的时候出现机器IDID错误的现象。错误的现象。出错的出错的IDID号将以十六进制给出,将其转化为十进制,替号将以十六进制给出,将其转化为十进制,替换换mach-typesmach-types文件中的对应项。这里移植后报的错误是文件中的对应项。这里移植后报的错误是0 xFB0 xFB,即对应十进制,即对应十进制251251。(5 5)制作)制作uImageuImage文件。在内核目录下建议一个名为文件。在内核目录下建议一个名为mkimagemkimage的文件的文件(6 6)对内核进行配置。执行)对内核进行配置。执行make make at91rm9200dk_defconfiga

12、t91rm9200dk_defconfig实际上就是完成对内核的配置。实际上就是完成对内核的配置。(7 7)编译内核生成映像文件。)编译内核生成映像文件。LOGOLinuxLinux内核移植过程内核移植过程内核移植过程图内核移植过程图LOGO文件系统的配置与移植文件系统的配置与移植文件系统简单的说就是一种目录结构,由文件系统简单的说就是一种目录结构,由于于linux操作系统的设备在系统中是以文件的形操作系统的设备在系统中是以文件的形式存在,将这些文件进行分类管理以及提供和内式存在,将这些文件进行分类管理以及提供和内核交互的接口,就形成一定的目录结构也就是文核交互的接口,就形成一定的目录结构也就

13、是文件系统,文件系统是为用户反映系统的一种形式,件系统,文件系统是为用户反映系统的一种形式,为用户提供一个检测控制系统的接口为用户提供一个检测控制系统的接口 LOGO文件系统的配置与移植文件系统的配置与移植根文件系统是linux启动时使用的第一个文件系统,没有根文件系统性,linux将无法正常启动。根文件系统由一系列目录组成,目录中包括了应用程序,C库以及相关的配置文件。LOGO文件系统的配置与移植文件系统的配置与移植Linux支持多种文件系统,常用的基于存储支持多种文件系统,常用的基于存储设备的文件系统类型包括:设备的文件系统类型包括:jffs2,yaffs,cramfs,等。本次设计采用的

14、是等。本次设计采用的是yaffs2。yaffs2是专为嵌入式系统使用是专为嵌入式系统使用NAND型闪存型闪存而设计的一种日志型文件系统。与而设计的一种日志型文件系统。与jffs2相比,它相比,它减少了一些功能减少了一些功能(例如不支持数据压缩例如不支持数据压缩),所以速,所以速度更快,挂载时间很短,对内存的占用较小。另度更快,挂载时间很短,对内存的占用较小。另外,它还是跨平台的文件系统,除了外,它还是跨平台的文件系统,除了Linux和和eCos,还支持,还支持WinCE,pSOS和和ThreadX等。等。LOGO文件系统移植过程文件系统移植过程1.创建根文件系统的目录2.创建设备文件3.安装/

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

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁