当前位置:首页 >> 其它 >> 《嵌入式系统》实验报告指导书(含答案)要点

《嵌入式系统》实验报告指导书(含答案)要点


实验一 熟悉嵌入式 LINUX 开发环境
1、实验目的
熟悉 UP-TECHPXA270-S 的开发环境。学会 WINDOWS 环境与嵌入式 Linu 环境 共享资源的基本方法。

2、实验内容
学习 UP-TECHPXA270-S 系统的使用、 XP 和虚拟机之间传送文件方法以及 UP-TECHPXA270-S 和虚拟机之间共享目录的建立方法。

3、预备知识
了解 UP-TECHPXA270-S 的基本结构和配置,Linux 基本知识。

4、实验设备
硬件:UP-TECHPXA270-S 开发板、PC 机(内存 500M 以上) 。 软件:PC 机操作系统 RADHAND LINUX 9+MIMICOM+RAM LINUX 操作系统

5、实验步骤
(1) 、 在虚拟机下练习 Linux 常用命令。 (注意以下操作只能在[root@BC root]#, 也就是 root 文件夹下运行,不然会导致系统不能启动) a. 学习命令通过“man ***”和“*** --help”得到的命令使用方法。 b.学习并掌握如下命令: ls,cd ,pwd,cat,more,less,mkdir, rmdir ,rm,mv,cp,tar, ifconfig (2) 、XP 与虚拟机之间传送文件(Samba 服务器建立、网络设置、文件传送) ; (3) 、了解系统资源和连线; (4) 、开发板与虚拟机之间共享目录建立(设置 NFS、开发板 IP 设置、目录挂 载) ,挂载文件; (5)vi(vim)的使用 (6)输入 qt,启动桌面,按 CTRL+C 退出

6、实验报告要求
(1) 、XP 和虚拟机之间传送文件步骤; 虚拟机共享 XP 文件: 选择虚拟机设置,设置要共享的文件 启动 Linux 进入/mnt/hgfs 即可看到共享文件夹 服务器设置——samba 服务器(设置需要共享的目录) XP 共享虚拟机文件: 服务器设置——samba 服务器(设置需要共享的目录)

确保网络的 PING 通(即在同一局域网) : 1.虚拟机的 192.168.1.234(RH9) 2.XP 的为 192.168.1.125 3.在 XP 下点击开始-》运行(\\192.168.1.234) 4.用户名 bc 密码 123456 以上实现了 Linux 虚拟机(RH9)和 XP 的文件的共享 (2) 、开发板与虚拟机之间建立共享目录以及文件挂载步骤; 1. 服务器设置——nfs 服务器(设置需要共享的目录) 2. 设置开发板的 ip 地址:ifconfig eth0 192.168.1.5 3. 在 实 验 箱 终 端 里 输 入 mount -t nfs -o 234:/up-techpxa270/exp /mnt/nfs 4. /mnt/nfs 即为共享目录

nolock

192.168.1.

(3) 、请画出虚拟机、PC 机和 ARM 实验箱之间的硬件连接图;

(4) 、在 Linux 中怎样配置网络; 系统设置->网络,在新的选项卡中

(5) 、实验中遇到的问题与解决过程。 第一个实验相对简单些就是熟悉实验环境 ,然后练习了文件挂载 , 学会了开 发板和虚拟机之间传送文件的方法。挂载时我觉得难点是容易忽略 IP 的配置, 若两者 IP 不在同一局域网,则挂载不成功。最后是练习 VI 编辑器的使用,VI 编辑器在上学期学过,这次只是重新熟悉下。

实验二 嵌入式 LINUX 系统的编程
1、实验目的
熟悉 UP-TECHPXA270-S 下 Linux 的开发环境,了解 GNU/make 工具的工作原 理 。 学 会 使 用 makefile 管 理 项 目 , 学 会 编 写 一 个 Makefile 文 件 。 熟 悉 arm-linux-gcc 交叉编译的使用,了解嵌入式开发的基本过程。

2、实验内容
新建一个目录, 编写几个源文件, 使用 makefile 管理项目。 学习在 linux 下 的编程和编译过程,以及 UP-TECHPXA270-S 开发板开发环境的设置。下载已经 编译好的文件到 UP-TECHPXA270-S 开发板中运行。

3、预备知识
C 语言的基础知识、程序调试的基础知识和方法,LINUX 的基本操作。

4、实验设备及工具(包括软件调试工具)
硬件:UP-TECHPXA270-S 嵌入式开发板、PC 机 Pentumn500 以上, 硬盘 10G 以上。 软件:PC 机操作系统 REDHAT LINUX 9.0 +MINICOM + ARM-LINUX 开发环 境

5、实验步骤
(1) 、建立工作目录 (2) 、编写程序源代码 (3) 、编写 makefile 文件 (4) 、编译应用程序 (5) 、下载调试 (6) 、 写一个简单的工程, 并输出自己的姓名和学号, 利用 Makefile 管理工程, 并写出 Makefile 文件,进行调试。

6、实验报告要求
(1) 、写清每步实验步骤的具体操作内容。 1.建立工作目录: 先挂载:服务器设置——nfs 服务器(设置需要共享的目录) 设置开发板的 ip 地址:ifconfig eth0 192.168.1.5 在实验箱终端里输入 mount -t nfs -o nolock 192.168.1. 234:/up-techpxa270/exp /mnt/nfs 即为共享目录 在/mnt/nfs 下建立自己的目录:mkdir cz

/mnt/nfs

2.编写程序源代码 使用 VI 编辑器在工作目录写入源代码 3.编写 makefile 文件 使用 vi makefile 命令 来编写 makefile 文件 4.编译应用程序 使用编译命令:make –f makefile 来编译程序 5.下载调试 在宿主 PC 上启动 NFS 服务并设置共享目录。就可进行两者通信了。 6.写一个简单的工程,并输出自己的姓名和学号,利用 Makefile 管理工程,并 写出 Makefile 文件,进行调试。 (2)、简述 Makefile 文件的规则。 Makefile 文件 Makefile 一个工程中的源文件不计数,其按类型、功能、模 块分别放在若干个目录中,makefile 定义了一系列的规则来指定,哪些文件需 要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的 功能操作,因为 makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统 的命令。 makefile 是一个 make 的规则描述脚本文件,包括四种类型行:目标行、命 令行、宏定义行和 make 伪指令行(如“include” ) 。makefile 文件中注释以“#” 开头。当一行写不下时,可以用续行符“\”转入下一行。 (3) 、简述调试情况。 先是*.h 和*.c 文件的编写, 最后是 makefile 文件编写。 写好 makefile 文件 amake 后,用命令:make –f amake 进行编译,但是一直提示一个错误,说是 amake 文件第 6 行出错,然后使用 vi amake 命令进行 amake 文件修改,但还是出错, 花了半个多小时都没成功, 后来重新编写 amake 文件才得以编译成功。我猜测是 第一次写 amake 文件时,加入了不能识别的字符。

实验三 串行端口程序设计
1、实验目的
了解在Linux 环境下串行程序设计的基本方法; 掌握终端的主要属性及设置方法;熟悉终端IO 函数的使用;完成串口的收发 处理。

2、实验内容
读懂程序源代码,学习终端IO 函数tcgetattr(), tcsetattr(),tcflush() 的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中。

3、预备知识
有 C 语言基础;掌握 Makefile 的编写和使用;掌握 Linux 下的程序编译 与交叉编译过程

4、实验设备及工具
硬件: UP-TECHPXA270-S 嵌入式开发板、 PC 机Pentumn500 以上, 硬盘10G 以上。 软件:PC 机操作系统REDHAT LINUX 9.0 +MINICOM + ARM-LINUX 开发环境

5、实验步骤
(1)、将 E 盘下的 03_tty 复制到 D:\PXA270\Share 下;将虚拟机的共享打开; (2)、主机 A 的虚拟机添加串口,主机 A 的 COM1 与实验箱 ttyS1 相连,实验箱 ttyS0 与另一台 PC 机 B 相连; (3)、将每台虚拟机 linux 的/up-techpxa270/exp/basic/03_tty 删除,将两台 主 机 的 D:\PXA270\Share\03_tty 复 制 到 虚 拟 机 linux 下 的 /up-techpxa270/exp/basic 下; (4)、进入/up-techpxa270/exp/basic/03_tty 目录,使用 vi 编辑器或其他编 辑器阅读理解 serial_rcv 和 serial_send 的源代码。 (5)、分别编译 serial_rcv 和 serial_send 下的源文件生成可执行文件。 (6)、自主选择作为发送端或接收端,并修改相应的代码。 (7)、挂载 PC 机 B 的/up-techpxa270/exp 到开发板的/mnt/nfs。 (8)、在开发板和 PC 机 Alinux 下运行可执行程序,一个发送数据,一个接收数 据。 (9)、修改程序,使发送端发送一个特定字符给接收端,且发送端回显一个字符 或一句话。

6、实验报告要求
(1)、写清每步实验步骤的具体操作内容。 1.将 E 盘下的 03_tty 复制到 D:\PXA270\Share 下; 将虚拟机的共享打开: 打开虚拟机,选择 red hat 的设置,在“选项”的选项卡下打开虚拟机共享 2.主机 A 的虚拟机添加串口,主机 A 的 COM1 与实验箱 ttyS1 相连,实验 箱 ttyS0 与另一台 PC 机 B 相连; 3.将每台虚拟机 linux 的/up-techpxa270/exp/basic/03_tty 删除,分

别 将 两 台 主 机 的 D:\PXA270\Share\03_tty 复 制 到 虚 拟 机 linux 下 的 /up-techpxa270/exp/basic 下; 4.进入/up-techpxa270/exp/basic/03_tty 目录,使用 vi 编辑器或其 他编辑器阅读理解 serial_rcv 和 serial_send 的源代码。 5.分别编译 serial_rcv 和 serial_send 下的源文件生成可执行文件。 使用 make 命令在 linux 平台编译 6.自主选择作为发送端或接收端,并修改相应的代码。 7.挂载 PC 机 B 的/up-techpxa270/exp 到开发板的/mnt/nfs。 服务器设置——nfs 服务器(设置需要共享的目录),设置开发板的 ip 地址: ifconfig eth0 192.168.1.5 ,在实验箱终端里输入 mount -t nfs -o nolock 192.168.1. 234:/up-techpxa270/exp /mnt/nfs ,/mnt/nfs 即为共享目录 8.在开发板和 PC 机 Alinux 下运行可执行程序,一个发送数据,一个接 收数据。 运行程序:./ serial 9.修改程序,使发送端发送一个特定字符给接收端,且发送端回显一个 字符或一句话。
while(1) { *serial_buf = getchar(); if(getchar()==’a’){ printf(“hello world!\n”);} write(serial_fd, serial_buf, 1); }

(2) 、232串行通讯的数据格式是什么?

(3) 、串行通讯最少需要几根线,分别如何连接? 最少需要3根线,分别是RXD(接收数据)、TXD(发送数据)、GND(信号地)。 AB的地线相连,A的RXD接B的TXD,B的RXD接A的TXD。 (4) 、分析 Makefile 文件。
CROSS=arm-linux- //交叉编译 CC=$(CROSS)gcc //GCC交叉编译器 CPP=$(CROSS)g++ //G++交叉编译 INSTALL=install BIN=/usr/local/bin WARNINGS = -Os -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -I.

CFLAGS= -O2 $(WARNINGS) MATH_LIB=-lm LIBS= $(MATH_LIB) –lpthread //引用库文件 OBJ= serial.o main.o TARGET=serial //目标文件 all: $(TARGET) $(OBJ) //下面一层层开始编译 # Applications: serial: $(OBJ) $(CC) $(CFLAGS) -o $(TARGET) $(OBJ) $(LIBS) main.o: main.c $(CC) $(CFLAGS) -c -o $@ $< serial.o: serial.c serial.h $(CC) $(CFLAGS) -c -o $@ $< //清除中间文件 clean: @echo "Cleaning up directory." rm -f *.a *.o $(TARGET)

(5)、简述调试情况。 接收端开始不能运行,发现是 Makefile 错误。去掉#CROSS=arm-linux-之前的#
即可编译。运行时,发送端输入一个字符并按下回车键,接收端可以显示出这个字符。 然后是修改程序,使发送端发送一个特定字符给接收端,且发送端回显一个字符

或一句话。发送端可以回显,但是接收端会多出一个字符,我猜测是由于缓冲区 没有清除的原因。

实验四 多线程应用程序设计
1、实验目的
了解多线程程序设计的基本原理,学习pthread库函数的使用。

2、实验内容
读懂pthread.c的源代码, 熟悉几个重要的PTHREAD库函数的使用。掌握共享 锁和信号量的使用方法。

3、预备知识
熟练使用 C 语言,掌握在 Linux 下常用编辑器的使用,掌握 Makefile 的编 写和使用,掌握 Linux 下的程序编译与交叉编译过程。

4、实验设备及工具
硬件: UP-TECHPXA270-S 嵌入式实验仪,PC 机pentumn500 以上, 硬盘10G 以上 软件:PC 机操作系统REDHAT LINUX 9.0 +MINICOM + AMRLINUX 开发环境

5、实验步骤
(1)进入exp/basic/02_pthread目录,使用vi编辑器或其他编辑器阅读理解源 代码; (2)运行make产生pthread可执行文件; (3) 切换到minicom终端窗口, 使用NFS mount开发主机的/up-techpxa270到/mnt 目录; (4)进入/mnt/exp/basic/02_pthread目录,运行./pthread,观察运行结果的 正确性,若显示结果太快,可以用以下命令输出显示结果到pthread.txt文 件./pthread >pthread.txt,然后再用cat pthread.txt查看文件内容,结合程 序分析结果; (5)加入一个新的线程用于处理键盘输入,并在按特定字符时终止所有线程。

6、实验报告要求
(1)写清每步实验步骤及具体操作内容; 1.进入 exp/basic/02_pthread 目录,使用 VI 命令即可打开源代码进行阅读 2.运行 make 产生 pthread 可执行文件 3.挂载:服务器设置——nfs 服务器(设置需要共享的目录),设置开发板的 ip 地址:ifconfig eth0 192.168.1.5,在实验箱终端里输入 mount -t nfs -o nolock 192.168.1. 234:/up-techpxa270/exp /mnt/nfs ,/mnt/nfs 即为共享 目录 4. 进入/mnt/exp/basic/02_pthread 目录,运行./pthread,观察运行结果 的正确性,若显示结果太快,可以用以下命令输出显示结果到 pthread.txt 文 件./pthread >pthread.txt,然后再用 cat pthread.txt 查看文件内容,结合程 序分析结果;

最后的结果: put-->998 put-->999 producer stopped! 993-->get 994-->get 995-->get 996-->get 997-->get 998-->get 999-->get consumer stopped! 5.加入一个新的线程用于处理键盘输入,并在按特定字符时终止所有线程。 void listener(void *data) { if(getch()=’q’){ pthread_cancel(id1); pthread_cancel(id2);} pthread_exit(0); } (2)写出程序 pthread.c 的分析; #include <stdio.h> #include <stdlib.h> #include <time.h> #include "pthread.h" #define BUFFER_SIZE 16 /* 设置一个整数的圆形缓冲区*/ struct prodcons { int buffer[BUFFER_SIZE]; /* 缓冲区数组*/ pthread_mutex_t lock; /* 互斥锁*/ int readpos, writepos; /* 读写的位置*/ pthread_cond_t notempty; /* 缓冲区非空信号pthread_cond_t notfull; /* 缓冲区非满信号*/ }; /*--------------------------------------------------------*/ /*初始化缓冲区*/ void init(struct prodcons * b) { pthread_mutex_init(&b->lock, NULL); /*初始化后处于解锁状态*/ pthread_cond_init(&b->notempty, NULL); /*指针为空时默认状态*/ pthread_cond_init(&b->notfull, NULL); b->readpos = 0;

b->writepos = 0; } /*--------------------------------------------------------*/ /* 向缓冲区中写入一个整数*/ void put(struct prodcons * b, int data) { pthread_mutex_lock(&b->lock); /*等待缓冲区非满*/ while ((b->writepos + 1) % BUFFER_SIZE == b->printf("wait for not full\n"); pthread_cond_wait(&b->notfull, &b->lock); } /*写数据并且指针前移*/ b->buffer[b->writepos] = data; b->writepos++; if (b->writepos >= BUFFER_SIZE) b->writepos = /*设置缓冲区非空信号*/ pthread_cond_signal(&b->notempty); pthread_mutex_unlock(&b->lock); } /*--------------------------------------------------------*/ /*从缓冲区中读出一个整数*/ int get(struct prodcons * b) { int data; pthread_mutex_lock(&b->lock); /* 等待缓冲区非空*/ while (b->writepos == b->readpos) { printf("wait for not empty\n"); pthread_cond_wait(&b->notempty, &b->lock); } /* 读数据并且指针前移*/ data = b->buffer[b->readpos]; b->readpos++; if (b->readpos >= BUFFER_SIZE) b->readpos = 0; /* 设置缓冲区非满信号*/ pthread_cond_signal(&b->notfull); pthread_mutex_unlock(&b->lock); return data; } /*--------------------------------------------------------*/ #define OVER (-1) struct prodcons buffer; /*--------------------------------------------------------*/ void * producer(void * data) /*生产者进程函数*/

