您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 嵌入式系统原理与应用设计-实验指导书
《嵌入式系统原理与应用设计》实验指导书山东科技大学电气信息系二00八年十月实验指导书编写说明《嵌入式系统原理与应用设计-实验指导书》是为配合《嵌入式系统原理与设计》课程而编写的实验指导书,主要是依据博创公司的ARM9实验箱UP-NETARM2410-S为硬件平台,LINUX操作系统和C基础语言编程为基础工具进行编写。指导书中含有13个实验,主要用来证明嵌入式系统的应用。使用与具有C语言基础和了解LINUX操作系统的学生。实验一嵌入式实验平台的认识1、实验目的使初学者了解嵌入式教学实验平台UP-NETARM2410-S的硬件资源,学习演示linux操作系统移植的demo程序,了解嵌入式系统的硬件资源LCD显示、声音驱动、步进电机驱动。重点掌握交叉编译环境下的终端调试方法。2、实验仪器博创科技嵌入式教学实验箱UP-NETARM2410-S和电脑。3、实验内容UP-NETARM2410-S实验箱采用基于ARM9架构的嵌入式芯片S3C2410,主频202MHz,64MBSDRAM,64MBFLASH,UP-NETARM2410-S主板资源上有8寸640*480TFT真彩LCD、触摸屏、4个主USB口、1个从USB口、2个JTAG接口、一个100M网卡,预留一个100M网卡、两个串口、一个485接口、CAN总线接口、红外通信收发器、8通道10位AD转换模块、2通道10位DA转换模块等PCMCIA接口、SD/MMC接口、IDE硬盘接口、笔记本硬盘接口、CF卡接口、IC卡接口、直流电机、步进电机*8个用户自定义LED数码管*17键键盘*PS2鼠标、键盘接口。提供软件资源:完整的Linux、WinCE、μC/OS-II操作系统移植、bootloader:vivi、操作系统:linux2.4.x。4、实验原理4.1windows下的超级终端方式运行演示程序⑴建立超级终端:运行Windows系统下(以WindowsXP为例)开始→所有程序→附件→通讯→超级终端(HyperTerminal)。在windowsxp操作系统下,当初次建立超级终端的时候,会出现如下对话框,请在□中打上√,并选择“否”。⑵新建一个通信终端:区号、电话号码等信息随意输入,出现如下所示对话框时,为所建超级终端取名为arm,可以为其选一个图标。单击“确定”按钮。⑶ARM开发平台实际连接的PC机串口选择COM1.端口设置:波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。⑷完成新建超级终端的设置以后,可以选择超级终端文件菜单中的另存为,把设置好的超级终端保存在桌面上,以备后用。用串口线将PC机串口和平台UART0正确连接后,就可以在超级终端上看到程序输出的信息了。⑸启动实验箱电源打开电源开关,系统会由VIVI开始引导。正常启动时会显示启动信息到“PressReturntostarttheLINUXnow,anyotherkeyforvivi”,不进行任何操作等待30S或按回车则启动进入linux系统,按除回车键外的其它键则进入vivi控制台,如图5.3.1。在这里输入“boot”,进入LINUX系统。⑹是在应用程序目录下,可以通过“ls”查看,如图演示程序都是经过编译后生成的二进制文件,用来测试开发板端口和演示开发板功能⑺演示内容1-播放视频:[/mnt/yaffs/iccard]cd/mnt/yaffs/mplayer/--带“/”表示绝对路径,但必须从/mnt开始[/mnt/yaffs/mplayer]lsmplayermplayer2test.avi[/mnt/yaffs/mplayer]mplayertest.avi――看到原始电影[/mnt/yaffs/mplayer]mplayer2test.avi――看到全频电影⑻根据说明书,实验直流电机工作方式。电机的演示:打开电机红色按钮开关(1)直流电机:[/mnt/yaffs]cdmotor/[/mnt/yaffs/motor]lsDCSTEP[/mnt/yaffs/motor]cdDC/――注意大小写[/mnt/yaffs/motor/DC]lsdc-motor.odcm_main[/mnt/yaffs/motor/DC]insmoddc-motor.oUsingdc-motor.os3c2410_dcm_init(159):s3c2410-dc-motordeviceinitialized[/mnt/yaffs/motor/DC]./dcm_main――启动直流电机(2)步进电机:[/mnt/yaffs]cdmotor/[/mnt/yaffs/motor]lsDCSTEP[/mnt/yaffs/motor]cdSTEP/[/mnt/yaffs/motor/STEP]lsexio.ostepmotor[/mnt/yaffs/motor/STEP]insmodexio.oUsingexio.o[/mnt/yaffs/motor/STEP]./stepmotor――启动步进电机(9)播放mp3:[/mnt/yaffs]cdsound/[/mnt/yaffs/sound]ls1.wavmadplayttdl.mp3wavplaywavrec[/mnt/yaffs/sound]madplayttdl.mp3MPEGAudioDecoder0.14.2(beta)-Copyright(C)2000-2001RobertLeslie5、实验思考1)实验过程中目标机、主机、终端机各指什么设备。2)终端显示结果的程序在哪个设备中执行实验二交叉编译环境设置与终端调试1.实验目的:熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用,使用Linux的armv4l-unknown-linuxgcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。2.实验仪器硬件:博创科技嵌入式教学实验箱UP-NETARM2410-S、PC机Pentium500以上,硬盘10G以上的电脑。软件:WINDOWSXP操作系统、LINUX9.0操作系统、MINICOM终端调试器、ARM-LINUX开发环境。3、实验原理绝大多数Linux软件开发都是以native方式进行的,即本机(HOST)开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编译调试环境建立在宿主机(即一台PC机)上,对应的开发板叫做目标板。运行Linux的PC【宿主机】开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码(这种可执行代码并不能在宿主机上执行,而只能在目标板上执行),然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口,以太网口等,具体使用哪种调试方法可以根据目标机处理器提供的支持作出选择。宿主机和目标板的处理器一般不相同,宿主机为Intel处理器,而目标板如UP-NetARM2410-S开发板为三星S3c2410.GNU编译器提供这样的功能,在编译器编译时可以选择开发所需的宿主机和目标嵌入式linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过以下过程:建立开发环境:操作系统一般使用REDHAT-LINUX,版本7到9都可以,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的交叉编译器。配置开发主机:配置MINICOM,一般参数为波特率115200,数据位8位,停止位1,无奇偶校验,软硬件控制流设为无。在WINDOWS下的超级终端的配置也是这样。MINICOM软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具;配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如三星的ARM7、ARM9系列芯片,这样就需要编写烧写开发板上flash的烧写程序,网络上有免费下载的WINDOWS下通过JTAG并口简易仿真器烧写ARM外围flash芯片的程序。也有LINUX下公开源代码的J-FLASH程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果你购买了厂家的仿真器当然比较容易烧写flash了,但是其中的核心技术是无法了解的。这对于需要迅速开发应用的人来说可以极大地提高开发速度。下载别人已经移植好的LINUX操作系统,如UCLINUX、ARM-LINUX、PPC-LINUX等,如果有专门针对你所使用的CPU移植好的LINUX操作系统那是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于UCLINUX这样的系统好像只能编译进内核进行调试。建立根文件系统,从软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映象文件。建立应用程序的flash磁盘分区,一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性flash(NOR型)512K-32M,有的系统使用非线性flash(NAND型)8-512M,有的两个同时使用,需要根据应用规划flash的分区方案。开发应用程序,可以下载到根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用程序不使用根文件系统,而是直接将应用程序和内核设计在一起,这有点类似于UCOS-II的方式。烧写内核、根文件系统、应用程序。发布产品。4、实验内容4.1开发环境的设置配置网络,包括配置IP地址、NFS服务、防火墙。网络配置主要是要安装好以太网卡,对于一般常见的RTL8139网卡,REDHAT9.0可以自动识别并自动安装好,完全不要用户参与,因此建议使用该网卡。然后配置宿主机IP为192.168.0.121。如果是在有多台计算机使用的局域网环境使用此开发设备,IP地址可以根据具体情况设置。如图2.1所示:图2.1网络配置双击设备eth0的蓝色区域,进入以太网设置界面,如图2.2,2.3所示:图2.2以太网常规设置界面图2.3以太网路由设置界面对于REDHAT9.0,它默认的是打开了防火墙,因此对于外来的IP访问它全部拒绝,这样其它网络设备根本无法访问它,即无法用NFSmount它,许多网络功能都将无法使用。因此网络安装完毕后,应立即关闭防火墙。操作如下:点击红帽子开始菜单,选择安全级别设置,选中无防火墙。如图2.4所示:图2.4安全级别设置在系统设置菜单中选择服务器设置菜单,再选中服务菜单,将iptables服务的勾去掉,并确保nfs选项选中。配置NFS:点击主菜单运行系统设置-服务器设置-NFS服务器(英文为:SETUP-SYSTEMSERVICE-NFS),点击增加出现如下在界面,在目录(Drictory):中填入需要共享的路径,在主机(Hosts):中填入允许进行连接的主机IP地址。并选择允许客户对共享目录的操作为只读(Read-only)或读写(Read/write)。如图2.5所示:图2
本文标题:嵌入式系统原理与应用设计-实验指导书
链接地址:https://www.777doc.com/doc-6008682 .html