学习嵌入式系统开发心得

时间:2019-05-12 13:50:17下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《学习嵌入式系统开发心得》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《学习嵌入式系统开发心得》。

第一篇:学习嵌入式系统开发心得

你好,我是一名嵌入式开发爱好者.近来总是看到很多初学者(多数是在校大学生)由于没有条件,想学习却不知道如何下手。

本人绝对能体会到学习的艰辛,而且视任何对知识技术有强烈追求的人(不管目前水平高低)为同路人,所以整理短文一篇写出一些学习感受,替所有渴望知识的人企盼高手指点学习之路,分享经验。

爱因斯坦说过,”我是站在巨人的肩膀上“

实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条件。所以我想学习嵌入式要从个人的知识背景和现实条件出发。订立合适的阶段目标,在允许的条件下多动手多思考。

一般情况下对于硬件设备是比较短缺的。但是可以从软件方面和嵌入式系统开发模式上下功夫,提醒大家一点,嵌入式系统开发设计的内容知识很多,所以大家不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的是linux下的C,比如ucos(有开放源代码),虽然可能无法在硬件上仿真,但也不必着急。wince,palmos上手都很容易。无论对于初学者还是自以为是高手的人来说,编程水平(这可不受硬件条件限制)绝对是没有止境的,有了较高的编程水平(嵌入式主要是C,当然OO的几种语言c++,java是发展趋势),等到有机会的时候及时的补充硬件知识,会很快的成为高手。

还有,一定记住,学习嵌入式,”要想办法,不要找理由“。当年在dos下用tc编程时的条件,现在回想起来建筑就是奇迹。

我推荐一条学习之路吧,仅供参考,1、C开发经验

条件:linux(这都有吧)

方法:随便,主要是掌握ansiC编程(不包括gtk,qt等图形可视化开发)

2、网络、操作系统、体系结构

条件:linux,各种书,算法、例程。

方法:通过C编程实现简单的网络等知识的算法和过程。

3、嵌入式系统概念

条件:各个嵌入式网站,讨论组,书籍

方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实际问题),多思考。

4、嵌入式开发实践

条件:各种嵌入式系统开发工具的demo版(或者D版,如果有的话),包括编译器,仿真器。可以找高手们要,也可以下载。

方法:这里有两个分支,一个是基于mcu/dsp的嵌入式系统开发,一个是象palmos,wince,ucos等rtos下的应用软件开发。对硬件感兴趣,想成为真正高手的由第一个分支入手,以后进入第二个分支;如果十分厌烦硬件,只想停留在软件开发上的,可以只由第二个分支入手,以后就和pc上的开发没有什么本质上的区别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参考第6条。

5、硬件开发

条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。

方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。

6、硬件工程/软件工程/项目管理

条件: 各个芯片详细资料和使用经验,软件工程知识,项目管理知识,培训,大型项目参与经验

方法:已经是高手了,但是学无止境,沾沾自喜于已有的知识是致命的。那个下一步。。,你该是管理者了。

抛砖引玉,以上出自我的经验,欢迎各路高手们补一下 再告诉你一些我的收藏夹的网站

国内有关嵌入式开发的论坛

电子产品世界的论坛

http://bbs.edw.com.cn/index.asp

恒颐高科论坛

http://www.xiexiebang.com/

中国单片机公共实验室

http://www.xiexiebang.com/

北京科银京成技术公司

http://www.xiexiebang.com/

微芯力科技

http://www.xiexiebang.com

驱动开发网之嵌入式版块,挺综合的一个网站

http://www.xiexiebang.com/index.php

电子爱好者家园[2004年09月30日] http://home.ee521.com/main.asp

广州友善之臂电子有限公司

http://www.arm9.net/index.asp

好了 兄弟 开始努力 我们一起加油哈...

第二篇:嵌入式系统开发总结(uCCOS+uCGUI+uCFS)

嵌入式系统开发总结(uC/COS+uC/GUI+uC/FS)

今天终于把做了一个多月的嵌入式系统软件交了上去。终于可以轻松一下了,但是期末临近,看来没得闲了。现在总结一下整个开发过程,希望对想要入门嵌入式系统开发的朋友有所帮助。

首先要说的是,整个开发过程很艰苦,主要是因为第一次接触嵌入式开发,入门很难,同时由于大三有很多专业课,还有六级、实习面试等,在此对我的队友陈、马表示感谢,谢谢他们和我一直坚持到最后。

该系统实现基于uC/COS、uC/GUI、uC/FS的整合。首先要根据硬件配置三者。根据uC/GUI、uC/FS的文档资料很容易移植到操作系统uC/COS。其文档资料的下载地址请参见文章最后。

