嵌入式心得

时间:2024.5.2

11计科4班

1150313034

鲁敏杰

嵌入式实习报告

实习内容:学习并自己动手在Ubuntu系统下制作电子相框

实验目的:Ubuntu操作系统的使用,利用C语言编写程序制作电子相框 第一周学习:学习Ubuntu操作系统的简单使用

使用VMware 虚拟机搭建Ubuntu操作系统环境;作为主要由自由软件构建的操作系统,Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。Ubuntu的一些基本命令操作如下所示:

Ls 查看系统目录下的文件

Cd 进入目录 后接地址 cd .. 返回上级

Gedit 进行编译操作 后接需要编译的文件

Cat 查看文件 在编译器中查看与vi 相似

Make 进行编译 make clean 清理编译

Ctrl+Alt+F2 进入Ubuntu系统的控制台

Ctrl+Alt + F7 退出控制台操作

ctrl + C 控制台操作时终止程序运行

第二周学习:在Ubuntu中利用C语言实现图片的特效运转

电子相册的主体结构在编译器中实现编译,主要学习C语言程序的编写实现图片的特效显示 。图片特效的实现学习完毕,就开始制作电子相册,实现图片的添加。

图片的添加:图片加入文件中。在showpic.c文件中实现特效 在main.c文件中实现显示 。用C语言编写的特效有上到下、左到右、中间分屏、上下分屏、圆的扩展与缩小、四分屏等。

部分特效关键代码如下:

画点实现在屏幕中设定坐标 、参数中添加了颜色

void pixel_point(struct fb_var_screeninfo fb_var,char *mem, int x, int

y, int color)//画点函数

{ int *buf = (int *)((fb_var.xres*y+x)*fb_var.bits_per_pixel/8 + mem);

*buf = color;

}

利用C语言实现画圆的特效

void pixel_circle(struct fb_var_screeninfo fb_var, char *mem, int x, int

y,int len,int color) //画圆

{ int i,j;

for(i=0; i<fb_var.yres; i++)

for(j=0; j<fb_var.xres; j++)

if(((j-x)*(j-x) + (i-y)*(i-y)) > (len*len)) continue;

else

pixel_point(fb_var,mem,j,i,color);

}

满屏打印输出函数

void pixel_full_screen(struct fb_var_screeninfo fb_var, char *mem,int color) //满屏

{ int i,j;

for(i=0; i<fb_var.yres; i++)

for(j=0; j<fb_var.xres; j++)

pixel_point(fb_var,mem,j,i,color);

usleep(1000);

}

第三周学习:制作一个完整可运行的相册程序

编程在showpic.c函数中实现图片的特效输出;修改showpic.c添加已有特效;

编程main.c实现图片及特效的可控定向显示;完成实际操作并成功运行通过验收

学习心得:

Ubuntu操作系统与Linux操作系统相似学习起来不难,超级终端的使用就是命令行的操作,这点在以前学习的Linux操作系统中有一定的基础。最重要的感受就是特效算法的实现。这是一个学习C语言与linux的很好机会。 出现问题:

1.自下到上或者自右到左实现特效时候无法正常运行,只能出现两张图片的一半效果。

2.分屏输出出现很多重合的图片,不能按照一定的速率打印。

解决问题:

多次刷屏,当读出一半图片时候,重新读取另一半图片以及新的另一半图片。不能安装预定的方式打印图片

心得:

在为期三周的实习过程中,首先了解在VMware虚拟机上搭建的Ubuntu操作系统,加深了对Linux系统的理解和认识。其次就是学会一些基本的图片特效的实现,由于时间紧迫的缘故,不能熟练的掌握。但是实现一些基本特效还是比较容易的,对C程序又有了新的理解。总是犯一些很浅显的错误,说明还是学的不够扎实。这次实习也给了重新认识自己的机会,知道了以前学到的跟实践起来还是有很大的差别,面临工作的压力,我们这点能力是不够看的。要想找到理想的工作,同志仍需努力!


第二篇:学习嵌入式心得


嵌入式心得体会