{ int n; for (n = 0; n < 1000; n++) { printf(" put-->%d\n", n); put(&buffer, n); } put(&buffer, OVER); printf("producer stopped!\n"); return NULL; } /*--------------------------------------------------------*/ void * consumer(void * data) /*消费者进程函数*/ { int d; while (1) { d = get(&buffer); if (d == OVER ) break; printf(" %d-->get\n", d); } printf("consumer stopped!\n"); return NULL; } /*--------------------------------------------------------*/ int main(void) { pthread_t th_a, th_b; void * retval; /*存储被等待线程的返回值*/ init(&buffer); pthread_create(&th_a, NULL, producer, 0); pthread_create(&th_b, NULL, consumer, 0); /* 等待生产者和消费者结束*/ pthread_join(th_a, &retval); pthread_join(th_b, &retval); return 0; } (3) 写出修改后的代码并加以说明; void listener(void *data) { if(getch()=’q’){ pthread_cancel(id1); pthread_cancel(id2);} pthread_exit(0); }

在 main 函数中: int main(void) { pthread_t th_a, th_b,th_a; void * retval; init(&buffer); pthread_create(&th_a, NULL, producer, 0); pthread_create(&th_b, NULL, consumer, 0); pthread_create(&th_c, NULL, listener, 0); /* 等待生产者和消费者结束*/ pthread_join(th_a, &retval); pthread_join(th_b, &retval); pthread_join(th_c, &retval); return 0; }