uC/COS是基于嵌入式的实时操作系统,它管理任务、内存、文件、电源等,为嵌入式系统提供多任务的开发环境。uC/GUI是一种用于嵌入式应用的图形支持软件,本系统借用uC/GUI实现系统所需要的各种界面。uC/FS是一种文件系统,本系统借用其来管理存储器中的文件,在book、message中都用到文件的读写,可以说uC/FS是本系统实现的不可或缺的部分。

该系统所有界面由uC/GUI 实现。主界面一窗口(Frame)为容器,添加菜单栏(Menu)来控制整个系统。其他界面以Dialog为容器,在Dialog中添加按钮(Button)、列表(ListView)、多行编辑框(MultiEdit)等。系统采用了“回调函数”机制,回调函数在用户程序中定义,当一个指定的事件发生时,通知图形系统调用指定的函数。通常应用于一个窗口内容改变时自动重绘的场合。该系统利用回调函数初始化窗口,当窗口内容改变时重绘窗口,同时处理事件响应,例如当鼠标点击“Read”按钮是,通过回调函数调用txtTask()函数弹出电子书显示对话框(Txt)。

总的来说,该设计结构合理,逻辑严密,各个模块相互协调实现了复杂的功能。系统界面小组力求简单大方,各个模块的功能实现都用到了不少精妙的算法。但是,由于小组能力有限,前期对嵌入式的了解浅薄,以及时间等各方面的限制,系统并没有完全实现所预期的功能,也可以说仅实现了一些辅助功能。首先说message模块,设计预期是用到红外发送,实现与红外手机的数据传输和操纵手机的短信发送,但是在实际操作中小组发现需要扩展外围电路(红外发送),由于资金问题,小组讨论放弃该功能,仅实现了信息编辑和信息保存功能。其实该功能的实现小组也是有很清晰的思路的,如果有足够的资金和时间,小组完全可以实现该功能,这里很有些遗憾。

然后是文件系统,最后的几天里,我们发现了一个严重的问题,也就是我们所用文件系统所管理的RAM是可挥发性的(一时没有意识到),我们保存到其中的文件在系统下一次启动的时候都会消失。小组发现norflash是不可挥发的存储器,于是我们考虑将文件存储到norflash中,但是在将norflash添加到uC/FS中的过程中,我们发现必须为其编写驱动程序。经过数天的努力,我们编辑出了norflash的uC/FS驱动,但是很遗憾,没有成功,竞赛举办方给出的norflash模块的实验太过简单,无法编辑驱动程序的底层控制存储器算法。(本小组编写的norflash驱动将在附件中给出)

Music模块,其实music仅仅实现了简单的mp3播放功能,同时提供暂停、下一首等功能,但是经过小组的不懈努力仍然没有声音。于是我们怀疑是硬件模块(UCB1400、AC97CODEC)的问题。

系统整体功能也有待改进,比如开机,进行一段时间的操作后,系统就会不正常的死掉。虽然我们做了大量的性能改良功能,但这个问题依然存在。

小组在近期做了此次竞赛的总结,一直表示此次竞赛给我们提供了一个很好的学习机会,大家都有了很大的提高,至少是对嵌入式有了切身的认识。大家对嵌入式系统设计也有了很大的兴趣,同时表示将在以后对嵌入式进行更深层次的研究。

在此,我们对同类设计提供一些建议。前期应该对资金、时间等做准确的估计,同时选择最主要的功能模块,这样可以集中有限精力将单个模块的功能实现的更加强大。在功能设计的阶段应尽量考虑到所有细节,这样可以避免在最后时刻发现关键因素致使系统功能大打折扣。系统的创新点:

1、使用uC/FS管理文件

电子书模块和短信编辑模块的Save功能都需要大量操作文件的代码。由于实时操作系统uC/GUI没有实现文件系统,在参考了各种版本的文件系统后,小组决定选用uC/FS。uC/FS是一种FAT格式的文件系统,它可以用于所有的存储媒体,但你必须提供存储媒体的底层接口函数。

引进uC/FS后,小组很方便地实现了系统的各种主要功能。

2、借用软键盘代替手写字体识别功能

当考虑到手写字体识别功能的难度和时间的有限,小组讨论果断决定使用软件盘实现字符的输入功能。

首先,小键盘界面小巧简洁。我们以woindow系统中的软键盘为模板,删除掉不需要的复杂按键,形成了独具风格的嵌入式版软键盘。

其次,由于界面大小限制,软键盘进入了”shift”键,实现键盘按键的切换,实现了所有字符(包括数字、大小写字母和各种操作符)的输入功能。

3、系统内容丰富多彩

这一点可以说是系统的坏处也可以说是系统的好处,坏处就是由于本次竞赛时间有限,有些功能实现的也比较简单,但是可惜的是该系统脉络清晰,很合理地将各个模块有机地结合到了一起。而且各个模块并不是相互独立的,而是相互约束、相互协作的。例如:message模块的Save功能,将文本信息保存到存储器中,保存的文件有可以在book中查阅;通讯录协助message模块中Send功能的手机号码查询。

