




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、济南大学泉城学院毕业设计济南大学毕 业 设 计题 目 基于ARM Contex A8 智能家居系统设计 学 院 工学院 专 业 电气工程及其自动化 班 级 学 生 学 号 指导教师 二一 六 年 五 月 二十 日- 2 -济南大学毕业设计摘 要随着“物联网”的发展,智能家居近年来成为家电企业研究和转型的热点。智能家居对当前的发展形式难以适应,同时智能家居技术在我国处于起步阶段,许多技术标准都未标准化,因此加强智能家居应用层方面的研究,通过选取合适的芯片和技术,提出合理的设计方案,组建一种符合我国市场的、具有自主知识产权的智能家居系统己成为当前智能家居研究领域中极富经济价值和科技价值的课题。该项
2、目使用ARM cortex-A8芯片是三星一款精典的处理器,它内核运算速度快,体积小,功耗低,可以够兼容各种复杂的外设,可扩展性高。初步的构建功能,功能人机交互界面。实现了检测用并显示浮点的格式当前的室内温度并用曲线显示温度随时间的变化,还可以查看升级进度实现软件在线升级,实现音乐播放器,蜂鸣器,开关LED灯和实现动态界面的显示和摄像头采集视频的显示,移植了游戏和计算器供用户娱乐。本设计基于S5PV210芯片,采用嵌入式linux系统开发,模拟了一套功能齐全,用户体验度高的智能家居系统。关键词:智能家居;嵌入式开发;S5PV210ABSTRACTWith the devel
3、opment of Internet of things, smart home has become a hot research and transformation of household electrical appliance enterprises in recent years. Intelligent home of the
4、60;current form of development difficult to adapt to,and smart home technology in our country in the initial stage, many of the technical standards are not standardized.
5、Therefore, strengthening the study of intelligent home application layer, by selecting the appropriate chip and technology,put forward the reasonable design, established one kind to
6、0;conform to our country market, with independent intellectual property rights of the smart home system has become the current topic of smart home in the research field
7、160;of highly economic value and the value of technology.The project use the ARM cortex-A8 chip processor is a classic of Samsung, its kernel computing speed, small volum
8、e,low power consumption, can enough compatible peripherals of avariety of complex, high scalability. Preliminary build function, function man-machine interaction interface. The detection and
9、 display the current the floating-point format, the indoortemperature and curvedisplay temperature changes with time, youcan also check the progress of your upgrade the software
10、60;online upgrade, realizing that the music player, buzzer, switchLED lights andrealize dynamic interface display and camera production video display, Transplant Games and calculator fo
11、r recreational users.This design based on S5PV210 chip, using embedded Linux system development, simulation of a set of complete functions, the user experience a high degree
12、160;of intelligent home system. Keywords:intelligent home; embedded developmentsensor; S5PV210目 录摘 要IABSTRACTII1 前 言11.1智能家居研究背景及意义11.2国内外发展现状11.3课题研究的内容21.4嵌入式系统的特点32 系统的总体方案设计42.1 系统设计思路42.2 系统方案设计42.3 项目实现功能53 基于S5PV210的智能家居系统硬件设计63.1 芯片的选型63.1.1 SPV210的功能特点73.1.2 AR
13、M CONTEX A8开发板的配置73.1.3智能家居项目硬件配置83.2 DS18B20温度传感器的工作原理及结构图83.3 LED原理和电路图93.4 TFT触摸屏原理和电路93.5 报警电路103.5.1蜂鸣器报警的原理103.5.2蜂鸣器报警电路图113.5.3开发板音频部分原理图114 系统环境搭建124.1 搭建嵌入式linux系统环境124.2编译器124.3 嵌入式linux软件组成部分及其功能134.3.1 bootloader作用134.3.2 UBOOT移植134.3.3 linux内核组成144.3.4内核移植144.3.5根文件系统rootfs作用144.3.6根文件
14、系统制作144.4.Tslib移植164.4.1.tslib作用164.4.2.tslib移植164.5 QT移植174.5.1QT介绍174.5.2安装中文字体库174.5.3 QT界面制作175 基于CONTEX A8智能家居软件设计195.1通过界面实现开关灯195.2实现DS18B20的温度显示195.2.1编写DS18B20设备驱动程序195.2.2编写硬件操作库函数205.2.3编写ehome图形界面软件,添加温度显示205.3 在线升级205.3.1升级方案215.3.2 TPAD的linux系统识别U盘215.3.3 TPAD在linux系统擦和写Nand215.3.4 升级z
15、Image215.4.ehome添加MP3播放器功能225.5 附加功能226 系统的调试与测试236.1 集成测试简介236.2 硬件和软件测试246.2.1环境搭建测试246.2.2 tslib测试246.2.3 QT测试246.2.4测试LED灯驱动和硬件操作库246.2.5温度传感器测试256.2.6在线升级功能测试256.3 智能家居文件的编译267 总结与展望27参考文献28致 谢29附录一 主界面程序30附录二 在线升级代码32附录三 音乐播放器程序33附录四 温度曲线和显示程序35附录五 主控制芯片S5PV210的外接方式电路图44附录六 主控芯片S5PV210硬件电路图45-
16、 44 -1 前 言1.1智能家居研究背景及意义21世纪经济快速发展,计算机技术更是取得了惊人的发展速度,科学技术也越来越多地影响着人们的生活,人们对自己的衣、食、住、行,提出了更高的要求6。智能化于是就成了出现频率最高的词汇,像智慧城市、智能汽车、智能景区,智能控制,智能交通等等,都体现出人类对智能化生活的迫切追求。家庭是社会的细胞,唯有家庭实现了信息化,才能真正实现社会的信息化,研究开发智能家居系统是实现室内信息化的必要过程6。“智能家居”这样一个更加贴切人们生活的词汇最早的时候是在西方康捏狄克州被提出来,随后对智能家居项目投入拉开了序幕,智能家居系统成了科技进步的最大受益者之一1。现在特
17、别是消费电子类产品智能化发展,嵌入式控制器件基本上应用于了生活的方方面面,比如收音机、智能手机、小区电梯、汽车电子、数字电视、工业控制、数码相机、空调、交换机、路由器、卫星、航空航天、月球探测仪、智能监控、医疗器械,嵌入式的重要作用越突显出来。近年来随着“物联网”的发展,物联网技术的成熟和智能移动人机交互终端的普及,使得智能家居行业获得了长足的发展,达到了前所未有的程度12。随着智能家居技术的日益成熟、制造成本逐渐降低、用户功能的人性化,使得智能家居“飞入寻常百姓家”,而不再是原来的高处不胜寒。最近几年,随着信息通信和计算机的发展,智能家居控制系统在房地产领域得到了一定程度的推广,智能家居作为
18、一个智能化和物联化的新型领域,对现在家居安防和家居智能化的管理具有很重要的价值16。1.2国内外发展现状 由于芯片朝着体积更小、运算更快、功耗更低的方向发展,所以越来越多的智能化芯片被运用到日常电子商品里,而且可以添加更多的外设和更好的功能。比如,诺基亚1050手机只能打电话,发个信息,而iphone手机可以打电话,发信息,WIFI,BT,TP等,软件随着硬件的改变而改变。不同的产品,它们的功能不一样,可靠性也不一样,成本不一样,体积和功耗都,有可能不一样,但是本质同样的东西都会满足。根据不同用户的需求,诺基亚1050:功能单一,可靠性高,成本低,体积小,功耗小,而iphone手机功能强大,可
19、靠性差,成本高,体积大,功耗高。可以得出结论,将来做产品可以做低端和高端,像智能家居就属于满足用户需求的高端产品,然而高端行业会出现后劲不足。同时,尽管大量与智能家居有关的技术逐渐兴起,而当前智能家居系统还并未发展成熟,存在诸多问题,如布线繁杂、不美观、功耗大、对互联网的依赖性强。到目前国内的研究还没有建立一个完整的智能家居理论体系,对智能家居的理解也存在着各种的差异;当前国内的智能家居产品大都功能贫乏,系统设计不规范、可扩展性差,对当前的发展形式难以适应,同时智能家居技术在我国处于起步阶段,许多技术标准都未标准化,还有很多工作需要做。因此加强智能家居应用层方面的研究,通过选取合适的芯片和技术
20、,提出合理的设计方案,组建一种符合我国市场的、具有自主知识产权的智能家居系统己成为当前智能家居研究领域中极富经济价值和科技价值的课题5。如果对国内外智能家居系统的深入研究,针对国内现状,本系统的设计和使用,如果得到广泛的应用,可以极大地提高人们的生活质量,真正的实现住宅智能化,这也为将为推动中国物联网的发展起到一定推动作用。如图1.1所示,物联网智能家居的体现,体现了万物互联的主题。图1.1 物联网的智能家居1.3课题研究的内容本次智能家居项目使用了韩国三星公司研发的S5PV210芯片,它的内核cortex-A8 是ARM处理器最高级系列中的芯片,而且开发板接口资源丰富,搭载了相当丰富的外设串
21、口供开发者使用。虽然离现实的成熟的智能家居系统无论是功能上,还是制作上都存在一定差距,但是初步体现出智能家居的思想,达到展示的效果,并且体现一定的实用价值7。结合国内外现有的相关研究成果及现有的成熟技术,项目安排的主要内容有:一、前言。简要介绍了智能家居课题的研究背景及意义、研究内容、国内外发展和现状、嵌入式系统的特点和课题所要达到技术要求以及功能的实现方法。二、系统整体方案设计及相关技术。主要包括智能家居系统的设计思路,设计方案和系统实现功能。三、 智能家居系统硬件设计。这部分内容主要包括系统主要芯片结构、各模块的功能介绍和各模块硬件电路图等。4、 系统环境搭建。主要包括系统的UBOOT烧写
22、,内核移植,根文件系统制作,tslib移植,QT移植和校正。5、 智能家居系统软件设计。软件设计部分包括系统通过界面实现开关灯,实现温度显示,在线升级,音乐播放器。6、 系统的调试与测试。这部分内容主要包括测试简介,软件测试和硬件测试。1.4嵌入式系统的特点嵌入式系统的核心是嵌入式计算机系统,它分为系统硬件层、系统软件层,应用软件层和中间层。嵌入式系统是以用户需求为中心,并且软、硬件均可裁剪的但必须具备最小系统要求,软硬件为可以根据用户的需求而裁剪8。可以接受嵌入式计算机系统发出的控制命令的可以执行装置又被叫做被控对象,由它来它执行所规定的操作或任务。执行装置功能可以很简单,如MP3上的按钮键
23、,可以上下左右切换歌曲;也可以功能很复杂,如谷歌眼镜,上面集成了多种传感器和各种微型机器,从而可以执行各种复杂的机器动作并感受各种外界的状态信息。具有极佳的运算处理性能、极低的功耗、极其丰富的外设接口,并且具有防复制保护,使得智能家居可以应用到很多场合。(1) 可裁剪性强。可以根据功能要求,裁剪设备功能。(2) 实时性好。实时性一般较好,在各种设备控制中可以应用。(3) 接口统一。提供统一的设备驱动接口。(4) 操作方便、提供良好人机交互界面,容易学会。提供强大的网络功能,支持TCP/IP等各种协议,提供各种协议支持及统一的MAC访问层的访问接口,为各种计算设备预留接口。(5) 强稳定性,弱交
24、互性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。(6) 固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的NAND上。(7) 很好的硬件适应性,具有良好的移植功能。(8) 嵌入式系统会和具体需求有机地结合在一起,嵌入式的升级更新也是和具体产品同步进行,具有较长的生命周期。2 系统的总体方案设计2.1 系统设计思路基于contex A8的智能家居系统设计思路是:当人在室内时,增加用户体验,可以操作一块室内控制器的触屏来控制室内的器件,进行人机交互的控制。实现了检测用并显示浮点的格式当前的室内温度并用曲线显示温度随时间的变化,还可
25、以查看升级进度实现新版本软件的在线升级,实现音乐播放器,蜂鸣器,开关LED灯,视屏监控和实现动态界面的显示和摄像头采集视频的显示,移植了游戏和辅助功能的计算器,供用户娱乐这样一来,用户可以实现操作触摸屏,就能做自己想做的事。本设计基于S5PV210芯片,采用嵌入式linux系统开发,模拟了一套功能齐全,用户体验度高和可扩展性强的智能家居系统9。如图2.1所示,本次采用的开发板全景图,中间内含有处理器S5PV210芯片。图2.1 ARM CONTEX A8开发板2.2 系统方案设计基于contex A8的智能家居系统设计目的是设计出一种用户体验良好,功能齐全,实现人与室内和谐的氛围。要求设计的操
26、作QT界面进行操作实现触屏式操作。综合电路各模块设计、环境搭建,软件设计、系统的可靠性以及可扩展性等各方面的考虑与分析,最终决定该系统将选用三星S5PV210热释电红外传感器进行人体红外信号采集,然后通过S5PV210芯片处理之后传给外设作出一系列相应的操作,例如控制mp3和蜂鸣器的开与关,并且采用LCD液晶显示屏将时间显示出来。经过资料的查询以及各方面的综合考虑、分析、研究和比较,认为该方案的设计能够很好得完成该系统所要实现的一系列功能,该系统的总体方案设计框图如图2.2所示。图2.2 系统的设计框图2.3 项目实现功能结合最初设定的基本功能,以及现在所掌握的知识能力,初步的构建功能。功能人
27、机交互界面如图2.3所示。(1)实时检测当前的室内温度,并用曲线显示温度随时间的变化,每隔1s刷新一次,同时用浮点的格式显示出来温度的值,单位摄氏度。(2)实现软件在线升级,也能查看升级进度。(3)实现音乐播放器功能,上一首,下一首,暂停和播放音乐。(4)可以通过操作界面点响蜂鸣器,或者用蜂鸣器作为报警声。(5)可以开关LED灯和切换界面,模拟室内控制电灯。(6)实现动态界面的显示和摄像头采集视频的显示。(7)能够在业余时间玩一些游戏(2048和贪吃蛇),还有一些辅助功能,如计算器,登陆界面,日历,图片查看器等。图2.3 智能家居功能人机交互界面3 基于S5PV210的智能家居系统硬件设计3.
28、1 芯片的选型结合现实生活中的实际需要,以及现在人们对嵌入式的理解,最终定下功能目标主要分为四大部分:嵌入式以用户需求为中心(产品要满足和符合用户的需求),用户需求不同,最终造成产品硬件不同,产品的硬件不同,硬件可裁剪,本质还是用户需求。三星S5PV210核心板的三大件:CPU,闪存K9K8G08U0B(8G小b),内存K4T1G084QF(1G大B) 。三星S5PV210具有可扩展性能强,可以为将来软件升级提供充分的资源,而STC89C52等单片机就不能提供高清视频输出,视频播放,视频采集等功能4。如图3.1所示,S5PV210处理器芯片。图3.1 S5PV210处理器芯片3.1.1 SPV
29、210的功能特点S5PV210包含很多强大的硬件编解码功能,内建MFC(Multi Format Codec),支持MPEG-1/2/4,H.263,H.264等格式视频的编解码,支持模拟/数字TV输出。JPEG硬件编解码,最大支持8000x8000分辨率,支持2D/3D图形加速,其多边生成率为2800万多边形/秒,像素填充率可达2.5亿/秒,可支持DX9,OpenGL2.0等PC级别的显示技术,在3D和多媒体方面比以往大幅提升。可以录制高质量的视频文件,支持30帧每秒的19201080像素的视屏文件,支持HDMIv1.3高清显示。具有总共五种定时器功能:接通延时型定时器,保持型接通延时定时器
30、,脉冲型定时器,断开延时型定时器和扩张型脉冲定时器。系统构架:图3.2 系统构架图3.1.2 ARM CONTEX A8开发板的配置核心板的底板:外围接口;网卡;USB口(4大1小):连接USB设备;串口(2个,9针串口座);音频输入和输出;视频输出口(三个);HDMI(1个);按键(8个):人机交互;蜂鸣器(1个):报警;LCD屏接口(LCD屏分辨率800*480);JTAG口;SD卡;拨码开关;TF卡;SPI接口;摄像头接口;485接口。3.1.3智能家居项目硬件配置CPU:S5PV210;内存:1G;闪存:SLC 1G Nand;网卡:DM9000,100M;串口:2个,调试和数据通信;
31、USB:4个,外接U盘和移动硬盘;DS18B20:温度传感器(单总线接口 1-Wire);HIMD:摄像头(一个);ADC:模数转换器,分辨率10位或者12位;独立式按键:8个;LED灯:2个;蜂鸣器:1个;AT24C02:EEPROM存储器,容量256字节;LCD显示屏:分辨率800*480;电容触摸屏:GT811。3.2 DS18B20温度传感器的工作原理及结构图DS18B20的读写时序和烟雾传感器相同,只是得到的温度值的位数因分辨率不同。 金属在环境温度变化时会产生相应的延伸。它的工作流程首先初始化时序,然后写时序,读时序,然后将高低位字节传到寄存器并乘以位转换精度,得到温度值,温度传感
32、器可以用不同的方式来对这种情况进行转换。以读取DS18B20检测的温度值为例,它的具体具体的操作流程: (1)CPU发送初始化信号 (2)CPU发送SKIP ROM命令0xCC (3)CPU发送CONVERTT温度转换命令0x44,温度转换以后,二进制温度值保存 在byte0和byte1中 (4)CPU发送初始化信号 (5)CPU发送SKIP ROM命令0xCC (6)CPU发送READ RAM命令0xBE (7)CPU读取byte0和CPU读取byte1 (8)CPU发送初始化信号 (9)实际温度值=(byte1 << 8 | byte0)*625 (10)应用程序要将实际温度值
33、/10000DS18B20测温传感器电路如图3.3所示,读写时序图如图3.4所示。图3.3 传感器电路图 图3.4 读写时序图3.3 LED原理和电路图LED发光二极管是利用通电时正向导通反向截止的办法来实现灯的开与关。用LED来模拟智能家居中室内电灯,通过触摸屏幕上面的开关按键可以实现开关灯。开发板LED的原理图如图3.5所示。 图3.5 LED电路图3.4 TFT触摸屏原理和电路我们来探讨LCD运作原理。LCD本身是不发光的,显示屏两边没有作为发光的灯管,同时在显示屏背面有一块由荧光物质组成的背光板和反光膜,其主要作用是提供背景光源,液晶层中的细小水晶被包含在细小的单元格中;然后用电路控制
34、哪些地方亮与不亮,液晶材料相当于一个小小的光阀,控制光的通过与不通过。液晶显示屏通过DVI接口来接受数字信号,这些信号通过数据线来控制电路,由电路来调节显示器的晶体管和透明电板,从而控制液晶的通光与否,这就是论文里使用的TFT屏幕的原理,如图3.6是TFT屏幕的电路图和图3.7视频模块。图3.6 TFT触屏模块图3.7 视屏播放器电路模块3.5 报警电路3.5.1蜂鸣器报警的原理蜂鸣器为发生元件,可分为有源蜂鸣器和无源蜂鸣器,这里所说的“源”是震荡源,无源蜂鸣器的内部是没有震荡源的,有源蜂鸣器其内部带有震荡源,它的程序控制时比较的方便,只要通电蜂鸣器就会鸣叫。如果使用时直流信号无法使蜂鸣器鸣叫
35、,那么就要用2-5K的方波来驱动。鉴于蜂鸣器工作电流较大,在一般情况下使用三极管就可以来放大电流,使得嵌入式的I/O口无法直接驱动蜂鸣器,此时便要使用放大电路来驱动。蜂鸣器的驱动电路一般情况下包含有一个三极管,一个电源滤波电容,一个蜂鸣器和一个续流二极管。3.5.2蜂鸣器报警电路图该系统采用蜂鸣器作为该系统的报警模块,在淋浴时当温度高于温度阀值应范围30摄氏度时,此时蜂鸣器响应单片机进行报警,低于这个温度值蜂鸣器也将停止报警。蜂鸣器的报警原理是比较简单,实现了报警的功能,蜂鸣器的电路如图3.8所示。图3.8 蜂鸣器电路图3.5.3开发板音频部分原理图在点击一首歌曲时,CPU就会发送一个信号给存
36、储器,然后磁头受到信号就搜索磁道上的信息,然后把音乐的文件数据从磁信号变成电信号在传送到内存条再传送到CPU上,经过处理器的计算,再分配到喇叭输出接口,音频部分电路图如图3.9所示,实现音乐播放器的上下音量控制,左右曲目控制。图3.9 开发板音频电路4 系统环境搭建4.1 搭建嵌入式linux系统环境安装纯linux系统,然后给linux系统安装,使用本地安装或网络安装纯linux软件,安装包名为sudo apt-get install。(1) 安装和配置vim:sudo apt-get install vim,拷贝目录和配置插件/home/tarena/.vimrc(2) 安装串口终端工具:
37、sudo apt-get install kermit(3) 远程登录软件:sudo apt-get install openssh-server,并重启sudo /etc/init.d/ssh restart(4) Tftp网络服务安装:sudo apt-get install tftpd-hpa,配置tftpd-hpa时关闭WIFI,并且sudo /etc/init.d/nfs-kernel-service restart(5) 配置nfs相关服务:sudo apt-get install nfs-kernel-server /nfs 配置网络服务sudo /etc/init.d/nfs-
38、kernel-server restart(6) 源码阅读工具安装:sudo apt-get install ctags/cscope windows:源码阅读工具sourceinsight,linux编辑查看源码工具ctags的使用进入要查看的源码根目录,cd /opt/arm/文件夹名,将所有源码生成数据库文件tags: ctags -R * ,ls tags -lh,所在目录不能改变,找不到tags数据库:vim main.c ,将光标移动到对应的位置uart_init,够实现函数或者变量的自动补全:ctrl+n (8) ubuntu 编译软件的安装搜索“ubuntu 编译软件”,gcc
39、编译器软件安装:sudo apt-get install gcc,C+编译软件安装:sudo apt-get install g+,自动换行软件的安装:sudo apt-get install automake(9)安装QT图形界面开发软件:sudo apt-get install qt相关的安装包 。(10)掌握sourceinsight软件操作使用,下载sourceinsight软件并安装,启动sourceinsight软件,将来拿到代码,立即用SI创建源码功能。4.2编译器采用官方交叉编译器:编译器版本:4.4.6,编译器路径:/home/tarena/workdir/toolchain
40、/opt/S5PV210-crosstools/4.4.6,设置交叉编译器环境变量:sudo vim /etc/environment,在“PATH”中添加如下信息:添加之前:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games添加之后:/home/tarena/workdir/toolchains/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games启动交叉编译器环境变量source /etc/environment
41、,查看是否是4.4.6版本编译器验证:arm-linux-gcc v 4.3 嵌入式linux软件组成部分及其功能嵌入式linux系统是由Bootloader,linux内核(kernel),根文件系统(rootfs)组成 ,uboot启动加载内核到内存,然后由zImage挂接根文件系统,最后由根文件系统挂用户可以使用的文件,它的它的启动过程如图4.1所示。图4.1 嵌入式linux系统启动过程4.3.1 bootloader作用Bootloader的作用是初始化硬件(CPU,DDR,Nand,UART等),将内核加载到内存,给内核传递启动参数和启动内核6。4.3.2 UBOOT移植采用官方U
42、BOOT源码,源码包u-boot_CW210_1.3.4.tar.bz2,源码存放路径:/opt/uboot/,源码操作:解压源码:tar xvf u-boot_CW210_1.3.4.tar.bz2。清除源码配置文件和目标文件:make distclean,配置源码:make cw210_configmake all,USB烧写固化u-boot.bin,Linux内核移植17。4.3.3 linux内核组成包括7大子系统(1)进程管理:负责进程的创建,切换,调度,销毁(2)内存管理: 负责内存的分配,销毁,映射(3)系统调用:open/read/write/close/fork/sbrk/等
43、(4)网络协议栈:TCP/IP协议(5)驱动程序:外设的驱动程序(6)文件系统:NTFS,FAT32,EXT4,cramfs,ramdisk,nfs.(7)平台相关: linux内核支持ARM,POWERPC,MIPS,X86 异常向量表的代码。4.3.4内核移植源码包采用官方源码:Kernel__CW210_for_Linux_v1.0.tar.gz,源码存放路径:/opt/kernel,然后Kernel__CW210_for_Linux_v1.0.tar.gz解压源码。清除源码配置文件和目标文件:cd /opt/kernel && make
44、distclean,配置源码:cp config_CW210_linux_V1.0 .config,保存退出:make menuconfig 并编译make zImage最后拷贝到tftpboot中:cp arch/arm/boot/zImage /tftpboot/。4.3.5根文件系统rootfs作用rootfs作用是给给用户提供基本的命令和程序使用的动态库,常见的动态库例如:ls/cd/mkdir/cp/.libc.so/libm.so/libstdc+.so/libpthread.so等 4.3.6根文件系统制作采用busybox开源软件制作busybox,源码包:busybox-1.
45、21.1.tar.bz2,源码存放目录:/opt/busybox/,进行解压源码:tar jxvf busybox-1.21.1.tar.bz2,进入cd busybox-1.21.1并配置源码:make menuconfig,重新定制模块操作命令:Linux Module Utilities,去掉Simplified modutils (NEW),同时添加insmod,rmmod,lsmod,modprobe,Blacklist support,depmod命令。取出闪存flash操作命令,去掉nandwrite (NEW)和nanddump (NEW),然后保存退出9。修改Makefile
46、文件,vim Makefile:将CROSS_COMPILE=修改为CROSS_COMPILE=arm-linux-,将ARCH=$(SUBARCH)修改为ARCH=arm,最后编译和安装 make && make install,默认安装当前目录的_install目录:ls _install用file命令检查编译结果busybox可执行文件的属性:file _install/bin/busybox,打印信息如下:ELF 32-bit LSB executable,ARM, version 1 (SYSV), dynamically linked (uses shared li
47、bs), stripped /红色字体的内容必须为ARM,进入安装目录:cd _install。创建目录:mkdir dev lib etc/init.dproc syshome mnt var tmp root -p(1)添加系统启动配置文件,vim etc/inittab时添加如下内容后保存退出。:sysinit:/etc/init.d/rcS:respawn:-/bin/sh:ctrlaltdel:/sbin/reboot:shutdown:/bin/umount -a r(2)添加文件系统配置文件vim etc/fstab然后添加如下内容后保存退出。 proc /proc proc d
48、efaults 0 0 tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /dev tmpfs defaults 0 0(3) 添加系统启动服务配置脚本,vim etc/init.d/rcS 后添加内容如下保存退出。/bin/mount -a,mkdir /dev/pts,mount -t devpts devpts /dev/pts,echo /sbin/mdev > /proc/sys/kernel/hotplug,mdev s。添加完成后,修改rcS文件权限:chmod 777 etc/init.d/
49、rcS并添加 busybox运行时所需动态库,动态库添加原则:应用软件需要哪些动态库,就添加,不相关不做添加,以便节省闪存空间。应用软件编译连接需要的动态库在交叉编译器中获取,动态库路径如下:/home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-gnueabi/lib/拷贝所需动态库到根文件系统lib目录。拷贝标准C库find/home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-g
50、nueabi/lib/ ( -name "libc-*" -o -name "libc.so*" ) -exec cp -frd lib/ ; 拷贝数学运算库find home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-gnueabi/lib/ ( -name "libm-*" -o -name "libm.so*" ) -exec cp -frd lib/ ; 拷贝动态链接库find /home/taren
51、a/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-gnueabi/lib/ ( -name "ld-*" ) -exec cp -frd lib/ ; 测试制作好的根文件系统备份原有的根文件系统rootf:mv /opt/rootfs /opt/rootfs_bak,cp _install /opt/rootfs frd 将安装制作好的根文件系统_install拷贝为/opt/rootfs,注意添加NFS网络服务的支持:sudo vim /etc/exports 添加如下语句:/opt
52、/rootfs *(rw,sync,no_root_squash),保存退出,这时候重启网络服务sudo /etc/init.d/nfs-kernel-server restart.uboot中设置NFS网络启动参数:setenv bootargs root=/dev/nfs nfsroot=:/opt/rootfs ip=10::::eth0:on init=/linuxrc console=ttySAC0,115200,保存saveenv。4.4.Tslib移植4.4.1.ts
53、lib作用在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用(例如QT)提供了一个统一的接口3。4.4.2.tslib移植源码存放目录:/opt/project/source/,进入源码目录:cd /opt/project/source,解压源码: tar xvf tslib.tar.gz,cd tslib后执行./autogen.sh 生成配置文件configure执行echo "ac_c
54、v_func_malloc_0_nonnull=yes"> tmp.cache。指定安装的目录为/opt/project/tslib目录执行./configure -host=arm-linux -cache-file=tmp.cache -prefix=/opt/project/tslib 执行make && make install ,编译安装后修改tslib的配置文件ts.conf。打开配置文件vim etc/ts.conf,进行如下操作:在“module pthres pmin=1”前一行添加“module_raw input”语句。开发板测试tslib
55、:编译tslib生成目标文件存放目录:/opt/rootfs/home/tslib/,mkdir /opt/rootfs/home/tslib/拷贝运行时配置文件cp etc /opt/rootfs/home/tslib/ -frd, 拷贝触摸屏测试软件cp bin /opt/rootfs/home/tslib/ -frd,拷贝tslib动态库文件cp lib /opt/rootfs/home/tslib/ -frd 。连接触摸屏和开发板,获取触摸屏设备文件开发板上执行hexdump /dev/input/event0,然后用手指点击触摸屏,看串口终端是否有打印信息,如果没有,event0不是
56、触摸屏的设备文件,再执行:hexdump /dev/input/event1,同样点击屏幕看是否有打印信息,如果没有,再次更换设备文件为event2,直到找到触摸屏的设备文件,例如:hexdump /dev/input/event3,有打印信息,至此触摸屏的设备文件为/dev/input/event3。添加使用tslib时的环境变量后保存退出:打开后vim /opt/rootfs/etc/profile添加如下内容:export TSLIBDIR=/home/tslib export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0
57、 export TSLIB_TSDEVICE=/dev/input/event3export TSLIB_CALIBFILE=$TSLIBDIR/etc/pointercal export TSLIB_CONFFILE=$TSLIBDIR/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIBDIR/lib/tsexport PATH=/home/tslib/bin:$PATHexport LD_LIBRARY_PATH=/home/tslib/lib:$LD_LIBRARY_PATH4.5 QT移植4.5.1QT介绍QT是对底层图形界面的应用编程接口,面向对象化的
58、封装,一套基于C+语言的类库,堪称艺术级别的开发工具,同时为用户和团队带来高品质的使用体验11。QT不局限于用户图形界面的开发,系统调用,网络编程,数据库编程,2D、3D处理,而且是跨平台的应用编程框架,支持多中操作系统linux,windows,ios,安卓,MAX OS X等,是人机交互必不可少的开发工具。4.5.2安装中文字体库字体库文件:wqy-zenhei.ttc,删除QT自带字体库:rm /opt/project/qt/lib/fonts/* -fr,安装中文字体库:cp wqy-zenhei.ttc /opt/project/qt/lib/fonts/ ,安装编译出来的QT库到跟
59、文件系统/opt/rootfs中,拷贝QT库cp /opt/project/qt/lib /opt/rootfs/home/qt frd和cp /opt/project/qt/plugins /opt/rootfs/home/qt -frd,最后添加QT运行时的环境变量,打开vim /opt/rootfs/etc/profile, 添加如下内容export QTDIR=/home/qt,Export QWS_MOUSE_PROTO=“Tslib:/dev/input/event3”,export QWS_SIZE=800X480,export QT_QWS_FONTDIR=$QTDIR/lib/fonts,export QT_PLUGIN_PATH=$QTDIR/plugins exportQWS_DISPLAY="LinuxFB:mmWidth180:0"export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH保存退出,重启开发板,执行env命令,查看环境变量是否生效。添加QT运行时的系统库find /home/tarena/workdir/toolchains/opt/S5PV210-crosstools/4.4.6/arm-concenwit-linux-g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保科技研发部岗位职责
- 高三数学个性化学习计划
- 企业文化与员工道德的心得体会
- 文化活动观众接待流程及细节
- 商业办公楼建设项目检验与试验计划
- 市场营销各级职责与执行
- 物流公司财务流程与预算管理
- 五年级英语口语练习安排
- 四年级英语上册课程实施计划
- 牡丹五斗柜项目可行性研究报告方案可用于立项及银行贷款+2025详
- 电竞酒店行业分析
- 炼钢厂五台英格索兰空压机维保技术协议
- 4G5G 移动通信技术-LTE信令流程
- 江西省交通安全知识讲座
- 【生鲜电商发展探究国内外文献综述1800字】
- 杭州城市发展与历史沿革
- 订购单模板(订货单模板)
- 干漆膜(涂层)厚度检测报告
- 国内外液压机技术现状及发展趋势
- 指南针私享家版出租价格
- 2023-2024年整形外科学(副高)考试参考题库(真题考点版)带答案解析
评论
0/150
提交评论