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

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

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于嵌入式智能家居 远程控制器设计 摘要 本文研究了基于linux嵌入式操作系统,以使用arm2440为CPU的ARM9嵌入式开发板为硬件基础,以LINUX REDHAT 5为系统开发环境,以arm-linux-gcc 4.3.2为交叉编译环境以Friendly ARM Mini2440 Development Board为系统运行环境的智能家居系统的设计与实现。通过详细的系统设计过程,制定系统,包括嵌入式操作系统linux内核的定制、bootloader的移植、linux内核的移植、文件系统的移植,并将其进行解析,将相应的命令根据通信协议转化为相应的控制信号,接入控制电路从而控制相应的电器。本装置采用了四盏灯模拟家中的各种电器,通过远程的机算机来控制家里的电器。 功能模块设计 本课题所用环境 友善之臂 主要设计方法 Bootloader Bootloader Bootloader Bootloader Bootloader的种类 Bootloader的实现大致可以分为以下几类 : 1.Vivi 由三星提供,韩国mizi 公司原创,开放源代码,必须使用arm-linux-gcc 进行编译,目前已经基本停止发展,主要适用于三星S3C24xx 系列ARM 芯片,用以启动Linux 系统,支持串口下载和网络文件系统启动等常用简易功能。 Bootloader的种类 2. U-Boot: 由三星提供,韩国mizi 公司原创,开放源代码,必须使用arm-linux-gcc 进行编译,目前已经基本停止发展,主要适用于三星S3C24xx 系列ARM 芯片,用以启动Linux 系统,支持串口下载和网络文件系统启动等常用简易功能。 Bootloader的种类 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 内核。 Bootloader的移植 将vivi 的源代码包复制到某一个目录,进入该目录,运行以下命令: #tar xvzf vivi.tgz 执行该命令将把vivi 源代码解压到目录,进入vivi 源代码目录,执行: #make clean #make menuconfig 一般不需要更改任何配置,直接退出,然后执行“make”开始编译,执行结果如下: #make ARCH=arm CROSS_COMPILE=arm-linux- 此时已经在当前目录下生成了 vivi,把vivi 烧写到目标板的NandFlash 运行。 配置和编译 linux 内核 内核的主要概念 内核,即操作系统。它为底层的可编程部件提供服务,为上层应用程序提供执行环境。内核裁剪就是对这些功能进行裁剪,选取满足特定平台和需求的功能。不同的硬件平台对内核要求也不同,因此从一个平台到另一个平台需要对内核进行重新配置和编译。操作系统从一个平台过渡到另一个平台。Linux是一款平台适应性强,且容易裁剪的操作系统。因此Linux在嵌入式系统得到了广泛的应用。 linux内核的组成部分 Linux内核移植过程 (1)将所有文件复制到工作目录下,然后解压内核文件和编译器文件。 (2)为内核打补丁。 (3)修改Makefile,修改编译环境。 (4)修改machine ID。如果这一步省略,会在移植到开发板后Bootloader引导的时候出现机器ID错误的现象。出错的ID号将以十六进制给出,将其转化为十进制,替换mach-types文件中的对应项。这里移植后报的错误是0xFB,即对应十进制251。 (5)制作uImage文件。在内核目录下建议一个名为mkimage的文件 (6)对内核进行配置。执行make at91rm9200dk_defconfig实际上就是完成对内核的配置。 (7)编译内核生成映像文件。 Linux内核移植过程 文件系统的配置与移植 文件系统简单的说就是一种目录结构,由于 linux操作系统的设备在系统中是以文件的形式存在,将这些文件进行分类管理以及提供和内核交互的接口,就形成一定的目录结构也就是文件系统,文件系统是为用户反映系统的一种形式,为用户提供一个检测控制系统的接口 文件系统的配置与移植 根

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档