这些都可以说是本系统的一大特色。

主界面:

(各个模块的界面以及具体实现请参看后续文章)程序流程框图:

uC/GUI中文手册下载:http://download.csdn.net/source/466900

uC/FS正式版(内含使用手册)下载:http://download.csdn.net/source/466918 uC/COS中文手册下载:http://download.csdn.net/source/466905 uC/GUI完整实例(超有用):http://download.csdn.net/source/467738

第三篇:学习嵌入式心得

嵌入式心得体会

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

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

大学也听说过嵌入式这个词,不过不太明白是什么意思,09年的时候从网上找到中嵌视频,有四张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章看完了。看书不要希望一次就会,一次就明白是什么意思,也不要死记硬背,看不明白也没关系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就记住了,遇到的少的,忘记也就忘记了。还有,不要直接阅读linux内核源代码,看一些自己把头撞破也想不明白的事,会打击初学者的积极性,要循序渐进,今天学个做个led,明天做个串口,后天说不定就做硬件编解码了。

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

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

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

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

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

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

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

第四篇:嵌入式Linux系统开发教程实验报告

嵌入式Linux系统开发教程实验报告

组员:武易 金鹏飞 周长升

实验一 熟悉嵌入式系统开发环境

一实验目的

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地址,开发目录共享,挂载等。

四实验结果

实验二嵌入式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)用变量指明两种编译器。

四实验结果

实验三

kernel与root的设计和烧写

一实验目的

1.掌握Linux内核配置与裁剪的方法 2.理解根文件系统配置。

3.掌握嵌入式系统内核和根文件系统的烧写的过程

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

对嵌入式Linux系统进行裁剪、配置和编译,生成自己需要的操作系统映像文件,并将其烧写到flash中。

四实验结果

实验四搭建嵌入式系统开发环境

一实验目的

1.掌握嵌入式开发环境的配置 2.掌握开发工具链的安装与配置。

3.掌握嵌入式系统内核和根文件系统的烧写的过程

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

(1)安装配置嵌入式开发环境;(2)安装与配置工具链;(3)内核和根文件系统的烧写

四实验结果

实验五嵌入式驱动程序设计

一实验目的

1.学习在LINUX 下进行驱动设计的原理

2.掌握使用模块方式进行驱动开发调试的过程

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。

四实验结果

实验六

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数据采集模块电路设计。

四实验结果

第五篇:嵌入式Linux系统开发教程实验报告

嵌入式实验报告

姓名: 学号: 学院: 日期:

实验一 熟悉嵌入式系统开发环境

一、实验目的

熟悉 Linux 开发环境,学会基于S3C2410 的Linux 开发环境的配置和使用。使用Linux的armv4l-unknown-linux-gcc 编译,使用基于NFS 方式的下载调试,了解嵌入式开发的基本过程。

二、实验内容

本次实验使用 Redhat Linux 9.0 操作系统环境,安装ARM-Linux 的开发库及编译器。创建一个新目录,并在其中编写hello.c 和Makefile 文件。学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。

三、实验设备及工具

硬件::UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。

软件:PC 机操作系统REDHAT LINUX 9.0+超级终端(或X-shell)+AMR-LINUX 开发环境。

四、实验步骤

1、建立工作目录

[root@localhost root]# mkdir hello [root@localhost root]# cd hello

2、编写程序源代码

我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi命令来编辑代码:

[root@localhost hello]# vi hello.c 按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq!”保存并退出。这样我们便在当前目录下建立了一个名为hello.c的文件。hello.c源程序: #include int main(){ char name[20];scanf(“%s”,name);printf(“hello %s”,name);return 0;}

3、编写Makefile

要使上面的hello.c程序能够运行,我们必须要编写一个Makefile文件,Makefile文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。使用它带来的好处就是自动编译,你只需要敲一个“make”命令整个工程就可以实现自动编译。Makefile源程序:

CC= armv4l-unknown-linux-gcc EXEC = hello OBJS = hello.o CFLAGS += LDFLAGS+= –static all: $(EXEC)$(EXEC): $(OBJS)$(CC)$(LDFLAGS)-o $@ $(OBJS)clean:-rm-f $(EXEC)*.elf *.gdb *.o 下面我们来简单介绍这个Makefile 文件的几个主要部分: CC 指明编译器

EXEC 表示编译后生成的执行文件名称 OBJS 目标文件列表 CFLAGS 编译参数 LDFLAGS 连接参数 all: 编译主入口

clean: 清除编译结果

