基于嵌入式Linux的嵌入式Linux与处理系统.docx

上传人:安*** 文档编号:17786601 上传时间:2022-05-26 格式:DOCX 页数:7 大小:19.03KB
返回 下载 相关 举报
基于嵌入式Linux的嵌入式Linux与处理系统.docx_第1页
第1页 / 共7页
基于嵌入式Linux的嵌入式Linux与处理系统.docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《基于嵌入式Linux的嵌入式Linux与处理系统.docx》由会员分享,可在线阅读,更多相关《基于嵌入式Linux的嵌入式Linux与处理系统.docx(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于嵌入式Linux的嵌入式Linux与处理系统的OLED显示模块RGS24128064YW001。有机发光显示器OLEDOrganicLightEmittingDisplay被誉为“梦幻显示器。与液晶屏相比,OLED显示屏更轻更薄、可视角度更大,可以显著节省电能,并且在-40的低温下仍可以正常工作。RGS24128064YW001具有串行和8位并行数据接口。系统采用8位并行接口与微处理器通讯。1.4SDRAM和Flash及自定义键盘系统采用32位的同步动态随机存储器SDRAM作为系统内存,16位的Flash作为不可丧失数据存储器。用户可以通过8键的键盘进展各种操纵,如读卡、写卡等。2系统软件

2、设计系统软件是整个系统的灵魂,其设计的好坏直接影响系统的稳定性和可扩展性等性能。系统设计将软件分为两层构造,如图5所示。最下面一层为操纵系统层,主要实现对Linux操纵系统的移植和各种设备驱动程序的编写,包括OLED模块、USB?Device、红外、键盘等设备驱动程序。上一层为应用程序层,主要实现卡信息显示、键盘扫描、电子标签卡读写、文件传输、时钟以及电池电量检测等功能。2.1嵌入式LinuxLinux是一种公开源码的多任务操纵系统,具有开放度高、平安性好、稳定性强、可移植性好等特点,在嵌入式操纵系统中被大量采用。本设计采用的Linux内核是在ARM-Linux的根底上,编写了OLED显示模块

3、、USB设备、红外收发器及键盘的设备驱动程序。在Linux系统中,设备驱动程序占有很重要的位置,它提供了在用户空间操纵硬件设备的接口。Linux系统将设备分为字符设备、块设备及网络设备三种,并给出针对不同设备的数据构造及注册函数。当用户开发设备驱动程序时,只需按硬件操纵的方法填充设备数据构造,并将它注册到内核中即可。为了方便用户应用程序的编写,把USB设备实现为CDCCommunicationDeviceClass类设备,其驱动程序分为两层,最底层操纵AT91RM9200上的USB设备控制器,如处理硬件中断、读写存放器及操纵I/O口来检测设备的插拔;上层实现了底层与TCP/IP协议层的连接,主

4、要是模拟物理网卡,并注册到内核。这样,在应用程序的USB设备就是一个标准的网络设备,用户不需要理解驱动程序的接口,而直接使用Linux提供的套接字进展网络通讯程序的开发。当用户进展二次开发时,可以不加修改地将上位机开发好的网络通讯程序直接移植到本系统中,而且可以通过上位机的Telnet等工具对嵌入式系统进展一定的操纵。其他驱动程序如OLED显示模块、键盘、红外收发器都作为Linux下的标准字符设备编写,使用register_chrdev函数进展注册,提供了读、写和控制操纵。在Linux系统中,应用程序对字符设备的操纵与文件的操纵一样。Linux中设备驱动程序可以通过模块方式动态地加载和卸载,也

5、可以直接编译到内核中。前者使用灵敏,可以减小内核,但因嵌入式系统要求所有设备在初始化后全部停当,不能在使用时加载设备的驱动模块。所以,本系统中所有的设备驱动程序都直接编译进内核。每个设备驱动程序在用户空间对应一个设备文件,由文件系统治理。本系统使用ext2作为根文件系统。为了开发和晋级方便,首先将根文件系统做成RAMDISK格式,所谓RAMDISK就是系统启动后将压缩的文件解压到内存,形成一个虚拟硬盘;然后,将引导程序、内核映像及根文件系统烧写到Flash中。系统加电后,引导程序将内核映像从Flash中调入内存,然后从核入口开场执行:首先初始化CPU,然后加载各个设备驱动程序,最后挂载文件系统

6、,执行应用程序。2.2应用程序设计Linux是多任务系统,支持多线程及多进程。多线程的优点是线程比进程小,可以使应用更轻便,线程间通讯方便;缺点是所有线程使用同一个地址空间,假如一个线程出现问题,整个系统将受影响;而进程各自占有一份内存空间,可以增强系统的稳定性,但是多进程增加了系统开销,进程间通讯复杂。为此,根据实际情况,考虑到系统稳定性,本系统采取两者相结合的方式分别完成数据收集处理及文件传输功能。2.2.1数据收集处理数据收集处理是一个进程,它包括主线程和辅线程。主线程完成电子标签卡信息的读取、写入、实时显示及查询;辅线程实现一个时钟以提供用户当前时间,并定时对电池的电量进展检测和动态显

7、示,在电量过低时发出警告。应用程序用MAIL命令方式完成电子标签卡的读写。该进程首先初始化屏幕,然后等待按键中断,当有键按下时,根据键值执行相应的工作;当指定时间内没有键按下,系统那么进入休眠状态,进而到达省电的目的。程序流程图如图6。当成功收集到标签卡信息后,应用程序将卡信息包括卡号、卡状态、用户数据及当前时间通过OLED显示屏提供应用户,并写入一个文件进展记录。由于文件传输进程会将该文件传输到上位机,所以当读写文件时要将文件上锁。Linux提供了文件锁以防止不同进程同时访问同一个文件。本文使用flock函数对文件上锁和解锁。由于OLED是图形点阵式显示屏,而且Flash容量有限,所以不可能

8、直接使用汉字字库。系统预先提取所有用到的汉字、数字及字母的点阵数据,然后建立自己的字库文件,进而使应用程序可以对汉字、数字及字母进展显示。2.2.2文件传输文件传输是一个进程,完成卡信息的上传及其他数据的下载。与上位机通讯采用Clinet/Server模型。该进程本质上是一个效劳器端本系统的应用程序,它循环等待客户端上位机的连接恳求。当恳求到达时,首先判定恳求来自哪个接口USB或红外接口,然后根据恳求的类型执行相应的上传或者下载。考虑到实际应用中可能会使用多台手持式浏览器,为了方便上位机对信息的治理,规定文件名由手持式浏览器编号和文件上传序号组成,程序在上传文件时自动将其编号及上传序号参加文件

9、名。该进程的流程3系统电源治理本系统使用锂电池为系统供电。为了延长电池的续航才能,将应用程序设计为三种运行状态:上电空闲状态、程序执行状态及系统睡眠状态。当用户不进展任何操纵时,系统将进入睡眠状态以到达省电目的。系统的睡眠是基于微处理器的电源治理功能实现的,进入睡眠的步骤如下:1关闭所有外设;2保存当前系统状态;3使SDRAM进入自刷新形式;4设置唤醒事件,使微处理器进入睡眠状态。当唤醒事件发生时,如有键按下,那么执行系统复位。经过如下:1恢复局部微处理器的存放器;2唤醒外部设备,系统开场运行。本文介绍了在AT91RM9200高性能ARM芯片上运行嵌入式Linux,结合TagMasterAB公司功能强大的射频识别模块S1510实现便携式标签卡的信息收集和处理。系统使用方便、灵敏。另外,为克制LCD低温无法工作、亮度不够及耗电大的缺点,采用OLED显示模块使系统可以在恶劣环境下应用,并增加了电池的续航才能;为使系统与上位机通讯方便,采用了支持热插拔的USB接口。0

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

当前位置:首页 > 技术资料 > 技术方案

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com