本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了,char,int,string等占几个字节,if, for, while循环什么的,感觉也就能算一些小学就会的题目,全国计算机等级二级也就糊涂的过了。我这个专业没学过C++,一开始不知道什么是向对象,什么叫面向过程,这可能让大家笑话了。不过这说的是实话,大学的时候比较喜欢动手,喜欢硬件方面的东西,也喜欢看书。在大一的时候就听学长说,单片机很难学,在没事的时候就从图书管借了本关于51的书,一开始还真是不怎么懂,然后硬着头皮去看,当我把51的结构看完了,就不像一开始那样一头雾水了,自己在纸上把51的结构图默画一遍,然后再把各个寄存器功能写一下,各个功能口的结构也画一遍,然后就不觉得51有什么难了。其实有些时候不是这个东西你不会,而是在不会的时候自己先告诉自己这个太难了,自己先放弃了。我们学习51芯片,是为了以后的打基础,知道是怎么通过配置寄存器来实现功能。

大二下学期的时候,我们开了51的课,这个课几乎就没怎么去,因为我认为没有必要去听自己会的东西了。后来听别人说avr的资源会比51的丰富的很多,所以就想试试,看看有什么难的,就从网上买了本马潮老师《AVR单片机嵌入式系统原理与应用实践》,一边看书,一边想自己画一个板了,一开始想实现一个点阵屏,实现滚动效果,后来想想做个板也花不少钱呢,为什么不多加一些功能呢,还能多学到些知识,所以就加了温感,红外,铁电存储器等并把所有的扩展口都扩展了出来,备以后用,那时还挺自豪的呢,同学们都很羡慕,不过现在想想其实也没什么了。

大学也听说过嵌入式这个词,不过不太明白是什么意思,xx年的时候从网上找到中嵌视频,有四张DVD(大约13G),下载下来后,从头到尾的看了一遍,没什么印象,只记得讲一些不知所云的函数,然后莫名其妙的讲怎么使用那个44b0的开发板,不过听完了,还是有很大收获的,就有一种想装一个linux的冲动,我是大二下学期才有的自己电脑,不过电脑的配置比较低,1g内存,跑虚拟机就像个蜗牛,所以就想着怎么才能装个linux,自己用XP习惯了,如果全换了又舍不得,那时从书上知道linux的文件系统和windows不一样,只有一个根分区,所以也害怕一装linux全盘就被格式化了,不过最后还是欲望战胜了担心,买了张redhat 9的光盘,小心的装这个系统,里边的英文也不是太难,还是知道大概意思的,所以一步步的装,最后装到我的硬盘的最后空间,重新启动,竟可以选择进入哪一个系统了,从这之后,自己就不害怕怎么装系统了,应了那句言,纸上得来终觉浅,绝知此事要躬行。 所以我认为,买一个开发板是完全有必要的,拿到实物操作一下就不会感觉太抽象了。 后来也想学学arm,但不知道arm是什么东西,所以就买了本《从51到arm》,讲的是关于arm的大体结构,看完后感觉,原来arm就是一个速度更快,接口更丰富的单片机啊。 如果想做linux设备驱动的同学应该对arm硬件有一些了解。如果对驱动不感兴趣,完全没有必要去看。交叉编译器会帮我们做好这些事情,他比我们更了解arm结构。

大三下学期开始准备考研了,所以自己这些兴趣就先放下了,报的北邮的信通学院通信专业,当时就是想一定要上个好学校好专业,也没想太多,结果考了的成绩差了点,没有被录取,也不想调剂一个二流的学校,然后就参加工作了,工作中每天都用的到开发板,当我看到一个小板上还可以跑系统的时候感觉很不可思议,以为要很大工程。后来边工作边学习,每天都要看电脑看到眼发疼,晚上也都差不多十二点时才睡觉。感觉到累,不过也感觉到自己在进步。

闲话有点多了,说了很多都是自己大学那点破事。

听很多的初学者说不知道从哪里开始,学习嵌入都要学哪些东西,从网上搜了一下,一大堆的东西要学,一下就推荐十几本书,说看完这本书怎么怎么样,看完那本书怎么怎么样,一下子就给初学者给吓住了,其实完全没必要把网上的那些东西全部看一遍,那样又费时,又感觉工程太大,让初学者没有信心去把每一种都看完。网上说的些方面都要知道,不一定全部都掌握,我们可以退成求其次,每一个都知道一些,当然会的越多越好。今天学点这个明天学点那,换着样来也不会觉得烦。而且还能感觉到每天都有收获。

