嵌入式实习心得体会
发布时间:2019-12-21 07:30:28
发布时间:2019-12-21 07:30:28
嵌入式实习心得体会
【篇一:嵌入式实验报告】
中国地质大学(北京)
实 验 报 告
课程名称:嵌入式系统实验名称:嵌入式 linux socket编程 姓 名:杨森学 号: 1010102115班 级:10101021 指导教师:曾卫华 评 分: 实验时间: 二零一三年 四月
实验题目:嵌入式 linux socket编程
一、 实验目的
通过实验熟悉linux环境,掌握linux串口和网络使用程序开发。并且学会串口的设置,串口数据收发处理,阻塞型i/o和非阻塞型i/o,socket套接字,多线程编程基础,server和client端程序设计,对嵌入式系统有进一步的了解。
二、 实验内容和步骤
1.4.4.3交叉编译工具的path已经生效,在任意目录下能够执行arm-linux-gcc –v; 2.nfs网络文件系统的配置:
1打开nfs1175.exe; ○
255.255.255.0);
3挂载:在板子上运行 #mount -t nfs -o nolock 115.25.74.175:/d/share_vm/mnt/nfs ○
4使用 cd /mnt/nfs 进入nfs共享目录,ls 显示共享目录下的文件; ○
3.仔细阅读提供的代码server.c和client.c target为服务器,ubuntu为客户端; 4.交叉编译server.c、本地编译client.c(因为用到多线程编程,在编译语句后面加上-lpthread);
5.在板子上运行server可执行文件:#cd /mnt/nfs #ls -l server 看看前面的字串里面有没有“x”,
如没有则表明没有可执行的权限,需要用命令加入server的执行权限:#chmod 777 server,运行server
代码 #./server;
6.在ubuntu上运行client程序:#./client 115.25.74.176; 7.观察服务器端和客户端的提示信息。
三、 程序流程框图和源码
1.
流式套接字工作过程,如图1所示
图1 流式套接字工作过程
2.工作过程
以太网
1用户从串口输入信息,将串口信息转发至以太网,在ubuntu上编写client端程序,将收到的○
网络数据打印出来;
2用户从ubuntu中client端输入信息,client将位信息发送至以太网,嵌入式linux收到以太○
网信息从串口输出该信息。
3.源码
更改过的源码见附录。
四、 实验结果
1.挂载成功后串口显示,如图2所示
图2 挂载截图
2.编译之后得到的目标代码,如图3所示
图3 目标代码编译成功
3.客户端和服务器连接,如图4,图5,图6所示
图4 等待连接中
图5 ubuntu中显示连接成功
图6 串口中显示连接成功
4.结果验证,如图7所示
在串口中输入姓名(yangsen)和班级(10101021),在ubuntu中显示相应的结果; 在ubuntu中输入姓名(yangsen)和班级(10101021),在串口中显示相应的结果。
图7 验证通讯结果
五、 实验体会
本学期的所有实验均在宿主pc机和at91rm9200目标板上进行。在实验中,我们先建立硬件实验平台,又建立主机软件开发环境,接着为实验进行各项配置,最后完成了各个实验中的多种功能。很重要的一点,前期的硬件、软件准备必须完整无误地实现,这是后续的实验能顺利进行的前提。本实验中,虽然已经给出了串口程序和socket编程的程序,但是需要我们来修改和完善代码,在原代码的基础上实现新的功能。
对于整个学期的学习,我总结了一个学习嵌入式学习的要点,就是动手实践。刚开始接触嵌入式linux的时候,感觉非常的麻烦,一直思考为什么既然有了windows,linux为什么还有存在的必要。经过一段时间的学习和了解,我终于了解了开源的重要性以及linux操作系统在科研领域的无可撼动的地位。经过多次的失败之后,我已经熟练的掌握了linux的入门知识,逐步完成了建立实验软件开发平台,搭建实验编译软件环境,在pc上编辑、编译一个使用程序,并且在嵌入式系统上运行和调试它的过程,课堂的7个实验都成功地完成。这其中,自我课外学习和向高手请教是必不可少的。
通过这学期的实验,我整个实验让我了解了一套完整的嵌入式系统简单的开发的全过程,也让
【篇二:嵌入式实习报告】
一、嵌入式系统开发和使用概述
在今日,嵌入式arm 技术已经成为了一门比较热门的学科,无论是在电子类的什么领域,你都可以看到嵌入式arm 的影子。如果你还停留在单片机级别的学习,那么实际上你已经落下时代脚步了,arm 嵌入式技术正以几何的倍数高速发展,它几乎渗透到了几乎你所想到的领域。本章节就是将你领入arm 的学习大门,开始嵌入式开发之旅。以嵌入式计算机为技术核心的嵌入式系统是继网络技术之后,又一个it领域新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体使用等突出特征, 目前已经广泛地使用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。嵌入式的广泛使用可以说是无所不在。
嵌入式微处理器技术的基础是通用计算机技术。现在许多嵌入式处理器也是从早期的pc 机的使用发展演化过来的,如早期pc 诸如trs-80、appleii 和所用的z80 和6502 处理器,至今仍为低 端的嵌入式使用。在使用中,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。嵌入式处理器目前主要有am186/88、386ex、sc-400、power pc、68000、mips、arm 等系列。在早期实际的嵌入式使用中,芯片选择时往往以某一种微处理器内核为核心,在芯片内部集成必要的
rom/eprom/flash/eeprom、sram、接口总线及总线控制逻辑、定时/计数器、watchdog、i/o、串行口、脉宽调制输出、a/d、d/a 等各种必要的功能和外设。
二、实习设备
硬件:embest edukit-iv实验平台、ulink2仿真器套件、pc机
三、实习目的
1.初步掌握液晶屏的使用及其电路设计方法;掌握s3c2410x处理器的lcd控制器的使用;掌握通过任务调用的方法把液晶显示函数添加到uc/os-ii中;通过实验掌握液晶显示文本及图形的方法和程序设计。
2.了解s3c2410x处理器uart相关控制寄存器的使用; 熟悉arm处理器系统硬件电路中uart接口的设计方法:掌握arm处理器串行通信的软件编程方法。
3.掌握有关音频处理的基础知识;通过实验了解iis音频接口的工作原理;通过实验掌握对处理器s3c2410x中iis模块电路的控制方法;通过实验掌握对常用iis接口音频芯片的控制方法。
四、实习要求
上显示相应的学生信息。学生信息包括显示每个人的照片和姓名系别等,并用键控设置学生输出的顺序,输入学号就显示那个学生的信息,然后过一段时间就顺序循环播放。
通过使用embest edukit-iv实验板的彩色液晶屏(800*480)进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写任务函数在uc/os-ii系统中实现位图显示。在uc/os-ii中建立五个任务tast1和tast2,其中tast1顺序熄灭四个led,延迟一会在顺序点亮四个led。tast2在lcd屏幕上循环显示三幅图片,并打印一些文字信息和背景音乐。过使用embest edukit-iii实验板的256 色彩色液晶屏(320x240)进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写程序实现:画出多个矩形框;显示ascii字符;显示汉字字符;显示彩色位图。
五、实习步骤
1. 准备实验环境
使用ulink2仿真器连接embest edukit-iv实验平台的主板jtag接口;使用embest edukit-iv实验平台附带的交叉串口线,连接实验平台主板上的com2和pc机的串口(一般pc只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买usb转
串口适配器扩充);使用embest edukit-iv实验平台附带的电源适配器,连接实验平台主板上的电源接口。
2. 串口接收设置
在pc机上运行windows自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的pc串口硬件不同,请自行选择,如果pc机只有一个串口,一般是com1)
3. 打开实验例程
1)打开实验程序
3)默认打开的工程在源码编辑窗口会显示实验例程的说明文件readme.txt,详细阅读并理解实验内容。
4)工程提供了两种运行方式:一是下载到sdram中调试运行,二是固化到nor flash中运行。用户可以在工具栏select target下拉框中选择在ram中调试运行还是固化flash中运行。下面实验将介绍下载到sdram中调试运行,所以我们在select target下拉框中选择uart_test in ram。
5)接下来开始编译链接工程,在菜单栏“projiet”选择“build target”或者“rebuild all target files”编译整个工程。
6编译完成后,在输出窗口可以看到编译提示信息,比如
“.sdramuart_test.axf - 0 error(s), 1 warning(s).”,如果显示“0 error(s)”即表示编译成功。
7)拨动实验平台电源开关,给实验平台上电,单击菜单栏
debug-start/stop debug session项将编译出来的映像文件下载到sdram中,或者单击工具栏“”按钮来下载。
8)下载完成后,单击菜单栏debug-run项运行程序,或者单击工具栏“”按钮来全速运行程序。用户也可以使用进行单步调试程序。
9)全速运行后,用户可以在超级终端看到程序运行的信息。
flash-download项将程序固化到norflash中,从实验平台的主板拔出jtag线,给实验平台重新上电,程序将自动运行。部分程序图:
串口通信实验:
iis音频实验:
六、实习体会
在嵌入式系统中,除了课本上的基础知识外,还学会了软件编程的基本思路,掌握了液晶屏的使用及其电路设计方法;掌握有关音频处理的基础知识;掌握液晶显示文本及图形的方法和程序设计。
【篇三:嵌入式系统实验报告】
嵌入式系统设计实验报告
班 级:
学 号:
姓 名:
成 绩:
指导教师:
1. 实验一
1.1 实验名称
博创up-3000实验台基本结构及使用方法
1.2 实验目的
1.学习嵌入式系统开发流程。
2.熟悉up-net3000实验平台的核心硬件电路和外设。
3.增加对各个外设的了解,为今后各个接口实验打下基础。
1.3 实验环境
博创up-netarm3000 嵌入式开发平台
1.4 实验内容及要求
(1)嵌入式系统开发流程概述
(2)熟悉up-net3000实验平台的核心硬件电路和外设
(3)arm jtag的安装和使用
(4)通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态
(5)通过本次课程对各个外设的了解,为今后各个接口实验打下基础
1.5 实验设计和实验步骤
1.硬件安装
2.软件安装
(1)超级终端:
运行windows 系统下的超级终端(hyperterminal)使用程序,新建一个通信终端;在接下来的对话框中选择 arm开发平台实际连接的pc机串口;完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。
(2)jtag 驱动程序的安装:
执行armjtag目录下armjtagsetup.exe程序,选择安装目录,安装 jtag 软件。
1.6 实验过程和分析
(1)了解嵌入式系统开发流程
(2)对硬件的安装
(3)对软件的安装
1.7 实验结果总结
通过本次实验对嵌入式系统开发流程进行了了解,并且对硬件环境和软件环境进行了安装配置,通过本次实验对以后的接口实验打了基础。
1.8 心得体会
通过本次实验对嵌入式实验有了初步的了解,对基本开发流程也有了初步的了解。
2. 实验二
2.1 实验名称
ads1.2软件开发环境使用方法
2.2 实验目的
熟悉ads1.2开发环境,学会 arm仿真器的使用。使用 ads 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。
2.3 实验环境
(1)ads1.2开发环境
(2)博创up-netarm3000 嵌入式开发平台
(3)pc
(4)串口线
2.4 实验内容及要求
本次实验使用ads 集成开发环境,新建一个简单的工程文件,并编译这个工程文件。学习arm仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试使用程序打下基础。
2.5 实验设计和实验步骤
(1)运行ads1.2开发环境
(2)新建工程文件
(3)编译工程文件
(4)下载编译好的文件到嵌入式控制器中运行
2.6 实验过程和分析
(1)实现hello world!
最终在输出了hello world
(2)编程实现arm 和计算机之间的串行通讯
实现了串口通信,用arm监视串口,接收到的字符串由arm通过串口发送给超级终端,最终在超级终端上显示了按下的键。学习了串行通讯原理,了解串行通讯控制器,阅读arm 芯片文档,掌握arm 的uart相关寄存器的功能,熟悉arm 系统硬件的uart 相关接口。
2.7 实验结果总结
对ads 1.2开发环境使用和axd debugger使用方法有了初步的了解,基本成功运行了编译好的工程文件。
2.8 心得体会
学习了ads1.2开发环境的使用方法和调试方法。使用 ads 编译、下载、调试并跟踪一段已有的程序,了解了嵌入式开发的基本思想和过程。
3. 实验三
3.1 实验名称
键盘控制方法及led驱动设计
3.2 实验目的
熟悉zlg7289芯片的内部结构,掌握用zlg7289驱动键盘和led的方法,掌握arm汇编语言和c语言的编程方法编写出一段程序,要求能在led上显示出小键盘上按下的4位数字。
3.3 实验环境
(1)ads1.2开发环境
(2)博创up-netarm3000 嵌入式开发平台
(3)pc
(4)串口线
3.4 实验内容及要求
通过zlg7289芯片驱动17键的键盘和8个共阴极led,将按键值在led 上显示出来。
3.5 实验设计和实验步骤
(1)新建工程,将“exp3键盘及led 驱动实验”中的文件添加到工程。
(2)定义zlg7289 寄存器
(3)编写zlg7289 驱动函数
(4)定义键盘映射表
(5)定义键值读取函数
(6)编写主函数
3.6 实验过程和分析
(1)定义zlg7289寄存器
#define zlg7289_cs
#define zlg7289_key
#define zlg7289_enable() do{zlg7289sioband=rsbrdr;zlg7289sioctrl=rsiocon; rsiocon=0x31;rsbrdr=0xff;rpdatb=(~zlg7289_cs);}while(0)
#define zlg7289_disable() do{rpdatb|=zlg7289_cs;rsbrdr=zlg7289sioband; rsiocon=zlg7289sioctrl;}while(0)