注意:“$(CC)$(LDFLAGS)-o $@ $(OBJS)”和“-rm-f $(EXEC)*.elf *.gdb *.o”前空白由一个Tab 制表符生成,不能单纯由空格来代替。

与上面编写 hello.c的过程类似,用vi来创建一个Makefile文件并将代码录入其中。

[root@localhost hello]# vi Makefile

4、编译应用程序

在上面的步骤完成后,我们就可以在hello 目录下运行“make”来编译我们的程序了。如果进行了修改,重新编译则运行: [root@localhost hello]# make clean//编译应用程序 [root@localhost hello]# make//下载调试

注意:编译、修改程序都是在宿主机(本地PC 机)上进行,不能在超级终端下进行。

5、下载调试

在宿主PC计算机上启动NFS服务,并设置好共享的目录,(这里将刚生成的根目录/arm2410cl作为共享目录,以下实验同理)具体配置请参照前面第一章第四节中关于嵌入式Linux 环境开发环境的建立。在建立好NFS共享目录以后,我们就可以进入超级终端中建立开发板与宿主PC机之间的通讯了。

[/mnt/yaffs] mount-t nfs-o nolock 192.168.0.56:/arm2410cl /host //超级终端中执行

如果不想使用我们提供的源码的话,可以再建立一个NFS 共享文件夹。如/root/share,我们把我们自己编译生成的可执行文件复制到该文件夹下,并通过超级终端挂载到开发板上。

[root@localhost hello]# cp hello /root/share //虚拟机中

[/mnt/yaffs] mount-t nfs-o nolock 192.168.0.56:/root/share /host //超级终端中 再进入/host目录运行刚刚编译好的hello程序,查看运行结果。[/mnt/yaffs] cd /host //超级终端中 [/host]./hello hello world(1)在PC计算机上启动NFS 服务,并设置好共享的目录。

启动 Red Hat Linux –>点击“主菜单”->选择“系统设置”->“服务器设置”->“NFS服务器”->“增加”->“基本”下:点击“浏览”选择“/”下的“arm2410cl/”;“确定”;“主机:192.168.0.* ”;“基本权限”选择“读/写”;“确定”。->“常规选项”下:选择:“允许来自高于1024的端口的连接”,其他不选;确定。(2)在建立好NFS共享目录以后,进入minicom 中建立开发板与宿主PC机之间的通讯

新建终端

[root@localhost root]# minicom//服务器 新建终端

[root@localhost root]#ifconfig eth0 192.168.0.10 //设置主机地址 [root@localhost root]#ifconfig //查看地址 在服务器下:

[/mnt/yaffs] mount-t nfs –o nolock 192.168.0.56:/arm2410cl /var 注意:开发板挂接宿主计算机目录只需要挂接一次便可,只要开发板没有重起,就可以一直保持连接。这样可以反复修改、编译、调试,不需要下载到开发板。

6、实验截图

7、测试结果

测试挂载成功,用mplayer xyz.avi命令播放视频 [root@localhost /]#cd /mnt/yaffs/mm [root@localhost /]#mplayer xyz.avi

五、实验心得

本次实验比较简单,旨在让我们熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。实验中我们创建了一个新目录,并在其中编写hello.c和Makefile文件。我们学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置,下载已经编译好的文件到目标开发板上运行。学会使用Linux的armv4l-unknown-linux-gcc编译和基于NFS方式的下载调试,了解嵌入式开发的基本过程。实验二 S3C2410处理器A/D模块硬件设计

一、实验目的

1.熟悉硬件电路设计

2.掌握简单的S3c2410处理器的电路设计。3.掌握protel软件的使用。

二、实验内容

使用protel 99se 做s3c2410处理器最小系统电路设计,A/D数据采集模块电路设计。

三、实验设备及工具

硬件:UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G以上。

软件:PC 机操作系统REDHAT LINUX 9.0、超级终端(或X-shell)、ARM-LINUX 开发环境

五、实验原理

1、A/D 转换器

A/D 转换器是模拟信号源和CPU 之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据采集及许多其他领域中,A/D 转换是不可缺少的。

A/D 转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。常用的有以下两种:(1)双积分型的 A/D 转换器;(2)逐次逼近型的 A/D 转换器。

2、A/D 转换的重要指标(1)分辨率(Resolution)

(2)精度(Accuracy)

(3)ARM 自带的十位A/D 转换器(4)A/D 转换器在扩展板的连接(A/D 转换器在扩展板的接法如图2.4.2 所示,前三路通过电位器接到3.3v 电源上。)

图 2.4.2 A/D 转换器在扩展板上的接法

六、实验步骤

1、阅读理解源码

进入/arm2410cl/exp/basic/04_ad 目录,使用vi 编辑器或其他编辑器阅读理解源代码。

2、编译应用程序

运行make产生ad可执行文件