(4)实验中遇到的问题与解决过程? 实验时先是看懂代码,其中有很多函数都没见过,更没用过,先是网上查资料, 看 API 文档,逐一的看懂函数。然后是整体思路的理解,消费者怎么工作,生产 者怎么工作,他们是怎么互斥的。然后是改正代码实现:加入一个新的线程用于 处理键盘输入,并在按“q“时终止所有线程。开始为了接收按键用了<conio.h> 但是 linux 下没有这个库函数,问了其他同学,才发现自己将问题想复杂了,直 接用 getch()即可,然后经过调试就完成了实验任务。

实验五 内核驱动设计入门-模块方式驱动实验
1、实验目的
学习在LINUX 下进行驱动设计的原理;掌握使用模块方式进行驱动开发调试 的过程。

2、实验内容
在PC 机上编写简单的虚拟硬件驱动程序并进行调试, 实验驱动的各个接口函 数的实现,分析并理解驱动与应用程序的交互过程。

3、预备知识
有 C 语言基础; 掌握 Makefile 的编写和使用; 掌握 Linux 下的程序编译与交叉编译过程。 有驱动开发的基本知识。

4、实验设备及工具
硬件:PC 机pentumn500 以上, 硬盘40G 以上,内存大于128M。 软件:PC 机操作系统REDHAT LINUX 9.0 +MINICOM + AMRLINUX 开发环境

