基于嵌入式系统U盘开发的设计
- 格式:doc
- 大小:231.50 KB
- 文档页数:16
嵌入式毕业设计课题【篇一:嵌入式毕业设计课题】课题一:嵌入式远程视频实时监控实现原理:通过在s3c2440(samsung 的arm9芯片)上植入嵌入式web服务器boa及嵌入式数据库sqlite,搭建一个视频webserver,使得pc或者智能手机可以利用网页方式访问摄像头采集的实时视频,达到远程监控录像等应用!涉及到的知识点:①原理图,pcb,元器件的认识,通过开发板的原理图及cpu的datasheet写程序;② arm架构的理解,arm cpu的工作原理,汇编代码级调试理解;③ 2440 cpu的gpio,uart,i2c,spi,ad,watchdog,rtc,lcd等接口技术原理,c代码级调试理解;④嵌入式linux(linux-2.6.30)系统工作原理,驱动框架结构以及摄像头驱动实现;⑤嵌入式linux(linux-2.6.30)下,webserver的实现,包括,sdl,mjpg-streamer应用软件的移植。
团队组织:实现该项目可以按一下方式组队(考虑到学生可能动手能力有限,每个模块安排两个人,这样有讨论,该分配方法供参考)linux系统部分,三个人:一个人负责硬件部分,也不是设计原理图,此人需要电子专业,要能看懂原理图,负责各个模块能在开发板正常运行;一个人负责软件部分,linux系统编译问题,负责给第一个人完好的镜像文件;第三个人,协调软硬件,需要既懂硬件也懂软件;驱动部分,两个人:同时进行,做相同的事情,目的在于一起讨论,要看image sensor (通俗的说叫摄像头)的数据手册,搞清楚芯片工作原理,成像原理,以及参考驱动进行移植工作,会设计到信号不同,编译问题,协同工作!webserver,两个人:在嵌入式linux系统上搭建webserver,涉及到一些应用软件的整合移植工作,主要是sdl,mjpg-streamer,其中sdl是一个非常有名的开源库,3d就是通过它来实现的,而mjpg-streamer是一个流媒体的开源库,实现视频流在网上的传输,这连个库在企业用得很多。
新型U盘设计说明_毕业论文一、设计背景随着信息技术的飞速发展,大数据时代已经来临。
在这个背景下,移动存储设备的需求日益旺盛。
U盘作为一种便携式存储工具,具有体积小、容量大、传输速度快等优点,深受广大用户的喜爱。
然而,市面上的U盘产品同质化严重,缺乏创新。
为此,本毕业论文旨在设计一款新型U盘,以满足用户个性化需求,提升用户体验。
二、设计目标1. 创新外观设计,使新型U盘具有较高的辨识度;2. 优化内部结构,提高数据传输速度和稳定性;3. 增加实用功能,满足用户多样化需求;4. 注重环保,采用可回收材料,降低能耗。
三、设计方案1. 外观设计(1)形状创新:打破传统U盘矩形的设计,采用流线型设计,使产品更具动感;(2)材质选择:选用耐磨、抗摔的铝合金材质,提高产品质感;(3)颜色搭配:采用撞色设计,突出产品个性;(4)尺寸优化:在保证功能性的前提下,尽量减小体积,便于携带。
2. 内部结构设计(1)主控芯片:选用高性能、低功耗的USB3.1主控芯片,提高数据传输速度;(2)存储颗粒:采用高品质MLC/TLC存储颗粒,保证数据存储的稳定性和可靠性;(3)电路板布局:优化电路板布局,减少信号干扰,提高传输效率。
3. 实用功能设计(1)LED指示灯:实时显示U盘工作状态,方便用户了解设备运行情况;(2)硬件加密:内置加密芯片,保护用户数据安全;(3)一键备份:设置一键备份功能,简化用户操作;(4)OTG功能:支持OTG功能,实现手机与U盘之间的数据传输。
4. 环保设计(1)材料选择:采用可回收材料,降低环境污染;(2)节能设计:优化电路设计,降低产品功耗;(3)包装简约:采用简约包装,减少资源浪费。
四、设计创新点1. 智能连接功能新型U盘设计融入了智能连接技术,通过蓝牙与设备自动配对,无需物理连接,即可实现数据传输,大大提升了用户的使用便捷性。
2. 防水防尘设计考虑到用户在使用过程中可能遇到的各种环境,新型U盘采用了防水防尘的设计,确保在恶劣环境下数据的安全。
在ARM嵌入式Linux下,要让U盘自动挂载,可以用到mdev方式实现(mdev是busybox 中的一个udev管理程序的一个精简版,它可以实现设备节点的自动创建和设备的自动挂载),下面是实现的步骤:1、确认Busybox做的根文件系统如下选项有选中:Linux System Utilities --->[*] mdev[*] Support /etc/mdev.conf[*] Support command execution at device addition/removal2、由于是利用到Linux内核的hotplug功能,要确定CONFIG_HOTPLUG=y。
3、修改根文件系统里面的etc/init.d/rcS文件,添加如下内容:mount -t tmpfs mdev /devmount -t sysfs sysfs /sysmkdir /dev/ptsmount -t devpts devpts /dev/pts# mdev for /devecho /sbin/mdev > /proc/sys/kernel/hotplugmdev -secho "***************Starting mdev.........[OK]"4、添加对热插拔事件的相应,支持U盘自动挂载:修改根文件系统中的etc/mdev.conf文件,内容如下:sd[a-z][0-9] 0:0 666 @/etc/mdev/udisk_insertsd[a-z] 0:0 666 $/etc/mdev/udisk_remove注:@表示是在插入(创建设备结点)后执行后面的脚本,$表示在拔出(删除设备结点)前执行后面的脚本。
5、添加对应的脚本文件:根文件系统中的etc/mdev/udisk_insert文件内容:#!/bin/shif [ -d /sys/block/*/$MDEV ] ; thenmkdir -p /media/$MDEVmount /dev/$MDEV /media/$MDEV -t vfat -o utf8=1fi根文件系统中的etc/mdev/udisk_remove文件内容:#!/bin/shumount -l /media/$MDEVrm -rf /media/$MDEV至此,就可以实现自动的插拔挂载。
嵌入式系统课程设计题目1.ARM系统在LED显示屏中的应用(利用ARM系统控制彩色LED显示屏)2.ARM-Linux 嵌入式系统在农业大棚中的应用(温度、湿度和二氧化碳浓度是影响棚栽农作物生长的3 大要素。
为了实现农业大棚中这3 种要素数据的远程实时采集,引入了当前嵌入式应用中较为成熟的ARM9 微处理器和Linux 嵌入式操作系统技术, 采用温度传感器PH100TMPA、湿度传感器HM1500 和二氧化碳浓度传感器NAP221A ,设计一种基于TCP/ IP 协议的嵌入式远程实时数据采集系统方案。
从硬件设计和软件实现2方面对该系统进行具体设计。
)3.ARM 嵌入式处理器在智能仪器中的应用(设计一种基于ARM 嵌入式处理器系统的智能仪器的硬件和软件设计方案, 并结合uc/o s2II或者Linux嵌入式实时操作系统, 给出一套完整的任务调度和管理的方法, 最后用实例说明)4.ARM系统在汽车制动性能测试系统中的应用(采用ARM系统构建一个路试法的汽车制动性能测试系统)5.ARM 嵌入式控制器在印染设备监控中的应用(针对拉幅热定型机,设计一种基于485 总线的分布式监控系统。
用ARM 嵌入式控制器实现主、从电机的同步运行和烘房温度的控制;在PC 机上用VB6. 0 设计转速和温度的监控画面;实现ARM、变频器和PC 机之间的数据通信。
)6.基于ARM系统的公交车多功能终端的设计(完成电子收费、报站、GPS定位等功能)7.基于ARM9的双CAN总线通信系统的设计(设计一种基于ARM9内核微处理器的双路CAN总线通信系统。
完成系统的总体结构、部分硬件的设计,系统嵌入式软件的设计,包括启动引导代码U - boot、嵌入式L inux - 操作系统内核、文件系统以及用户应用管理软件四个部分。
)8.基于ARM9 和Linux 的嵌入式打印终端系统(嵌入式平台上的打印终端的外围电路连接设计、嵌入式Linux 的打印机驱动程序开发和应用程序的开发)9.基于ARM 的车载GPS 终端软硬件的研究(重点研究基于ARM 的导航系统的软硬件设计)10.ARM系统在B超系统中的应用(完成系统软件硬件设计,包括外围电路)11.基于ARM 的嵌入式系统在机器人控制系统中应用(提出一种基于ARM、DSP 和arm-linux 的嵌入式机器人控制系统的设计方法, 完成控制系统的功能设计、结构设计、硬件设计、软件设计)12.基于ARM的视频采集系统设计(完成系统软件硬件设计,包括外围电路,采用USB接口的摄像头)13.基于ARM的高空爬壁机器人控制系统(构建一种经济型的爬壁机器人控制平台, 与上位机视觉定位和控制系统结合,使其适用于导航与定位、运动控制策略、多机器人系统体系结构与协作机制等领域。
基于嵌入式ARM9的USB设计与实现引言USB(Universal Serial Bus)是通用串行总线的缩写,因其具有方便易用,动态分配带宽,容错性优越和高性价比等特点,现已成为计算机的主流接口。
随着嵌入式系统的广泛应用,各种小型终端需要开发出与外界联系的USB 接口。
目前,常用的技术有两种。
基于单片机的USB接口,特点是需要外置芯片,电路复杂,留下的CPU资源不多;基于ARM的USB接口,特点是资源丰富,但ARM系列产品较多,如果选型不当,还需要搭接较多的外围电路,且不能很好地发挥CPU性能。
1 USB 接口原理USB1.1 规范[1]将USB 分为5 部分:控制器、控制器驱动程序、USB 芯片驱动程序、USB设备以及针对不同USB 设备的客户端驱动程序。
(1) 控制器(Host Controller)主要负责执行由控制器驱动程序发出的命令。
(2) 控制器驱动程序(Host Controller Driver), 在控制器与USB 设备间建立通信管道(Pipe)。
(3) USB 驱动程序(USB Driver),提供对不同USB 设备及芯片的支持。
(4) USB 设备(USB Device), 有两类USB 设备:一类称为功能设备(Function),另一类是称为USB 集线器(HUB),可以连接多个USB 设备。
(5) USB 设备驱动程序(Client Driver Software)及特定应用程序。
主控制器的驱动软件由操作系统支持,USB 设备开发人员一般只需编写客户驱动程序,实现特定功能,设备端所有功能软件需要全面设计。
USB 的四种数据传输模式分别是:控制型传输、中断型传输、批量型传输、实时型传输。
第一种在缺省通道中传输USB 接口本身的配置等控制信息,后面三种用于功能部件传输数据。
中断型用于键盘等的异步输入输出少量数据传输,批量传输主要用于象硬盘等块设备的数据传输,在中断和批量的传输过程中要传递交互握手信号,确保数据准确无误。
u盘设计方案设计概述:U盘是一种常见的便携式存储设备,具有小巧、可插拔、容量大等特点。
为了满足用户的需求,提高产品的竞争力,本文将设计一款U 盘,既能满足功能需求,又能具备独特的外观设计。
一、U盘功能需求:1. 存储容量:U盘的存储容量应根据市场需求而定,可提供多种选项,如8GB、16GB、32GB等,以满足用户不同存储需求。
2. 数据传输速度:为了提高用户的使用体验,U盘应具备较快的数据传输速度,采用USB 3.0或更高版本的接口技术,保证快速稳定的数据传输。
3. 数据安全性:U盘应提供可靠的数据加密功能,通过密码或指纹识别等方式,保护用户的数据隐私,防止数据的丢失或泄露。
4. 兼容性:U盘应支持多种操作系统平台,如Windows、MacOS、Linux等,以确保广泛的应用范围。
二、U盘外观设计:1. 材质选择:U盘的外观材质应采用高质量的合金、塑料或橡胶等材料,既能保证产品的轻巧便携,又能提供耐用性和抗摔击的特性。
2. 外形造型:U盘的外形设计应简洁大方,符合人体工学原理,手感舒适。
可以采用流线型、圆滑的设计,增加产品的美观性和舒适性。
3. 配色方案:U盘的外观配色应该注重用户的审美需求,可以提供多种色彩选择,如经典的黑色、白色、时尚的金属色或个性的图案等,以满足不同用户的个性化需求。
4. 品牌标识:U盘上应印有醒目的品牌标识,以提升品牌形象和产品价值。
三、其他功能和设计:1. 防尘防水:U盘应具备一定的防尘、防水性能,使其能够在特殊环境下正常工作。
2. 挂绳设计:为了方便携带和存储,U盘可设计带有挂绳的孔洞或配备挂绳,使用户可以将其挂在钥匙链上或挂在胸前,方便使用和展示。
3. 灯光指示:U盘可以设计带有灯光指示功能,以提示用户当前状态,如读写状态、连接状态等。
4. 环保设计:在制造U盘时,应尽量选用绿色环保材料,并采取节能设计,减少对环境的影响。
总结:本文提出了一款U盘的设计方案,既满足了功能需求,又具备独特的外观设计。
μCOS嵌入式操作系统实验指导书说明《嵌入式系统及应用实验指导书》包含:嵌入式开发板的硬件结构与u-boot基本命令、uClinux的多任务机制及其编程、uClinux的内存管理机制及其编程、在51单片机上移植μC/OS-II和在ARM7单片机上移植μC/OS-II 实验指导,适合电子与信息类专业的学生学习使用。
目录实验一嵌入式开发板的硬件结构与U-BOOT基本命令 (1)实验二UCLINUX的多任务机制及其编程 (6)实验三UCLINUX的内存管理机制及其编程 (9)实验四在51单片机上移植ΜC/OS-II (17)实验五在ARM7单片机上移植ΜC/OS-II (21)实验一嵌入式开发板的硬件结构与u-boot基本命令一、实验目的1、能够使用Embest IDE for ARM集成开发环境及ARM软件模拟器;2、通过实验掌握u-boot基本命令。
二、实验原理Bootloader代码是器件复位后进入操作系统前执行的一段代码,通过该代码初始化处理器各寄存器和片上外设,建立存储器映射图以及初始化堆栈,从而为操作系统提供基本的运行环境。
由于Bootloader与CPU和开发板配置有关,不可能有通用的Bootloader,因此需要根据具体情况进行移植。
嵌入式系统U-boot是当前流行、功能强大的Bootloader。
U-Boot用于多种嵌入式CPU的Bootloader程序,U-Boot支持ARM、PowerPC等多种架构的处理器,也支持Linux、NetBSD和Vx—Works等操作系统。
这里采用U—Boot 的版本为U-boot-1.1.6。
(1)U-Boot目录结构U-Boot目录结构如下:board是一些与现有开发板有关的文件,比如makefile和u-boot.1ds等都与具体开发板的硬件和地址分配有关;common 是与体系结构无关的文件,可实现各种命令的C文件;cpu是CPU相关文件,其子目录都是以U-boot支持的CPU命名,比如子目录arm920t,mips,s3e44bO 和nios等,每个特定的子目录都包括cpu.c,interrupt.C和start.s;doc是说明文档;drivers是通用设备驱动程序,比如:各种网卡、支持CFI的Flash 和USB总线等;fs是支持文件系统的文件,U—Boot可支持cramfs,fat,fdos,jffs2等文件;net是与网络有关的代码,比如:BOOTP协议、TFTP协议和NFS文件系统的实现;lib_arm是与ARM体系结构相关的代码;tools 是创建S-Record的格式文件和U-Boot images的工具。
U盘创新设计理念随着科技的不断发展,U盘已经成为人们生活中必不可少的便携式存储设备。
然而,传统的U盘设计在外观和功能上已经相对落后,需要进行创新设计来满足不断变化的用户需求。
以下是我对U盘创新设计理念的探讨。
首先,U盘的外观设计应该更加时尚和个性化。
传统的U盘设计大多是简单的方形或圆形,缺乏创意和独特性。
我认为,U盘可以采用更多元化的材料和形状,例如使用金属、木材或陶瓷等材质,将U盘设计成各种有趣和吸引人的形状,如动物、植物、建筑物等,以增加用户的选择和购买欲望。
其次,U盘的功能可以进一步拓展。
除了传输和存储数据外,U盘还可以集成更多智能功能,如无线传输、快速充电、防水防尘等。
用户可以通过手机或电脑轻松管理和控制U盘,实现更加便捷和高效的数据传输和管理。
另外,U盘的安全性也是需要重点关注的方面。
随着互联网的发展,数据泄露和信息安全已经成为了严重的问题。
因此,创新设计提供更高级别的数据加密和安全保护功能是非常有必要的。
例如,可以加入指纹识别、面容识别、密码保护等技术,保护用户的数据不被非法获取。
此外,U盘的容量也需要进一步提升。
随着高清视频、大型游戏等大容量文件的广泛应用,传统U盘的容量已经无法满足用户的需求。
因此,创新设计需要提供更大容量的U盘,以便用户可以方便地存储和传输大容量文件。
最后,U盘的环保性也是值得关注的问题。
传统的U盘制造过程中会产生大量的废水、废气和有害物质,对环境造成严重污染。
因此,创新设计应该注重使用环保材料和生产工艺,减少对环境的影响,并提倡用户进行垃圾分类和回收利用。
综上所述,U盘的创新设计理念应该包括时尚个性化的外观设计、多样化的功能拓展、高级别的安全保护、大容量的存储空间以及环境友好的制造过程。
只有满足用户需求并注重产品的可持续发展,U盘才能在激烈的市场竞争中脱颖而出。
1. 简介本文档旨在提供一种U盘设计方案,让用户能够在使用U盘时获得更好的使用体验和功能性。
我们将介绍U盘的外观设计、存储容量、数据传输速度、安全性以及附加功能等方面的设计考虑。
2. 外观设计U盘的外观设计是用户首先接触到的部分,因此应注重美感和便携性。
以下是我们的设计理念:•简约时尚:采用简约的线条和现代感的元素,使U盘看起来时尚而不过时。
•小巧轻便:尺寸要尽可能小巧,方便携带和使用。
•耐用材质:采用高品质的材料,提高U盘的耐用性,保证其长时间使用。
3. 存储容量随着数据量的不断增长,U盘的存储容量需求也在增加。
我们建议提供多种存储容量的选择,以满足用户不同的需求和预算。
以下是我们推荐的存储容量配置:•16GB:适合存储常见的文档、照片等小型文件。
•64GB:适合存储大量的照片、视频和音频文件。
•128GB:适合存储大型文件和备份。
4. 数据传输速度快速的数据传输速度对用户来说至关重要。
以下是我们提供的改进措施:•USB 3.0 接口:采用USB 3.0接口,可提供更高的数据传输速度。
•高速闪存芯片:采用高速闪存芯片,提高读写速度,同时保证数据的稳定性。
•数据压缩算法:应用数据压缩算法,提高数据传输效率。
5. 安全性保护用户数据的安全性是我们设计中的重要考虑因素。
以下是我们的安全性设计方案:•密码保护:提供密码保护功能,用户需要输入正确的密码才能访问U盘中的数据。
•指纹识别:内置指纹识别传感器,用户可以使用指纹解锁U盘,并保护个人数据不被他人访问。
•数据加密:应用高级数据加密算法,对存储在U盘上的数据进行加密处理,确保数据安全。
6. 附加功能除了传统的存储功能外,我们还考虑了一些附加功能,以提供更多的便利性和用户体验。
以下是一些附加功能的建议:•数据同步:支持自动数据同步,用户可以将U盘中的文件与云存储服务(如Dropbox或Google Drive)进行同步。
•文件分享:内置Wi-Fi模块,用户可以通过创建无线网络,将U盘中的文件共享给其他设备。
嵌入式系统设计与开发1. 引言嵌入式系统是最近几十年来较为重要的技术之一,具有广泛的应用领域。
嵌入式系统一般是指在计算机系统或其他电子设备中嵌入了专门的软件与硬件,以完成特定的任务。
它广泛应用于家用电器、汽车、医疗设备、通信设备、工业控制、航空航天等领域。
本文将从嵌入式系统的设计与开发角度来讨论该技术的基本实现原理、软件开发流程、硬件设计原则以及一些应用场景。
2. 基本实现原理嵌入式系统的设计思路与传统计算机系统不同,它通常需要一个微小的芯片来扮演整个系统的角色。
因此,嵌入式系统的设计架构非常紧凑,尽量减少硬件和软件的耗用,以实现更快的运行速度与更低的功耗。
嵌入式系统的设计与开发分为两个主要方面:软件开发和硬件设计。
3. 软件开发流程嵌入式系统的软件开发一般有以下五个步骤:1. 系统需求分析在开发嵌入式系统之前,需要对系统进行需求分析。
这可以帮助设计团队确定需要实现哪些功能,并定义硬件和软件的最小要求。
2. 软件设计在嵌入式系统的软件设计过程中,需要使用编程语言来实现所需的功能。
常用的编程语言有C、C++、Assembly等。
由于嵌入式系统通常只有很小的空间来存储程序,因此在设计时需要注意代码的体积和效率。
3. 软件开发在软件开发过程中,需要实现软件设计的方法和要求。
在这里,开发人员需要验证软件的正确性,并进行相关的测试,以确保程序的正确执行。
4. 系统集成在硬件和软件开发完成后,需要将系统硬件和软件进行集成。
在集成过程中,需要对系统进行调试和测试,以确保所有组件能够正常工作,并实现预期的任务。
5. 运行维护系统开发完成后,需要对其进行维护和管理。
在运行过程中需要进行相关检查和保养,以确保系统能够正常运行。
4. 硬件设计原则嵌入式系统的硬件设计需求取决于具体应用场景。
通常,硬件设计需要满足以下几个方面的要求:1. 可靠性和安全性嵌入式系统在很多关键应用中发挥着重要作用,因此,系统的可靠性和安全性至关重要。
嵌入式系统的设计与开发嵌入式系统是一种专门用来完成特定功能的计算机系统。
与普通计算机不同,嵌入式系统通常是以一种严格的、受限制的环境运行,并且需要高效、即时地处理输入输出信号。
嵌入式系统存在于我们的生活的各个角落,如家电、智能家居、医疗、汽车等领域。
本文将介绍嵌入式系统的设计与开发,包括硬件和软件方面的内容。
一、硬件设计1.1 硬件选型设计嵌入式系统,首先需要考虑的是选型问题。
根据不同应用场景和需求,选择合适的处理器、存储器、接口及传感器等硬件元器件。
处理器是嵌入式系统的计算核心,需根据性能、功耗、接口等方面进行选择。
存储器包括ROM、RAM、Flash等,需根据系统应用需求进行选择。
接口有串口、CAN、Ethernet等,传感器包括温度、湿度、光线、声音等,根据具体应用场景确定相关传感器。
1.2 原理图设计选择好硬件元器件后,需要进行原理图设计。
原理图设计是嵌入式系统硬件设计的关键环节,是从硬件角度描述整个系统的工作原理的图纸。
通过原理图设计,可以直观地看出整个系统各个元器件之间的连接关系。
在设计原理图时,需要注意元器件之间的连通关系、参数的匹配、兼容性、可靠性等方面的问题。
1.3 PCB设计原理图设计完成后,需要进行PCB(Printed Circuit Board)设计,将方案转化为实际的硬件电路板。
PCB设计时,需要考虑的问题包括元器件的布局、走线和供电等问题。
在设计之前要对元器件进行构思和综合考虑,以便将所有元器件紧凑地布局在一块电路板上,实现电路板的优化设计。
二、软件开发2.1 选型与硬件设计类似,软件开发也需要根据不同应用场景选择合适的软件开发工具。
常见的软件开发工具有Keil、IAR、Eclipse等。
在选择工具时,需要根据项目的需求和预算进行权衡。
2.2 驱动程序设计软件开发的第一个环节是设计驱动程序。
驱动程序是连接硬件和软件的桥梁,可以通过驱动程序实现软件与硬件之间的互通。
驱动程序的设计需要根据硬件的不同接口实现不同的功能模块,并且需要与操作系统或应用程序连接起来。
基于U盘Linux系统以及QT/E的系统安装程序设计专业:软件工程学生:李奇指导教师:张奕摘要QT/E 是跨平台的C++图形用户界面(GUI)工具包,它是著名的Qt 开发商TrollTech 发布的面向嵌入式系统的Qt 版本,Qt 是目前KDE 等项目使用的GUI 支持库,许多基于Qt的X Window程序可以非常方便地移植到嵌入式Qt/Embedded版本上。
自从Qt/Embedded发布以来,就有许多嵌入式Linux开发商利用Qt/Embedded进行嵌入式GUI 应用开发。
U盘Linux系统采用Busybox以及CentOS 5.2进行制作,是存放在U盘上可运行的Linux操作系统,该系统具有基本的shell命令,程序运行所需要的QT/E库,以及硬盘分区格式化等工具。
系统安装程序基于QT/E开发,运行于该U盘系统,并实现了在目标机上安装操作系统这一主要功能。
U盘系统因为其便于携带,易于操作等特点,在安装系统以及系统维护方面时得到广泛的应用。
Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,使在不带X11的Linux 系统中运行GUI程序成为了一种可能。
关键词:Linux系统QT/E开发BusyBox U盘Linux系统U disk-based Linux systems, and QT / E of the systeminstallation program designMajor: Software EngineeringStudent: Li Qi Supervisor: Zhang yiAbstractQT / E is a cross-platform C + + graphical user interface (GUI) toolkit, which is well-known Qt developers TrollTech released version of Qt for embedded systems, Qt is KDE and other projects to support the use of the GUI libraries, many based on the Qt for X Window programs can be easily ported to an embedded Qt / Embedded version. Since the Qt / Embedded has been released, there are many embedded Linux developers to use Qt / Embedded embedded GUI application development.U disk Linux system uses Busybox, as well as CentOS 5.2 for production, is stored in the U disk can run the Linux operating system, the system has a basic shell command, the program needs to run QT / E database, as well as formatting the hard disk partition tools such as . System installation program is based on QT / E development, operation in the U disk system, and achieved the target machine to install the operating system the main function.U disk system because of its easy to carry, easy to operate and so on, during the installation and system maintenance aspects of the system to be widely used. Qt / E to remove the dependence of the X Lib directly working on the Frame Buffer, so that in the Linux system without X11 running GUI program has become a possibility.Key words:Linux QT / E Development BusyBox U disk Linux system目录1导论 (1)1.1本论文的学术背景以及研究意义 (1)1.1.1本论文学术背景 (1)1.1.2本论文的研究目的 (1)1.2论文思路及结构 (1)2研究方法 (2)2.1Linux系统主要结构 (2)2.2Busybox简介 (3)2.3Qt/Embedded简介 (3)2.4U盘Linux制作方法 (4)2.4.1内核编译 (4)2.4.2Busybox编译 (6)2.4.3Grub-install编译 (7)2.4.4制作根文件系统 (8)2.4.5完成U盘Linux (9)2.5小结 (10)3系统安装程序设计原理 (11)3.1程序运行逻辑 (11)3.2Shell脚本程序 (11)3.3Qt/Embedded程序功能 (16)3.4程序中类定义 (17)3.5程序初始化 (18)3.6用户分区设置 (21)3.7系统安装阶段 (27)3.8小结 (27)4结语 (28)参考文献 (29)致谢 (30)1导论1.1本论文的学术背景以及研究意义1.1.1本论文学术背景从总体上讲,Linux系统是免费的并且是开源的,该系统主要是运行在以X86为架构的硬件平台上,该系统由全球成千上万的相关技术人员设计并实现。
湖南文理学院芙蓉学院课程设计报告课程名称:嵌入式系统课程设计专业班级:通信工程1301班学生姓名:***指导教师:***完成时间:2016年6月22日报告成绩:湖南文理学院制目录基于嵌入式系统u盘开发的设计 (1)一、设计题目 (1)二、设计内容及要求 (1)2.1设计内容 (1)2.2设计要求 (1)三、设计作用与目的 (2)四、系统设计方案 (2)4.1系统总体设计 (2)4.2简要阐述系统工作原理 (3)五、系统硬件设计 (3)5.1硬件电路 (3)5.2基本程序结构 (4)B 设备端的固件分以下几个层次: (4)5.2.2.在调试的时候,从现象上来看,分成以下几个阶段性的步骤 (5)5.2.3.检查USB 器件工作与否 (5)5.2.4.提供描述符 (6)5.3硬件设计 (6)六、系统软件设计 (7)6.1USB协议 (7)6.2 BULK_ONLY和UFI协议 (8)6.3 FAT32 (11)6.4软件系统模块 (11)七、仿真调试分析 (14)八、嵌入式系统学习心得 (14)九、参考文献 (14)基于嵌入式系统u盘开发的设计一、设计题目基于嵌入式系统u盘开发的设计二、设计内容及要求2.1设计内容随着USB技术和闪存技术的飞速发展,移动存储设备的速度和容量日新月异,但在工业控制的上位机和下位机之间,数据传输依然采用传统的串并口技术,特别对一些前端的便携式采集系统,需要采集后临时存储,再拿回来传给作为上位机的PC机进行数据处理,给人们带来很多不变,为此,本文提出了一种方法--利用U盘的便捷特性开发一种基于嵌入式的USB读写器,方便地将采集数据以文件方式写入U盘,PC机不需要任何特殊驱动便可以完成对数据的处理回放。
利用本方法可以彻底解决下位机与PC机之间的数据传输难的问题。
2.2设计要求据U盘结构特点,设计了一种基于嵌入式系统U盘的系统结构,可以将U盘集成到无线数据卡上,或者手机上,以实现数据存储的功能。
在进行USB 开发过程中,比较难的是对设备端的程序(称为固件,Firmware )进行调试。
由于USB 协议有严格的时间要求,这就使得程序必须在有效时间内对某些请求或状态进行处理,否则,USB 将无法正常工作。
因此,在调试过程中,较多借助LED1,LED2显示输出的一些信息来辅助调试,定位问题所在。
比如,在某个函数中加入LED1,LED2显示语句,程序运行时看有否相应的LED1,LED2显示输出,借此来判断此函数是否得到了执行。
调试工作基本分二步进行:首先对外部设备(单片机部分)借助PC 调试软件(从网上下载Bus Hound)将设备端的USB 协议(主要有描述符请求、端口配置、地址设置以及基本数据交换)调通。
然后,用调试好的USB 设备接口来嵌入文件系统功能。
三、设计作用与目的根据U 盘结构特点,设计了一种基于嵌入式系统U 盘的系统结构,可以将U 盘集成到无线数据卡上,或者手机上,以实现数据存储的功能四、系统设计方案4.1系统总体设计图1 USB读写器结构图4.2简要阐述系统工作原理SB读写器结构框图如图1所示,主要由MSP430F149和SL811HS构成,MSP430支持串口输入和14位的并口输入,P2.7用作中断唤醒位,P2.6用作标准位区分数据和命令,通过P4口向SL811发送控制信号,P6用作普通的双向总线接口与SL811进行数据交换,P1.1支持中断唤醒接收SL811的中断请求。
五、系统硬件设计5.1硬件电路下图分别为PDIUSBD12的引脚定义,其中,下列几个方面在制作电路板时应该注意。
图2 PDIUSBD12引脚图a)GND 接地,VDD 接正(3.3V 或5V ),如果芯片工作在3.3V ,则V out3.3 与VDD 都接3.3V ;如果芯片工作在5V ,则这时V out3.3 会输出3.3V 的电压,用于提供给D +作参考电压,因为此参考电压必须为3.3V 。
对于U 盘来说,由于USB 接供的是5V 电压,因此应该按后一种接法接。
即GND 接USB 接口中的GND ,VDD 接USB 接口中的VDD ,D +D-分别接USB 接口中的对应位。
b)XTAL1 和XTAL2 按传统接法。
c)PDIUSBD12与MCU AT-89C55WD的连接方法见下表表1 PDIUSBD12与MCU AT-89C55WD的连接方法5.2基本程序结构B 设备端的固件分以下几个层次:表2固件层次5.2.2.在调试的时候,从现象上来看,分成以下几个阶段性的步骤1、USB 芯片正常工作,可以实现软连接,此时PC 机上会出现“未知设备类型”的USB 设备;2、向主机提供普通USB 设备提供描述符,提供正确的VID 和PID 后,PC 能够识别设备,但要求提供设备的驱动程序;3、安装驱动程序后,使用周立功单片机公司提供的UsbDebug.exe简单调试端点1和2,确保其均可传输数据,验证硬件及固件的正确性;4、按Mass Storage不得Bulk-Only 模式提供描述符,PC 机上设备类型变成Mass Storage Device;5、响应了Bulk-Only 的Inquiry 命令,可以出现盘符了,但尚无法访问磁盘;6、提供了其他所有的UFI命令(SCSI 子集),开始读取磁盘0 扇区(BPB 区)的内容按照FAT12 的格式7、在AT-89C55WD EEPROM虚拟一张软盘,可以正确读取信息,可以访问盘符,列目录为空;8、,软盘中放一个可执行的文件,可以正常运行这个可执行文件;8、创建文件,向设备发出Write 命令,等等。
下面从具体实际操作方面来描述调试各阶段的步骤5.2.3.检查USB 器件工作与否确定USB 芯片是否已经正常工作,是所有调试的基础,得到电路板之后,这是一个首先要解决的问题。
判断USB 芯片是否已经工作,可以使用SoftConnect ,则在主程序中进行软连接后,如果PC 机上出现未知设备,则说明USB 进行软连接正常,也说明芯片已经工作了。
另外就是使用Bus Hound ,观察USB 总线上的数据,从而判断主机与设备之间的通信已经进行到哪一步了。
在主程序中,对USB 初始化过程为:①初始化MCU 的各种端口;②进行中断初始化,设置中断服务程序入口地址,将MCU 的中断方式设置为低电平触发,因为D12 只要进入中断后INT_N 就一直为低。
③断开SoftConnect ,延时1 秒后再次连接④进入主程序循环,等待中断的到来⑤由中断服务程序处理所有与USB有关的操作。
5.2.4.提供描述符USB 设备的调试过程其实就是根据主机的请求,不断地向主机提供各种信息的过程。
因此,了解主机按照什么样的顺序向设备发出请求,即Windows 对USB 设备的枚举顺序是非常有必要的:GetDeviceDescriptor 。
主机主要对Length 域感兴趣,发送内容一定要正确,特别是第2 字节type 一定为0x01 ,即Device ;否则,主机将不响应,或这时由于主机对Device 的描述符将有多长实际上都不知道,所以这个步骤只是试探性的,目的是得到真正长度,第三步中才正而巴经地读取DeviceDescriptor 。
5.3硬件设计系统采用TI公司的MSP430F149作为MCU,Cypress公司的SL811HS作为USB设备控制器,充分发挥各自优势满足低功耗要求。
MSP430TI公司的MSP430系列单片机是一种超低功耗的混合信号控制器,针对不同的应用而由各种不同的模块组成,这些微控制器可用电池工作,且使用的时间很长,MSP430单片机具有16位RISC结构,CPU中的16个寄存器和常数发生器使其能达到最高的代码效率,灵活的时钟源可以使器件的功率消耗最低,数字控制的振荡器(DCO)可使器件从低功耗模式迅速唤醒,在短于6μs的时间内激活到活跃的工作方式,非常的内/外设和I/O端口资源,端口P1和P2支持中断唤醒。
SL811HSCypress公司的SL811HS是一款超低功耗的USB主/从设备控制器,主设备或从设备模式由软件控制,USB主/从设备控制器支持全高速和低速数据传输,内部256字节的SRAM 缓存,访问时地址自动加1,可大大缩短读写指令周期,具有标准的8位双向微处理器总线接口,其中从设备模式下支持DMA。
六、系统软件设计为了使上位PC机能够直接读取该读写器写入U盘的数据,数据存储按照FAT32文件管理方式存储,其中涉及USB和UFI协议以及FAT32文件存储格式。
6.1USB协议USB(通用串行总线)用于将USB接口的外围设备(device)连接到主机(host),实现二者之间数据传输的外部总线结构,是一种快速、灵活的总线接口,USB的传输类型有控制(control)、批量(bulk)、中断(interrupt)和同步(synchronous)传输4种,它最大的特点是易于使用,即插即用,主要是用在中速和低速的外设。
控制数据用于在USB接入总线时对其进行配置,其他的驱动软件可以根据具体的应用来选择使用控制传输,这种数据传输不会丢失数据。
典型的批量数据包括象使用打印机或扫描仪时所出现的大数据量的数据,这种批量数据是连续的,通过在硬件中实现差错检测功能,并且有选择地进行一定的应进重试操作,可以在硬件层次上保证数据的可靠交换。
由设备自发产生的数据传输是中断数据传输,这类数据传输可以由USB设备在任意时刻发起,而且USB总线以不低于设备说明的速率进行传输。
同步数据在产生、传送和处理过程中是连续的和实时的,在稳定的同步数据发送和接收速率中包含了相应的时钟信息,为了保持定时关系,同步数据必须按照接收的速率进行传输。
6.2 BULK_ONLY和UFI协议USB设备分为5大类,即显示器、通信设备、音频设备、人机输入和海量存储。
通常所用的U盘、移动硬盘均属于海量存储类。
海量存储类的规范中包括4个独立的子规范,即CBI传输、Bulk-Only传输、ATA命令块、UFI命令规范。
前两个协议定义了数据/命令/状态在USB总线上的传输方法,Bulk-Only传输协议仅仅使用Bulk端点传送数据/命令/状态,CBI传输协议则使用Control/bulk/interrupt三种类型的端点进行数据/命令/状态的传送。
后两个协议定义了存储介质的操作命令,ATA协议用于硬盘,UFI协议则针对USB移动存储,U盘读写器的设计遵循Bulk-Only传输协议和UFI命令规范。
UFI命令块规范是针对USB移动存储而制定的,它总共定义了19个12字节长度的操作命令。
Bulk-Only事务以主机向设备发送CBW(Command Block Warp)包,并以建立相应的数据传输开始的,设备接收到CBW包,检查并解释它,试图满足主机的要求,并通过CSW (Command State Wrap)包向主机返回状态信息。