物流设备管理系统界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计介绍 (2)
1.1 设计目的 (2)
1.2 课题分析 (3)
二、系统硬件模块 (3)
2.1 S5PV210 (3)
三、系统软件 (3)
3.1 操作系统 (3)
3.2 编译工具 (4)
四、模块划分 (4)
4.1主界面模块 (4)
4.1.1 功能描述 (4)
4.1.2 程序代码 (4)
4.2 wifi设备模块 (5)
4.2.1 功能描述 (5)
4.2.2 程序代码 (6)
五、结束语 (7)
六、附录 (9)
6.1 设备管理完整代码 (9)
广西科技大学
课程设计报告
设计名称:物流设备界面管理系统
专业班级:自动化142
学生姓名:
学生学号:
指导教师:
设计时间: 2016.11
一、设计介绍
1.1 设计目的
此次课程设计是基于s5pv210芯片在linux系统上进行编程设计。旨在通过具体的工程项目
实训能够使我们基本掌握在虚拟机环境下,运用linux系统指令进行程序设计与编写;理解模块化的设计思想以及学会利用库函数进行编程;熟知函数之间的封装,调用与API接口。为将来进行大规模的系统设计与开发打下良好基础。
1.2 课题分析
课题名称为“物流设备界面管理系统”,具体分为4大模块:Wife设备管理,Camrea设别管理,Zigbee设备管理以及RFID管理。希望能够通过编程实现每个设备的借还记录管理,方便仓库管理人员对设备的管理与维护。具体描述为,当从仓库中向外借出设备时,该设备的数量减一;反之数量加一。如此,可大大减轻相关人员的工作量,实现设备的自动化管理。
二、系统硬件模块
由于此次设计是由校企合作和培训机构导师进行讲解,于是我们硬件模块用到了S5PV210的开发板。一下详细介绍这块芯片以及我们系统使用到开发板的相应功能模块。
2.1 S5PV210
S5PV210采用了ARM CortexTM-A8内核,ARM V7指令集,主频可达1GHZ,64/32位内部总线结构,32/32KB的数据/指令一级缓存,512KB的二级缓存,可以实现2000DMIPS(每秒运算2
亿条指令集)的高性能运算能力。S5PV210包含很多强大的硬件编解码功能,内建MFC(Multi Format Codec),支持MPEG-1/2/4,H.263,H.264等格式视频的编解码,支持模拟/数字TV输出。JPEG 硬件编解码,最大支持8000x8000分辨率,内建高性能PowerVR SGX540 3D图形引擎和2D图形引擎,支持2D/3D图形加速,是第五代PowerVR产品,其多边形生成率为2800万多边形/秒,像素填充率可达2.5亿/秒,在3D和多媒体方面比以往大幅提升,能够支持DX9,SM3.0,OpenGL2.0等PC级别显示技术。具备IVA3硬件加速器,具备出色的图形解码性能,可以支持全高清、多标准的视频编码,流畅播放和录制30帧/秒的1920×1080像素(1080p)的视频文件,可以更快解码更高质量的图像和视频,同时,内建的HDMIv1.3,可以将高清视频输出到外部显示器上。
此次设计我们主要用到了一下模块:LCD屏幕显示,触摸板,以及摄像头等模块。
三、系统软件
3.1 操作系统
这次设计选择了linux作为操作系统。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
3.2 编译工具
因为装了ubantu的虚拟机所以采用了交叉编译,编译工具为gcc。GCC的外部接口长得像一个标准的Unix编译器。使用者在命令列下键入gcc之程序名,以及一些命令参数,以便决定每个输入档案使用的个别语言编译器,并为输出程序码使用适合此硬件平台的组合语言编译器,并且选择性地执行连接器以制造可执行的程序。每个语言编译器都是独立程序,此程序可处理输入的原始码,并输出组合语言码。全部的语言编译器都拥有共通的中介架构:一个前端解析符合此语言的原始码,并产生一抽象语法树,以及一翻译此语法树成为GCC的暂存器转换语言〈RTL〉的后端。编译器最佳化与静态程序码解析技术(例如FORTIFY_SOURCE,一个试图发现缓冲区溢位〈buffer overflow〉的编译器)在此阶段应用于程序码上。最后,适用于此硬件架构的组合语言程序码以Jack Davidson与Chris Fraser发明的算法产出。几乎全部的GCC都由C写成,除了Ada 前端大部分以Ada写成。
四、模块划分
4.1主界面模块
4.1.1 功能描述
主界面主要是调用了LCD屏幕显示相关机构及开发人员的详细信息,并附上属于自己的Logo。具体编程思路为:首先对LCD屏幕进行配置,相关的参数可以通过库函数进行修改;显示自己制作的Logo图片;通过循环输出每个像素点。
4.1.2 程序代码
#include
#include
#include
#include
#include
#include
#include
#include "tslib.h"
#define TS_DEV "/dev/event0"
#define LCD_DEV "/dev/fb0"
int lcd_init(void)
{
//void *则为“无类型指针”,void *可以指向任何类型的数据
g_lcd_fd = open("/dev/fb0",O_RDWR); //打开屏幕
g_fd_men=(unsignedlong*)mmap(NULL,800*480*4,PROT_READ|PROT_WRITE,MAP_SHARED,
g_lcd_fd,0);
//强制转换为无符号长整型指针
if(g_fd_men == NULL)
{
printf("mmap g_fd_men failed!\n");
return -1;