5、实验步骤
(1) 认真阅读实验原理,理解驱动的体系结构 (2) 熟悉程序源代码及Makefile (/up-techpxa270/exp/drivers/01_moddriver) (3) 编译程序 (4) 程序挂载 (5) 驱动调试 插入模块insmod hello.ko (6) 删除模块 rmmod hello.ko (7) 分析demo.c 我们可以直接使用cat /dev/demo 调用驱动的read 函数,测试读过程。

6、实验报告要求
(1) 、写清每步实验步骤的具体操作内容。 1.认真阅读实验原理,理解驱动的体系结构 2.进入/up-techpxa270/exp/drivers/01_moddriver目录,使用vi命令打开源代 码和Makefile 3.使用make命令编译程序 4. 程序挂载: 服务器设置——nfs 服务器(设置需要共享的目录),设置开发板的 ip 地址: ifconfig eth0 192.168.1.5 ,在实验箱终端里输入 mount -t nfs -o nolock 192.168.1. 234:/up-techpxa270/exp /mnt/nfs ,/mnt/nfs 即为共享目录

5.插入模块:命令insmod hello.ko 6.删除模块:命令rmmod hello.ko 7.分析demo.c: 使用vi打开demo.c文件, 并对照实验指导书分析各个函数的功能。

(2) 、模块与应用程序的区别? 1.应用程序是从头到尾执行单个任务;模块却只是预先注册自己以便服务于将来 的某个请求,其中,函数 init_module(模块的入口)的任务是为以后调用模块函 数预先做准备,函数 cleanup_module(模块的第二入口)是在模块卸载时调用。 2.应用程序可以调用它未定义的函数, 因为在连接过程能够解析外部引用从而使 用适当的函数库;模块仅仅被连接到内核, 因此它仅能调用有内核导出的函数(如 printk),而没有任何可连接的库。 3.应用程序开发过程中的段错误是无害的, 并且总是可以使用调试器跟踪到源代 码中的问题所在;内核模块的一个错误即使不对整个系统是致命的,也至少会对 当前进程造成致命错误。 4.应用程序运行于用户空间, 处理器禁止其对硬件的直接访问以及对内存的未授 权访问;内核模块运行于内核空间,可以进行所有操作。 5.应用程序一般不必担心发生其他情况而改变它的运行环境;内核模块编程则必 须考虑并发问题的处理。

