基于QT的密码生成器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳航空航天大学
课程设计报告
课程设计名称:嵌入式系统综合课程设计
课程设计题目:基于嵌入式Linux的密码生成器
院(系):计算机学院
专业:计算机科学与技术(嵌入式系统方向)班级:
学号:
姓名:
指导教师:周振辉
完成日期:2015年1月16日
沈阳航空航天大学课程设计报告
目录
第1章系统分析 (1)
1.1 需求分析 (1)
1.2 硬件分析 (1)
1.2.1 实验环境 (2)
1.2.2 实验具体硬件 (2)
1.3 软件分析 (3)
1.3.1 操作系统简介 (3)
1.3.2 开发技术简介 (3)
第2章系统设计 (5)
2.1 操作系统移植 (5)
2.2 系统模块设计 (5)
2.3 函数设计 (5)
2.4 关键流程 (6)
2.4.1 系统主流程 (6)
2.4.2 生成流程图 (7)
第3章系统调试及运行 (9)
3.1 调试分析 (9)
3.2 结果分析 (9)
参考文献 (11)
附录 (12)
第1章系统分析
1.1 需求分析
利用嵌入式Linux和Qt,设计出一个密码生成器软件:
(1)密码包括数字,小写字母,大写字母;
(2)密码必须是随机生成;
(3)界面可以设置密码生成的长度以及密码的数量;
(4)可以在界面上对生成的密码进行浏览;
(5)利用嵌入式Linux和Qt,在ARM 9上实现。
对上面的课设内容进行分析可知以下三点:
(1)必须要有两个输入控件输入密码的个数和密码的长度信息;
(2)还要有一个输出控件可以输出生成的密码并在界面上显示出来;
(3)对于随机生成功能,则可以借用系统的产生随机数的函数,密码当中的数字,小写字母,大写字母可以用一个字符数组把他们存放在一起,产生的随机整数作为数组的下标,把对应的数组下标内容取出来就完成了随机生成这一个功能。
1.2 硬件分析
烧写开发板及程序的步骤大体如下:
(一)烧写vivi
(1)把并口线插到pc机的并口,并把并口与JTAG相连,JTAG与开发板的14针JTAT口相连,打开S-2410。
(2)把整个GIVEIO目录拷贝到C:/WINDOWS下,并把该目录下的giveio.sys 文件拷贝到c:/windows/system32/drivers下。
(3)在控制面板里,选添加硬件>下一步>选-是我已经连接了此硬件>下一步>选中-添加新的硬件设备>下一步>选中安装我手动从列表选择的硬件>下一步>选择-显示所有设备>选择-从磁盘安装-浏览,指定驱动为C:\WINDOWS\GIVEIO\giveio.inf 文件,点击确定,安装好驱动。
(4)在d 盘新建一目录bootloader,把sjf2410和要烧写的vivi 拷贝到该目录下,在命令提示符下,进入该目录,运行sjf2410命令如下:sjf2410.exe /f:vivi 在此后出现的三次要求输入参数,第一次是让选择Flash,选0;第二次是选择jtag 对flash的两种功能,也选0;第三次是让选择起始地址,选0 此后就等待大约3-5 分钟的烧写时间,当VIVI 烧写完毕后选择参数2,退出烧写。
(5)烧录后关闭,拔掉JTAG 与开发板的连线,并用串口线连接pc 和2410。
(6)打开超级终端,启动S-2410,启动Vivi分区后,进行分区。
(7)这时已格式化flash,千万不要重启2410,vivi>load flash vivi x 回车。(二)烧写内核ZImage
vivi>load flash kernel x 回车。点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件zImage,Enter,协议为Xmodem,点击“发送”,4 分钟左右zImage 烧写完毕。
(三)烧写根文件系统
vivi>load flash root x 回车,点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件root.cramfs,协议为Xmodem,点击“发送" ,10分钟左右root.cramfs 烧写完毕。
1.2.1 实验环境
1)博创UP-Star2410
2)Ubuntu操作系统
3)Qt软件
1.2.2 实验具体硬件
1)核心资源S3C2410 ARM CPU、32M SDRAM、64M NAND FLASH。
2) 100M网卡,DM9000AE。
3)一个USB主口,一个USB从口。
4)一个RS232串口DB9接口。一路RS232和TTL串口从扩展插座上引出。5)扩展插座,引出所有总线信号(经过驱动芯片)和未占用资源。
6)LCD和触摸屏接口,外接专配液晶屏/触摸屏板。
7)电源、复位等基本资源和接口,支持博创UP-LINK和J-LINK仿真器。
8)设置了IO控制的LED和可产生硬中断的5位导航按键等简单调试资源。1.3 软件分析
这次课设用的是Linux下的Ubuntu系统。对于程序的编写和运行用的是Qt 软件。Ubuntu是完全基于Linux操作系统的,源码也是完全开放的,对于我们初学者进行程序的开发,是特别方便以及实用的。Qt是一个跨平台的C++图形用户界面库,它可以支持很多的平台,在Windows下编写的程序在Linux下用Qt也可以完美运行,而图形化用户界面以及面向对象更使得它用起来得心应手,以下我会简单介绍Ubuntu操作系统以及Qt软件。
1.3.1 操作系统简介
Ubuntu 完全基于 Linux 操作系统,可以免费得到社区及专业机构的支持。庞大的社区是它成长的沃土,请向这片动人的热忱敞开心扉。具有Ubuntu 精神的人心胸开阔,乐于助人,见贤思齐而不忌妒贤能,因为他/她拥有适度的自信。而这源自如下认识:“自己乃是属于一个更大的整体,当他人受到伤害或死去时,当他人受到折磨或压迫时,这个整体就会消失。”
Ubuntu 社区恪守 Ubuntu 理念:自由!软件应是自由的,应尊重人类的自由意志,它与人类之间不应有任何隔膜。本地语种,功能限制,自主改进的权利……都不应成为使用的障碍或负担。自由,让 Ubuntu 与传统的私有软件从根本上不同: 免费不能用来遮羞,您有权修正它,直到满意为止。
Ubuntu 适合桌面和服务器。Ubuntu PC (Intel x86), 64-bit PC (AMD64) 和PowerPC (Apple iBook 和 Powerbook, G4 和 G5) 架构。
Ubuntu 包涵了超过 16,000 种软件,核心的桌面系统却只有一张光盘, Ubuntu 覆盖了所有的桌面应用程序, 从文字处理,电子表格到 web 服务器和开发设计环境一应俱全。
1.3.2 开发技术简介
Qt是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,