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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



一般不需要更改任何配置,直接退出,然后执行“make”开始 编译,执行结果如下: #make ARCH=arm CROSS_COMPILE=arm-linux此时已经在当前目录下生成了 vivi,把vivi 烧写到目标板的 NandFlash 运行。
www.themegallery.com
LOGO
www.themegallery.com
LOGO
文件系统移植过程

1.创建根文件系统的目录 2.创建设备文件 3.安装/etc 4.编译内核模块 5.安装内核模块 6.配置busybox 7.编译,安装busbox 8.制作yaffs 文件系统映象
www.themegallery.com
www.themegallery.com
LOGO
Bootloader的种类
2. U-Boot: 由三星提供,韩国mizi 公司原创,开放源 代码,必须使用arm-linux-gcc 进行编译,目 前已经基本停止发展,主要适用于三星 S3C24xx 系列ARM 芯片,用以启动Linux 系统,支持串口下载和网络文件系统启动等 常用简易功能。
www.themegallery.com
LOGO
文件系统的配置与移植


根文件系统是linux启动时使用的第一个文件系统, 没有根文件系统性,linux将无法正常启动。 根文件系统由一系列目录组成,目录中包括了应 用程序,C库以及相关的配置文件。
www.themegallery.com
LOGO
文件系统的配置与移植
www.themegallery.com
LOGO
linux内核的组成部分
进程调度
内在管理
虚拟文件系统 网络接口
进程通信
www.themegallery.com
LOGO
Linux内核移植过程



(1)将所有文件复制到工作目录下,然后解压内核文件 和编译器文件。 (2)为内核打补丁。 (3)修改Makefile,修改编译环境。 (4)修改machine ID。如果这一步省略,会在移植到 开发板后Bootloader引导的时候出现机器ID错误的现象。 出错的ID号将以十六进制给出,将其转化为十进制,替 换mach-types文件中的对应项。这里移植后报的错误是 0xFB,即对应十进制251。 (5)制作uImage文件。在内核目录下建议一个名为 mkimage的文件 (6)对内核进行配置。执行make at91rm9200dk_defconfig实际上就是完成对内核的配置。 (7)编译内核生成映像文件。
Linux支持多种文件系统,常用的基于存储 设备的文件系统类型包括:jffs2, yaffs, cramfs, 等。本次设计采用的是yaffs2。 yaffs2是专为嵌入式系统使用NAND型闪存 而设计的一种日志型文件系统。与jffs2相比, 它减少了一些功能(例如不支持数据压缩),所以 速度更快,挂载时间很短,对内存的占用较小。 另外,它还是跨平台的文件系统,除了Linux和 eCos,还支持WinCE, pSOS和ThreadX等。
LOGO
基于嵌入式智能家居 远程控制器设计
指导老师:杨家红(博士) 答辩学生:刘淑辉(07级计 算机科学与技术专业)
LOGO
摘要
本文研究了基于linux嵌入式操作系统,以使用 arm2440为CPU的ARM9嵌入式开发板为硬件基础,以 LINUX REDHAT 5为系统开发环境,以arm-linux-gcc 4.3.2为交叉编译环境以Friendly ARM Mini2440 Development Board为系统运行环境的智能家居系统 的设计与实现。通过详细的系统设计过程,制定系统, 包括嵌入式操作系统linux内核的定制、bootloader 的移植、linux内核的移植、文件系统的移植,并将 其进行解析,将相应的命令根据通信协议转化为相应 的控制信号,接入控制电路从而控制相应的电器。本 装置采用了四盏灯模拟家中的各种电器,通过远程的 机算机来控制家里的电器。
LOGO
Linux驱动开发

Led驱动的开发: mini2440 开发板上所用到的4 个LED 的硬件资源 要操作所用到的 IO 口,就要设置它们所用到的寄存器。 低电平亮,高电平灭。
www.themegallery.com
LOGO
Linux驱动开发