(3) 、编译、调试情况。 编译后,插入模块:insmod hello.ko,可在开发板上显示 hello world! 删除模块:rmmod hello.ko,删除模版时也会显示一句话。

实验六
1、实验目的

Qt/E应用程序设计

1. 了解在 Linux 下安装 Qt 以及 Qt/Embedded 的基本步骤; 2. 学会在嵌入式设备上 Qt/E 平台下使用 Virtual framebuffer 显示程序结 果;

2、实验内容
1. 在 Linux 下编译和使用 Qt/E 平台; 2. 在 Qt/E 平台下编译和运行一个程序使用 Virtual framebuffer 显示运行 结果;并且运行结果可以在实验箱上显示。

3、预备知识
1. 熟悉使用 C++语言程序设计; 2. 掌握 Linux 下常用编辑器的使用; 3. 掌握 Linux 下程序编译; 4. 熟悉 Qt 程序设计;

4、实验室设备和工具
硬件:PC 机 Pentumn500 以上, 硬盘 10G 以上。 软件:PC 机操作系统 REDHAT LINUX 9.0 +MINICOM + ARM-LINUX 开发环 境

5、实验步骤
(1)解压安装包并设置环境变量 (2)编译Qt/Embedded (3)查看运行结果 (4)在开发板上看运行结果

