嵌入式实训心得体会(共4篇)
第1篇:嵌入式实训心得体会
嵌入式实训心得体会
【篇1:嵌入式系统原理实验总结报告】
嵌入式系统原理实验总结报告
车辆座椅控制系统实验 2014/5/23
嵌入式系统原理实验总结报告
一、技术性总结报告
(一)题目:车辆座椅控制系统实验 (二)项目概述: 1.为了实现车辆座椅控制的自动化与智能化。
2.方便用户通过智能手机与车载传感器之间的联动。 3.使车辆作为当今物联网中重要的一个节点发挥作用。
4.通过车辆座椅控制系统实验实现对嵌入式系统原理课程的熟练掌握与对嵌入式系统原理知识的深化记忆。
5.加强本组学生对嵌入式系统原理的更深层次的理解与运用。
(三)技术方案及原理
本次试验分为软件、硬件两个部分。1.软件部分。
a.智能手机部分,包括通过智能手机对座椅的控制部分、手机所携带的身份信息部分。
本部分软件使用java编写,其程序部分为: 主程序: package com.example.seat;
import android.support.v7.app.actionbaractivity;import android.support.v7.app.actionbar;import android.support.v4.app.fragment;import android.os.bundle;import android.os.handler;import android.os.meage;
import android.view.layoutinflater;import android.view.menu;import android.view.menuitem;import android.view.view;import android.view.view.onclicklistener;import android.view.viewgroup;import android.os.build;
import java.io.bufferedreader;import java.io.ioexception;import java.io.inputstreamreader;import java.io.objectinputstream;import java.io.objectoutputstream;import java.net.inetaddre;import java.net.socket;
import java.net.unknownhostexception;
import android.app.activity;import android.app.alertdialog;import android.content.dialoginterface;import android.content.intent;import android.os.bundle;import android.view.keyevent;import android.view.view;import android.widget.button;
public cla mainactivity extends actionbaractivity { private button up = null;private button left = null;private button dowm = null;private button right = null;private socket socket = null;
private static final string host = 192.168.1.142;private static final int port = 10007;
public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);initcontrol();} private void initcontrol(){
up =(button)findviewbyid(r.id.button1);up.setonclicklistener(new receiverlistener());}
cla receiverlistener implements onclicklistener { protected string line;@override public void onclick(view v){
// todo auto-generated method stub new thread(){ @override
public void run(){ try {
socket socket = new socket(host, port);
bufferedreader br = new bufferedreader(new inputstreamreader(socket.getinputstream()));line = br.readline();br.close();
} catch(unknownhostexception e){ // todo auto-generated catch block e.printstacktrace();} catch(ioexception e){ // todo auto-generated catch block e.printstacktrace();} handler.sendemptymeage(0);} }.start();} }
private handler handler = new handler(){ @override public void handlemeage(meage msg){ super.handlemeage(msg);}};@override
public boolean oncreateoptionsmenu(menu menu){
// inflate the menu;this adds items to the action bar if it is present.getmenuinflater().inflate(r.menu.main, menu);return true;} @override
public boolean onoptionsitemselected(menuitem item){// handle action bar item clicks here.the action bar will
// automatically handle clicks on the home/up button, so long// as you specify a parent activity in androidmanifest.xml.int id = item.getitemid();
if(id == r.id.action_settings){ return true;} return super.onoptionsitemselected(item);} /**
* a placeholder fragment containing a simple view.*/
public static cla placeholderfragment extends fragment { public placeholderfragment(){} @override
public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate){
view rootview = inflater.inflate(r.layout.fragment_main, container, false);
return rootview;} } }
界面代码:
?xml version=1.0 encoding=utf-8? manifest xmlns:android=http://schemas.android.com/apk/res/android package=com.example.seat android:versioncode=1 android:versionname=1.0 uses-permiion
android:name=android.permiion.acce_network_state/
【篇2:嵌入式学习总结】
一.为什么学习嵌入式? 1.就业前景
近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。
随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、pda、电子字典、可视电话、vcd/dvd/mp3player、数字相机(dc)、数字摄像机(dv)、u-disk、机顶盒(set top box)、高清电视(hdtv)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。
在中国,嵌入式软件发展过程中,政府已充分认识到它的重要作用,并在政策、资金等方面给予了大力支持。2004 年国家发改委、科技部、商务部联合颁布的《当前优先发展的高技术产业化重点领域指南》,把嵌入式软件产业作为国家发展的一个重要领域。
最近几年来,中国的嵌入式软件发展速度一直高于中国软件产业的发展速度和全球嵌入式软件的发展速度,在中国软件产业和全球嵌入式软件产业中所占的比重越来越大。目前,中国嵌入式软件产业在整个软件产业中的比重已经超过了三分之一强。
从2006年至2010年,中国嵌入式软件产业规模仍将保持快速增长态势,年均复合增长率为25.8%,到2010年将达到3339.6亿元的规模。
中国嵌入式软件产业的发展面临着良好的发展环境与机遇,这包括政府的重视与扶植、信息产业与传统产业的融合机遇、垄断局面尚未形成、中国制造的良好基础、自由软件运动的兴起等等。
同时,不可否认的是长期以来,由于人才、宣传、资金等诸多问题以及嵌入式本身所特有的软硬结合特性,使嵌入式软件人才一直处于供不应求的状态。2.自身发展
嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如bootloader、board support package(像pc的bios一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。
另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全也可写bsp和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责
开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。
二.怎样学习嵌入式? 1.arm嵌入式开发领域
包括什么?
软件开发
操作系统以下的底层偏硬件驱动
在简单操作系统如uc/os-ii之上的程序开发
不包括什么?
硬件设计
类似linux这样操作系统以上的纯应用开发 2.arm基础知识
#1.arm体系结构:
load/store体系,big/little endian大小端格式,risc/cisc指令集,pipeline流水线
#2.arm工作模式:
7种工作模式:usr,sys,svc,irq,fiq,und,abt;其中5种异常模式#3.arm寄存器:
37个寄存器:r0-r12, r13(sp),r14(lr),r15(pc),cpsr(spsr)#4.arm异常:
7种异常,异常向量表,异常优先级,异常处理程序,处理器现场,现场的保存和恢复 #5.amba总线:
ahb(高性能总线),asb(系统总线),apb(外设总线)#6.arm内核技术:
trustzone,jazelle,neon,thumb-2,simd,mmu,mpu #7.jtag标准: ieee1149
.1,tdi,tdo,tck,tms,trst,边界扫描链,h-jtag,banyan,giveio
#8.arm内核分类: arm7tdmi,arm926,strongarm/xscale,arm10,arm11,cortex-(a/r/m),securcore #9.arm汇编指令:
mov,add,sub,b,bl,ldr,str,ldmfd,stmfd,mrs,msr,swi,mrc,mcr #10.mmu内存管理单元:
va/pa,i-cache/d-cache,write buffer,context switch,cp15,tlb,ap,domain
acce control,cache coherence #11.arm芯片外设控制器:
memory controller(内存控制器),watchdog(看门狗),gpio(通用io),uart(串口),timer(定时器),interrupt controller(中断控制器),nand flash controller,clock power management(时钟和电源管理),dma(直接存储访问),usb controller,lcd controller,adc,iic,iis,spi,ac97,camera,mmc/sd #12.最小系统:
处理器,时钟,电源,pll锁相环,存储器,通讯端口,外设接口
存储器件
sram,sdram,nor flash,nand flash #13.arm处理器:
samsung: s3c4510,s3c44b0,s3c2410,s3c2440,s3c6410,#14.soc设计:
fpga,cpld,vhdl,verilog #15.arm开发调试工具:
sdt,ads1.2,axd,realview,keil mdk 4.11(rvmdk4.11)make,hypertrm(超级终端),minicom #16.arm命令行工具:
armcc,armasm,armlink,fromelf #17.嵌入式操作系统:
vxworks,rtlinux,uc/os-ii,wince/wm #18.外设驱动程序:
volatile关键字,位操作bit,时序图timing,管脚功能pin function,外设控制/数据/状态寄存器 #19.程序的存储,加载和运行:
ro段,rw段,zi段,ro-base/rw-base,栈空间,堆空间,位置无关代码pic,启动搬移代码 3.核心概念 #1.寄存器:
arm内核寄存器
r0-r12r13(sp)r14(lr)r15(pc)cpsr, spsr arm soc 特殊功能寄存器
sfr(special function register)#2.地址
c程序中变量的“地址” :a
soc 特殊功能寄存器的“地址” :0x48000000
寻址方式里面的“地址” :ldr r0, [r1]
二进制指令里面的“地址” :0xe59ff018
存储芯片内部的“地址” :0x4h
操作系统之上应用程序的“(虚)地址” cpld器件对应的“(假)地址” #3.异常和中断
异常是属于arm内核体系结构的概念
中断是属于arm soc处理器的概念
了解软件中断(swi)是实现操作系统提供系统调用的重要手段
了解硬件中断(例如timer定时器)是实现操作系统时间片的重要手段
三.三个问题。
#1.为什么要编写一个bootloader?
从根本上掌握一个嵌入式开发板底层的软硬件系统是怎样运转起来的时钟频率如何设置;看门狗所起作用,串口如何工作;通讯协议如何实现;库函数;反汇编;函数栈空间。#2.为什么要移植一个操作系统?
了解操作系统和底层硬件之间的依赖关系,知道哪些是移植相关的部分(即接口)定时器中断(时钟节拍);异常处理和现场保存恢复;进程,进程控制块;处理器现场;进程的上下文切换;中断级别的进程切换。
#3.为什么要实现一个用户应用?
一个音频播放器;dma控制器,interrupt中断控制器;iis 总线;uda1341声卡芯片驱动;wav/mp3 音频文件格式;lcd液晶显示驱动;一个u盘;usb协议;fat文件系统格式;scsi命令集;nandflash存储芯片驱动。四.经典语段
经典语段一:
嵌入式技术的掌握是需要一个过程的实事求是的说,嵌入式技术的全面掌握是有相当难度的。可以轻轻松松学会嵌入式技术的说法是夸大其词了。这个就像学英语一样,学英语无论怎样学,不管是“疯狂学”还是用新理念来学,真正掌握的话还是需要一步步积累才能熟练掌握。在此,我建议大家不要想在几天内学会嵌入式,成为这方面的高手。这些想法本身是不太现实的。
现在我们需要做的是:
第一:把心踏实下来,做好打硬仗的准备。
第二:注意学习方法。尽量不要走弯路,争取一鼓作气入门。一旦入门了以后呢就好办了。嵌入式技术的掌握,本身呢就比较难,要是再走些弯路,时间上会浪费,甚至会影响学习的信心。
经典语段二:
最好的学习方法:
做项目。如果有机会大家跟着做一个难度适中的嵌入式项目,相信大家会很快入
门的。也就是说从实战之中来获得进步。但是,在我们没有嵌入式基础之前,不容易获得这样的机会。也就是说,在能力没有到之前,找个这样的工作很难。很显然呢,如果我们具备了获得这样一份工作的能力就好办了。但是,恰恰是这个阶段最难。这个就是搞嵌入式系统的门槛。这个门槛的跨越,我觉得是需要引导的。
比如有的人买了块开发板自学,上来就分析linux源码,结果折腾了几个月呢都没有什么收获。有的人只是掩饰了几个基本的功能,放了个mp3,玩了下如何来浏览网页,下不就不知道该怎么做了。实际上呢,学习一门技术是需要一个过程的,期间也会有一定的规律。我们具体来看。
五.学习心得
#1.嵌入式系统的范围很广,指具有计算能力的非pc系统,即具有通常使用的个人电脑的全部或部分特质的专用计算机系统。如生活中的pda、手机、电视机顶盒、数字电视、数码相机以及工业自动化仪表、医疗仪器等。它分硬件和软件两部分,硬件以嵌入式处理器(相当于pc的cpu)为核心,外扩rom、ram(相当于pc的硬盘、内存条)、输入/输出设备(pc的键盘/显示器)、各种通信接口(串口、usb、网络)等。软件由引导程序(pc的bios)、嵌入式操作系统(相当于pc机的windows xp)和应用程序(相当于在windows xp上运行的程序,如金山词霸、word等)3部分组成,或只有其中的某部分。
#2.目标要明确,不要得过且过,不要追逐热门的东西。不管在什么时候,心里都要有自己的信念和理想,不要被其他东西左右了自己。#3要从兴趣和竞争出发,因为这才是你产生动力源的地方。学东西时,要让自己先喜欢上它,要学会享受学习它的时间,喜欢乔***的都知道,乔老爷子最常说的一句就是要享受比赛的时间。因为只有你喜欢上了它,享受了它,才不会被它所产生的压力压倒自己,不要产生一种厌恶的心理。而且心态要调整,不要一味的蛮学,死学,在没有什么兴趣学的时候可以先玩几天,在回过头来,或者用其他的方式来转换。
#4要抱着一种十年方能磨一剑的心理,扎扎实实从基础开始,不要为高速开发的一些现象所迷惑,那些都只是软件的功劳。我个人认为搞编程,英语和数学很重要,大家一定要时时的抓,至于怎么抓那就是另外一回事了,当然其他的知识也要汲取,可以多接触点天文,地理,人文方面的东西来补充自己。
【篇3:嵌入式课程设计心得体会】
嵌入式课程设计心得体会
本学期为期一周的嵌入式课程设计在不知不觉中结束了,虽说这次课程设计时间不是很长,但是感觉自己收获颇丰,不仅学习到了一些新知识,回顾了以前的一些快要遗忘的知识点,而且使自己的学习目标更加明确,学习方法更加完善,也体会到软件开发的趣味,更加清楚地认识到了自己在软件开发及学习上的一些不足之处。下面就来详细写一下我关于此次课程设计的心得体会:
此次课程设计的实训的是由上海杰普公司的楚老师带我们完成的。楚老师看上去比较年轻,给我们很有亲和力,技术上也很强,而且讲解的比较详细,操作上相当娴熟。让我们感觉到了计算机科学技术学习的趣味性,计算机技术的实用性。此次课程设计给老师选择项目是在linux下用c语言开发一个摄像头驱动程序。项目的实施方式是团队分组合作,共同完成,让我们体验了一下公司开发项目的氛围。我们一人一机,老师边讲边练,还有企业项目经理的全程指导。虽说一些些技术我们在课堂上也曾学习过,但是大多停留在理论学习上,实际开发很少,而这次课程设计给了我们一个很好的边学习边实践的机会,对我们深入学习这些技术有很大帮助,深刻体会到了这些技术的实用性。每当自己成功调试一段代码或者通过自己的努力克服一个技术困难,都颇有收获感。这次实训让我们体验了软件开发的全过程,发现自己的不足,了解了当前流行技术的软件开发,增加了一定的项目开发经验,增强了一定的就业竞争力。简短的回顾一下这几天我们所学习的:
实训的前一天下午,我们先明确了一下下周课程设计的要求和目的,跟上海杰普公司的楚老师相互认识了一下。然后楚老师给我们详细的讲解了这一周我们要做什么,并演示了一个他自己开发的摄像头驱动程序。同学们看了,都很感兴趣,如果自己能开发出这样的一个小程序,着实让人高兴。接下来的这几天我们就跟着范老师一起学习摄像头驱动的开发,同时我们也分了小组,模拟体验一下公司的团队开发,同学们都积极策划自己团队的名字、团队的口号、队歌…… 我们首先从基本的linux命令学起,以及linux底下的c语言的一些基本知识。虽说这学期我们也学过linux开发技术,有一定的基础,但这几天的学习,还是感觉到我们学的太浅,很多的东西需要去深入的学习才能有所收获。而且深刻的体会到“熟能生巧”这句良训,光学不练还是白搭。后两天我们学习了linux底下一些开发工具的使用,如qt,感觉这些工具功能确实够强大。当通过自己写的代码能够控制摄像头拍照时,别提有多高兴了。当然在调试的过程中也遇到不少错误,每当通过自己的努力把问题解决(一般自己思考一下,查查资料都没问题),也是一种很好的收获。还有一个比较深刻的体会就是api及一些文档的查阅,这对开发人员来说是一个必须具备的能力。
一周的课程设计,一周的实训,在计算机这个博大深奥的领域我感觉自己还有好多东西要学,还有好多的东西不懂(这也再次坚定了我考研深造的决心)!嵌入式软件开发应用广泛而且前景很好,目前正处于人才紧缺的关口,嵌入式技术在未来能够得到更加广泛的应用。学好嵌入式,c语言很重要,所以感觉自己有必要在学习、积累一下这方面的知识。很多东西的学习不死一帆风顺也是比较
耗时的,嵌入式也不例外,要想学好还必须下大力气,还必须坚持。这次的课程设计让我明确了一点:嵌入式开发对于提升我们的系统知识有很大的帮助,尤其是操作系统的知识。嵌入式系统开发对于我们的知识面要求非常的广,且要有一定的深度。这次的课程设计因为是一个有针对性的训练,所以记的会非常牢固。跟平时上课不太一样,平时上完理论课很少有时间上机进行时间或者隔几天才上机练习,等到上机时一些东西可能遗忘了,比较耗费时间。在课上,有老师在前面演示我们感觉看得懂或感觉没问题,可轮到我们独立完成的时候,因为实际操作的少,跟中问题就来了!我很感谢学校特别是学院老师有实训这样的安排,把我们这一学期学的东西系统的集中的进行训练,让我们深刻明确的体验了一下软件开发的流程!还要感谢给我们实训的楚老师,感觉楚老师能力很强,也很有耐心,即使老师讲了很多遍的问题,我们不会,老师还是会走进我们给我们耐心的指导,还给我们讲一些学习计算机的方法,一些软件开发需要注意的细节,让我们知道自己在哪方面不足,需要加强,也让我们了解到哪些需要认真的学习,那些是重点,不是没有方向的乱学一通,什么也学不好!经过这次的实训,我真真确确的感受到了计算机在我们生活中工作中的运用,这些软件、程序能让我们提高工作的效率,更直观更便捷的切入主题。当然,在学习的过程中并不是一帆风顺的,在这之中,因为要操作的东西很多,有时错一步,后面的结果就无法显示,而自己的计算机水平还有待提高,根本检查不出来是哪里出了错!这时候,老师都会耐心的过来帮助我!在平时我们就需要好好的查阅书籍或者上网搜集相关资料去解决问题。
此次实训最大的收获不是我学习到了多少知识而是这几天实训给我的感悟:首先是心态。一定要有一个积极的心态,独立解决问题的意识,培养扎实基础的认识。不要什么东西都感觉跟简单(很多东西可能是看似简单)就不去做了或者不屑一做,以至于性网上搜搜就可以了,这样很不好。有自己的东西有自己的付出才会有程序运行成功时的喜悦和小自豪,这样也有助于培养自己的兴趣。要时刻牢记态度决定一切。其次是兴趣,感觉学习工作中兴趣很关键,只是一个引发人积极性的问题,有了兴趣就自觉了,效率自然就高了。再次要敢于尝试和挑战。不要安于现成的程序,而且不要害怕失败,在程序调试的过程中这点尤为重要,“发现出问题然后解决问题”是一个积累经验的过程,而且很高效。最后要不懈追求。对于源代码进行不断的完善,要尽可能的实现课题所要求的功能。对于初学者或者开发较少的人来说,大量大写程序还是有必要的,但同时要注意思考,理解其实现的内在意义。还可以自己添加一些有意义的功能来实现。当看到自己编写的程序正常运行时,兴趣也会随之而来,乐此不疲,形成一个良性循环。短短一周的课程设计很快结束了,我发现我对计算机这个专业、对嵌入式技术、对linux都有了新的认识。通过这次的实训,我了解到,要真真正正的掌握计算机程序还不是一件简单容易的事儿,但真正掌握后,它带给我们的将是无穷的便捷与科技,我喜欢高端便捷的生活。我希望我能做计算机这个万能机器人的主人而不是奴隶,我会努力加油的!感谢学校,感谢老师给我的帮助,让我的思想、技能又上了一个台阶!感谢!加油!
第2篇:嵌入式实训报告
嵌入式实训报告
班级:电子信息1301
姓名:钟海明
学号:3138702144
同组人:胡晓海
指导老师:韦龙新
1 目录:
一、实训目的---------------------3
二、实训要求---------------------3
三、实训内容---------------------3
1、嵌入式系统开发环境的搭建----------3
2、嵌入式程序的编译与下载------------3
3、uboot的移植----------------------4
4、linux内核的移植------------------4
5、NFS网络文件挂载------------------5
6、FTP和TFTP的运用-----------------6
7、试验箱镜像的烧写-----------------7
8、串口实验和TCP实验同时传送AD值--7
四、实训心得体会及体会----------8
一、实训目的:
学习和掌握ARM嵌入式Linux系统的体系结构和基本指令,熟悉Linux下的设计流程和编程流程,能够实现一定功能的嵌入式的设计,为之前的理论课程实践验证和为今后的学习及将来从事的技术工作打下一定的基础。
二、实训要求:
1、嵌入式系统开发环境的搭建
2、嵌入式程序的编译与下载
3、uboot的移植
4、linux内核的移植
5、NFS网络文件挂载
6、FTP和TFTP的运用
7、试验箱镜像的烧写
8、串口实验和TCP实验同时传送AD值
三、实训内容:
1、嵌入式系统开发环境的搭建:
首先在笔记本电脑下安装虚拟机VMware,安装成功后拷贝安装好的Fedora到本机上在虚拟机上找到路径打开。打开虚拟机进入Fedora选择用户为root密码为123456。交叉环境的安装,下载好arm-linux-gcc的编译包,解压安装到/opt下。
2、嵌入式程序的编译与下载:
用vi编辑一个(.C)的文件,保存退出后使用(arm-linux-gcc
3-o 编译后的文件名 编译文件名)的指令编译,编译成功后用FTP或TFTP将可执行文件拷贝到实验开发板中,chmod +x 文件名 修改权限(./文件名)执行编译文件。
3、uboot的移植
下载U-boot的安装包,解压到/opt路径下进入u-boot。修改Makefile将CROSS_COMPILE=/opt/Embedsky/4.3.3/bin/arm-linux-后执行#make distclean #make smdk2440_config #make
4、Linux内核的移植:
下载Linux的安装包,解压的/opt路径下进入Linux执行#make menuconfig进行配置
配置内核支持NFS启动文件系统
内核支持NFS分区(即编译时在File system中选中[*] Root file system on NFS), 以及支持内核IP_PNP(即编译时在Networking中选中[*] IP: kernel level autoconfiguration)
File systems--->
Network File Systems---> NFS file system support ## 必选 [*] Provide NFSv3 client support ## 可选 [*] Root file system on NFS ## 必选
Networking--->
4 [*] Networking support Networking options---> [*] IP: kernel level autoconfiguration ## 必选 需要打开IP:Kernel level autoconfiguration 以及下面所有的选项包括DHCP, BOOTP, RARP,而且NFS Client Support不能是模块,必须编译进内核。配置完毕后,保存退出。执行下面的命令来生成内核映像。
#make dep #make
#make zImage 映像文件产生在/arch/arm/boot/目录下,名称“zImage”。
5、NFS网络文件挂载:
1)首先修改虚拟机网络为:
192.168.0.43 输入以下命令:
#cd /root
#mkdir nfs
#touch aaa
#cd /mnt
#mkdir nfs
#vi /etc/exports 进入修改内容为:
/root/nfs
5 192.168.0.*(rw,sync,no_root_squash)存盘退出
#ifconfig(查看网络)
#ifconfig eth1 192.168.0.43
#ifconfig eth1 down
#ifconfig eth1 up
#ping 192.168.0.43
#/etc/init.d/nfs start
#mount-t nfs 192.168.0.43:/root/nfs /mnt/nfs /*此时可以在/root/nfs下新建一个文件,如果在/mnt/nfs下也有,表示NFS挂载成功。
6、TFTP的运用:
修改计算机的IP为192.168.1.43,用网络线将开发板和实验板链接起来(开发板的IP默认问192.168.1.6),打开电脑的菜单栏运行输入cmd,#telnet 192.168.1.6进去开发板用户名为root。如果进不去,打开计算机的Telnet的允许指令,还有一个就是看网络有没有ping通。打开TFTP应用程序, 将Windows文件传送到开发板使用指令: #tftp-r 文件名-g 192.168.1.43 将开发板的文件传送到Windows使用指令: #tftp-l 文件名-p 192.168.1.43 进入查看文件是否有添加,有添加则表示传送成功。
7、试验箱镜像的烧写: 连接好串口和USB,安装USB的驱动(安装驱动由于试验箱和USB线的问题我们那一组试了无数次都没有安装成功,最后还是通过换用别人的电脑才成功的)。实验箱按键拨到下载模式,打开DNW软件选择5,6,7,分别下载内核,u-boot,根文件系统,按键拨到工作模式重启实验箱,看是否正常启动即可。
8、串口实验和TCP实验同时传送AD值: 串口实验
修改串口实验的C文件并用arm-linux-gcc编译器编译生成可执行文件,利用TFTP传送到开发板的/root下,改变权限chmod +x 之后(./)执行./adc 和./uart程序,同时打开串口调试助手波特率选择9600,虚拟机的串口COM1断开,串口调试助手连接串口。接收端选择文本模式,此时就可以看见接收区收到每隔一秒钟收到的AD值,和名字学号。
TCP实验
在虚拟机中打开TCP实验的文件,修改Makefile文件中arm-linux-gcc 编译器的路径,和server.c文件中的hell[]数主的字符为zhonghaiming3138702144.保存退出。#Make 之后会生成一个为client和server的两个程序。此时将两个编译生成的文件传送到开发板上,给权限执行。同时打开网络调试助手,执行client时选择TCPserver IP为Windows IP192.168.1.43,Telnet中执行(#./client 192.168.1.43 8080)点击发送即可在Telnet中接收到
7 由网络调试助手发送过来的数据。执行./server时 选择TCPclient IP为开发板IP 192.168.1.6 执行(#./server 8080&)点击连接就可以在网络调试助手上接收到(zhonghaiming318702144)。
网络AD测试,先编译,之后和执行server步骤一样,每连接一次,发送一次AD值和姓名学号。
四、实训心得体会及总结:
三周的实训说快也快,说慢也慢。可以说这三周的实训并不是很顺利,由于对试验箱的不熟悉和嵌入式理论与实际的差距在加上嵌入式本身有一定的难度,所以走了很多的弯路。从NFS的挂载开始ping网络一步步的开始试,找原因找百度,最终还是没有成功的用NFS挂载到试验箱上,这期间几乎用了一周的时间,效率可见。
虽然走了许多的弯路,但是我觉得有时候弯路并不是坏事,就此次实训来说,我就知道了挂载实验箱不仅仅可以用NFS挂载还可以用TFTP和FTP以及实验板的rz命令直接挂载,进入实验板不仅仅可以用scoreCRT软件还可以用虚拟机的minicom以及Windows下的Telnet命令直接进入试验箱。
这次实训最大的感触就是要细心多尝试,遇到问题多看多问不要逃避,不会的要虚心求教。要把握好时间观念不要在一个地方死磕,多和同学交流,每个人遇到的问题都不一样当下次你遇到和他一样的问题是说不定你就会了。所以在这里也要感谢同组人和同学的帮助,以及老师耐教学和指导。
第3篇:嵌入式实训总结
嵌入式实训总结
2012年8月我参加了学校安排的课题实训,基地在北京,学院安排我们集体坐火车一同前去,浩浩荡荡的队伍开始出发了。刚来北京的时候,映入眼绵的都是高楼大厦,一直想到的地方终于到了,好多以前的同学听说我要去北京实训都很羡慕不已,我自己也隐隐感到自豪。
我参加的课题实训是嵌入式方向的,开课的内容主要是嵌入式开发方面的,C语言,数据结构,LINUX基本操作,网络编程,操作系统和汇编语言,这些都是嵌入式不可缺少的。每个专业技能都决定了你以后找工过。我们班分了很多小组,每组都有小组长,小组长直接对我们负责。教课老师很认真,都是从很基础的开始讲;同学们听课也很认真,由于代码操作比较多,键盘的声音源源不断的在响。好久没有感觉到这种浓重的学习气氛了,而在这紧张而充实的学习氛围中我获益匪浅,感受颇多。
授课过程中老师们也传授了一些找工作方面的经验,比如简介的样式和写法,面试中的一些着装,礼貌用语和技巧,对此基地的老师还精心的为我们安排了一场模拟面试,在其中我们学到了很多有关于面试方面的经验。
通过这几个月的实训我学到了很多,同时也让我们意识到我们要学的更多。从程序的设计到编写、画图、调试、修改、完善、到最后的实训报告,每个人都付出了时间和精力去做好自己的任务帮助队友,所以团队的合作和队友之间的相互协助非常重要。通过实训让我们更深一步的对自己的专业,对自己的能力,对自己所学的有正确的认识,并且能在以后的学习工作中不断提高和完善自己。特别是讲C语言和进程通信中老师给了我们每个小组的几个小项目,让我学到了更多项目经验,这在学校之前是没有的。这次实训也碰到了些问题,比如项目文档的写法,代码的规范,流程图的画法,这些都有讲究,在老师和同学的帮助下,我不断的提高了在这些方面的学习。
生活上班主任郭老师和王老师对我们关怀备至,让我们没有感觉在外面的那种不适感,同学们也互帮互助,所以生活上大致没什么问题,这让我们更好的去学专业。很感谢学校有这样的实训安排。
总的来说,这次实训还是比较成功的,无论是个人动手能力还是团队协作能力都得到了很好的锻炼。在实训过程中老师也交给我们很多简单实用的技巧。我们也学到了,做好做对一个项目固然重要,同时美观程度也是必不可少的,无论是从参观者的角度还是自己看的角度都很重要。
第4篇:嵌入式实训总结
实训总结
班级:卓越1301 姓名:刘* 短短三周的很快就过去了,在中软国际嵌入式方向班的第二次实习马上就要结束了。虽然只有短短的三周,但我学会了很多知识,学习了在Linux-Fedora14操作系统的环境下完成基于Smart210SDK开发板和DS18B20的温度采集及显示系统还有按键控制LED灯并实现开机和关机的相关功能,这些知识让我们对嵌入式有了更进一步的了解与熟悉。
作为一名大学生,纵观现在的就业形势,国家高校的扩招,世界金融危机的横扫,大学生应该有一种居安思危的紧迫感,特别是对已经度过几年大学的我来说,毕业并不是一个遥远的词汇。宝剑锋从磨砺出,梅花香自苦寒来,缺少了平时的锻炼,没有厚积当然不能有薄发。首先我得有思想上的紧迫感,在学校学习的都是理论知识,实践经验则是少之又少。综合能力强的人才才是这个社会需要的,成长成为社会需要的人才是我的个人奋斗目标。有了强大的精神动力,有了坚如磐石的毅力,相信成功并不遥远。
首先,通过这些天的实训我学到了很多知识。这一阶段在Linux-Fedora14操作系统的环境使用Smart210SDK开发板做一些程序设计并烧写到SD卡中通过Smart210SDK开发板来实现程序的执行,通过对Smart210SDK开发板的一步一步的熟悉和了解我们开展了嵌入式的基本的程序烧写、调试、执行这些相关的锻炼过程。
最后我们做了两个项目:
第一个是基于Smart210SDK开发板的按键控制LED灯并且实现开机和关机的相关功能与实现---项目功能是:实现长按开发板上的K1键实现开机或关机,在开机状态下能够实现K1短按控制LED1的点亮与熄灭、K2短按控制LED2的点亮与熄灭、K3短按控制LED3的点亮与熄灭、K4短按控制LED4的点亮与熄灭。项目涉及的相关技术是:相关寄存器的调用,延时子函数的调用,LED灯的初始化,实现按键的长按与短按的控制的C语言程序的设计与实现。
第二个是基于Smart210SDK开发板和DS18B20的测量并在minicom上显示的功能与实现---项目功能:首先实现DS18B20的初始化,然后在DS18B20中写数据、数据转换、读数据、进行数据间的格式转换,最后在minicom上显示出所读出的温度,并且实现当温度高于32°C的时候LED灯闪烁,当温度高于35°C的时候蜂鸣器响。项目涉及的相关技术是:相关寄存器的调用,UART的串口与DS18B20的初始化,延时子函数的调用,字符与字符串的输入输出,计算温度的并进行数据类型的转换的C语言程序的设计与实现!
在此次的实训中我感觉到我们最大的不足就是动手的能力太差,这次实训也让我深刻的了解到,不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。做事首先要先做人,要明白做人的道理,如何与人相处是现代社会的做认得一个最基本的问题,对已自己这样一个即将步入社会的人来说,需要学习的东西很多。从一起做项目的同学身上我看到了谦虚谨慎、细心努力的态度,在以后我的生活中我还会留意身边同学的优点,从他们身上找寻我所缺少的品质,不断学习。从老师那里我看到了企业人的生活面貌,没有事情可以不劳而获,今天老师们能够领导我们是他们之前努力的结果,虽然老师没有和我们讲很多公司里的事情,可是他们的言行中所表现出来的都是比我们要严谨的多的对工作的态度。最后谢谢老师辛苦的教导我们!
姓名:刘* 学号:13******** 日期:2014.07.04
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《嵌入式实训心得体会(共4篇)》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
