实验一熟悉嵌入式系统开发环境一、实验目的:1.熟悉嵌入式系统硬件实验平台2.掌握超级终端配置方法。
3. 掌握嵌入式系统开发环境配置,ARM-Linux下NFS服务器的配置方法4. 掌握常用的 Linux下shell命令二、实验设备及工具:硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0 、MINICOM 、AMRLINUX开发环境三、实验内容 :(1)掌握嵌入式系统实验平台上的各类借接口的位置;(2)配置windows的超级终端,熟悉vivi的命令行,bootload、kernel、root 和用户程序的介绍;(3)配置linux的终端,配置网络服、Ip地址,开发目录共享,挂载等。
四、实验步骤:1.掌握嵌入式系统实验平台上的各类接口的位置UP-TECH S2410/P270 DVP 的硬件配置如表 1.2.1 所示实物如图 1.2.1 所示:2.配置windows的超级终端,熟悉vivi的命令行,bootload、kernel、root 和用户程序的介绍;1)配置windows的超级终端:a)用串口线将 PC 机与 ARM 开发板连接好后,将 UP-TECH S2410、P270 DVP 开发板开机,然后点击 PC 机上的开始“菜单”然后找到“附件”中“通讯”选项中的“超级终端”,b)然后在超级终端里进行配置,在“名称”中输入要建立的超级终端的名字。
c)在“连接时使用”一栏选择可用的串口号,(这里根据自己的实际情况进行选择)。
d)在“每秒位数”中选择“115200”,“数据流控制”选择“无”,然后点击“确定”按钮,设置完毕。
2)学习并掌握如下命令:ls,cd ,pwd,cat,more,less,mkdir,rmdir ,rm,mv,cp,tar,ifconfig3. Linux下minicom的使用与程序挂载a)打开虚拟机,启动linux;b)新建终端,输入minicom来启动实验箱;c) 配置IP地址——输入ifconfig,查看实验箱IP地址。
新建终端,配置主机IP地址与实验箱IP在同一网段。
1.ifconfig eth0 192.168.0.3d) 用前一终端输入ping 192.168.0.3,测试是否ping通。
4. 在主机的创建开发目录,编写程序用arm编译器编译。
vi编辑器,编写代码,并使用armv4l-unknown-linux-gcc编译器进行编译Hello.c源代码为5.挂载程序至实验箱1)主机设置NFS共享选中NFS->设置共享文件夹2)实验箱终端输入:Mount -t nfs 192.168.0.3:/lx /mnt/nfs运行编译后程序五、实验结果分析:在实验室里我没能熟悉并掌握Linux的开发环境,但是在课后通过查阅书籍资料,最终熟悉了Linux 开发环境,也学会了基于S3C2410 的Linux 开发环境的配置和使用。
以及使用armv4l-unknown-linux-gcc 进行编译,使用基于NFS 方式的下载调试,实验中出现的问题是编译的文件必须挂载到开发板才能在ARM 中找到我们需要运行的文件,以及使用gcc编译时需要注意的事项。
实验二、嵌入式Linux程序设计一、实验目的:1.掌握嵌入式Linux软件设计方法原理2.掌握Makefile文件设计方法。
3. 熟悉Linux下静态库和共享库的设计二、实验设备及工具:硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0 、MINICOM 、AMRLINUX开发环境三、实验内容:(1)编写一个带输入、输出的由5个文件组成的嵌入式软件;(2)写好makefile文件,并上机调试;(3)用变量指明两种编译器。
四、实验步骤:1.在宿主机(PC)上建立用户开发目录,编写嵌入式程序文件,3个C文件+2个头文件。
cd /mkdir shiyan input.h#define N 10Void input(char *s)input.c#include<stdio.h> #include<fcntl.h>Void input(char *s){Printf(“input your name please:”);Scanf(“%s”,s);}output.h #define M 5Void output(char *s)output.c#include<stdio.h> #include<fcntl.h>Void output(char *s){Printf(“hello%s!\n”,s);}main.c#include<stdio.h>#include<fcntl.h>#include “input.h”#include “output.h”Int main( ){int i=0;char name[N];input( name );for( i=0; i<M; i++ )output( name );return 0;}2.编写Makefile文件,要求Makefile文件实现这5个文件的编译,有clean 和intall 选项,用变量选择86和arm编译器指明CC= gcc或CC= armv4l-unknown-linux-gcc 。
#makefile#cc=arm4vl-unknown-linux-gcccc=gccmain:main.o input.o output.o$(cc) –o main main.o input.o output.omain.o:main.c input.h output.h$(cc) –c main.c input.o:input.c$(cc) –c input.c output.o:output.c$(cc) –c output.cClean:rm main main.o input.o output.o3.编译程序,并下载到实验箱上执行mount –t nfs 主机ip:/开发目录 /host。
在主机上运行:挂载到目标板上运行:五、实验结果分析通过本次实验,学会了如何使用makefile进行多文件的编译。
在实验过程中复习了如何实现主机上文件的挂载,使用基于NFS方式的下载调试,通过本次实验,初步了解嵌入式开发的基本过程。
像第一次实验一样,在本机上运行要使用gcc编译,要挂载在开发板上运行时需要使用armv4l-unknown-linux-gcc 进行编译。
实验三嵌入式驱动程序设计一、实验目的:1.学习在LINUX 下进行驱动设计的原理2.掌握使用模块方式进行驱动开发调试的过程二、实验设备及工具:硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G 以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0 、MINICOM 、AMRLINUX开发环境三、实验内容:在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。
在PC(宿主机)上编译调试驱动程序。
1、阅读和理解源代码进入/arm2410cl/exp/drivers/01_demo,使用vi 编辑器或其他编辑器阅读理解源代码。
2、编译驱动模块及测试程序上面介绍了在Makefile 中有两种编译方法,可以在本机上使用gcc 也可以使用交叉编确定# KERNELDIR = /arm2410cl/kernel/linux-2.4.18-2410clKERNELDIR = /usr/src/linux3、测试驱动程序如果使用gcc 编译的话,需要通过下面的命令来建立设备节点,如果使用交叉编译器的话,不需要建立设备节点。
#mknod /dev/demo c 254 0首先要插入驱动模块demo.o,然后可以用lsmod 命令来查看模块是否已经被插入,在不使用该模块的时候还可以用rmmod 命令来将模块卸载。
insmod demo.olsmod demo.o./test_demo四、实验结果分析:实验心得:通过本次实验,我发现实验时要将驱动程序复制出来,否则如果运行不当的话会破坏系统。
同时初略学习了在LINUX 下进行驱动设计的原理,基本掌握使用模块方式进行驱动开发调试的过程。
实验四S3C2410处理器硬件电路设计一、实验目的:1.熟悉硬件电路设计2.掌握简单的S3c2410处理器的电路设计。
3. 掌握protel软件的使用二、实验设备及工具:硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G 以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0 、MINICOM 、AMRLINUX开发环境三、实验内容:使用protel 99se 做s3c2410处理器最小系统电路设计,A/D数据采集模块电路设计。
四、实验结果分析:实验心得:通过本次实验我初步熟悉了硬件电路设计,掌握简单的S3c2410处理器的电路设计以及掌握protel软件的使用,观察到了模数转换的变化(处理器上小灯闪烁)。