2024年3月20日发(作者:姚玉书)
2014年第4期
牡丹江师范学院学报(自然科学版)
NO.4,2014
(总第89期) Journal of Mudaniiang Normal University
TotalNO 89
基于嵌入式Linux电子书的设计与实现
梁融凌,余昌嵩
(福建师范大学福清分校数学与计算机科学系,福建福清350300)
摘要:设计并实现一款基于嵌入式Linux的便携式电子书,具有配置字体大小和颜色、字体格式选择、阅
读记录保存、文件搜索、触摸操作等功能.系统的硬件平台选用了¥3C2440,操作系统移植了嵌入
式Linux.
关键词:电子书;嵌入式系统;Linux
[中图分类号]TP319 [文献标志码]A [文章编号]1003—6180(2014)04—0012—03
随着“后PC”时代的到来,嵌入式的应用范围 图形液晶显示器中,LCD驱动程序为分配一块内
日益增长,涉及到人们生活的诸多方面.正由于 存,并且LCD上每个点对应着内存一个RGB单
此,嵌入式成为当前计算机技术研究的大热点,本 元,每当在内存上输入RGB数据时,相应的LCD
研究就以嵌入式Linux电子书这个实例来深入了
上点就输出相应的颜色.
解研究嵌入式系统的开发流程.r1 本文针对嵌入
式Linux电子书系统,从环境搭建、硬件平台选
[A1G
择、系统移植、原理介绍、功能模块设计与实现等
编 烧写(第一个)程序一
方面给出了完整的介绍.
1 电子书系统框架设计
袭 串口 运
序 一操作B编 oollondcr/Limm 霾
本课题选择嵌入式Linux作为开发板上系
霾 .
统.该系统硬件平台选用ARM平台,CPU选用
序 ’
传输文件 j
网络
F8
序
三星公司的S3C2440.¥3C244o为ARM 920T内
其他连接方式
●
核,采用专业稳定的CPU内核电源芯片和复位
芯片来保证系统运行时的稳定性L2],性能高并且
图1交叉开发模式圈
功耗低,是目前国内性价比高的一款开发板.此
外,¥3C244O主频为400 MHz,可以流畅地运行
Linux系统.液晶触摸显示屏LCD采用4.3寸
TFT液晶触摸屏,分辨率为320×240,满足电子
书系统要求.系统移植的Linux内核版本为
Linux2.6.22.[3_
肿成的冉存2“O开发撅I∞
本课题采用¥3C244O开发板进行嵌入式开
图2 LCD字体颜色显示原理
发,一般流程为:
2.1.2字符集
(1)在主机上编译Bootloader,并通过JTAG
计算机只能识别二进制,因此,当计算机要处
烧入开发板;
理各种字符时,要进行字符编码,即将文字转换成
(2)在主机上编译嵌入式Linux内核,通过
二进制,以便让计算机能够识别和存储.本课题涉
Bootloader烧人开发板;
及到的字符集如下:
(3)在主机上编译应用程序,通过NFS服务
(1)ASCII字符集.ASCII是美国信息交换标
器传输到开发板上并调试运行,L4 见图1.
准代码,一个字节表示,最高一位为0,共128字符.
2 电子书系统功能模块设计
(2)GB2312字符集.GB2312是我国标准的
简体中文字符集,在国标GB2312中,所有的国标
2.1 电子书原理
汉字及符号分配在一个94行、94列的方阵中,方
2.1.1 LCD字体颜色显示 阵的每一行称为一个“区”,每一列称为一个“位”,
LCD字体颜色显示原理如图2所示,在点阵
这种表示方式称为区位码.[5]
收稿日期:2014—06—12
基金项目:福建省本科高校专业综合改革试点资助项目
・
12 ・
2014年第4期
牡丹江师范学院学报(自然科学版)
NO.4,2014
(总第89期)
Journal of Mudanjiang Normal University
TotalNo 89
(3)ANSI字符集.在简体中文系统下,ANSI
根据前面介绍的各字符集编码方式的特点来获取
编码代表GB2312编码和ASCII编码的集合,即
文件中的编码值.
汉字用2字节表示,而ASCII编码仍然用1个字 (2)获取字体数据.通过编码值从字库中获
节表示.
取字体数据,如果文件采用的是Unicode编码方
(4)Unicode字符集.Unicode也称万国码、通 式,通过Freetype库来获取;如果文件是ANSI
用码,主要有UTF一8、UTF一16这2种编码方式. 编码方式可以通过点阵库获取,也可以通过Free—
2.1.3字库
type库来获取.[6
(1)汉字点阵字库.在汉字的点阵库中,每
点阵库获取字体数据方法 当编码格式方式
个字节的每个位都代表汉字的一个点,每个汉字 为ASCII时,从以下计算出的相对库开始位置取
都是由一个矩形点阵组成l6],凡笔画所到的格子
出16字节:
点为黑点,用二进制数“l”表示,否则为白点,用二 Offset一编码值*16
进制数“0”表示.这样,一个汉字的字形就可用一 当编码格式方式为GB2312时,从以下计算
串二进制数表示.图3显示了“大”字的16×16字
出的相对库开始位置取出32字节:
形点阵及代码.一。
offset一(94*(区码一1)4-(位码一1))*32
Freetype库获取字体数据方法调用库函数
FT
Load
—
Char()(其中一个参数为编码值),数据
将存在库中全局变量g—tSlot一>bitmap.buffer
指针所指的地方.
(3)显示字体.将得到的字体数据写到屏幕
所映射的内存上,字体就在屏幕上显示出来.
2.2功能模块设计
图3“大”字的字形点阵及代码
(2)矢量字库.矢量字库由矢量字体(Vector
图4 电子书的模块结构图
font)组成,每一个字形是通过数学曲线来描述的,
实际尺寸可以任意缩放而不变形、变色.矢量字体
电子书的模块结构见图4.编码获取模块,字
主要包括Type 1、TrueType、OpenType等几类.
体获取模块,LCD显示模块,页面管理模块是系
可以从C:/windows/Fonts看到很多矢量字
统的核心,即显示原理的实现[7],各模块功能说明
库.这些矢量字库在开头是charmaps,表示支持
如下:
的字符集,一般都支持GB2312和Unicode,字体
(1)配置管理模块(config.c).通过读取解析
可以用Freetype库来显示.
配置文件(bk.config)取得配置信息,并保持在全
2.1.4字体显示原理
局变量g—config上,为其他模块提供配置信息.
先解析文件所使用的字符集,并且根据前面
(2)文件搜索模块(file.c).从配置信息上的
介绍的各字符集编码方式的特点来获取文件中的
PATH选项(搜索路径)下,搜索以.txt结尾的文
编码值,通过获取得到的编码值从字库中获取字
本文件,并显示供选择打开.
体数据,最后将其显示出来.
(3)记录管理模块(record.c).根据配置信息
(1)获取编码值.不同编码格式的文件存储特
的SAVE选项,决定是否保存当前阅读记录以便
点:UTF8一编码格式的文件开头以EF BB BF这
下次打开继续阅读.
3个字节标识,然后跟编码数据;UTF一16be编
(4)输入操作模块(input—manager.C,stdin.
码格式的文件开头以FF FE这2个字节标识,然
C,touchscreen.c).stdin.C提供标准输入功能;
后跟编码数据;UTF一161e编码格式的文件开头
touchscreen.c提供触摸屏操作功能,需要tslib
以FE FF这2个字节标识,然后跟编码数据;
库的支持;touchscreen.c为上层提供获得输入事
ANSI编码格式的文件则无字节标识,文件开头
件接口.原理与驱动程序相似,stdin.C,touch—
直接就是编码数据,且ASCII的字节最高一位为
screen.c向input—manager.c注册,由input—
0,GB2312字节最高一位为1.可见可以通过读取
manager.c统一管理隐藏输入来源,封装成统一
文件前3位字符,解析文件所使用的字符集,并且
事件向应用程序提交,向外提供GetInputEvent
・
1 3 ・
2014年第4期
牡丹江师范学院学报(自然科学版)
NO.4。2O14
(总第89期) Journal of Mudanjiang Normal University
TotalNO 89
()函数.
使用display—manager.C输出点阵,显示字体;④
(5)编码获取模块.完成字体显示原理的第 显示的控制,屏幕一行显示满后,换到下行,当屏
一
部分的实现:获取编码值,即读取打开文件前3 幕一页满后,换到下页.
位,分析文件编码方式类别,并获取字的编码值.
(6)字体获取模块.完成字体显示原理的第
3 结束语
二部分的实现:获取字体数据,即通过编码值从字
本文以JZ2440开发板为基础,为开发板搭建
库中获取字体数据.
基本的运行程序环境:依次进行u—boot的移植烧
(7)LCD显示模块.完成字体显示原理的第
写,Linux内核的剪裁移植,定制根文件系统.L8
三部分的实现:将得到的字体数据写到屏幕所映
然后,交叉编译tslib库和Freetype库,为电子书
射的内存上,在屏幕上显示字体.
项目提供功能支持.介绍了电子书系统的功能,分
(8)页面管理模块(Draw.c).完成字体显示
析了实现的原理,最终实现了简单的电子书,在开
原理的整体流程,并且提供显示的控制:①使用
发板的屏幕上能看文档,看小说,等等.本电子书
encoding
程序的优点是易扩展,具有良好的移植性,但功能
—
manager.C来解析文件,获得编码;②使
用font—manger.c来处理编码,获得字体点阵;③
不是很多,有待改进.
参考文献
[1]孔令来,王倩,季红.基于Android系统平台设计和实现电子书的阅读应用[J].电子制作,2013(12):50—55.
[2]李志海.智能车辆驱动系统研究与开发[D].长沙:湖南大学,2008.
[3]韦东山.百问网精智JZ2440一v2开发板使用手册[EB/OI ].http://www.1OOask.org/JZ2440.htm1.
[4]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008.
[5]汉字点阵字库原理.(2011-01-02)http://blog.esdn.net/myzep123/article/details/6112114.
[6]徐鲁雄,林为伟.大学计算机基础[M].北京:中国铁道出版社,2o1o.
[7]陈文文.嵌入式平台上文字显示的研究[D].合肥:中国科学技术大学硕士论文,2009.
[8]陈刚.基于嵌入式Linux的电子书系统[[1].成都:电子科技大学,2005. 编辑:文心
基于MSRE206读写器的高校体育馆管理系统设计
李欣,纪玉玲
(黑龙江八一农垦大学信息技术学院。黑龙江大庆163319)
摘要:研究开发一款基于MSRE206型读写器的高校体育馆理系统,着重阐述了系统的功能实现过程.该
系统通过写卡器办卡,实现了刷卡消费及体能测试和统计等功能,为高校体育教学提供便利条件,
促进了体育馆规范化管理,提高了工作效率.
关键词:体育馆;管理系统;读写器
[中图分类号]TP315 [文献标志码]A [文章编号]1003—6180(2014)04—0014—03
鉴于高校办学规模的不断扩大,学生数量日渐
息,科学、客观的管理促进无纸化办公、节约人力物
递增[1],国务院关于深化教育改革全面推进素质教
力的同时,进一步提高了工作效率.
育的决定,要求确保学生体育课程和课外体育活动
1 高校体育馆管理系统
时间.学生消费群体的体育活动信息纳人体育馆管
理功能势在必行.据此本文研究开发一种基于
1_1 系统简介
MSRE206读写器的高校体育馆管理系统,本系统
系统以C#为开发语言,采用Server2008作
除了基本的外部消费者消费管理,重点实现体育教
为数据库管理._2 高校体育馆管理系统具备基本
师对学生每学期体质健康测试、体育项目管理、学
信息管理,同时通过读写器将自动产生的卡号写
生课外活动进行规范化记录,以刷卡方式统计信
入磁条卡内,消费者刷卡记录消费信息,完成各项
收稿日期:2014—08—20
基金项目:黑龙江省科技厅青年基金项目(QC2013C065);黑龙江八一农垦大学校级大学生创新项目(xc2014051)
通讯作者:纪玉玲
・
14 ・
2024年3月20日发(作者:姚玉书)
2014年第4期
牡丹江师范学院学报(自然科学版)
NO.4,2014
(总第89期) Journal of Mudaniiang Normal University
TotalNO 89
基于嵌入式Linux电子书的设计与实现
梁融凌,余昌嵩
(福建师范大学福清分校数学与计算机科学系,福建福清350300)
摘要:设计并实现一款基于嵌入式Linux的便携式电子书,具有配置字体大小和颜色、字体格式选择、阅
读记录保存、文件搜索、触摸操作等功能.系统的硬件平台选用了¥3C2440,操作系统移植了嵌入
式Linux.
关键词:电子书;嵌入式系统;Linux
[中图分类号]TP319 [文献标志码]A [文章编号]1003—6180(2014)04—0012—03
随着“后PC”时代的到来,嵌入式的应用范围 图形液晶显示器中,LCD驱动程序为分配一块内
日益增长,涉及到人们生活的诸多方面.正由于 存,并且LCD上每个点对应着内存一个RGB单
此,嵌入式成为当前计算机技术研究的大热点,本 元,每当在内存上输入RGB数据时,相应的LCD
研究就以嵌入式Linux电子书这个实例来深入了
上点就输出相应的颜色.
解研究嵌入式系统的开发流程.r1 本文针对嵌入
式Linux电子书系统,从环境搭建、硬件平台选
[A1G
择、系统移植、原理介绍、功能模块设计与实现等
编 烧写(第一个)程序一
方面给出了完整的介绍.
1 电子书系统框架设计
袭 串口 运
序 一操作B编 oollondcr/Limm 霾
本课题选择嵌入式Linux作为开发板上系
霾 .
统.该系统硬件平台选用ARM平台,CPU选用
序 ’
传输文件 j
网络
F8
序
三星公司的S3C2440.¥3C244o为ARM 920T内
其他连接方式
●
核,采用专业稳定的CPU内核电源芯片和复位
芯片来保证系统运行时的稳定性L2],性能高并且
图1交叉开发模式圈
功耗低,是目前国内性价比高的一款开发板.此
外,¥3C244O主频为400 MHz,可以流畅地运行
Linux系统.液晶触摸显示屏LCD采用4.3寸
TFT液晶触摸屏,分辨率为320×240,满足电子
书系统要求.系统移植的Linux内核版本为
Linux2.6.22.[3_
肿成的冉存2“O开发撅I∞
本课题采用¥3C244O开发板进行嵌入式开
图2 LCD字体颜色显示原理
发,一般流程为:
2.1.2字符集
(1)在主机上编译Bootloader,并通过JTAG
计算机只能识别二进制,因此,当计算机要处
烧入开发板;
理各种字符时,要进行字符编码,即将文字转换成
(2)在主机上编译嵌入式Linux内核,通过
二进制,以便让计算机能够识别和存储.本课题涉
Bootloader烧人开发板;
及到的字符集如下:
(3)在主机上编译应用程序,通过NFS服务
(1)ASCII字符集.ASCII是美国信息交换标
器传输到开发板上并调试运行,L4 见图1.
准代码,一个字节表示,最高一位为0,共128字符.
2 电子书系统功能模块设计
(2)GB2312字符集.GB2312是我国标准的
简体中文字符集,在国标GB2312中,所有的国标
2.1 电子书原理
汉字及符号分配在一个94行、94列的方阵中,方
2.1.1 LCD字体颜色显示 阵的每一行称为一个“区”,每一列称为一个“位”,
LCD字体颜色显示原理如图2所示,在点阵
这种表示方式称为区位码.[5]
收稿日期:2014—06—12
基金项目:福建省本科高校专业综合改革试点资助项目
・
12 ・
2014年第4期
牡丹江师范学院学报(自然科学版)
NO.4,2014
(总第89期)
Journal of Mudanjiang Normal University
TotalNo 89
(3)ANSI字符集.在简体中文系统下,ANSI
根据前面介绍的各字符集编码方式的特点来获取
编码代表GB2312编码和ASCII编码的集合,即
文件中的编码值.
汉字用2字节表示,而ASCII编码仍然用1个字 (2)获取字体数据.通过编码值从字库中获
节表示.
取字体数据,如果文件采用的是Unicode编码方
(4)Unicode字符集.Unicode也称万国码、通 式,通过Freetype库来获取;如果文件是ANSI
用码,主要有UTF一8、UTF一16这2种编码方式. 编码方式可以通过点阵库获取,也可以通过Free—
2.1.3字库
type库来获取.[6
(1)汉字点阵字库.在汉字的点阵库中,每
点阵库获取字体数据方法 当编码格式方式
个字节的每个位都代表汉字的一个点,每个汉字 为ASCII时,从以下计算出的相对库开始位置取
都是由一个矩形点阵组成l6],凡笔画所到的格子
出16字节:
点为黑点,用二进制数“l”表示,否则为白点,用二 Offset一编码值*16
进制数“0”表示.这样,一个汉字的字形就可用一 当编码格式方式为GB2312时,从以下计算
串二进制数表示.图3显示了“大”字的16×16字
出的相对库开始位置取出32字节:
形点阵及代码.一。
offset一(94*(区码一1)4-(位码一1))*32
Freetype库获取字体数据方法调用库函数
FT
Load
—
Char()(其中一个参数为编码值),数据
将存在库中全局变量g—tSlot一>bitmap.buffer
指针所指的地方.
(3)显示字体.将得到的字体数据写到屏幕
所映射的内存上,字体就在屏幕上显示出来.
2.2功能模块设计
图3“大”字的字形点阵及代码
(2)矢量字库.矢量字库由矢量字体(Vector
图4 电子书的模块结构图
font)组成,每一个字形是通过数学曲线来描述的,
实际尺寸可以任意缩放而不变形、变色.矢量字体
电子书的模块结构见图4.编码获取模块,字
主要包括Type 1、TrueType、OpenType等几类.
体获取模块,LCD显示模块,页面管理模块是系
可以从C:/windows/Fonts看到很多矢量字
统的核心,即显示原理的实现[7],各模块功能说明
库.这些矢量字库在开头是charmaps,表示支持
如下:
的字符集,一般都支持GB2312和Unicode,字体
(1)配置管理模块(config.c).通过读取解析
可以用Freetype库来显示.
配置文件(bk.config)取得配置信息,并保持在全
2.1.4字体显示原理
局变量g—config上,为其他模块提供配置信息.
先解析文件所使用的字符集,并且根据前面
(2)文件搜索模块(file.c).从配置信息上的
介绍的各字符集编码方式的特点来获取文件中的
PATH选项(搜索路径)下,搜索以.txt结尾的文
编码值,通过获取得到的编码值从字库中获取字
本文件,并显示供选择打开.
体数据,最后将其显示出来.
(3)记录管理模块(record.c).根据配置信息
(1)获取编码值.不同编码格式的文件存储特
的SAVE选项,决定是否保存当前阅读记录以便
点:UTF8一编码格式的文件开头以EF BB BF这
下次打开继续阅读.
3个字节标识,然后跟编码数据;UTF一16be编
(4)输入操作模块(input—manager.C,stdin.
码格式的文件开头以FF FE这2个字节标识,然
C,touchscreen.c).stdin.C提供标准输入功能;
后跟编码数据;UTF一161e编码格式的文件开头
touchscreen.c提供触摸屏操作功能,需要tslib
以FE FF这2个字节标识,然后跟编码数据;
库的支持;touchscreen.c为上层提供获得输入事
ANSI编码格式的文件则无字节标识,文件开头
件接口.原理与驱动程序相似,stdin.C,touch—
直接就是编码数据,且ASCII的字节最高一位为
screen.c向input—manager.c注册,由input—
0,GB2312字节最高一位为1.可见可以通过读取
manager.c统一管理隐藏输入来源,封装成统一
文件前3位字符,解析文件所使用的字符集,并且
事件向应用程序提交,向外提供GetInputEvent
・
1 3 ・
2014年第4期
牡丹江师范学院学报(自然科学版)
NO.4。2O14
(总第89期) Journal of Mudanjiang Normal University
TotalNO 89
()函数.
使用display—manager.C输出点阵,显示字体;④
(5)编码获取模块.完成字体显示原理的第 显示的控制,屏幕一行显示满后,换到下行,当屏
一
部分的实现:获取编码值,即读取打开文件前3 幕一页满后,换到下页.
位,分析文件编码方式类别,并获取字的编码值.
(6)字体获取模块.完成字体显示原理的第
3 结束语
二部分的实现:获取字体数据,即通过编码值从字
本文以JZ2440开发板为基础,为开发板搭建
库中获取字体数据.
基本的运行程序环境:依次进行u—boot的移植烧
(7)LCD显示模块.完成字体显示原理的第
写,Linux内核的剪裁移植,定制根文件系统.L8
三部分的实现:将得到的字体数据写到屏幕所映
然后,交叉编译tslib库和Freetype库,为电子书
射的内存上,在屏幕上显示字体.
项目提供功能支持.介绍了电子书系统的功能,分
(8)页面管理模块(Draw.c).完成字体显示
析了实现的原理,最终实现了简单的电子书,在开
原理的整体流程,并且提供显示的控制:①使用
发板的屏幕上能看文档,看小说,等等.本电子书
encoding
程序的优点是易扩展,具有良好的移植性,但功能
—
manager.C来解析文件,获得编码;②使
用font—manger.c来处理编码,获得字体点阵;③
不是很多,有待改进.
参考文献
[1]孔令来,王倩,季红.基于Android系统平台设计和实现电子书的阅读应用[J].电子制作,2013(12):50—55.
[2]李志海.智能车辆驱动系统研究与开发[D].长沙:湖南大学,2008.
[3]韦东山.百问网精智JZ2440一v2开发板使用手册[EB/OI ].http://www.1OOask.org/JZ2440.htm1.
[4]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008.
[5]汉字点阵字库原理.(2011-01-02)http://blog.esdn.net/myzep123/article/details/6112114.
[6]徐鲁雄,林为伟.大学计算机基础[M].北京:中国铁道出版社,2o1o.
[7]陈文文.嵌入式平台上文字显示的研究[D].合肥:中国科学技术大学硕士论文,2009.
[8]陈刚.基于嵌入式Linux的电子书系统[[1].成都:电子科技大学,2005. 编辑:文心
基于MSRE206读写器的高校体育馆管理系统设计
李欣,纪玉玲
(黑龙江八一农垦大学信息技术学院。黑龙江大庆163319)
摘要:研究开发一款基于MSRE206型读写器的高校体育馆理系统,着重阐述了系统的功能实现过程.该
系统通过写卡器办卡,实现了刷卡消费及体能测试和统计等功能,为高校体育教学提供便利条件,
促进了体育馆规范化管理,提高了工作效率.
关键词:体育馆;管理系统;读写器
[中图分类号]TP315 [文献标志码]A [文章编号]1003—6180(2014)04—0014—03
鉴于高校办学规模的不断扩大,学生数量日渐
息,科学、客观的管理促进无纸化办公、节约人力物
递增[1],国务院关于深化教育改革全面推进素质教
力的同时,进一步提高了工作效率.
育的决定,要求确保学生体育课程和课外体育活动
1 高校体育馆管理系统
时间.学生消费群体的体育活动信息纳人体育馆管
理功能势在必行.据此本文研究开发一种基于
1_1 系统简介
MSRE206读写器的高校体育馆管理系统,本系统
系统以C#为开发语言,采用Server2008作
除了基本的外部消费者消费管理,重点实现体育教
为数据库管理._2 高校体育馆管理系统具备基本
师对学生每学期体质健康测试、体育项目管理、学
信息管理,同时通过读写器将自动产生的卡号写
生课外活动进行规范化记录,以刷卡方式统计信
入磁条卡内,消费者刷卡记录消费信息,完成各项
收稿日期:2014—08—20
基金项目:黑龙江省科技厅青年基金项目(QC2013C065);黑龙江八一农垦大学校级大学生创新项目(xc2014051)
通讯作者:纪玉玲
・
14 ・