实验一熟悉嵌入式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.1253.在XP 下点击开始-》运行(\\192.168.1.234)4.用户名bc密码123456以上实现了Linux虚拟机(RH9)和XP的文件的共享(2)、开发板与虚拟机之间建立共享目录以及文件挂载步骤;1.服务器设置——nfs服务器(设置需要共享的目录)2.设置开发板的ip地址:ifconfig eth0 192.168.1.53.在实验箱终端里输入mount -t nfs -o nolock 192.168.1.234:/up-techpxa270/exp /mnt/nfs4./mnt/nfs即为共享目录(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即为共享目录在/mnt/nfs下建立自己的目录:mkdir cz2.编写程序源代码使用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下运行可执行程序,一个发送数据,一个接收数据。
运行程序:./serial9.修改程序,使发送端发送一个特定字符给接收端,且发送端回显一个字符或一句话。
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(信号地)。