版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于嵌入式智能家居
远程控制器设计
答辩学生:刘淑辉(07级计算机科学与技术专业)摘要本文研究了基于linux嵌入式操作系统,以使用arm2440为CPU的ARM9嵌入式开发板为硬件基础,以LINUXREDHAT5为系统开发环境,以arm-linux-gcc4.3.2为交叉编译环境以FriendlyARMMini2440DevelopmentBoard为系统运行环境的智能家居系统的设计与实现。通过详细的系统设计过程,制定系统,包括嵌入式操作系统linux内核的定制、bootloader的移植、linux内核的移植、文件系统的移植,并将其进行解析,将相应的命令根据通信协议转化为相应的控制信号,接入控制电路从而控制相应的电器。本装置采用了四盏灯模拟家中的各种电器,通过远程的机算机来控制家里的电器。
功能模块设计bootloader的移植
1配置和编译linux内核2配置和移植文件系统3驱动开发4友善之臂图示:友善之臂主要设计方法文件系统的制作,移置linux2.6内核裁剪,移置bootloader移置建立Linux开发环境程序测试
Bootloaderstage1(汇编部分)
固件(fireware)中的boot代码Bootloader的组成stage2(C部分)
Bootloader硬件设备初始化拷贝BootLoader的stage2到RAM空间中为加载BootLoader的stage2准备RAM空间stage1(汇编部分)
设置好堆栈跳转到stage2的C入口点Bootloader初始化本阶段常用的硬件设备内存映射--mmap将kernelimage文件和根文件系统image从flash读到RAM空间stage2(C部分)
为内核设置启动参数调用内核Bootloader的种类Bootloader的实现大致可以分为以下几类:1.Vivi由三星提供,韩国mizi公司原创,开放源代码,必须使用arm-linux-gcc进行编译,目前已经基本停止发展,主要适用于三星S3C24xx系列ARM芯片,用以启动Linux系统,支持串口下载和网络文件系统启动等常用简易功能。Bootloader的种类3.BlobBlob(BootLoaderObject)是由Jan-DerkBakkerandErikMouw发布的,是专门为StrongARM构架下的LART设计的BootLoader。Blob支持SA1100的LART主板,但用户也可以自行修改移植。Blob也提供两种工作模式,在启动时处于正常的启动加载模式,但是它会延时10秒等待终端用户按下任意键而将Blob切换到下载模式。如果在10秒内没有用户按键,则Blob继续启动Linux内核。Bootloader的移植将vivi的源代码包复制到某一个目录,进入该目录,运行以下命令:#tarxvzfvivi.tgz执行该命令将把vivi源代码解压到目录,进入vivi源代码目录,执行:#makeclean#makemenuconfig一般不需要更改任何配置,直接退出,然后执行“make”开始编译,执行结果如下:#makeARCH=armCROSS_COMPILE=arm-linux-此时已经在当前目录下生成了vivi,把vivi烧写到目标板的NandFlash运行。配置和编译linux内核1主
机:VMWare—redhat9
2开发板:Mini2440--64MBNand
3编译器:arm-linux-gcc-4.3.2移植环境linux内核的组成部分进程调度
内在管理
虚拟文件系统
网络接口
进程通信
Linux内核移植过程(1)将所有文件复制到工作目录下,然后解压内核文件和编译器文件。(2)为内核打补丁。(3)修改Makefile,修改编译环境。(4)修改machineID。如果这一步省略,会在移植到开发板后Bootloader引导的时候出现机器ID错误的现象。出错的ID号将以十六进制给出,将其转化为十进制,替换mach-types文件中的对应项。这里移植后报的错误是0xFB,即对应十进制251。(5)制作uImage文件。在内核目录下建议一个名为mkimage的文件(6)对内核进行配置。执行makeat91rm9200dk_defconfig实际上就是完成对内核的配置。(7)编译内核生成映像文件。Linux内核移植过程内核移植过程图文件系统的配置与移植根文件系统是linux启动时使用的第一个文件系统,没有根文件系统性,linux将无法正常启动。根文件系统由一系列目录组成,目录中包括了应用程序,C库以及相关的配置文件。文件系统的配置与移植
Linux支持多种文件系统,常用的基于存储设备的文件系统类型包括:jffs2,yaffs,cramfs,等。本次设计采用的是yaffs2。
yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。与jffs2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。另外,它还是跨平台的文件系统,除了Linux和eCos,还支持WinCE,pSOS和ThreadX等。文件系统移植过程1.创建根文件系统的目录2.创建设备文件3.安装/etc4.编译内核模块5.安装内核模块6.配置busybox7.编译,安装busbox8.制作yaffs文件系统映象Linux驱动开发驱动程序在Linux内核里扮演着特殊的角色.它们是截然不同的“黑盒子”,使硬件的特殊的一部分响应定义好的内部编程接口.它们完全隐藏了设备工作的细节.用户的活动通过一套标准化的调用来进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新员工个人岗位工作计划报告
- 街道年度残联工作计划
- 科技创新创业计划书创业计划书范文
- 计划生育冬服春节前后工作要点
- 小学科学三年级下册实验教学计划
- 小学生学习安排及计划
- 中专班护理学基础授课计划
- 关于旅游方面的创业计划书
- 血站血液管理201年工作计划
- 小学心理健康教育工作计划模板
- 手术室的人文关怀
- 2024年呼吸内科护理工作计划模版(4篇)
- (三级)工业机器人运用与维护理论考试复习题库(含答案)
- 农贸市场通风与空调设计方案
- 辅导员年度述职报告
- 医疗器械经营质量管理制度
- 2024年教师资格考试高级中学面试语文试题及解答参考
- 2024年广东省深圳市中考英语试题含解析
- 部编版小学五年级上册道德与法治单元检测试卷含答案(全册)
- 四年级英语上册 【月考卷】第三次月考卷(Unit 5-Unit 6) (含答案)(人教PEP)
- 2024-2030年分析仪器行业市场发展分析及发展趋势与投资研究报告
评论
0/150
提交评论