[root@localhost /]# cd /arm2410cl/exp/basic/04_ad/ [root@localhost 04_ad]# make armv4l-unknown-linux-gcc-c-o main.o main.c armv4l-unknown-linux-gcc-o../bin/ad main.o-lpthread armv4l-unknown-linux-gcc-o ad main.o-lpthread [root@localhost 04_ad]# ls ad hardware.h main.o Makefile.bak s3c2410-adc.h bin main.c Makefile readme.txt src

3、下载调试

到超级终端窗口,使用 NFS mount 开发主机的/arm2410cl 到/host 目录。[/mnt/yaffs] mount-t nfs-o nolock 192.168.0.56:/arm2410cl /host [/mnt/yaffs]insmod ad/s3c2410-adc.o [/mnt/yaffs]cd /host/exp/basic/04_ad [/host/exp/basic/04_ad]./ad Press Enter key exit!a0= 0.0032 a1= 3.2968 a2= 3.2968 我们可以通过调节开发板上的三个黄色的电位器,来查看a0、a1、a2 的变化。

4、原理图

5、实验截图

七、实验心得

通过本次试验,我学会了A/D接口原理,了解实现A/D系统对于硬件要求。阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口,还了解在Linux环境下对S3C2410芯片的8通道10位A/D模块的硬件设计。实验三

Kernel与root的设计和烧写

一、实验目的

1.掌握Linux内核配置与裁剪的方法 2.理解根文件系统配置。

3.掌握嵌入式系统内核和根文件系统的烧写的过程。

二、实验内容

对嵌入式Linux系统进行裁剪、配置和编译,生成自己需要的操作系统映像文件,并将其烧写到flash中。

三、实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境.四、实验步骤

1、设计过程:

2、烧写过程:

(一)、超级终端设置

1、运行Windows 系统下开始→所有程序→附件→通讯→超级终端(HyperTerminal),新建一个通信终端。如果要求输入区号、电话号码等信息请随意输入,出现如图1.5.1 所示对话框时,为所建超级终端取名为arm,可以为其选一个图标。单击“确定”按钮。

2、在接下来的对话框中选择ARM 开发平台实际连接的PC 机串口(如COM1),按确定后出现如图1.5.2 所示的属性对话框,设置通信的格式和协议。这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。按确定完成设置。

3、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的另存为,把设置好的超级终端保存在桌面上,以备后用。用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到程序输出的信息了。

(二)、串口下载烧写

在 Windows xp平台下通过超级终端烧写vivi(bootloader)、内核(Kernel)、根文件系

统(root)的步骤如下:

1、格式化flash 打开超级终端,先按住PC 机键盘的Back Space 键,然后启动2410-S,进入vivi,按照以下命令格式化flash,重新分区。

vivi>bon part 0 128k 192k 1216k 4288k:m 64704k 回车

2、烧写vivi 这时已格式化flash,运行的是SDRAM 中的vivi.vivi>load flash vivi x 回车 此时超级终端提示:

Ready for downloading using xmodem...Waiting...点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择协议为Xmodem,选择

镜像文件vivi,点击“发送”,10 秒左右vivi 就烧写到flash 里了.这时要复位2410-S,重新进入vivi>来烧写kernel,root.3、烧写内核映象zImage vivi>load flash kernel x 回车 出现提示:

Ready for downloading using xmodem...Waiting...点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择镜像文件zImage,协议

为Xmodem,点击“发送”,4 分钟左右zImage 传输完毕,zImage先传输到SDRAM中,再把数据从SDRAM 复制到flash 里,请等待这一过程结束到出现vivi>,再烧写root,否则会导致烧写kernel 失败。

4、烧写根文件系统(root)vivi>load flash root x 回车

Ready for downloading using xmodem...Waiting...点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择镜像文件root.cramfs,协议为Xmodem,点击“发送”,8 分钟左右root.cramfs 烧写完毕;

5、烧写应用程序

用2410-S 实验箱配套网线连接好2410-S 的NIC-1 网口和PC 机的网口,重启2410-S 进

入linux 操作系统的[/mnt/yaffs]下,注意配置IP 在同一网段,执行以下指令: [/mnt/yaffs]ifconfig --查看IP [/mnt/yaffs]ifconfig eth0 192.168.0.111 --配置eth0 IP [/mnt/yaffs]inetd --启动ftp

打开ftp 软件FlashFXP(在光盘中/img/flashvivi 目录中提供),点击界面中上部黄色闪

电符号,建立快速连接,输入地址192.168.0.111,用户名:root,密码:无。连接进入ftp 服务,上传“yaffs.tar.bz2”到2410-S 的/var 文件夹下,3 分钟左右上传完毕。

