Mini6410 Qt4和Qtopia编程开发指南.pdf
《Mini6410 Qt4和Qtopia编程开发指南.pdf》由会员分享,可在线阅读,更多相关《Mini6410 Qt4和Qtopia编程开发指南.pdf(130页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第-1-页页 Mini6410 Qt4 和 Qtopia 编程开发指南 2010-12-28 (本手册适用于 Mini6410/Tiny6410,也可供 Mini2440/Micro2440 参考)Copyright 2007-2010 FriendlyARM All rights reserved.第第-2-页页 简简 介介 本手册由广州友善之臂计算机科技有限公司(简称“友善之臂”)创建和维护,并作为标准用户手册的一个补充,仅供嵌入式爱好者学习参考使用,友善之臂目前并不对本手册的内容提供任何解释和解答服务,用户可以在论坛中反馈你所遇到的问题和疑问,我们将在以后的更新中修正或者采纳您的建议
2、,本手册主要以首页日期为版本标志。本手册由友善之臂软件开发工程师编写制作,以 Mini6410 作为开发演示平台,详细介绍了 Qtopia-2.2.0,Qt-Extendded-4.4.3(Qtopia 手机版),QtE-4.7.0 等常见 Qt 版本的移植过程、应用程序开发方法(含 X86 版和ARM 版),涉及串口编程,LED 控制,PWM 控制,中断式按键编程调用,ADC 模拟转换等嵌入式硬件操作编程示例,并配有详细的图解,完整的源代码包,手册中还介绍了一些常见的实用技巧,例如如何增加用户自定义程序组,如何设置开机自动运行等,非常适合嵌入式初学者学习参考之用。Mini6410 是一款十分
3、精致的低价高品质一体化 ARM11 开发板,由广州友善之臂设计、生产和发行销售。它采用三星 S3C6410 作为主处理器,在设计上承袭了 Mini2440“精于心,简于形”的风格,而且布局更加合理,接口更加丰富,十分适用于开发 MID、汽车电子、工业控制、导航系统、媒体播放等终端设备;也可适用于 高校教学、嵌入式培训、个人研究学习和 DIY 等。Tiny6410 是由友善之臂出品的一款以 ARM11 芯片(三星 S3C6410)作为主处理器的嵌入式核心板,它采用高密度 6 层板设计,尺寸为 64 x 50mm,它集成了 128M DDR RAM,256M/1GB SLC Nand Flash
4、存储器,采用 5V 供电,在板实现 CPU 必需的各种核心电压转换,还带有专业复位芯片,通过 2.0mm 间距的排针,引出各种常见的接口资源,以供不打算自行设计 CPU 板的开发者进行快捷的二次开发使用。因为 mini6410 和 tiny6410 的硬件接口和资源都是基本相同的,所以本手册完全适用于 tiny6410 开发板,由于 Qt/Qtopia 在 2440 平台也是支持的,所以大部分内容也适用于 mini2440 和 micro2440。本手册的源代码放在光盘本手册的源代码放在光盘 A 的以下目录:“的以下目录:“开发文档和教程开发文档和教程01 Qt4 和和 Qtopia 编程开发
5、指南编程开发指南源代码”。源代码”。我们欢迎各位网友复制传播本手册,但不得擅自摘抄部分或全部内容用作商业用途,违者必究,友善之臂保留本手册的解释和修改权。友善之臂公司网址:http:/ 本手册由本手册由 ARM9 之家论坛之家论坛(http:/)发布,转载请注明出处,手册内难免有遗漏和发布,转载请注明出处,手册内难免有遗漏和不足之处,欢迎大家提出宝贵意见,请发邮件至:不足之处,欢迎大家提出宝贵意见,请发邮件至:qt_。第第-3-页页 更新说明更新说明 2010-12-28 本手册第一次发布 第第-4-页页 目 录 MINI6410 QT4 和 QTOPIA编程开发指南.-1-目 录.-4-第一
6、章 MINI6410 和TINY6410 开发板简介.-7-1.1 MINI6410 开发板.-7-1.2 TINY6410 开发板.-8-第二章 QT/QTOPIA的简单介绍.-10-2.1 什么是 QT.-10-2.2 什么是 QTOPIA.-11-第三章 在MINI6410 上建立 LINUX/QT开发环境.-12-3.1 安装 LINUX操作系统及交叉编译器.-12-3.1.1 安装 Fedora9.-12-3.1.2 安装交叉编码器.-12-3.1.3 烧写最新 Linux 系统的 Image 到开发板.-13-3.2 移植 QTOPIA2.2.0 到MINI6410.-13-3.2
7、.1 获得 qtopia2.2.0 的源代码.-14-3.2.2 编译 PC 版本的 qtopia2.2.0.-14-3.2.3 编译 mini6410 版本的 qtopia2.2.0.-17-3.3 移植 QT4.7 到MINI6410.-19-3.3.1 获得 Qt4.7 的源代码.-20-3.3.2 交叉编译 Qt4.7.-20-3.3.3 在 mini6410 上部置 Qt4.7.-21-3.3.4 在 mini6410 上运行 Qt4.7 的示例程序.-21-3.4 移植 QT-EXTENDED 4.4.3(QTOPIA4.4.3)到MINI6410.-23-3.4.1 获得并安装
8、Qt-Extended4.4.3 源代码.-24-3.4.2 编译和运行 x86 版本的 Qt-Extended-4.4.3.-24-3.4.3 编译和运行 arm 版本的 Qt-Extended-4.4.3.-26-第四章 MINI6410 上的应用程序开发示例.-33-4.1 开发第一个QTOPIA2.2.0 程序.-33-4.1.1 本示例的设计目的.-33-4.1.2 使用 designer 工具设计图形界面.-34-4.1.3 编写代码.-42-4.1.4 在 PC 上编译并运行示例.-45-4.1.5 交叉编译示例程序并在 mini6410 上运行.-46-第第-5-页页 4.1.
9、6 在 Qtopia 上添加 mycalc 程序图标.-47-4.2 使用 QT CREATOR工具开发第一个 QT4 程序到MINI6410 上.-49-4.2.1 在 Fedora9 环境下安装 Qt Creator.-49-4.2.2 用 Qt Creator 创建 Qt4 程序.-50-4.2.3 设置 Qt Creator 使其支持交叉编译.-59-4.2.4 交叉编译 Qt4 程序.-60-4.2.5 将 Qt4 程序部置到 mini6410 上运行.-61-4.3 开发第一个 QT-EXTENDED 4.4.3 程序.-62-4.3.1 步骤一:复制 HelloQt4 程序到 Q
10、t-Extended 4.4.3 下.-63-4.3.2 步骤二:为 HelloQt4 程序添加图标.-63-4.3.3 步骤三:将 Qt4 程序转换成 Qt-Extended 4.4.3 程序.-64-4.3.4 步骤四:在 Qt-Extended 4.4.3 文件中添加对 HelloQt4 应用程序的支持.-65-4.3.5 步骤五:在 Qt-Extended 4.4.3 下编译 PC 版本的 HelloQt4.-65-4.3.6 步骤六:在 Qt-Extended 4.4.3 下编译 arm 版本的 HelloQt4.-66-4.3.7 步骤七:在 mini6410 的 Qt-Exten
11、ded 4.4.3 下部署并运行 HelloQt4.-67-4.4 通过命令行方式创建一个 QT4 程序.-67-4.5 串口助手程序的开发.-69-4.5.1 本示例的设计目的.-69-4.5.1 串口通讯的 Qt 实现步骤及原理.-69-4.5.2 使用 designer 工具设计图形界面.-72-4.5.3 编写代码.-77-4.5.4 交叉编译 serialport 程序.-82-4.5.5 在 mini6410 上运行 serialport.-83-4.5.6 在 Qtopia 上添加 serialport 程序图标.-84-4.6 PWM 测试程序的开发.-85-4.6.1 本示例
12、的设计目的.-85-4.6.2 如何控制蜂鸣器发声.-85-4.6.3 使用 designer 工具设计图形界面.-86-4.6.4 编写代码.-90-4.6.5 交叉编译 pwm-testing 程序.-94-4.6.6 在 Qtopia 上添加 pwm-testing 程序图标.-94-4.6.7 运行 pwm-testing 程序.-95-4.7 按键测试程序的开发.-96-4.7.1 本示例的设计目的.-96-4.7.2 按键测试程序的原理.-97-4.7.3 使用 designer 工具设计图形界面.-98-4.7.4 编写代码.-99-4.7.5 交叉编译 button-testi
13、ng 程序.-104-4.7.6 在 Qtopia 上添加 button-testing 程序图标.-104-第第-6-页页 4.7.7 button-testing 程序的运行.-105-4.8 ADC 测试程序的开发.-106-4.8.1 本示例的设计目的.-106-4.8.2 A/D 转换测试程序的实现说明.-107-4.8.3 编写代码.-107-4.8.4 交叉编译 adc-testing 程序.-110-4.8.5 在 Qtopia 上添加 adc-testing 程序图标.-111-4.8.6 ADC 测试程序的运行.-112-4.9 LED 测试程序的开发.-112-4.9.1
14、 本示例的设计目的.-112-4.9.2 LED 状态设置的原理说明.-113-4.9.3 使用 designer 工具设计图形界面.-113-4.9.4 编写代码.-118-4.9.5 交叉编译 led-testing 程序.-121-4.9.6 在 Qtopia 上添加 led-testing 程序图标.-121-4.9.7 led-testing 程序的运行.-122-第五章 附录.-124-5.1 QTOPIA 2.2.0 应用程序的编译脚本.-124-5.1.1 PC 版本编译脚本 buildhost.sh.-124-5.1.2 ARM 版本编译脚本 buildarm.sh.-125
15、-5.2 QT4 和 QTOPIA实用技巧.-125-5.2.1 如何开机自动运行 Qt4 程序?.-125-5.2.2 如何开机自动运行 Qtopia4.4.3?.-126-5.2.3 如何在 Qtopia2.2.0 中添加自定义程序组?.-126-5.2.4 如何开机自动运行 Qtopia2.2.0 中的单个程序?.-128-5.2.5 如何解决 Qtopia2.2.0 图标下有一条虚线的问题?.-129-第第-7-页页 第一章第一章 mini6410 和和 tiny6410 开发板简介开发板简介 1.11.1 Mini6410Mini6410 开发板开发板 Mini6410 是一款十分精
16、致的低价高品质一体化 ARM11 开发板,由广州友善之臂设计、生产和发行销售。它采用三星 S3C6410 作为主处理器,在设计上承袭了 Mini2440“精于心,简于形”的风格,而且布局更加合理,接口更加丰富,十分适用于开发 MID、汽车电子、工业控制、导航系统、媒体播放等终端设备;也可适用于高校教学、嵌入式培训、个人研究学习和 DIY 等。第第-8-页页 具体而言,Mini6410 具有双 LCD 接口、4 线电阻触摸屏接口、100M 标准网络接口、标准 DB9 五线串口、Mini USB 2.0-OTG 接口、USB Host 1.1、3.5mm 音频输出口、在板麦克风、标准 TV-OUT
17、 接口、弹出式 SD 卡座、红外接收等常用接口;另外还引出 4 路 TTL 串口、CMOS Camera 接口、40pin 总线接口、30pin GPIO 接口(可复用为 SPI、I2C、中断等,另含 3 路 ADC、1 路 DAC)、SDIO2 接口(可接 SD WiFi)、10pin Jtag 接口等;在板的还有蜂鸣器、I2C-EEPROM、备份电池、AD 可调电阻、8 按键(可引出)、4LED等;所有这些,都极大地方便了开发者的评 估和使用,再加上我们按照 Mini6410 尺寸专门定制的4.3LCD 模块,真正做到让您“一手掌握所有”!我们还充分地发挥了 6410 支持 SD 卡启动这
18、一特性,使用我们精心研制的 superboot,无需连接电脑,只要把目标文件拷贝到 SD 卡中(可支持大于 2G 的高速大容量卡),你就可以在开发板上极快极简单地自动安装或运行各种嵌入式系统(WindowsCE6/Linux/Android/Ubuntu 等);甚至无需烧写,就可以在 SD 卡上直接运行它们,这一切,简直太酷了!要了解 Tiny6410 开发板的详细信息,请访问:http:/ 1.21.2 Tiny6410Tiny6410 开发板开发板 第第-9-页页 Tiny6410 是一款以 ARM11 芯片(三星 S3C6410)作为主处理器的嵌入式核心 板,该 CPU 基于ARM117
19、6JZF-S 核设计,内部集成了强大的多媒体处理单元,支持 Mpeg4,H.264/H.263 等格式的视频文件硬件编解码,可同时输出至 LCD 和 TV 显示;它还并带有 3D 图形硬件加速器,以实现 OpenGL ES 1.1&2.0 加速渲染,另外它还支持 2D 图形图像的平滑缩放,翻转等操作。Tiny6410 采用高密度 6 层板设计,尺寸为 64 x 50mm,它集成了 128M DDR RAM,256M/1GB SLC Nand Flash 存储器,采用 5V 供电,在板实现 CPU 必需的各种核心电压转换,还带有专业复位芯片,通过2.0mm 间距的排针,引出各种常见的接口资源,以
20、供 不打算自行设计 CPU 板的开发者进行快捷的二次开发使用。Tiny6410SDK 是采用 Tiny6410 核心板的一款参考设计底板,它主要帮助开发者以此为参考进行核心板的功能验证以及扩展开发。该底板具有三 LCD 接口、4 线电阻触摸屏接口、100M 标准网络接口、标准 DB9 五线串口、Mini USB 2.0 接口、USB Host 1.1、3.5mm 音频输入输出口、标准 TV-OUT 接口、SD 卡座、红外接收等常用接口;另外还引出 4 路 TTL 串口,另 1 路 TV-OUT、SDIO2 接 口(可接 SD WiFi)接口等;在板的还有蜂鸣器、I2C-EEPROM、备份电池、
21、AD 可调电阻、8 个中断式按键等。在布局上安排上,我们尽量考虑把常用尺寸的 LCD 模块能够固定在底板上,比如 3.5”,4.3”LCD,7”LCD 等,这样用户在使用时不至于把各种电线搅在一起,更增加了开发套件的便携性。我们还充分地发挥了 6410 支持 SD 卡启动这一特性,使用我们精心研制的 Superboot,无需连接电脑,只要把目标文件拷贝到 SD 卡中(可支持高达 32G 的高速大容量卡),你就可以在开发板上极快极简单地自动安装各种嵌入式系统(WindowsCE6/Linux/Android/Ubuntu/uCos2 等);甚至无需烧写,就可以在 SD 卡上直接运行它们!要了解
22、Tiny6410 开发板的详细信息,请访问:http:/ 第第-10-页页 第二章第二章 Qt/Qtopia 的简单介绍的简单介绍 2.12.1 什么是什么是 QtQt Qt 是一个跨平台的 C+图形用户界面库,由挪威 TrollTech 公司于 1995 年底出品,并于 2008年6月17日被NOKIA公司收购,以增强NOKIA公司在跨平台软件研发方面的实力,更名为Qt Software。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:1.优良的
23、跨平台特性优良的跨平台特性:使用 Qt 开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改(或修改极少)源代码。会自动依平台的不同,表现平台特有的图形界面风格。Linux/X11:用于 X Window System(如 Solaris、AIX、HP-UX、Linux、BSD)。支持 KDevelop 和Eclipse IDE 集成。Mac:用于 Apple Mac OS X。基于 Cocoa 框架。支持 Universal Binary。支持以 Xcode 编辑、编译和测试。Windows:用于 Microsoft Windows。支持 Visual Studio 集成。E
24、mbedded Linux:用于 嵌入式 Linux。可以通过编译移除不常使用的组件与功能。通过自己的视窗系统 QWS,不需依赖 X Window System,直接写入 Linux 帧缓冲。可以减少存储器消耗。并提供虚拟帧缓冲 QVFb,方便在桌面系统上进行嵌入式测试。Windows CE/Mobile:用于 Windows CE。Symbian:用于 Symbian platform。Meego:用于 Meego。2.面向对象面向对象 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为 signals/slots 的安全类型
25、来替代 callback,这使得各个元件 之间的协同工作变得十分简单。3.丰富的丰富的 API 经过多年发展,Qt 不但拥有了完善的 C+图形库,而且近年来的版本逐渐集成了数据库、OpenGL库、多媒体库、网络、脚本库、XML 库、WebKit 库等等,其核心库也加入了进程间通信、多线程等模 第第-11-页页 块,极大的丰富了 Qt 开发大规模复杂跨平台应用程序的能力,真正意义上实现了其研发宗旨“Code Less;Create More;Deploy Anywhere.”。QtQt 的开发资源:的开发资源:1)Qt 的开发工具下载:http:/ 的开发文档:http:/ 的中文论坛:http
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mini6410 Qt4和Qtopia编程开发指南 Qt4 Qtopia 编程 开发 指南
限制150内