下面给嵌入式初学者一些自己的我个人建议。

1嵌入式涉及到很多的基础知识:

c语言,关于C语言要知道基本的语法,什么是结构体,什么是共用体,有什么区别,不用强记一些二级考的东西,因在实际中用的很少。

c++要知道什么是类,怎么定义,继承,接口,要深刻理解,当然基本语法也是必不可少的。

操作系统原理也应该知道基本的原理的,我记得我大学没这个课还是去电信学院蹭别的专业的课呢,后来学习发现很多的东西都是在这个课上学到的。什么时间片啊,任务调度啊,都是在那里知道的。

Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个),我们现在很多的人都习惯用鼠标了,很少用到命令,我们学习嵌入linux可要改改这个习惯了,linux用命令操作一是效率高,二是功能非常强大,远非图形界面能比的了的,其实我们用图形界面的操作都要转化为命令传给硬件的。

Linux文件系统的管理要清楚,哪个目录存放是什么东西,有什么用,文件权限管理等 Shell编程也要了解一些,在这给大家推荐一个教程,周朝剑的 shell编程,也就七八讲吧,讲的很全面。初学者看前4讲就可以了。

Linux设备驱动的架构要了解,初学者可以以飞凌的OK6410开发板上的led驱动分析一下,结合原理图和linux设备驱动相关书籍把每一行代码都分析明白。关于驱动给大家推荐一本书《LINUX社备驱动程序》中国电力出版社出版的,很经典的,初学者看可能看不太明白,不过要坚持看,最次也得把前6章看完了。

2 看书不要希望一次就会,一次就明白是什么意思,也不要死记硬背,看不明白也没关系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就记住了,遇到的少的,忘记也就忘记了。还有,不要直接阅读linux内核源代码,看一些自己把头撞破也想不明白的事,会打击初学者的积极性,要循序渐进,今天学个做个led,明天做个串口,后天说不定就做硬件编解码了。

3、你可以不接受培训,但是不能不买开发板。

如果你想学习嵌入式一定要买块学习板,现在的开发板很便宜了,给我们初学者减轻了很多经济负担。看再多的视频,看再多的书,也不如自己动手试一下,看着很简单的东西,做起来就可能遇到很多的问题,遇到问题找到原因,解决问题,只有这样才能学到东西,记得我第一次写led的驱动,想自己试一下,网上也有人写过相关的代码,可是自己一试,就出了好多的问题,那个led弄了我一天才把led灯点亮。所以不要眼高手低。

还有关于培训,现在的培训机构很多,讲的也不错,老师也很好,但是有一个问题,太集中了,而且学生动手的机会也不太多,记得我们公司还招了一个在北京某个培训机构培训半年的员工呢,花了一万多,来了之后也没感觉有多高,问他都学了什么,也就是我前边说的那些基础知识,很多的东西还是不知道的,照着书弄个helloworld模块驱动两天没搞定。不是培训不好,但我个人见解效果并不是很好。记住:只有自己动手做过的东西才是自己的。

现在买一块开发板很便宜,飞凌的OK6410的开发板就不错,源码完全开放,而且资料也很丰富,完全能满足初学者学习用,有人说友善的板子也不错,我个人觉得友善的板子不

错,但是不适合初学者,因为他的很多的东西是不给代码的,用过友善的板子的同学经常有这样的痛苦,想学一个东西,去找他的代码的时候,却找不到,很多友善提供的代码中很多的都是封装好的,只提供给客户一个库,初学者想要找代码的时候就不知道怎么办了。

4 不要好高骛远,要脚踏实地