这时不能重启2410-S,否则上传过程白费。接下来在超级终端中输入: [/mnt/yaffs]cd..--转换到/mnt 下 [/mnt]rm-rf /yaffs/* --删除/yaffs 下文件 [/mnt]cd /var --转到var 目录下

[/var]tar xjvf yaffs.tar.bz2 –C /mnt/yaffs --解压yaffs.tar.bz2 到mnt/yaffs 目录下

如图1.5.9 所示,注意大小写(C 为大写),需5 分钟左右

解压缩结束,整个烧写实验就完成了。

五、实验心得

了解了Linux内核与root的知识,能够利用串口通讯下载方式完成它们的烧写过程。实验四 嵌入式软件设计与交叉编译

一、实验目的

1.掌握嵌入式Linux软件设计方法原理 2.掌握Makefile文件设计方法。

3.熟悉Linux下静态库和共享库的设计。

二、实验内容

(1)编写一个带输入、输出的由5个文件组成的嵌入式软件;(2)写好makefile文件,并上机调试;(3)用变量指明两种编译器。

三、实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境.四、程序分析

input.h: #define N 10 void input(char *s);

input.c:

#include #include Void input(char *s){ Printf(“input your name please:”);Scanf(“%s”, s);} output.h #define M 5 Void output(char *s)output.c #include #include Void output(char *s){ Printf(“hello %s!n”, s);} main.c #include #include #include “input.h” #include “output.h” int main(){ int i = 0;char name[N];input(name);for(i=0;i

CC=armv4l-unknown-linux-gcc EXEC=zc OBJS=main.o input.o output.o $(EXEC):$(OBJS)$(CC)-o $(EXEC)$(OBJS)install: $(EXP_INSTALL)$(EXEC)$(INSTALL_DIR)clean:-rm-f $(EXEC)&.o

五、实验结果

pc机上执行时 # make //若已执行过,则用# make clean 清除后再执行# make #./zc 结果:

[/mnt/yaffs]cd /host/exp/basic/zc/ [/host/exp/basic/zc]./zc input your name,please:zc hello zc!hello zc!hello zc!hello zc!hello zc!

六、实验心得

初步了解了交叉编译原理,GUN开发套件包括一系列开发测试工具,主要组件为Gcc。实验详细说明了基于ARM和Linux的嵌入式系统的交叉编译环境的建立方法,并给出了具体的步骤。实验结果表明,可以在x86平台编译调试ARM平台上运行的程序。并通过实验认识嵌入式系统上C语言编程与普通PC机上C语言编程的不同点,掌握使用交叉编译环境编译嵌入式系统程序的方法。实验五

嵌入式驱动程序设计

一、实验目的

1.学习在LINUX下进行驱动设计的原理。

2.掌握使用模块方式进行驱动开发调试的过程。

二、实验内容

在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。

三、实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

四、实验步骤

1、在PC(宿主机)上编译调试驱动程序。(1)阅读和理解源代码

进入/arm2410cl/exp/drivers/01_demo,使用vi 编辑器或其他编辑器阅读理解源代码。

(2)编译驱动模块及测试程序

上面介绍了在Makefile 中有两种编译方法,可以在本机上使用gcc 也可以使用交叉编 • 确定

• # KERNELDIR = /arm2410cl/kernel/linux-2.4.18-2410cl • KERNELDIR = /usr/src/linux(3)测试驱动程序

如果使用gcc 编译的话,需要通过下面的命令来建立设备节点,如果使用交叉编译器的话,不需要建立设备节点。#mknod /dev/demo c 254 0 首先要插入驱动模块demo.o,然后可以用lsmod 命令来查看模块是否已经被插入,在不使用该模块的时候还可以用rmmod 命令来将模块卸载。• insmod demo.o • lsmod demo.o •./test_demo

2、使用arm编译器在实验箱调试驱动程序。

五、实验结果分析

1.编译demo.c 为demo.o;编译test_demo.c 为test_demo。

gcc-c demo.c gcc-o test_demo test_demo.c 2.若编译器选择的是gcc(请查看Makefile文件),需要用以下命令建立节点:

#mknod /dev/demo c 254 0 若编译器选择的是armv4l-unknown-linux-gcc 则不需要mknod命令建立节 点。

3.使用insmod demo.o插入模块,使用lsmod 列出所有插入的模块。查看demo的插入情况: #insmod demo.o 6.运行test程序测试驱动的各个接口运行情况。

#./test_demo 结果:

PC机上的运行结果: 实验箱上的运行结果:

7.运行ad程序测试驱动的各个接口运行情况

六、实验心得

掌握了在Linux下常用编译器的使用,进一步掌握了Makefile的编写和使用以及Linux下的程序编译与交叉编译的过程。实验六

触摸屏驱动程序设计

一、实验目的

1、了解在 UP-TECH S2410/P270 DVP平台上实现触摸屏Linux 驱动程序的基本原理。

2、了解 Linux 驱动开发的基本过程。

二、实验内容

以一个简单字符设备驱动程序为原型,剖析其基本结构。进行部分改写之后并编译实现其相应功能。

三、预备知识

1、掌握在 Linux 集成开发环境中编写和调试程序的基本过程。

2、了解 ARM 芯片(本实验是针对ARMS3C2410 系列)的基本结构。

3、了解 Linux 内核中关于设备控制的基本原理。

四、实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪,PC机pentumn500以上, 硬盘40G以上,内存大于128M。软件::PC 机操作系统REDHAT LINUX 9.0 +超级终端(或X-shell)+ AMRLINUX 开发环境

五、实验原理

1、Linux 设备驱动概述

Linux 设备驱动程序属于Linux 内核的一部分,并在Linux 内核中扮演着十分重要的角色。它们像一个个“黑盒子”使某个特定的硬件响应一个定义良好的内部编程接口,同时完全隐蔽了设备的工作细节。用户通过一组标准化的调用来完成相关操作,这些标准化的调用是和具体设备驱动无关的,而驱动程序的任务就是把这些调用映射到具体设备对于实际硬件的特定操作上。

我们可以把设备驱动作为内核的一部分,直接编译到内核中,即静态编译,也可以单独作为一个模块(module)编译,在需要它的时候再动态的把它插入到内核中。在不需要时也可把它从内核中删除,即动态连接。显然动态连接比静态连接有更多的好处,但在嵌入式开发领域往往要求进行静态连接,尤其是像S3C44B0 这种不带MMU 的芯片。但在S3C2410等带MMU 的ARM 芯片中我们依然可以使用动态连接。目前Linux 支持的设备驱动可分为三种:字符设备(character device),块设备(blockdevice),网络接口设备(network interface)。当然它们之间的也并不是要严格的加以区分。

2、Linux 关于字符设备的管理

驱动程序在 Linux 内核中往往是以模块形式出现的。与应用程序的执行过程不同,模块通常只是预先向内核注册自己,当内核需要时响应请求。模块中包含两个重要的函数:init_module 和cleanup_module。前者是模块的入口,它为模块调用做好准备工作,而后者则是在模块即将卸载时被调用,做一些清扫工作。

驱动程序模块通过函数: int register_chrdev(unsigned int major, const char *name, struct file_operations *fops);来完成向内核注册的。其中unsigned int major 为主设备号,const char *name 为设备名,至于结构指针struct file_operations *fops 它在驱动程序中十分重要。

在我们编写好一个驱动程序模块后,按传统的主次设备号的方法来进行设备管理,则我们应手工为该模块建立一个设备节点。命令: mknod /dev/ts c 254 0

其中/dev/ts 表示我们的设备名是ts,“C”说明它是字符设备,“254”是主设备号,“0”是次设备号。一旦通过mknod 创建了设备文件,它就一直保留下来,除非我们手工删除它。

3、触摸屏的控制

本系统触摸屏的控制是使用的 S3c2410 处理器自带的触摸屏控制器,这部分的开发主要参考S3c2410 处理器的芯片手册的第416 页到第419 页,具体详见流程图。这部分的控制主要是设置触摸屏的采样模式,处理器提供的模式: 1.正常的转换模式

2.手动的x/y 位置转换模式 3.自动的x/y 位置转换模式

我们这里使用的是第3 种转换模式。需要注意的是在完成一次x/y 坐标采样的过程中需要一次模式转换即在点击触摸屏之前是等待中断模式,当有触摸动作产生触摸屏中断以后,在x/y 的坐标采集驱动中设置成自动的x/y 位置转换模式,在完成采集以后再转换回等待中断。ADC控制寄存器 ADC触摸屏控制寄存器

注意:在自动模式,ADC触摸屏控制寄存器要在开始读之前重新配置ADC开始延迟寄存器

ADC转换数据寄存器(ADCDAT1)

4.触摸屏相关电路图

六、实验步骤

1、改写该驱动程序,在其基础上实现一些你想要的简单功能。由于驱动程序的复杂性,不容易上手且又容易出问题,所以建议你先只对其中的调试信息做一些改动,在运行该驱动程序时看看其在屏幕上的打印信息。在你对整个过程及相关硬件有较多的一些了解之后再动手做一些功能上的调整。

2、结合 ARM-Linux 的移植实验中的相关内容,把改动的驱动程序编译进内核,并下载内核验证结果。你只要把该驱动在必要地方修改后(注意修改前的代码一定要做备份)保存代码,回到内核目录,make bzImage 编译内核,然后下载编译好的内核。

进入expbasic4_ad目录,使用vi编辑main.c: #include #include #include #include #include #include

#include #include “s3c2410-adc.h” #define ADC_DEV “/dev/adc/0raw” static int adc_fd =-1;static int init_ADdevice(void){ if((adc_fd=open(ADC_DEV, O_RDWR))<0){ printf(“Error opening %s adc devicen”, ADC_DEV);return-1;} } static int GetADresult(int channel){ int PRESCALE=0XFF;int data=ADC_WRITE(channel, PRESCALE);write(adc_fd, &data, sizeof(data));read(adc_fd, &data, sizeof(data));return data;} static int stop=0;static void* comMonitor(void* data){ getchar();stop=1;return NULL;} int main(void){ int i;float d;pthread_t th_com;void * retval;//set s3c44b0 AD register and start AD if(init_ADdevice()<0)return-1;/* Create the threads */ pthread_create(&th_com, NULL, comMonitor, 0);printf(“nPress Enter key exit!n”);while(stop==0){ for(i=0;i<=2;i++){

//采样0~2 路A/D 值 d=((float)GetADresult(i)*3.3)/1024.0;printf(“a%d=%8.4ft”,i,d);} usleep(1);printf(“r”);} /* Wait until producer and consumer finish.*/ pthread_join(th_com, &retval);printf(“n”);return 0;}

七、实验结果与分析

在PC机终端

[ root @ localhost / ]# cd /arm2410cl/exp/basic/04_ad/ [ root @ localhost 04_ad]# make armv4l-unknown-linux-gcc-c-o main.o main.c armv4l-unknown-linux-gcc-o../bin/ad main.o-lpthread armv4l-unknown-linux-gcc-o ad main.o-lpthread [root@ localhost 04_ad]# ls ad hardware.h main.o Makefile.bak s3c2410-adc.h bin main.c Makefile readme.txt src 把makefile文件中cc=gcc改为cc=arm4vl-unknown-linux-gcc用于机箱上,[ root @ localhost 04_ad]# make clean [ root @ localhost 04_ad]# make 新建终端

[root@ localhost root]# minicom [/mnt/yaffs] mount-t nfs 192.168.0.10:/arm2410cl /host [/mnt/yaffs] cd /host/exp/basic/04_ad/ [/host/exp/basic/04_ad]./ad Press Enter key exit!a0= 0.6316 a1= 2.3880 a2= 1.9594

七、实验心得

通过实验掌握了S3C2410芯片上的8通道110位AD转换器的工作原理;熟悉了各种A/D转换器原理和性能指标;掌握Linux下A/D设备驱动程序设计的基本方法;掌握了Makefile的编写和使用;学习A/D接口原理,了解实现A/D系统对于系统软件和硬件要求。

下载学习嵌入式系统开发心得word格式文档
下载学习嵌入式系统开发心得.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    嵌入式系统开发技术题库2

    嵌入式系统开发技术题库2 一、选择题 1:下面关于嵌入式系统逻辑组成的叙述中,错误的是。 A:嵌入式系统与通用计算机一样,也由硬件和软件两部分组成 B:硬件的主体是CPU和存储器......

    嵌入式LINUX系统开发入门学习步骤和技能总结

    嵌入式LINUX系统开发入门学习步骤和技能总结对于很多学习嵌入式LINUX系统开发的人来说,经验和技巧是很重要的,要不然就会落得一个事倍功半的效果。对于一个初学者或是一个零基......

    学习嵌入式系统心得

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

    学习嵌入式的心得

    嵌入式学习[转贴]怎样做才能快速的嵌入式了? 其实,做工程是没有捷径可走的先说做硬件:把你的数字电路教材和模拟电路的教材读熟,暂时先把重点放在数字电路上面,接着把微机原理和......

    基于ARM的嵌入式设备中uCLinux系统开发.

    基于ARM的嵌入式设备中uCLinux系统开发 1引言信息家电和手持设备大大加速了嵌入式系统的发展,而ARM体系32位高性能、低功耗处理器和嵌入式操作系统Linux无疑成为佼佼者。因为......

    嵌入式Linux操作系统开发流程及服务器配置概念

    嵌入式Linux操作系统开发流程及服务器配置概念1、建立开发环境。GCC(GNU C Compiler,GNU的C语言编译器)是一套由GNU工程开发的支持多种编程语言的编译器。GCC是大多数类Unix操......

    嵌入式心得(合集五篇)

    11计科4班1150313034鲁敏杰嵌入式实习报告实习内容:学习并自己动手在Ubuntu系统下制作电子相框实验目的:Ubuntu操作系统的使用,利用C语言编写程序制作电子相框第一周学习:学习Ub......

    报告嵌入式心得

    专题课学习至今,学到了很多东西。而找工作时,各种笔试面试中,深刻地体会到“嵌入式系统”的重要性。这让我更坚定了学好嵌入式系统的想法。 嵌入式系统这门课和C语言颇有关联,......