嵌入式系统开发技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX邮电大学研究生堂下考试答卷
考试科目嵌入式系统开发技术
一、【实验题目】
实验题目:QT程序设计之数码管
二、【实验目的】
实验目的:
1、学会开发板的挂载;
2、掌握数码管驱动程序的编写方法;
3、熟练并掌握QT程序设计的控制界面设计方法;
4、学会对QT应用程序进行条件编译和下载;
5、通过QT应用程序,可操控数码管进行加1计数或者
减1计数。
三、【实验步骤】
1、先进行开发板的挂载:
①安装交叉编译器:将压缩包cross-4.2.2-eabi.tar.bz2解压
到/usr/local/arm目录下即可。
②编译UBOOT:将压缩包uboot1.1.6_FORLINX_6410.tgz
解压到/forlinux目录下,并用make smdk6410_config进行配置,然后用make编译。
③编译Linux-2.6.28: 将压缩包
linux2.6.28_FORLINX_6410.tgz解压到/forlinux录下,用make menuconfig命令,依次进入Device
Drivers->Graphics support->Support for frame buffer drivers->Select LED Type目录下,选择液晶屏类型,分辨率为640×480。按Esc推出并保存。然后用make zImage命令编译内核。
④在电脑上查看设备端口号,并用超级终端建立连接。在ubuntu上配置IP地址为172.24.58.11并重启开发板,在超级终端界面中快速按下空格键,输入setenv bootargs"root=/dev/nfsnfsroot=172.24.58.11:/forlinux/root ip=
172.24.58.22:172.24.58.11:172.24.58.1:255.255.255.0::eth 0:console=ttySAC0,115200"后按下回车,并输入saveenv 保存配置。
⑤重启开发板,超级终端界面显示如下即挂载成功
2、QT程序及数码管驱动程序的生成:
①把题目一所使用的timu1和startThread两个文件夹放
在共享文件夹下,分别用cp –r /mnt/hgfs/share/timu1
/forlinux/root/和cp –r /mnt/hgfs/share/ startThread
/forlinux/root/将两个文件夹复制到/forlinux/root/工作目
录下,输入cd /forlinux/root/startThread/src进入
startThread文件夹里面的src目录,使用make clean清除以前的编译信息。
②输入/fatfish/4.4.3/builddir/sdk/
qtopiacore/target/bin/qmake指定编译器SDK包中的
qmake工具路径。使用gedit Makefile编辑Makefile文件,在Makefile的CFLAGS和CXXFLAGS两栏的等号后面添加-fno-rtti,并保存退出。
输入export PATH=/usr/local/arm/ 4.3.2/bin:$PATH检查当前交叉编译工具是版本4.3.2,然后使用make生成目标文件,如图所示:
③编译完成后,进入/forlinux/root/startThread/bin/文件夹会发现里边生成了一个名为startThread的文件,该文件即是QT程序操作界面的文件,用file startThread命令查看该文件信息,会发现在第一行中间显示有ARM字样即成功编译。使用cp startThread /forlinux/root/timu1将该文件复制到/folinux/ root目录下自己新建的timu1的文件夹中。再进入timu_1文件夹,用make clean命令清除以前的编译文件,然后使用make编译文件夹中的文件。使用ls查看该文件夹,发现生成了SEG.o和SEG.ko两个文件,
这两个文件即是数码管的驱动程序。用cp SEG.o SEG.ko /forlinux/root/timu1将这两个文件复制到自己的文件夹
下。如下图所示:
3、超级终端的配置:
①如下如所示,进入timu1文件夹,使用insmod SEG.ko
命令加载新的数码管驱动程序,输入cat /proc/devices查看设备号,在下面的输出信息中找到SEG的设备号为
222。
②用mknod /dev/SEG c 222 0建立新的设备,再用ls
/dev/SEG查看一下新设备是否已正确安装。并使用lsmod 查看一下在线的设备信息中是否为SEG。若正确显示如下图,则表示设备已正确安装,输入calibrate进行屏幕
校准。
③校准完成后,在超级终端输入一下配置信息
export
PATH='/opt/Qtopia4.4.3/bin:/sbin:/usr/sbin:/bin:/usr/bin' export QPEDIR='/opt/Qtopia4.4.3'
export QTDIR='/opt/Qtopia4.4.3'
export QT_QWS_FONTDIR='/opt/Qtopia4.4.3/lib/fonts/' export
QWS_DISPLAY='LinuxFb:mmWidth76:mmHeight44:1' export QWS_MOUSE_PROTO='Tslib:/dev/input/event1' export TSLIB_CALIBFILE='/etc/pointercal'
export TSLIB_CONFFILE='/usr/local/tslib/etc/ts.conf'
export TSLIB_CONSOLEDEVICE='none'
export TSLIB_FBDEVICE='/dev/fb0'
export TSLIB_PLUGINDIR='/usr/local/tslib/lib/ts'
export TSLIB_ROOT='/usr/local/tslib'
export TSLIB_TSDEVICE='/dev/input/event1'
export TSLIB_TSEVENTTYPE='H3600'
export