对于初学者,还有一点小建议,我们拿到一个开发板,很兴奋也很激动,想法自然也很多,想用开发板实现自己的这个想法,实现那个想法,然后又不知道从何下手,然后就去论坛中发一个贴, “那个什么什么怎么实现啊,哪位大侠能详细说一下啊,跪求!!”然后等着别人去回复。见没人回复就抱怨。有想法是好的,我们要实现自己的想法也是有前提的,首先,我们对这部分知识了解吗?如果不了解就去google一下(最好别用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到问题,再去发贴问,这样也显得咱们有水平。比如自己连串口是什么都不太清楚呢,就问串口通信怎么做啊,就是人家把代码给咱,咱也不明白是怎么回事啊。

5 多看代码,多写代码

见多识广,熟能生巧。多看代码,要从代码中读出代码的意思来。自己平时也要多写代码,多练习(这一点我做的不好,写的少)。

写完已经晚上两点了,思路有些乱,有些也是个人的见解,在有些人看来可能是错误的,每个人有每个人的学习方法,但是我们的目的只有一个——希望我们学到更多的知识。

更多相关推荐:
嵌入式心得体会

这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和DSP系统。从…

嵌入式课程设计心得体会

本学期为期一周的嵌入式课程设计在不知不觉中结束了,虽说这次课程设计时间不是很长,但是感觉自己收获颇丰,不仅学习到了一些新知识,回顾了以前的一些快要遗忘的知识点,而且使自己的学习目标更加明确,学习方法更加完善,也…

嵌入式心得体会

嵌入式心得体会嵌入式心得体会一嵌入式学习心得体会4月10号为期一个阶段的Linux开发基础培训课程圆满结束回首这些天所留下的点点滴滴感触深深学习上知识点的积累灵活运用的过程中感受到了Linux操作的快速高效性能...

学习嵌入式心得体会Microsoft Word 文档

10计本班黄田丽05111001021学习嵌入式心得体会首先我们学习的课本是嵌入式系统应用教程我学习的体会是这样的开始时由于是刚刚入门对老师书的好多东西是好奇的好多名词也是新鲜的不过不太懂什么意思但是慢慢的了解...

学习嵌入式心得

淮海工学院计算机工程学院实验报告书课程名嵌入式系统及应用题目学习嵌入式心得班级姓名学号嵌入式系统及应用1这学期才接触嵌入式系统学了8周了感觉还称不上入门我通过了解知道了嵌入式的发展前景很大各个领域都用到了嵌入式...

嵌入式心得体会

从懵懵懂懂的踏入大学那刻起青春这艘船已吹响离港的号角伴着歌声起航大四一个尴尬的年纪已经很少有人沉浸在游戏里的舍我其谁和恋爱中的花前月下更多的是就业和考研的压力就业问题成了摆在毕业学生面前一道无法逾越的鸿沟究竟何...

嵌入式开发学习心得

个人学习嵌入式心得体会就我个人而言从最开始对嵌入式一窍不通到现在越学越感兴趣当然相应在嵌入式方面的提高也是很明显的学习潜入式越来越成为我学习生活的一部分现在把我的学习过程与大家一起分享希望那些和我一样对嵌入式想...

学习嵌入式系统心得

学习嵌入式系统心得说实在话在没有学习之前,以及在学之前通过一些口中得知这是一门很不错,很有意思的一门课。而且目前是十分吃香的一门课程,如果学好了工作很好找并且待遇也很好。听到这些,我内心非常期待上这门含金量如此…

嵌入式系统应用与学习心得体会

COS嵌入式实时操作系统的应用和学习心得COSII是一种基于优先级的抢占式多任务实时操作系统包含了实时内核任务管理时间管理任务间通信同步信号量邮箱消息队列和内存管理等功能它可以使各个任务独立工作互不干涉很容易实...

嵌入式系统学习心得

嵌入式系统学习心得嵌入式系统学习心得一嵌入式系统学习心得首先我声明我是基于嵌入式系统平台级设计的硬件这个方向我相对来讲比较有发言权如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通他们的方面上...

嵌入式学习心得

嵌入式学习心得时间过的紧快在粤嵌教育已经培训有5个月了培训期间收获很多也认识了班上的学习大神经过系统的学习老师的细心指导我的付出努力对于嵌入式上学到很多实用的知识在动手操作能力也加强了不仅在专业技术方面有了很大...

嵌入式学习心得

嵌入式学习心得当今社会嵌入式系统已经渗透到人们工作生活中的各个领域嵌入式处理器已占分散处理器市场份额的94而嵌入式Linux系统也蓬勃发展不仅继承了Linux源码开放内核稳定高效软件丰富等优势还具备支持广泛处理...

嵌入式心得(18篇)