6、实验报告要求
(1) 、写出具体实验流程及操作内容 1. 解压安装包并设置环境变量 安装Tmake cd ~/pxa270Qt tar –xzf tmake-1.13.tar.gz export TMAKEDIR=$PWD/tmake-1.13

安装Qt 2.3.2 cd ~/pxa270Qt tar –xzf qt-x11-2.3.2.tar.gz export QT2DIR=$PWD/qt-2.3.2 安装Qt/Embedded cd ~/pxa270Qt tar –xzf qt-embedded-2.3.10-free.tar.export QTEDIR=$PWD/qt-2.3.10 2. 编译Qt/Embedded Build Qt2.3.2 cd $QT2DIR export TMAKEPATH=$TMAKEDIR/lib/linux-g++ export QTDIR=$QT2DIR export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH ./configure -no-xft make mkdir $QTEDIR/bin cp bin/uic $QTEDIR/bin/ Build Qvfb export TMAKEPATH=$TMAKEDIR/lib/linux-g++ export QTDIR=$QT2DIR export PATH=$QTDIR/bin:$PATH:$TMAKEDIR/bin export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH cd $QTEDIR/tools/qvfb tmake -o Makefile qvfb.pro make mv qvfb $QTEDIR/bin/ Build Qt/Embedded cd $QTEDIR export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++ export QTDIR=$QTEDIR export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH ./configure -no-xft -qvfb -depths 4,8,16,32 make 3.查看运行结果 在Virtual framebuffer 上运行: export QTDIR=$QTEDIR export PATH=$QTEDIR/bin:$PATH export LD_LIBRARY_PATH=$QTEDIR/lib:$QT2DIR/lib:$LD_LIBRARY_PATH

