基于嵌入式linux的ktv点歌系统毕业设计论文)内容摘要:
行压缩,并加入一段解压的启动代码。 本实验采用make zImage。 make zImage 生成的 Linux 映像文件 zImage 保存在/home/cvtech/jx2410/linux/arch/arm/boot/目录下。 烧写 Linux 映像 zImage 图 Block device 配置选项 成功编 译 Linux 内核后,通过 JX2410 的 uboot 将核心下载到 SDRAM,另外内核启动过程将加载 RAMDISK 文件系统,因此下载 zImage 之前,开发板需加载了根文件系统。 将 zImage 复制到宿主机 /tftpboot/目录下,运行命令 cp /home/cvtech/jx2410/linux/arch/arm/boot/zImage /tftpboot 启动 uboot,并在 uboot 中使用 tftp 下载 和 zImage。 然后启动 mini: 命令为 mini 将 JXARM92410的串口 0与 PC的串口0连接,将 JXARM92410的网卡和 PC的网卡使用直连网线进行连接,或将JXARM92410和 PC机使用普通网线接入同一局域网。 然后将 JXARM92410上 9 电,正常情况下将在 mini中看到 BootLoader菜单界面。 然后在 BootLoader中按照如下 命令 进行: JX2410 tftp 30800000 RTL8019AS Founded! MAC : 0x80x00x3e0x260xa0x5b MAC: 0x0:0x0:0x0:0x0:0x0:0x0 TFTP from server。 our IP address is Filename 39。 39。 . Load address: 0x30800000 Loading: done Bytes transferred = 4632504 (46afb8 hex) JX2410 tftp 30008000 zImage RTL8019AS Founded! MAC : 0x80x00x3e0x260xa0x5b MAC: 0x0:0x0:0x0:0x0:0x0:0x0 TFTP from server。 our IP address is Filename 39。 zImage39。 . Load address: 0x30008000 Loading: done Bytes transferred = 871740 (d4d3c hex) JX2410 go 30008000 Unpressing Linux.............................................................. done, booting the kernel. 10 Linux version (root@LinuxLizm) (gcc version 20202020 (release)) 133 四 11月 18 11:07:55 CST 2020 CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0 Machine: SamsungSMDK2410 制作板上根文件系统 根文件系统为 Linux 提供了 init 程序、 shell 命令、设备文件节点和运行 时 的库文件等。 内核在没有正确的根文件系统的情况下运行会出现 panic 错误信息而终止。 在一个已建好的文件系统上进行修改 进入 /home/cvtech/jx2410/root 目录并修改 ramdisk 文件系统 : cd /home/cvtech/jx2410/root/ 创建一个挂载 ramdisk文件系统的目录: mkdir rd 解压缩 : gunzip 在 /home/cvtech/jx2410/root/目录下会生成 ramdisk, ramdisk为解开后的 Linux的文件系统映像文件。 再将 ramdisk文件系统映像文件 mount到新建目录 rd中: mount –o loop ramdisk rd/ 进入 rd目录: cd rd/ 列出目录中文件: ls 在命令终端中会看到以下显示: bin dev etc lib linuette mnt proc qt sbin tmp usr var 这个就是 Linux的文件系统,与目标板启动后的文件系统完全一样。 此时用户可以加入自己的应用程序。 卸装文件系统: umount rd 压缩新生成的 ramdisk文件系统映像文件: 11 gzip ramdisk 得到的 就是新生 成的目标根文件系统。 建立根文件系统 由于创维特提供的 ramdisk 文件系统 只 有 12MB,不能满足本系统的要求,所以必须自己建立根文件系统,根据本系统所使用的 MiniGUI 和 mSQL 软件的库文件大小并经过试验后得出将根文件系统大小设为 18MB。 详见参考文献 [2]。 建立 loop 目录为根文件系统临时挂载点 : mkdir /mnt/loop 建立文件系统映象 : dd if=/dev/zero of=/tmp/ramdisk bs=1M count=18 注意可根据自己的需要建立大小合 适的文件系统,更改 count 大小即可。 此处以 dd 命令建立了一个 18MB 文件系统映象,存于 /tmp/ramdisk,并以 .dev/zero对它进行初始化。 用这种方式对文件系统进行初始化,稍后当我们使用 gzip 命令压缩整个映象时,将让文件系统中未使用的部分获得最大压缩比。 将 /dev/loop0 格式化为 ext2 文件系统 : mke2fs –t ext2 –F –v –m 0 /tmp/ramdisk 把 ramdisk 挂载到目录 /mnt/loop 上 : mount o loop /tmp/ramdisk /mnt/loop 拷贝系统中所用到的库文件、头文件到 ramdisk 的 lib 和 include 目录中,同时还有一些基本的应用程序、设备文件、 init 初始化文件等均放在 ramdisk 所挂载的 /mnt/loop 下。 卸载文件系统,得到的 /tmp/ramdisk 就是文件系统映像: umount /mnt/loop 压缩新生成的 ramdisk文件系统映像文件: gzip ramdisk 就生成了新的根文件系统 LCD 驱动 和 网络驱动 本系统所用的图形系统 MiniGUI 访问图形设备是通过设备文件 /dev/fb 进行的,这是 LCD 的设备文件,该文件的操作是在 LCD 驱动程序中实现的。 LCD 12 驱动的主要工作是:首先初始化 LCD 控制器,分配显示缓冲区;第二,编写 fb_ops结构体中的成员函数;最后实现文件操作结构体 file_operations 中的主要函数。 设备文件 /dev/fb 对应一个帧缓冲设备 Framebuffer。 FrameBuffer 帧缓冲设备 FrameBuffer 机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过 FrameBuffer 的读写直接对显存进行操作。 用户可以将 FrameBuffer 看成是显示内存的一个映像,将其映射到进程地址空间后,就可以直接进行读写操作,而写操作可以立即反映在屏幕上。 FrameBuffer 驱动主要基于以下两个文件: linux/include/linux/、 linux/drivers/video/; 其中, 定义了几乎所有的重要结构,以下 3 个结 构 尤为重要: struct fb_info、 struct fb_var_screeninfo、 struct fb_fix_screeninfo; Linux 帧缓冲设备定义了 struct fb_info 结构体作为驱动层的接口, fb_info 记录了帧缓冲的全部信息,包括设置参数、状态、操作函数指针等;每个帧缓冲设备均有一个 fb_info 结构 体与之对应。 struct fb_var_screeninfo 和 struct fb_fix_screeninfo 是两个记录设备状态的结构体。 JXARM924101 开发板 Linux 显示( FrameBuffer)驱动程序 Linux 内核启动时将自动加载定义在 /linux/drivers/video/ 文件的FrameBuffer 驱动,它是由一个全局变量 fb_drivers 定义的,所以将 JXARM92410的显示驱动添加到 fb_drivers 中,以支持目标板 FrameBuffer 驱动。 static struct{ const char *name; int ( * init)( void); int ( * setup)( char *); }fb_drivers[]_initdata={ ifdef CONFIG_FB_S3C2410 {―s3c2410‖, s3c2410fb_init, s3c2410fb_setup}, endif } 13 其中 s3c2410fb_init 是 JXARM92410 的 FrameBuffer 初始化函数,该函数由内核初始化时调用一次,它主要进行 LCD 相关硬件初始化以及注册 FrameBuffer驱动程序等。 JXARM924101 开发板 FrameBuffer 驱动中重要的数据结构: struct s3c2410fb_info、 struct fb_var_screeninfo、 struct fb_fix_screeninfo、 struct file_operations s3c2410fb_ops 对帧缓冲设备的操作是通过 s3c2410fb_ops 中的函数来实现的。 网络驱动 Linux 的网络系统主要是基于 BSD Unix 的 socket 机制。 在系统和驱动程序之间定义有专门的数据结构( sk_buff)进行数据的传递。 系统里支持对发送数据和接收数据的缓存,提供流量控制机制,提供多协议的支持。 Linux 中,有一个网络设备抽象接口,这个接口提供了对所有网络设备的操作方法。 由以 dev_base 为头指针的设备链表来集体管理所有网路设备,其中每个 元素代表一个网络设备接口。 该接口由数据结构 struct device 来表示网路设备在内核中的运行情况,所有的设备都由该结构描述并建立在统一的接口之上。 这些设备既可以是纯软件的网络设备接口,也可以是具体的硬件网络设备接口。 数据结构 device 中有很多访问网络设备的基本函数接口,包括 提 供设备初始化和系统注册用的 init 函数、打开和关闭网络设备的 open 和 stop 函数、处理数据包发送的函数 hard_start_xmit 以及中断处理函数等。 14 4 图形界面( MiniGUI)应用程序开发 MiniGUI 简介 MiniGUI 是基于自由软件项目开发的一个轻量级的图形用户界面支持系统,它为在资源紧缺的嵌入式系统中实现图形界面显示提供良好的支持。 它的编程风格与在 Windows 环境下用 API 进行图形界面应用程序开发非常相似。 详情见参考文献 [7]。 MiniGUI 的安装及配置 MiniGUI 的安装 安装 libminigui [root]mkdir /home/work [root]cd /home/work 解压 并安装 库文件 [root]tar zxf [root]cd [root]./configure [root]make [root]make install 安装 minigui 资源文件 解压并安装 资源 文件 [root]tar zxf [root]cd /home/work/ [root]make install MiniGUI 的 默认安装路径为 /usr/local/lib 修改 文件,配置修改如下: …… [system] GAL engine gal_engine=qvfb IALengine 15 ial_engine=qvfb …… [qvfb] defaultmode=800x60016bpp 3 、安装 qvfb ,因为 RedHat9 里面没有,从地址:。 [root]tar zxf [root]cd [root]./configure [root]make [root]make install 把 qvfb 的安装路径加到可执行路径中去, qvfb 装在 /usr/local/bin 下 [root]vi /etc/profile 在 Path manipulation 下面加一行 pathmunge /usr/loca。基于嵌入式linux的ktv点歌系统毕业设计论文)
相关推荐
lim=1120Mpa;由图 8— 3— 9( d)中的 MQ 级质量指标查得 σ FE1=σ FE2=700Mpa, σ Flim1=σ Flim2=350 Mpa. 按接触强度进行初步设计 1. 确定中心距 a(按表 8— 3— 28公式进行设计 ) aCmAa(μ +1) 3 21HKT mC =1 483A K= mNT 16462 MPaH
应用的集娱乐休闲和听书、听歌手机软件系统,通过手机听音乐已经成为大多数人习惯和爱好,手机操作系统有很多,而苹果系统的软件具有的特点就是美观、简洁、易操作。 根据这些信息,学着去设计一款基于 iOS 的音乐 App 在以后的社会竞争中更加具有优势,而且一法通万法,学会了制作一看 APP,其他差别不大的 APP 的制作也能手到擒来,同时本人从去年开始接触 iOS,在学习了几个月后
并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态 HTML 页面,或执行用户查询,并将查询结果格式化成 HTML 页面,通过 Web 服务器返回给 Web 浏览器。 最基本的中间件技术有公共网关接口 CGI 和应用程序编程接口 API 两种。 Web 数据库技术采用三层或多层体系结构,前端采用基于瘦客 户机的浏览器技术,通过 Web
、 RST 和 BLA 直接与 VCC 相连接。 但是在本设计中使用它的性价比不高,体积大,占用覆铜板面积 大,而且笨拙。 综上所述,在 LCD 液晶显示模块上,选择方案二中的 LCD1602 液晶显示器作为本设计的显示模块。 显示时间、温度、去向或者是回向的站号信息,方便司机和乘客读取其上面的信息值得目前的实时情况。 第二章 系统的硬件设计和方案对比选择 7 语音芯片的方案对比选择 方案一
能管理者可以随时 更新,添加航线 ,临时添加航班给用户查询带来最新的最准确的消息 ; 第四, 应具备 客户留言 功能,通过此功能 可以 实现对客户意见的反馈,作出及时的调整来满足客户需求。 系统数据流图和数据字典 系统的数据流图 数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 在数据流图中没有具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程。 此外
可穿戴设备不但能够实现对其他设备的控制,还将原本由手机、电脑实现的功能搬到了人的身体上。 从而让功能更加直观,让生活更加简单。 表达:可穿戴设备可随身携带,在交流的过程中,以投影、显示、三维成像、文件传输等方式实现更方便、更形象、更精确的表达。 另外,可穿戴设备也可以方便地在社交网络上分享个人见闻。 健康: 人的健康数据一些可穿戴设备如隐形眼镜、手环等,与人极度贴合,可检测到人的心率、血糖等数据