Qt5.8移植到arm335x上字体显示异常问题

永不懂的黑 2018-08-22 11:56:29
我的板子分辨率是1024x600,物理尺寸154x92单位cm。现在问题是这样的,当我的环境变量
配置为下如下
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1024x600:mmsize=154x92:offset=0x0:tty=/dev/tty1
Qt应用程序部分为
int main(int argc, char *argv[])
{
// QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication a(argc, argv);
QWidget pDevice;
qDebug() << "logical" << pDevice.logicalDpiX() << pDevice.logicalDpiY();
qDebug() << "physical" << pDevice.physicalDpiX() << pDevice.physicalDpiY();
myUiloader loader;

QFile file("./Scrip.ui");
file.open(QFile::ReadOnly);
loader.addPluginPath("./");
//qDebug() << "pluginPaths:" << loader.pluginPaths();
//auto *Uiwidget = qobject_cast<ICDButton *>(loader.load(&file));
QWidget * w= loader.load(&file);
file.close();
w->show();
return a.exec();

此时交叉编译后,在板子上运行打印信息为logical2 169 166 physical2 169 166
根据dpi的计算方式确实是169 166,但是这时动态加载ui界面文件字体显示异常偏大,并不是所见所得,而当我修改配置
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1024x600:**mmsize=169x166**:offset=0x0:tty=/dev/tty1后
运行Qt应用程序,打印信息变成logical 154 92 physical 154 92,此时所有字体显示正常(按照qt官网说明mmsize设置应该是mmsize=154x92才是对的,这是显示才应该正常)请问这可能是什么原因?本人初学Qt,求大神解答
...全文
414 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
第1章 Linux开发基础.1 1.1 Linux系统概述1 1.1.1 Linux简介1 1.1.2 Linux系统的特点1 1.1.3 Linux系统的组成2 1.2 Linux系统的使用2 实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和执行8 1.4.2 Shell的变量8 1.4.3 Shell的测试命令9 1.4.4 条件语句9 1.4.5 循环语句9 1.4.6 函数10 实验1.3 Shell脚本编程实验10 .第2章 嵌入式Linux系统基础12 2.1 构建嵌入式Linux系统环境12 2.1.1 交叉编译12 2.1.2 交叉编译器12 2.1.3 NFS13 实验2.1 嵌入式Linux开发环境的建立14 2.2 Linux C程序设计17 2.2.1 C程序设计概述17 2.2.2 Makefile介绍17 2.2.3 Makefile中的变量18 2.2.4 Makefile隐含规则19 实验2.2 Makefile与helloworld19 2.3 Linux多线程库编程21 2.3.1 多线程21 2.3.2 Linux下的多线程21 2.3.3 生产者-消费者模型简述22 2.3.4 缓冲区操作概述22 2.3.5 几个线程API23 实验2.3 Linux多线程使用实例——生产者-消费者协议24 2.4 进程创建以及进程间通信25 2.4.1 进程概述25 2.4.2 进程的相关函数25 2.4.3 信号概述27 2.4.4 信号的相关函数27 2.4.5 管道概述27 2.4.6 管道的相关函数28 实验2.4 进程相关的应用程序设计28 综合实验一嵌入式平台的进程管理模拟实验33 第3章 嵌入式Linux内核、引导系统和文件系统36 3.1 Linux内核定制、裁剪和添加36 3.1.1 概述36 3.1.2 内核目录简介37 3.1.3 配置文件和配置工具37 3.1.4 内核的编译命令39 实验3.1 Linux内核裁剪与编译40 3.2 嵌入式引导系统技术42 3.2.1 概述42 3.2.2 Linux的引导系统——vivi与uboot43 3.3 文件系统的构建44 3.3.1 概述44 3.3.2 BusyBox45 综合实验二软盘Linux操作系统的实现45 第4章 嵌入式Linux接口设计与驱动程序53 4.1 驱动程序设计基础53 4.1.1 Linux驱动程序简介53 4.1.2 开发驱动程序的方法53 4.1.3 设备驱动程序的分类53 4.1.4 主设备号和次设备号54 4.1.5 设备文件系统(devfs)与udevfs54 实验4.1 虚拟驱动模块实验55 4.2 AD接口驱动程序63 4.2.1 AD转换器63 4.2.2 AD转换有关参数64 4.2.3 ARM自带的AD转换装置65 实验4.2 AD接口驱动程序66 4.3 直流电机驱动68 4.3.1 直流电机介绍68 4.3.2 直流电机的PWM原理68 4.3.3 PWM TIMER结构69 4.3.4 基于ARM的PWM相关寄存器69 4.3.5 关于程序实现72 实验4.3 直流电机PWM驱动实验72 4.4 触摸屏接口设计与驱动74 4.4.1 触摸屏的工作原理74 4.4.2 触摸屏驱动芯片ADS784375 4.4.3 S3C2410芯片的触摸屏相关配置寄存器75 实验4.4 tslib移植和使用78 4.5 显示接口与Linux FrameBuffer83 4.5.1 FrameBuffer机制介绍83 4.5.2 LCD简介84 实验4.5 FrameBuffer实验88 4.6 V4L程序设计90 4.6.1 V4L概述90 4.6.2 V4L设备的体系结构91 实验4.6 Linux视频V4L驱动实验91 4.7 OSS程序设计93 4.7.1 OSS概述93 4.7.2 OSS设备的体系结构94 4.7.3 OSS驱动分析94 4.7.4 OSS用户空间编程95 实验4.7 Linux音频OSS驱动实验95 综合实验三五子棋游戏的实现97 第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 嵌入式WebServer GoAhead实验103 5.2 嵌入式Web Service gSOAP的移植与应用105 5.2.1 gSOAP介绍105 5.2.2 gSOAP裁剪106 5.2.3 gSOAP应用109 实验5.2 WebService gSOAP实验111 5.3 嵌入式数据库SQLite的移植与使用113 5.3.1 嵌入式数据库113 5.3.2 SQLite介绍114 5.3.3 SQLite在ARM平台上的移植114 5.3.4 SQLite的使用115 实验5.3 SQLite移植实验115 5.4 播放器Mplayer的移植120 5.4.1 Mplayer介绍120 5.4.2 Mplayer在ARM平台上的移植120 实验5.4 Mplayer到ARM平台上的移植121 5.5 ffmpeg应用123 5.5.1 ffmpeg简介123 5.5.2 ffmpeg在ARM上的移植124 5.5.3 ffmpeg命令应用实例124 5.5.4 ffmpeg中几个重要的数据结构125 5.5.5 ffmpeg应用开发126 实验5.5 ffmpeg移植与应用127 5.6 开源软件移植的一般过程131 5.6.1 软件移植的概念131 5.6.2 软件移植过程131 5.7 J2ME-phoneME移植132 5.7.1 phoneME简介132 5.7.2 软件移植过程与效果132 5.8 嵌入式浏览器konqueror移植133 5.8.1 konqueror简介133 5.8.2 软件移植过程与效果133 综合实验四基于WebService的嵌入式计算器..134 第6章 嵌入式Linux图形用户界面137 6.1 嵌入式GUI简介137 6.1.1 嵌入式GUI的特点137 6.1.2 嵌入式GUI的种类137 6.2 嵌入式GUI——Qt138 6.2.1 Qt与Qt/Embedded简介138 6.2.2 Qt的特点138 6.2.3 Qt的执行过程139 6.2.4 Qt的插槽机制140 6.2.5 一个完整的Qt程序140 6.2.6 QtDesigner介绍141 实验6.1 Qt图形界面相关实验141 6.3 基于Qt技术的Qtopia157 6.3.1 Qtopia简介157 6.3.2 Qtopia的功能157 6.3.3 Qtopia编程157 实验6.2 Qtopia的移植以及编程158 综合实验五电子点菜系统165 第7章 嵌入式Linux下的通信应用167 7.1 嵌入式Linux下的串口通信167 7.1.1 串口简介167 7.1.2 串口编程167 7.1.3 串口编程应用实例168 实验7.1 串口通信实验170 7.2 嵌入式Linux网络编程171 7.2.1 网络通信171 7.2.2 Socket简介172 7.2.3 网络编程172 实验7.2 Socket相关程序设计174 7.3 嵌入式蓝牙技术176 7.3.1 蓝牙技术176 7.3.2 蓝牙体系结构176 7.3.3 蓝牙通信网络177 7.3.4 Linux Bluetooth 软件层177 7.3.5 USB适配器177 实验7.3 蓝牙相关实验178 7.4 CAN总线181 7.4.1 CAN总线简介181 7.4.2 CAN总线硬件特征182 7.4.3 CAN控制器驱动184 实验7.4 CAN总线实验186 第8章 嵌入式系统硬件设计基础与标准189 8.1 嵌入式系统的硬件组成189 8.1.1 嵌入式微处理器189 8.1.2 存储器189 8.1.3 输入/输出设备191 8.1.4 通信与扩展接口191 8.2 硬件设计基础知识191 8.2.1 计算机体系结构191 8.2.2 电子技术192 8.2.3 抗干扰技术193 8.2.4 印制电路板194 8.3 硬件设计中应注意的一些问题195 8.3.1 IC元件的选择195 8.3.2 元件封装设计195 8.3.3 PCB设计精度195 8.3.4 分离元件的正确使用195 8.3.5 高速PCB设计方法196 8.3.6 PCB设计的一般原则196 实验8.1 常用模拟电路和数字电路原理197 实验8.22 410-S电路原理图阅读202 实验8.32 410-S所用芯片数据手册阅读205 实验8.4O MAP5910核心板电路原理208 综合实验六基于OMAP的加密终端硬件设计214 第9章 OMAP5910与Linux Gateway219 9.1 OMAP5910体系结构219 9.1.1 MPU子系统219 9.1.2 DSP子系统219 9.2 Linux DSP Gateway221 9.2.1 DSP Gateway的由来221 9.2.2 DSP Gateway的Mailbox机制222 9.2.3 通信缓冲222 9.2.4 Mailbox命令协议224 9.2.5 DSP Gateway的设备接口225 实验9.1O MAP5910双核间基本通信226 9.3 OMAP5910图像处理229 9.3.1 图片格式229 9.3.2 数字图像算法230 实验9.2 OMAP图像处理实验232 综合实验七基于OMAP的加密终端的实现(软件部分)234 第10章 嵌入式Linux综合项目实例238 10.1 基于嵌入式平台的电梯监控系统238 10.1.1 系统概述23810.1.2系统设计239 10.1.3 系统实现242 10.1.4 项目小结248 10.2 基于蓝牙技术的嵌入式点菜系统249 10.2.1 系统概述249 10.2.2 系统设计250 10.2.3 系统实现256 10.2.4 项目小结257 10.3 基于Web Service的数字油田监控系统257 10.3.1 系统概述257 10.3.2 系统设计259 10.3.3 系统实现268 10.3.4 项目小结270 10.4 基于嵌入式与Web Service的智能家居系统270 10.4.1 系统概述271 10.4.2 系统设计272 10.4.3 系统实现286 10.4.4 项目小结297 10.5 基于OMAP的音频与视频处理298 10.5.1 概述298 10.5.2 MPEG压缩298 10.5.3 音视频数据在双处理器间的传输模块设计299 10.5.4 音频处理方案设计300 10.5.5 视频处理方案设计300 10.5.6 项目小结303 参考文献...305
第1章 Linux开发基础.1 1.1 Linux系统概述1 1.1.1 Linux简介1 1.1.2 Linux系统的特点1 1.1.3 Linux系统的组成2 1.2 Linux系统的使用2 实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和执行8 1.4.2 Shell的变量8 1.4.3 Shell的测试命令9 1.4.4 条件语句9 1.4.5 循环语句9 1.4.6 函数10 实验1.3 Shell脚本编程实验10 .第2章 嵌入式Linux系统基础12 2.1 构建嵌入式Linux系统环境12 2.1.1 交叉编译12 2.1.2 交叉编译器12 2.1.3 NFS13 实验2.1 嵌入式Linux开发环境的建立14 2.2 Linux C程序设计17 2.2.1 C程序设计概述17 2.2.2 Makefile介绍17 2.2.3 Makefile中的变量18 2.2.4 Makefile隐含规则19 实验2.2 Makefile与helloworld19 2.3 Linux多线程库编程21 2.3.1 多线程21 2.3.2 Linux下的多线程21 2.3.3 生产者-消费者模型简述22 2.3.4 缓冲区操作概述22 2.3.5 几个线程API23 实验2.3 Linux多线程使用实例——生产者-消费者协议24 2.4 进程创建以及进程间通信25 2.4.1 进程概述25 2.4.2 进程的相关函数25 2.4.3 信号概述27 2.4.4 信号的相关函数27 2.4.5 管道概述27 2.4.6 管道的相关函数28 实验2.4 进程相关的应用程序设计28 综合实验一嵌入式平台的进程管理模拟实验33 第3章 嵌入式Linux内核、引导系统和文件系统36 3.1 Linux内核定制、裁剪和添加36 3.1.1 概述36 3.1.2 内核目录简介37 3.1.3 配置文件和配置工具37 3.1.4 内核的编译命令39 实验3.1 Linux内核裁剪与编译40 3.2 嵌入式引导系统技术42 3.2.1 概述42 3.2.2 Linux的引导系统——vivi与uboot43 3.3 文件系统的构建44 3.3.1 概述44 3.3.2 BusyBox45 综合实验二软盘Linux操作系统的实现45 第4章 嵌入式Linux接口设计与驱动程序53 4.1 驱动程序设计基础53 4.1.1 Linux驱动程序简介53 4.1.2 开发驱动程序的方法53 4.1.3 设备驱动程序的分类53 4.1.4 主设备号和次设备号54 4.1.5 设备文件系统(devfs)与udevfs54 实验4.1 虚拟驱动模块实验55 4.2 AD接口驱动程序63 4.2.1 AD转换器63 4.2.2 AD转换有关参数64 4.2.3 ARM自带的AD转换装置65 实验4.2 AD接口驱动程序66 4.3 直流电机驱动68 4.3.1 直流电机介绍68 4.3.2 直流电机的PWM原理68 4.3.3 PWM TIMER结构69 4.3.4 基于ARM的PWM相关寄存器69 4.3.5 关于程序实现72 实验4.3 直流电机PWM驱动实验72 4.4 触摸屏接口设计与驱动74 4.4.1 触摸屏的工作原理74 4.4.2 触摸屏驱动芯片ADS784375 4.4.3 S3C2410芯片的触摸屏相关配置寄存器75 实验4.4 tslib移植和使用78 4.5 显示接口与Linux FrameBuffer83 4.5.1 FrameBuffer机制介绍83 4.5.2 LCD简介84 实验4.5 FrameBuffer实验88 4.6 V4L程序设计90 4.6.1 V4L概述90 4.6.2 V4L设备的体系结构91 实验4.6 Linux视频V4L驱动实验91 4.7 OSS程序设计93 4.7.1 OSS概述93 4.7.2 OSS设备的体系结构94 4.7.3 OSS驱动分析94 4.7.4 OSS用户空间编程95 实验4.7 Linux音频OSS驱动实验95 综合实验三五子棋游戏的实现97 第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 嵌入式WebServer GoAhead实验103 5.2 嵌入式Web Service gSOAP的移植与应用105 5.2.1 gSOAP介绍105 5.2.2 gSOAP裁剪106 5.2.3 gSOAP应用109 实验5.2 WebService gSOAP实验111 5.3 嵌入式数据库SQLite的移植与使用113 5.3.1 嵌入式数据库113 5.3.2 SQLite介绍114 5.3.3 SQLite在ARM平台上的移植114 5.3.4 SQLite的使用115 实验5.3 SQLite移植实验115 5.4 播放器Mplayer的移植120 5.4.1 Mplayer介绍120 5.4.2 Mplayer在ARM平台上的移植120 实验5.4 Mplayer到ARM平台上的移植121 5.5 ffmpeg应用123 5.5.1 ffmpeg简介123 5.5.2 ffmpeg在ARM上的移植124 5.5.3 ffmpeg命令应用实例124 5.5.4 ffmpeg中几个重要的数据结构125 5.5.5 ffmpeg应用开发126 实验5.5 ffmpeg移植与应用127 5.6 开源软件移植的一般过程131 5.6.1 软件移植的概念131 5.6.2 软件移植过程131 5.7 J2ME-phoneME移植132 5.7.1 phoneME简介132 5.7.2 软件移植过程与效果132 5.8 嵌入式浏览器konqueror移植133 5.8.1 konqueror简介133 5.8.2 软件移植过程与效果133 综合实验四基于WebService的嵌入式计算器..134 第6章 嵌入式Linux图形用户界面137 6.1 嵌入式GUI简介137 6.1.1 嵌入式GUI的特点137 6.1.2 嵌入式GUI的种类137 6.2 嵌入式GUI——Qt138 6.2.1 Qt与Qt/Embedded简介138 6.2.2 Qt的特点138 6.2.3 Qt的执行过程139 6.2.4 Qt的插槽机制140 6.2.5 一个完整的Qt程序140 6.2.6 QtDesigner介绍141 实验6.1 Qt图形界面相关实验141 6.3 基于Qt技术的Qtopia157 6.3.1 Qtopia简介157 6.3.2 Qtopia的功能157 6.3.3 Qtopia编程157 实验6.2 Qtopia的移植以及编程158 综合实验五电子点菜系统165 第7章 嵌入式Linux下的通信应用167 7.1 嵌入式Linux下的串口通信167 7.1.1 串口简介167 7.1.2 串口编程167 7.1.3 串口编程应用实例168 实验7.1 串口通信实验170 7.2 嵌入式Linux网络编程171 7.2.1 网络通信171 7.2.2 Socket简介172 7.2.3 网络编程172 实验7.2 Socket相关程序设计174 7.3 嵌入式蓝牙技术176 7.3.1 蓝牙技术176 7.3.2 蓝牙体系结构176 7.3.3 蓝牙通信网络177 7.3.4 Linux Bluetooth 软件层177 7.3.5 USB适配器177 实验7.3 蓝牙相关实验178 7.4 CAN总线181 7.4.1 CAN总线简介181 7.4.2 CAN总线硬件特征182 7.4.3 CAN控制器驱动184 实验7.4 CAN总线实验186 第8章 嵌入式系统硬件设计基础与标准189 8.1 嵌入式系统的硬件组成189 8.1.1 嵌入式微处理器189 8.1.2 存储器189 8.1.3 输入/输出设备191 8.1.4 通信与扩展接口191 8.2 硬件设计基础知识191 8.2.1 计算机体系结构191 8.2.2 电子技术192 8.2.3 抗干扰技术193 8.2.4 印制电路板194 8.3 硬件设计中应注意的一些问题195 8.3.1 IC元件的选择195 8.3.2 元件封装设计195 8.3.3 PCB设计精度195 8.3.4 分离元件的正确使用195 8.3.5 高速PCB设计方法196 8.3.6 PCB设计的一般原则196 实验8.1 常用模拟电路和数字电路原理197 实验8.22 410-S电路原理图阅读202 实验8.32 410-S所用芯片数据手册阅读205 实验8.4O MAP5910核心板电路原理208 综合实验六基于OMAP的加密终端硬件设计214 第9章 OMAP5910与Linux Gateway219 9.1 OMAP5910体系结构219 9.1.1 MPU子系统219 9.1.2 DSP子系统219 9.2 Linux DSP Gateway221 9.2.1 DSP Gateway的由来221 9.2.2 DSP Gateway的Mailbox机制222 9.2.3 通信缓冲222 9.2.4 Mailbox命令协议224 9.2.5 DSP Gateway的设备接口225 实验9.1O MAP5910双核间基本通信226 9.3 OMAP5910图像处理229 9.3.1 图片格式229 9.3.2 数字图像算法230 实验9.2 OMAP图像处理实验232 综合实验七基于OMAP的加密终端的实现(软件部分)234 第10章 嵌入式Linux综合项目实例238 10.1 基于嵌入式平台的电梯监控系统238 10.1.1 系统概述23810.1.2系统设计239 10.1.3 系统实现242 10.1.4 项目小结248 10.2 基于蓝牙技术的嵌入式点菜系统249 10.2.1 系统概述249 10.2.2 系统设计250 10.2.3 系统实现256 10.2.4 项目小结257 10.3 基于Web Service的数字油田监控系统257 10.3.1 系统概述257 10.3.2 系统设计259 10.3.3 系统实现268 10.3.4 项目小结270 10.4 基于嵌入式与Web Service的智能家居系统270 10.4.1 系统概述271 10.4.2 系统设计272 10.4.3 系统实现286 10.4.4 项目小结297 10.5 基于OMAP的音频与视频处理298 10.5.1 概述298 10.5.2 MPEG压缩298 10.5.3 音视频数据在双处理器间的传输模块设计299 10.5.4 音频处理方案设计300 10.5.5 视频处理方案设计300 10.5.6 项目小结303 参考文献...305
第1章 Linux开发基础.1 1.1 Linux系统概述1 1.1.1 Linux简介1 1.1.2 Linux系统的特点1 1.1.3 Linux系统的组成2 1.2 Linux系统的使用2 实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和执行8 1.4.2 Shell的变量8 1.4.3 Shell的测试命令9 1.4.4 条件语句9 1.4.5 循环语句9 1.4.6 函数10 实验1.3 Shell脚本编程实验10 .第2章 嵌入式Linux系统基础12 2.1 构建嵌入式Linux系统环境12 2.1.1 交叉编译12 2.1.2 交叉编译器12 2.1.3 NFS13 实验2.1 嵌入式Linux开发环境的建立14 2.2 Linux C程序设计17 2.2.1 C程序设计概述17 2.2.2 Makefile介绍17 2.2.3 Makefile中的变量18 2.2.4 Makefile隐含规则19 实验2.2 Makefile与helloworld19 2.3 Linux多线程库编程21 2.3.1 多线程21 2.3.2 Linux下的多线程21 2.3.3 生产者-消费者模型简述22 2.3.4 缓冲区操作概述22 2.3.5 几个线程API23 实验2.3 Linux多线程使用实例——生产者-消费者协议24 2.4 进程创建以及进程间通信25 2.4.1 进程概述25 2.4.2 进程的相关函数25 2.4.3 信号概述27 2.4.4 信号的相关函数27 2.4.5 管道概述27 2.4.6 管道的相关函数28 实验2.4 进程相关的应用程序设计28 综合实验一嵌入式平台的进程管理模拟实验33 第3章 嵌入式Linux内核、引导系统和文件系统36 3.1 Linux内核定制、裁剪和添加36 3.1.1 概述36 3.1.2 内核目录简介37 3.1.3 配置文件和配置工具37 3.1.4 内核的编译命令39 实验3.1 Linux内核裁剪与编译40 3.2 嵌入式引导系统技术42 3.2.1 概述42 3.2.2 Linux的引导系统——vivi与uboot43 3.3 文件系统的构建44 3.3.1 概述44 3.3.2 BusyBox45 综合实验二软盘Linux操作系统的实现45 第4章 嵌入式Linux接口设计与驱动程序53 4.1 驱动程序设计基础53 4.1.1 Linux驱动程序简介53 4.1.2 开发驱动程序的方法53 4.1.3 设备驱动程序的分类53 4.1.4 主设备号和次设备号54 4.1.5 设备文件系统(devfs)与udevfs54 实验4.1 虚拟驱动模块实验55 4.2 AD接口驱动程序63 4.2.1 AD转换器63 4.2.2 AD转换有关参数64 4.2.3 ARM自带的AD转换装置65 实验4.2 AD接口驱动程序66 4.3 直流电机驱动68 4.3.1 直流电机介绍68 4.3.2 直流电机的PWM原理68 4.3.3 PWM TIMER结构69 4.3.4 基于ARM的PWM相关寄存器69 4.3.5 关于程序实现72 实验4.3 直流电机PWM驱动实验72 4.4 触摸屏接口设计与驱动74 4.4.1 触摸屏的工作原理74 4.4.2 触摸屏驱动芯片ADS784375 4.4.3 S3C2410芯片的触摸屏相关配置寄存器75 实验4.4 tslib移植和使用78 4.5 显示接口与Linux FrameBuffer83 4.5.1 FrameBuffer机制介绍83 4.5.2 LCD简介84 实验4.5 FrameBuffer实验88 4.6 V4L程序设计90 4.6.1 V4L概述90 4.6.2 V4L设备的体系结构91 实验4.6 Linux视频V4L驱动实验91 4.7 OSS程序设计93 4.7.1 OSS概述93 4.7.2 OSS设备的体系结构94 4.7.3 OSS驱动分析94 4.7.4 OSS用户空间编程95 实验4.7 Linux音频OSS驱动实验95 综合实验三五子棋游戏的实现97 第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 嵌入式WebServer GoAhead实验103 5.2 嵌入式Web Service gSOAP的移植与应用105 5.2.1 gSOAP介绍105 5.2.2 gSOAP裁剪106 5.2.3 gSOAP应用109 实验5.2 WebService gSOAP实验111 5.3 嵌入式数据库SQLite的移植与使用113 5.3.1 嵌入式数据库113 5.3.2 SQLite介绍114 5.3.3 SQLite在ARM平台上的移植114 5.3.4 SQLite的使用115 实验5.3 SQLite移植实验115 5.4 播放器Mplayer的移植120 5.4.1 Mplayer介绍120 5.4.2 Mplayer在ARM平台上的移植120 实验5.4 Mplayer到ARM平台上的移植121 5.5 ffmpeg应用123 5.5.1 ffmpeg简介123 5.5.2 ffmpeg在ARM上的移植124 5.5.3 ffmpeg命令应用实例124 5.5.4 ffmpeg中几个重要的数据结构125 5.5.5 ffmpeg应用开发126 实验5.5 ffmpeg移植与应用127 5.6 开源软件移植的一般过程131 5.6.1 软件移植的概念131 5.6.2 软件移植过程131 5.7 J2ME-phoneME移植132 5.7.1 phoneME简介132 5.7.2 软件移植过程与效果132 5.8 嵌入式浏览器konqueror移植133 5.8.1 konqueror简介133 5.8.2 软件移植过程与效果133 综合实验四基于WebService的嵌入式计算器..134 第6章 嵌入式Linux图形用户界面137 6.1 嵌入式GUI简介137 6.1.1 嵌入式GUI的特点137 6.1.2 嵌入式GUI的种类137 6.2 嵌入式GUI——Qt138 6.2.1 Qt与Qt/Embedded简介138 6.2.2 Qt的特点138 6.2.3 Qt的执行过程139 6.2.4 Qt的插槽机制140 6.2.5 一个完整的Qt程序140 6.2.6 QtDesigner介绍141 实验6.1 Qt图形界面相关实验141 6.3 基于Qt技术的Qtopia157 6.3.1 Qtopia简介157 6.3.2 Qtopia的功能157 6.3.3 Qtopia编程157 实验6.2 Qtopia的移植以及编程158 综合实验五电子点菜系统165 第7章 嵌入式Linux下的通信应用167 7.1 嵌入式Linux下的串口通信167 7.1.1 串口简介167 7.1.2 串口编程167 7.1.3 串口编程应用实例168 实验7.1 串口通信实验170 7.2 嵌入式Linux网络编程171 7.2.1 网络通信171 7.2.2 Socket简介172 7.2.3 网络编程172 实验7.2 Socket相关程序设计174 7.3 嵌入式蓝牙技术176 7.3.1 蓝牙技术176 7.3.2 蓝牙体系结构176 7.3.3 蓝牙通信网络177 7.3.4 Linux Bluetooth 软件层177 7.3.5 USB适配器177 实验7.3 蓝牙相关实验178 7.4 CAN总线181 7.4.1 CAN总线简介181 7.4.2 CAN总线硬件特征182 7.4.3 CAN控制器驱动184 实验7.4 CAN总线实验186 第8章 嵌入式系统硬件设计基础与标准189 8.1 嵌入式系统的硬件组成189 8.1.1 嵌入式微处理器189 8.1.2 存储器189 8.1.3 输入/输出设备191 8.1.4 通信与扩展接口191 8.2 硬件设计基础知识191 8.2.1 计算机体系结构191 8.2.2 电子技术192 8.2.3 抗干扰技术193 8.2.4 印制电路板194 8.3 硬件设计中应注意的一些问题195 8.3.1 IC元件的选择195 8.3.2 元件封装设计195 8.3.3 PCB设计精度195 8.3.4 分离元件的正确使用195 8.3.5 高速PCB设计方法196 8.3.6 PCB设计的一般原则196 实验8.1 常用模拟电路和数字电路原理197 实验8.22 410-S电路原理图阅读202 实验8.32 410-S所用芯片数据手册阅读205 实验8.4O MAP5910核心板电路原理208 综合实验六基于OMAP的加密终端硬件设计214 第9章 OMAP5910与Linux Gateway219 9.1 OMAP5910体系结构219 9.1.1 MPU子系统219 9.1.2 DSP子系统219 9.2 Linux DSP Gateway221 9.2.1 DSP Gateway的由来221 9.2.2 DSP Gateway的Mailbox机制222 9.2.3 通信缓冲222 9.2.4 Mailbox命令协议224 9.2.5 DSP Gateway的设备接口225 实验9.1O MAP5910双核间基本通信226 9.3 OMAP5910图像处理229 9.3.1 图片格式229 9.3.2 数字图像算法230 实验9.2 OMAP图像处理实验232 综合实验七基于OMAP的加密终端的实现(软件部分)234 第10章 嵌入式Linux综合项目实例238 10.1 基于嵌入式平台的电梯监控系统238 10.1.1 系统概述23810.1.2系统设计239 10.1.3 系统实现242 10.1.4 项目小结248 10.2 基于蓝牙技术的嵌入式点菜系统249 10.2.1 系统概述249 10.2.2 系统设计250 10.2.3 系统实现256 10.2.4 项目小结257 10.3 基于Web Service的数字油田监控系统257 10.3.1 系统概述257 10.3.2 系统设计259 10.3.3 系统实现268 10.3.4 项目小结270 10.4 基于嵌入式与Web Service的智能家居系统270 10.4.1 系统概述271 10.4.2 系统设计272 10.4.3 系统实现286 10.4.4 项目小结297 10.5 基于OMAP的音频与视频处理298 10.5.1 概述298 10.5.2 MPEG压缩298 10.5.3 音视频数据在双处理器间的传输模块设计299 10.5.4 音频处理方案设计300 10.5.5 视频处理方案设计300 10.5.6 项目小结303 参考文献...305
第1章 Linux开发基础.1 1.1 Linux系统概述1 1.1.1 Linux简介1 1.1.2 Linux系统的特点1 1.1.3 Linux系统的组成2 1.2 Linux系统的使用2 实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和执行8 1.4.2 Shell的变量8 1.4.3 Shell的测试命令9 1.4.4 条件语句9 1.4.5 循环语句9 1.4.6 函数10 实验1.3 Shell脚本编程实验10 .第2章 嵌入式Linux系统基础12 2.1 构建嵌入式Linux系统环境12 2.1.1 交叉编译12 2.1.2 交叉编译器12 2.1.3 NFS13 实验2.1 嵌入式Linux开发环境的建立14 2.2 Linux C程序设计17 2.2.1 C程序设计概述17 2.2.2 Makefile介绍17 2.2.3 Makefile中的变量18 2.2.4 Makefile隐含规则19 实验2.2 Makefile与helloworld19 2.3 Linux多线程库编程21 2.3.1 多线程21 2.3.2 Linux下的多线程21 2.3.3 生产者-消费者模型简述22 2.3.4 缓冲区操作概述22 2.3.5 几个线程API23 实验2.3 Linux多线程使用实例——生产者-消费者协议24 2.4 进程创建以及进程间通信25 2.4.1 进程概述25 2.4.2 进程的相关函数25 2.4.3 信号概述27 2.4.4 信号的相关函数27 2.4.5 管道概述27 2.4.6 管道的相关函数28 实验2.4 进程相关的应用程序设计28 综合实验一嵌入式平台的进程管理模拟实验33 第3章 嵌入式Linux内核、引导系统和文件系统36 3.1 Linux内核定制、裁剪和添加36 3.1.1 概述36 3.1.2 内核目录简介37 3.1.3 配置文件和配置工具37 3.1.4 内核的编译命令39 实验3.1 Linux内核裁剪与编译40 3.2 嵌入式引导系统技术42 3.2.1 概述42 3.2.2 Linux的引导系统——vivi与uboot43 3.3 文件系统的构建44 3.3.1 概述44 3.3.2 BusyBox45 综合实验二软盘Linux操作系统的实现45 第4章 嵌入式Linux接口设计与驱动程序53 4.1 驱动程序设计基础53 4.1.1 Linux驱动程序简介53 4.1.2 开发驱动程序的方法53 4.1.3 设备驱动程序的分类53 4.1.4 主设备号和次设备号54 4.1.5 设备文件系统(devfs)与udevfs54 实验4.1 虚拟驱动模块实验55 4.2 AD接口驱动程序63 4.2.1 AD转换器63 4.2.2 AD转换有关参数64 4.2.3 ARM自带的AD转换装置65 实验4.2 AD接口驱动程序66 4.3 直流电机驱动68 4.3.1 直流电机介绍68 4.3.2 直流电机的PWM原理68 4.3.3 PWM TIMER结构69 4.3.4 基于ARM的PWM相关寄存器69 4.3.5 关于程序实现72 实验4.3 直流电机PWM驱动实验72 4.4 触摸屏接口设计与驱动74 4.4.1 触摸屏的工作原理74 4.4.2 触摸屏驱动芯片ADS784375 4.4.3 S3C2410芯片的触摸屏相关配置寄存器75 实验4.4 tslib移植和使用78 4.5 显示接口与Linux FrameBuffer83 4.5.1 FrameBuffer机制介绍83 4.5.2 LCD简介84 实验4.5 FrameBuffer实验88 4.6 V4L程序设计90 4.6.1 V4L概述90 4.6.2 V4L设备的体系结构91 实验4.6 Linux视频V4L驱动实验91 4.7 OSS程序设计93 4.7.1 OSS概述93 4.7.2 OSS设备的体系结构94 4.7.3 OSS驱动分析94 4.7.4 OSS用户空间编程95 实验4.7 Linux音频OSS驱动实验95 综合实验三五子棋游戏的实现97 第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 嵌入式WebServer GoAhead实验103 5.2 嵌入式Web Service gSOAP的移植与应用105 5.2.1 gSOAP介绍105 5.2.2 gSOAP裁剪106 5.2.3 gSOAP应用109 实验5.2 WebService gSOAP实验111 5.3 嵌入式数据库SQLite的移植与使用113 5.3.1 嵌入式数据库113 5.3.2 SQLite介绍114 5.3.3 SQLite在ARM平台上的移植114 5.3.4 SQLite的使用115 实验5.3 SQLite移植实验115 5.4 播放器Mplayer的移植120 5.4.1 Mplayer介绍120 5.4.2 Mplayer在ARM平台上的移植120 实验5.4 Mplayer到ARM平台上的移植121 5.5 ffmpeg应用123 5.5.1 ffmpeg简介123 5.5.2 ffmpeg在ARM上的移植124 5.5.3 ffmpeg命令应用实例124 5.5.4 ffmpeg中几个重要的数据结构125 5.5.5 ffmpeg应用开发126 实验5.5 ffmpeg移植与应用127 5.6 开源软件移植的一般过程131 5.6.1 软件移植的概念131 5.6.2 软件移植过程131 5.7 J2ME-phoneME移植132 5.7.1 phoneME简介132 5.7.2 软件移植过程与效果132 5.8 嵌入式浏览器konqueror移植133 5.8.1 konqueror简介133 5.8.2 软件移植过程与效果133 综合实验四基于WebService的嵌入式计算器..134 第6章 嵌入式Linux图形用户界面137 6.1 嵌入式GUI简介137 6.1.1 嵌入式GUI的特点137 6.1.2 嵌入式GUI的种类137 6.2 嵌入式GUI——Qt138 6.2.1 Qt与Qt/Embedded简介138 6.2.2 Qt的特点138 6.2.3 Qt的执行过程139 6.2.4 Qt的插槽机制140 6.2.5 一个完整的Qt程序140 6.2.6 QtDesigner介绍141 实验6.1 Qt图形界面相关实验141 6.3 基于Qt技术的Qtopia157 6.3.1 Qtopia简介157 6.3.2 Qtopia的功能157 6.3.3 Qtopia编程157 实验6.2 Qtopia的移植以及编程158 综合实验五电子点菜系统165 第7章 嵌入式Linux下的通信应用167 7.1 嵌入式Linux下的串口通信167 7.1.1 串口简介167 7.1.2 串口编程167 7.1.3 串口编程应用实例168 实验7.1 串口通信实验170 7.2 嵌入式Linux网络编程171 7.2.1 网络通信171 7.2.2 Socket简介172 7.2.3 网络编程172 实验7.2 Socket相关程序设计174 7.3 嵌入式蓝牙技术176 7.3.1 蓝牙技术176 7.3.2 蓝牙体系结构176 7.3.3 蓝牙通信网络177 7.3.4 Linux Bluetooth 软件层177 7.3.5 USB适配器177 实验7.3 蓝牙相关实验178 7.4 CAN总线181 7.4.1 CAN总线简介181 7.4.2 CAN总线硬件特征182 7.4.3 CAN控制器驱动184 实验7.4 CAN总线实验186 第8章 嵌入式系统硬件设计基础与标准189 8.1 嵌入式系统的硬件组成189 8.1.1 嵌入式微处理器189 8.1.2 存储器189 8.1.3 输入/输出设备191 8.1.4 通信与扩展接口191 8.2 硬件设计基础知识191 8.2.1 计算机体系结构191 8.2.2 电子技术192 8.2.3 抗干扰技术193 8.2.4 印制电路板194 8.3 硬件设计中应注意的一些问题195 8.3.1 IC元件的选择195 8.3.2 元件封装设计195 8.3.3 PCB设计精度195 8.3.4 分离元件的正确使用195 8.3.5 高速PCB设计方法196 8.3.6 PCB设计的一般原则196 实验8.1 常用模拟电路和数字电路原理197 实验8.22 410-S电路原理图阅读202 实验8.32 410-S所用芯片数据手册阅读205 实验8.4O MAP5910核心板电路原理208 综合实验六基于OMAP的加密终端硬件设计214 第9章 OMAP5910与Linux Gateway219 9.1 OMAP5910体系结构219 9.1.1 MPU子系统219 9.1.2 DSP子系统219 9.2 Linux DSP Gateway221 9.2.1 DSP Gateway的由来221 9.2.2 DSP Gateway的Mailbox机制222 9.2.3 通信缓冲222 9.2.4 Mailbox命令协议224 9.2.5 DSP Gateway的设备接口225 实验9.1O MAP5910双核间基本通信226 9.3 OMAP5910图像处理229 9.3.1 图片格式229 9.3.2 数字图像算法230 实验9.2 OMAP图像处理实验232 综合实验七基于OMAP的加密终端的实现(软件部分)234 第10章 嵌入式Linux综合项目实例238 10.1 基于嵌入式平台的电梯监控系统238 10.1.1 系统概述23810.1.2系统设计239 10.1.3 系统实现242 10.1.4 项目小结248 10.2 基于蓝牙技术的嵌入式点菜系统249 10.2.1 系统概述249 10.2.2 系统设计250 10.2.3 系统实现256 10.2.4 项目小结257 10.3 基于Web Service的数字油田监控系统257 10.3.1 系统概述257 10.3.2 系统设计259 10.3.3 系统实现268 10.3.4 项目小结270 10.4 基于嵌入式与Web Service的智能家居系统270 10.4.1 系统概述271 10.4.2 系统设计272 10.4.3 系统实现286 10.4.4 项目小结297 10.5 基于OMAP的音频与视频处理298 10.5.1 概述298 10.5.2 MPEG压缩298 10.5.3 音视频数据在双处理器间的传输模块设计299 10.5.4 音频处理方案设计300 10.5.5 视频处理方案设计300 10.5.6 项目小结303 参考文献...305

16,173

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