cd $QTEDIR/examples/launcher qvfb -width 640 -height 480 & sleep 10 ./launcher –qws 4.在开发板上看运行结果 (2) 、简述调试情况 按着实验指导书一步步来,若操作错误则从头开始。 在 /root/pxa270Qt/qt-2.3.10/examples 下 建 立 一 个 新 目 录 , 在 其 下 编 辑 hello.cpp 源文件,注意将源程序中 argv 后面”[]”去掉。 生成工程文件(.pro)。 生成 Makefile 文件。 输入 make,生成可执行文件 hello。 输入./hello –qws 在 Virtual framebuffer 上显示效果。 (3) 、实验中遇到的问题与解决过程。 解压安装包并设置环境变量、编译Qt/Embedded的过程中错一个地方就不会 有结果,所以这两个步骤要特别仔细认真。在Linux编译的过程中,不要去停止 它,强行停止会发生错误。运行时,系统提示不支持32位颜色,可以在设置中更 改。


更多相关文档:

《嵌入式系统》实验报告指导书(含答案)要点.doc

《嵌入式系统》实验报告指导书(含答案)要点 - 实验一 熟悉嵌入式 LINUX

《嵌入式系统》实验报告指导书(含答案).doc

《嵌入式系统》实验报告指导书(含答案) - 实验一 熟悉嵌入式 LINUX 开发

嵌入式系统实验指导书.doc

嵌入式系统实验指导书 - 金 陵 科 技 学 院 《嵌入式系统》实验指导书 实验

嵌入式系统实验指导书(6个实验).doc

嵌入式系统实验指导书(6个实验)_工学_高等教育_教育专区。C51单片机的实验内容,只是知道书,没有实验结果。 嵌入式系统 实验指导书 《嵌入式系统》实验指导书 ...

《嵌入式系统设计》实验指导书-.doc