驱动程序在 Linux 内核里扮演着特殊的角色. 它们是截然不同的“黑盒子”, 使硬件的特殊的一 部分响应定义好的内部编程接口. 它们完全隐藏 了设备工作的细节. 用户的活动通过一套标准化 的调用来进行, 这些调用与特别的驱动是独立的; 设备驱动的角色就是将这些调用映射到作用于实 际硬件的和设备相关的操作上. 这个编程接口是 这样, 驱动可以与内核的其他部分分开建立, 并在 需要的时候在运行时“插入”。
www.themegallery.com
LOGO
Linux内核移植过程
内核移植过程图
www.themegallery.com
LOGO
文件系统的配置与移植
文件系统简单的说就是一种目录结构,由 于 linux操作系统的设备在系统中是以文件的形 式存在,将这些文件进行分类管理以及提供和内 核交互的接口,就形成一定的目录结构也就是文 件系统,文件系统是为用户反映系统的一种形式, 为用户提供一个检测控制系统的接口
LOGO
Bootloader
初始化本阶段常用的硬件设备 内存映射--mmap
将kernel image文件和根文件系统 image从flash读到RAM空间
stage2(C部 分)
为内核设置启动参数
调用内核
www.themegallery.com
LOGO
Bootloader的种类

Bootloader的实现大致可以分为以下几类 : 1.Vivi 由三星提供,韩国mizi 公司原创,开放源 代码,必须使用arm-linux-gcc 进行编译,目 前已经基本停止发展,主要适用于三星S3C 24xx 系列ARM 芯片,用以启动Linux 系统, 支持串口下载和网络文件系统启动等常用简 易功能。
www.themegallery.com
LOGO
功能模块设计
1
2 3
bootloader的移植
配置和编译linux内核
配置和移植文件系统
4
驱动开发
www.themegallery.com
LOGO
本课题所用环境
系统环境
LINUX REDHAT 5
交叉编译环境
arm-linux-gcc 3.4.1
系统运行环境
Friendly ARM Mini2440 Development Board
www.themegallery.com
LOGO
友善之臂
图示:友善之臂
www.themegallery.com
LOGO
主要Βιβλιοθήκη Baidu计方法
程序测试
文件系统的制作,移置 linux2.6内核裁剪,移置 bootloader移置 建立 Linux 开发环境
www.themegallery.com
LOGO
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 内核。
配置和编译 linux 内核
移植环境
1 2 3
主 机: VMWare —redhat9
开发板: Mini2440-64MB Nand
编译器: arm-linuxgcc-4.3.2
www.themegallery.com
LOGO
内核的主要概念
内核,即操作系统。它为底层的可编程部件提供服 务,为上层应用程序提供执行环境。内核裁剪就是对这 些功能进行裁剪,选取满足特定平台和需求的功能。不 同的硬件平台对内核要求也不同,因此从一个平台到另 一个平台需要对内核进行重新配置和编译。操作系统从 一个平台过渡到另一个平台。Linux是一款平台适应性强, 且容易裁剪的操作系统。因此Linux在嵌入式系统得到了 广泛的应用。
www.themegallery.com
LOGO
Bootloader的移植
将vivi 的源代码包复制到某一个目录,进入该目录,运行以下 命令: #tar xvzf vivi.tgz 执行该命令将把vivi 源代码解压到目录,进入vivi 源代码目录, 执行: #make clean #make menuconfig
www.themegallery.com
LOGO
Bootloader
硬件设备初始化 拷贝Boot Loader 的stage2 到RAM 空间中 为加载Boot Loader 的stage2 准备RAM 空间 设置好堆栈 跳转到stage2 的C 入口点
stage1(汇编 部分)
www.themegallery.com
www.themegallery.com
LOGO
Linux驱动开发
驱动的配置模块
www.themegallery.com
LOGO
Linux驱动开发
驱动开发
www.themegallery.com
LOGO
主界面
www.themegallery.com
LOGO
www.themegallery.com
LOGO
Bootloader
Bootloader 的组成
固件( fireware )中的 boot代 码
stage1( 汇编部分 )
stage2( C部分)
www.themegallery.com
LOGO
Bootloader
硬件检测 资源分配
固件 (fireware) 中的boot代码
相关文档
最新文档