《嵌入式系统设计》实验指导书-_计算机软件及应用_IT/计算机_专业资料。电子科技大学 微机课程组 嵌入式系统设计 实验指导书 2015 年 9 月 目录 第一部分嵌入式...

嵌入式系统实验指导书.doc

嵌入式系统实验指导书 - 《嵌入式系统原理》实验指导书 嵌入式系统原理》 目录 《嵌入式系统原理》实验指导书......

嵌入式系统实验指导指导书完整版.doc

嵌入式系统实验指导指导书完整版_计算机硬件及网络_...【实验重点及难点】 Linux 操作系统安装过程。 【...《嵌入式系统》实验报告... 5页 3下载券 嵌入...

《嵌入式系统设计》实验指导书.doc

《嵌入式系统设计》实验指导书 - 《嵌入式系统设计》实验指导书 信息科学与工程学院 信息技术实验中心 《嵌入式程序设计》实验指导书 1 实验一 一、实验目的 ARM...

嵌入式实验指导书.doc

《嵌入式系统及应用》 实验指导书 南通大学电子信息学院 2013 年 2 月 实

嵌入式系统实验指导书n.doc

嵌入式系统实验指导书n_计算机软件及应用_IT/计算机...实 验内容以及实验步骤中提出的问题及答案一定要写...电子文档《LINUX程序设计案例与实验教程.pdfp28页...

《嵌入式系统开发实训》实训指导书V1.0.doc

《嵌入式系统开发实训》指导书一、实训的目的和作用...不应处处被动地依赖指导老师查资料、给数据、定答案...的 功能模块介绍较详细,实际设计过程的体会和总结...

《嵌入式系统与开发》嵌入式数据库sqlite移植及使用-实....doc

《嵌入式系统与开发》嵌入式数据库sqlite移植及使用-实验报告答案_计算机软件...移植 使用》 实验报告 学生姓名: 学号: 专业班级: 指导教师: 完成时间: ...

北航机电系嵌入式实验报告.doc

嵌入式系统的理论课比较抽象,知识点难于理解,但是我们在实验课上通过动 手...直线轨迹智能车 参考资料 [1] 课程资料: 《嵌入式系统》实验指导书(第二版)...

嵌入式系统实验指导书2-UCOS部分.doc

《嵌入式系统原理及应用》UCOS 部分 实 验 指...实验中若损坏仪器或元器件,应及时向指导教师报告 。...(具体要求按照第八部分的设计要点), 看实验结果,...

电子信息专业_嵌入式实验报告实训指导书.doc

电子信息专业_嵌入式实验报告实训指导书 - 桂林电子科技大学 应用科技学院 《ARM 嵌入式系统实验指导书》 J-LINK 仿真器设置 设置步骤: 1. 连接 J-LINL 仿真...

嵌入式系统实验指导书_图文.pdf

《嵌入式系统》实验指导书(学生用书)韩德强 孙燕英编写 北京工业大学计算机学院 ...预习,了解实验目的、任务、要求;根据具体要求,复习有关理 论知识,写出预习报告...

嵌入式系统设计与开发实验指导书.doc

嵌入式系统设计与开发实验指导书 - 南昌工程学院 《嵌入式系统设计与开发》实验指导书 2011 年 9 月 目 录 实验一………嵌入式系统基本操作(9...

嵌入式实验报告_图文.doc

参考了武汉理工大学 嵌入式系统与网络实验室的指导书,特此声明~~ 《嵌入式系统》实验报告 嵌入式系统》 学生姓名: 专业班级:08 级计算机科学与技术二班 指导教师...

《嵌入式系统导论》实验指导书_图文.doc

《嵌入式系统导论》实验指导书 - 《嵌入式系统导论》 实验指导书 安阳工学院计算

嵌入式系统实验报告.doc

嵌入式系统实验报告 Linux 之 BootLoader 实验 学专 院业 测量与通信工程学院 ...四、 实验步骤 1、阅读“Linux 实验上机指导书”中有关 bootloader 的内容,...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com