嵌入式软件开发教程(嵌入式应用软件开发流程)

软件开发 2142
今天给各位分享嵌入式软件开发教程的知识,其中也会对嵌入式应用软件开发流程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、嵌入式开发学习步骤

今天给各位分享嵌入式软件开发教程的知识,其中也会对嵌入式应用软件开发流程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

嵌入式开发学习步骤

我也是计算机科学与技术专业的,你要是在单片机上做开发,给你看看怎么学习。当然我们的嵌入式学习基本上都是基于Linux的啊。

开发板必须要有的啊!!呵呵。

这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究!

在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。

关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux 内核应该是一个人的内功的反应。

怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。 先看《深入理解linux内核》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看操作系统原理的书。看了几遍后,就看情景分析,最好对着《深入理解linux内核》看。两本交叉看,《深入理解linux内核》是纲,《情景分析》是目。最后深入代码。

学习嵌入式技术,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm。操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了!相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!

至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然化钱,我认为值。对我实习和工作产生了很大的影响。

如果没有开发板,那是纸上谈兵。有人说,那要1000-2000啊,的确是,兄弟,看长远的,对您的职业和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,很多同学拿 1-2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。当然我也非常的努力。说这么多并不是要炫耀我什么,实际上根本不值得炫耀,虽然现在工作环境和待遇比较满意,但是,我发现我很差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理!

没有想到,一下写了这么多,其实还想写的,比如在中科院的一位老兄是怎样学习linux内核和看书的,真的很感动。他的为人我很钦佩。也想介绍毛德操的《嵌入式系统》那本书,对学习arm linux的很好,也想介绍实习和工作的东西,太长了,耽误大家时间。我也不想检查里面的错别字了,很多!

呵呵呵,我想对你应该有帮助的啊,特别是那几本书,必看的啊!!

希望你前程似锦,学习进步!!

呵呵呵呵。汇编也很重要啊,这一点对明白操作系统和CPU有重要的推进作用。

嵌入式软件开发是什么?

什么是嵌入式开发和软件开发

其实很简单,你百度一下就知道的,但是既然你提问了,我就说哈,我也是学嵌入式开发的,虽然还没毕业。

1.自从有了单片机,就有了嵌入式

2.嵌入式系统是软件和硬件的综合体,有嵌入式软件开发和嵌入式硬件开发,一般都是软件开发,硬件太难了(要学习硬件的知识,数字电路和模拟电路是必修的,计算机的架构。。。),既然叫嵌入式就不是纯软件了,还得一些硬件的知识,多数时候搞得是烧写,调试电子器件。

3.嵌入式系统是可以自己定制的系统(顾名思义,就是要什么就留下什么,可以剪切的系统,追求的是小型化,适用,低成本,低功耗,可扩展),多数抚采用的linux的内核(最简单的ucOS-||,新手接触),一大特点就是专用,定制,内核是一大难。

4.应用:手机(像现在android手机的游戏开发,运用开发等),各种手持终端,车载系统,各种监控各种带程序的电子器件,只能家居,只能机器人。。。。

什么是嵌入式软件和非嵌入式软件

简单的说,嵌入式软件就是基于嵌入式平台(比如ARM+Linux)的应用软件或者系统软件;而非嵌入式软件大多指基于通用处理器和操作系统平台俯软件(比如桌面应用软件)。

嵌入式应用软件开发与嵌入式系统软件开发区别

你好,就我自身而言,两者都在做。应用软件主要是PC机的软件或者手机上的各种app,而嵌入式系统是指更底层的,也就是应用软件的平台。给你举个例子吧,我是做智能卡的,比如公交卡,CPU卡芯片内存有操作系统(cos)这属于嵌入式系统软件,而你要往卡里充值时就要用到电脑上的充值软件(上位机),这个则是应用软件!

什么是嵌入式软件开发如何学习

嵌入式自学的话非常难,因为嵌入式需要学习的东西很多而且很难,如果你没掌握学习嵌入式的方法的话,可能1-2年都只能入门,如果你掌握嵌入式的学习的方法的话,半年就能学会嵌入式。

…………………………………………

看你问的问题,应该是对嵌入式很感兴趣,其实你可以自学嵌入式。关于如何学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。

先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。

退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。

一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。

回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。

后来,我在百度知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。

我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。

主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。

后来我又找到一份很好的视频,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 粘贴浏览器地址栏按回车键即打开)。里面的教程还不错,很完整,可以让我从基础的开始学起。视频比较便宜。

下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。

收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。

接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也......

嵌入式软件开发和软件开发有区别吗

操作系统不一样,嵌入式软件开发属于软件开发的一种。

嵌入式软件开发主要针对计算能力有限的CPU进行的软件开发,比如INTEL的CPU芯片时钟频率可以达到1G HZ,虽然INTEL的CPU运算能力强大,但是体积大,发热大,不适合使用在某些场合,这个时候就要使用一些体积小,功耗低,运算能力有限的专用CPU,比如手机上使用的CPU处理器,在这种CPU上运行的操作系统就是嵌入式操作系统,这些操作系统占用比较小的硬件资源,但是却有相对较高的执行调度效率。

嵌入于宿主设备,智能地完成宿主设备功能的计算机就是嵌入式计算机,或简称为嵌入式。嵌入式计算机的构成:可以是单片的微控制器(MC-micro-controller),在我国习惯于称做单片机;也可以是由微处理器(MP-microprocessor)另加存储器及外部设备构成;还可以在MC/MP的基础上附加数字信号处理器(DSP)核心部件,构成多核MP/MC。

新一代嵌入式计算机的主要特征:是继承了整个PC机时期的技术成就,特别是进入90年代后的全球万维网(Web)技术(产品有可接入万维网的手持式PDA设备等)和多媒体技术(产品有高质量数字音响、数字视盘播放器,数码静态相机、数码视频摄像机等等)。这类嵌入式的目标是想把桌面PC机上成熟的技术拆解下来,放入手持设备或移动设备,供用户随时随地进行消费。全球网中行之有效的众多通信协议,多媒体的MP3、JPEG、MPEG等所采用的标准数据格式及各种库函数都使用32位格式和32位的编程软件,所以嵌入式也注定要使用32位的微处理器。

为顺应形势发展的需要,32位手持设备用的嵌入式操作系统应运而生,著名的有Windows CE、Epoch、 Palm OS等等,可见今日嵌入式的立点水平是很高的。

新一代嵌入式主要面向手持或移动消费类设备,电池供电和低价位是重要考虑因素,这就从根本上决定了它不可能照搬PC机上原来使用的微处理器。下面先介绍嵌入式32位微处理器的技术进步,然后再举一些新型嵌入式微处理器的实例,使读者对新一代嵌入式有一个较清晰的认识。

由上述可见,当前嵌入式所用MP多是32位RISC DSP双核或RISC/DSP单核结构。过去比较著名的RISC生产厂家起著基石作用。许多新兴的嵌入式厂家购买他们的RISC专利嫁接到自己的DSP核上。一些著名的生产CISC微处理器的厂家不甘心丢失嵌入式市场,也纷纷向RISC及DSP靠拢。

从1981年Ready System发展了世界上第1个商业嵌入式实时内核(VRTX32),到今天已经有近20年的历史。20世纪80年代的产品还只支持一些16位的微处理器,如68k,8086等。这时候的RTOS还只有内核,以销售二进制代码为主。当时的产品除VRTX外,还有IPI公司的MTOS和80年代末ISI公司的PSOS。产品主要用于军事和电信设备。进入20世纪90年代,现代操作系统的设计思想,如微内核设计技术和模块化设计思想,开始渗入RTOS领域。老牌的RTOS厂家如Ready System(在1995年与Microtec Research合并),也推出新一代的VRTXsa实时内核,新一代的RTOS厂家Windriver推出了Vxwork。另外在这个时期,各家公司都有力求摆脱完全依赖第三方工具的制约,而通过自己收购、授权或使用免费工具链的方式,组成1套完整的开发环境。例如,ISI公司的Pri *** t、著名的Tornado(Windriver)和老牌的Spectra(VRTX开发系统)等。

进入2......

嵌入式软件开发应该学什么

如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux+ARM方向,关于这个方向,我认为大概分3个阶段:

1、嵌入式linux上层应用,包括QT的GUI开发

2、嵌入式linux系统开发

3、嵌入式linux驱动开发嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等

Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。所以自学的话你可以尝试以下路线:

(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。

推荐书籍:谭浩强的很不错,《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。

(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。

(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。

推荐书籍:《UNIX环境高级编程》(第2版)

(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。

(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。

(6) 驱动开发

linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。

linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!推荐到华清远见的网站上了解嵌入式的课程体系和学习方法,还有很多资料和视频教程可以下载。

嵌入式软件开发好还是硬件开发好

硬件相对比较死板固定,但软件特别是系统架构的设计就很能锻炼

人的脑力。巨立安技术一直认为做软件更能体现人脑的价值。

不过对工作,尤其是嵌入式这个方向的开发来说,也许最好的策略

就是坚持 linux 内核里面多任务调度时所采用的 “完全公平的调度(C

FS)”哲学。任何一个进程,只要它最需要cpu、或者已得到cpu时间

相对于其他进程最少,那调度器就优先调度cpu给他。

软件硬件的学习也是一样,什么时候哪方面需要你花时间多一些、

或者你自己不擅长哪一方面,那就坚持往那方面发展用劲。如此,

到最后,你就会发现已然成为一个嵌入式乃至计算机系统的专家。

什么是嵌入式开发和软件开发

嵌入式开发和硬件关系稍显密切,主要是编写程序操作硬件,比如:手机、打印机、电子显示屏等等

软件开发主要是编写程序操作计算机。

嵌入式系统开发与软件开发的区别

嵌入式系统开发是软件开发的一种,嵌入式系统开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等。

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用 户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能

嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。

嵌入式非常难,到底怎么学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。

==========================================

先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。

退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。

一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。

回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。

后来,我在百度知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。

我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。

主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。

后来我又找到一份很好的视频,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 粘贴浏览器地址栏按回车键即打开)。里面的教程还不错,很完整,可以让我从基础的开始学起。视频比较便宜。

下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。

收到他们寄过来的光盘后,......

嵌入式软件开发与软件开发有什么区别

1、嵌入式软件开发指的是针对单片机、ARM、FPGA的编程,没有window或linux操作系统,即使有,也是功能较为简单的操作系统,比如ucos。总之嵌入式软件开发和硬件关系比较紧密,一般需要编写硬件驱动。

2、软件开发一般指在已经安装了像window或linux的电路板上编写应用,软件开发不直接编写硬件驱动,因为驱动已经 *** 作系统实现了,软件开发注重逻辑功能的实现,比如要实现拍照,只需调用摄像头驱动即可。

嵌入式软件开发要学什么?要学哪些东西?

学习嵌入式软件开发应该从学习单片机开始,单片机是一切嵌入式的基础,最早的嵌入式系统就是以单片机为核心的,随着技术的进步和发展,才逐步发展到现在的DSP、ARM为核心的等高端高速控制系统。单片机是基础,同时也是现在较大系统不可分割的组成部分,比如汽车,主控系统是ARM,但各个子系统仍然是单片机完成的。所以一个出色的嵌入式软件工程师,必须具备单片机的知识,这样才能在实际工作中把控一切,应用自如。

嵌入式开发要学什么

嵌入式Linux操作系统学习规划\x0d\x0aARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: \x0d\x0a(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) \x0d\x0a(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) \x0d\x0a(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。 \x0d\x0a从事嵌入式软件开发的好处是: \x0d\x0a(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。 \x0d\x0a(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。 \x0d\x0a(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。 \x0d\x0a(4)兴趣所在,这是最主要的。 \x0d\x0a从事嵌入式软件开发的缺点是: \x0d\x0a(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。 \x0d\x0a(2)这方面的企业数量要远少于企业计算类企业。 \x0d\x0a(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。 \x0d\x0a(4)平台依托强,换平台比较辛苦。 \x0d\x0a兴趣的由来: \x0d\x0a1、成功观念不同,不虚度此生,就是我的成功。 \x0d\x0a2、喜欢思考,挑战逻辑思维。 \x0d\x0a3、喜欢C \x0d\x0aC是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下: \x0d\x0a相信程序员。 \x0d\x0a不要阻止程序员做那些需要去做的。 \x0d\x0a保持语言短小精干。 \x0d\x0a一种方法做一个操作。 \x0d\x0a使得它运行的够快,尽管它并不能保证将是可移植的。 \x0d\x0a4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。 \x0d\x0a5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。 \x0d\x0a方法步骤: \x0d\x0a1、基础知识: \x0d\x0a目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。 \x0d\x0a科目:数字电路、计算机组成原理、嵌入式微处理器结构。 \x0d\x0a汇编语言、C/C++、编译原理、离散数学。 \x0d\x0a数据结构和算法、操作系统、软件工程、网络、数据库。 \x0d\x0a方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。 \x0d\x0a主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。 \x0d\x0a\x0d\x0a2、学习linux: \x0d\x0a目的:深入掌握linux系统。 \x0d\x0a 方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。 \x0d\x0a主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。 \x0d\x0a3、学习嵌入式linux: \x0d\x0a目的:掌握嵌入式处理器其及系统。 \x0d\x0a方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。 \x0d\x0a (2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。 \x0d\x0a (3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。 \x0d\x0a 主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 \x0d\x0a\x0d\x0a4、深入学习: \x0d\x0a A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。 \x0d\x0a B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。 \x0d\x0a\x0d\x0a2010-8-21 16:46 回复 \x0d\x0a122.90.173.* 2楼\x0d\x0a\x0d\x0a C、网络与信息安全技术:如加密技术,数字证书CA等。 \x0d\x0a D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。 \x0d\x0a 说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。 \x0d\x0a 注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。 \x0d\x0a 不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的! \x0d\x0a 技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。 \x0d\x0a\x0d\x0a 嵌入式书籍推荐 \x0d\x0a Linux基础 \x0d\x0a 1、《Linux与Unix Shell 编程指南》 \x0d\x0a C语言基础 \x0d\x0a 1、《C Primer Plus,5th Edition》【美】Stephen Prata着 \x0d\x0a 2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K R)着 \x0d\x0a 3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE) \x0d\x0a 4、《嵌入式Linux应用程序开发详解》 \x0d\x0a Linux内核 \x0d\x0a 1、《深入理解Linux内核》(第三版) \x0d\x0a 2、《Linux内核源代码情景分析》毛德操 胡希明著 \x0d\x0a 研发方向 \x0d\x0a 1、《UNIX Network Programming》(UNP) \x0d\x0a 2、《TCP/IP详解》 \x0d\x0a 3、《Linux内核编程》 \x0d\x0a 4、《Linux设备驱动开发》(LDD) \x0d\x0a 5、《Linux高级程序设计》 杨宗德著\x0d\x0a 硬件基础 \x0d\x0a 1、《ARM体系结构与编程》杜春雷着 \x0d\x0a 2、S3C2410 Datasheet \x0d\x0a 英语基础 \x0d\x0a 1、《计算机与通信专业英语》 \x0d\x0a 系统教程 \x0d\x0a 1、《嵌入式系统——体系结构、编程与设计》 \x0d\x0a 2、《嵌入式系统——采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着 \x0d\x0a 3、《Building Embedded Linux Systems》 \x0d\x0a 4、《嵌入式ARM系统原理与实例开发》 杨宗德著\x0d\x0a 理论基础 \x0d\x0a 1、《算法导论》 \x0d\x0a 2、《数据结构(C语言版)》 \x0d\x0a 3、《计算机组织与体系结构?性能分析》 \x0d\x0a 4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着 \x0d\x0a 5、《操作系统:精髓与设计原理》 \x0d\x0a 6、《编译原理》 \x0d\x0a 7、《数据通信与计算机网络》 \x0d\x0a 8、《数据压缩原理与应用》 \x0d\x0a\x0d\x0a C语言书籍推荐 \x0d\x0a 1. The C programming language 《C程序设计语言》 \x0d\x0a 2. Pointers on C 《C和指针》 \x0d\x0a 3. C traps and pitfalls 《C陷阱与缺陷》 \x0d\x0a 4. Expert C Lanuage 《专家C编程》 \x0d\x0a 5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs \x0d\x0a 《编程精粹--Microsoft 编写优质无错C程序秘诀》 \x0d\x0a 6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》 \x0d\x0a 7.《C语言嵌入式系统编程修炼》 \x0d\x0a 8.《高质量C++/C编程指南》林锐 \x0d\x0a 尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。 \x0d\x0a\x0d\x0a这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!!!

怎样学习嵌入式软件开发

学习嵌入式开发通常可以掌握以下几点:

安装一个Linux的发行版本,能够熟悉使用Linux,掌握Linux下的目录结构、基本命令、编辑器VI、编译器GCC、调试器GDB和Make项目管理工具以及嵌入式开发环境的搭建。

了解C语言,C语言是嵌入式开发中最重要的编程语言,对着部分内容不仅要会写程序,还要看得懂他人写的程序。

学会shell编程,shell几乎可以作为一个入门语言来学习,最基本的是能够看得懂自己的版本的Linux的配置脚本。

多做案例分析,不仅要多看书籍和视频资料,还应该多动手去练习,在实操过程中能够学到更多。可以搜集社区或者是hackers推荐的图书或是资料、网站和新闻组等等相关参考内容。

选择一门或是几门语言社区常用的编程语言。

好的学习方法,无论学习什么学科,掌握哪种技能,都需要要有好的学习方法作为支撑,当然嵌入式也不例外,通过网络资源可以更快掌握。(比如阅读一些他人的优秀代码,对比自己,可以找出编写方式的不同,哪种方式更优越等等,通过一些方法,自己会得到更大的收获。)

哪里有比较好的嵌入式系统入门教程?怎样进阶?基础是什么?

我不知道楼主家里的经济环境怎么样,如果还不错,那确实可以去培训,反正几个月不工作不至于饿肚子。如果楼主要自食其力的,我建议楼主还是可以自学的,毕竟你放弃工作,还要付一大笔培训的费用,还要4个月的时间没有工作。如果到时没有学好,那代价应该是太大的。

所以,我的经历来和楼主说说吧,我是个大专没有毕业的学生,我原来也想去培训嵌入式,但是我家里出不了那么多钱,于是我只好自学,可是我又不喜欢看书,我一看书我就打瞌睡,不是看书自学的料。

于是,我就一直想找一份视频,一份像武林秘籍的视频,但是我找了很久没有找到。大部分都只是某部分的内容,都不能称心如意。后来在一个嵌入式的群上,有个朋友给我介绍一个从零基础开始学嵌入式的视频,而且他们还提供半年的技术支持,我当时一下子胃口被掉了起来,后来就到他们的网站看了一下,要300圆,好贵啊,但是为了学习,我咬咬牙买了。我把视频地址贴出来和楼主分享。

视频地址:

收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。

接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。

这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,同时我不懂的就问,这里真的很感谢他们的技术客服对我的任何问题都是耐心的解答,每天都我几乎都有好几个问题问他们,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。

最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右。

我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。

后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力就录用了我,开的工资不高,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。

最后我也把他们资料里推荐的学习顺序发出来,楼主也是看看大约的学习流程。

第一阶段 环境及基础篇

1.1:先搭建一个简单的linux环境,这对以后学习linux和C编程有很大的帮助。具体操作:

打开光盘16,里面有个开发工具包-安装好的fedora9,里面有个vmware安装包,先安装下vmware虚拟机,建议安装我们提供的版本,以免打不开我们的提供的安装的linux。解压缩Virtual Machines.rar到你的硬盘,用虚拟机打开解压缩的系统即可。

如果你不喜欢fedora 9,那也可以安装我们提供的光盘04的软件视频包-国嵌培训视频1-RedHat企业版安装光盘,自己学习动手装linux也是不错的。如果不懂得安装,可以看光盘04里面的软件视频包-国嵌培训视频1-RedHat企业版安装光盘/课程与视频/第1阶段(Linux系统管理)/第一天(安装与命令)/里面的视频,也可以看看里面的参考资料。

不过还是建议大家直接使用fedora,这样可以省时省事。

1.2:如果还没有基础,建议从最基本的C语言和linux开始学。如果你觉得你的基础还不错,也可以跳过这部分,但是建议还是复习一遍,毕竟基础扎实一点更好。

先学习软件视频包-嵌入式linux软件开发入门培训视频.iso,共有46个视频,介绍嵌入式linux入门需要掌握的基础知识,包括linux的基础知识,shell基础,vi编辑器,包括嵌入式linux的C语言编程,非常详细,非常精辟! 学习完本视频可以掌握C语言和linux,对linux下的C编程有一定的了解。

1.3 这个看完后也可以看看光盘04,这个也是主要linux的安装与linux命令,脚本,Makefile和GCC的材料。

当然,如果你看过的1.2的内容,其实你已经掌握了linux的基本命令,那么1.3 你也当做复习,也可以跳过,这样的速度更快!如果为了速度,就一个原则,学习过的就跳过,但是也要保证自己掌握,这个尺度看个人自己把握。

还有一点就是老师讲课都有带一些实验,记得你也要动手操作,反正环境都有了,操作了才不容易忘记。

第二阶段 linux应用编程强化阶段

2.1 有了上面的基础,接下来就要强化学习下linux下的C编程,毕竟嵌入式的还是需要很强大的C语言能力。可以学习光盘03的软件视频包-linux系统编程培训教程,这个共有22个视频,讲述基于linux系统的编程,里面讲解了很多linux实例代码的分析,非常不错。

2.2 学习下光盘08 这是介绍linux的基本命令和编程,比如 linux的进程管理,make的介绍,进程间的通讯,linux系统调用和io编程等等。

2.3 学习下光盘05/软件视频包-国嵌培训视频2/国嵌视频2_201003.rar,主要看linux的编程部分,关于arm的内容先别看。这个也是主要介绍linux下的编程。(而光盘05/软件视频包-国嵌培训视频2/国嵌视频1_201003.rar在介绍里是没有的,是我们后面附加赠送的,其视频和光盘4差不多。)

还是那句话,你觉得会的内容可以跳过,但是建议你还是多看看。

第三阶段 嵌入式学习阶段

经过了上面的课程,我相信你的C语言和linux编程基础已经很不错了。接下来你就可以进入arm的世界了。

(注意:如果以后选择嵌入式软件方向的同学,如果没有硬件基础的,我建议大家从事嵌入式软件的,更好,软件方向可以不学硬件方向的内容,可以了解下3.1.1的单片机内容。)

3.1硬件方向

3.1.1(可选阶段)这个简单建议你学习下单片机,毕竟单片机还是比较简单,但是如果你想直接进入下一步3.3也未尝不可。如果要学习单片机可以学习硬件视频包-单品机经典培训教程,讲述单片机的基本所有的内容,老师现场写代码,非常棒,可以从一个完全不懂单品机的人到熟悉单品机,到单片机编程,为以后ARM编程打好基础。其内容01-11在光盘12,而12-13因为容量问题放在光盘13里面。

3.1.2 (可选阶段,硬件方向,无基础的同学可先别学)这个阶段适合以后想学习硬件的同学,但是我不建议没有基础的同学去搞硬件,相对入门比较难,如果以后想做嵌入式的软件的同学也可以不急着看硬件的内容。当然了解下更好。可以看看光盘13的硬件视频包-计算机电路基础培训教程.iso,讲述计算机的电路基础,适合初学者入门。

3.1.3(可选阶段,硬件方向)有了3.1.2的基础后,你也可以学习光盘11的硬件视频包-电路分析培训教程

共有30个视频,详细的介绍了电路分析,电路原理。

3.2 软件方向

学习方法:这些内容都是相对比较抽象,如果有什么不懂的,不明白的,一定要先记住概念,等你以后接触多了,遇到相关的知识时,你会豁然开朗的。

3.2.1这时我们进入嵌入式系统的时代了,可以学习下光盘01的软件视频包-嵌入式系统30学时.iso,讲述嵌入式系统概述,还有基本概念,嵌入式微处理器及ARM体系结构,已经嵌入式系统的基本硬件知识,嵌入式实时操作系统的介绍,介绍us,os-II,介绍嵌入式wince,linux等操作系统。

3.3.2 学习光盘09的软件视频包-中嵌视频2的视频内容,了解ARM的基本命令,arm开发环境等等。

3.3.3 学习光盘05中的关于软件视频包-国嵌培训视频2.iso中的ARM部分,ARM概述,mini2440,ARM寄存器,ARM寻址方式,ARM指令1,ARM指令2.

3.2.4 学习下光盘01 软件视频包-嵌入式系统设计培训教程.iso,共有25个视频,讲述嵌入式系统硬件和软件的知识,嵌入式系统的基本知识,讲述嵌入式软件和硬件的协同设计,最后还讲述了U-BOOT程序设计,MP3播放器的设计。

3.2.5学习光盘03的软件视频包-嵌入式系统及应用开发培训视频,共有40个视频,讲述嵌入式系统结构、外设驱动和应用开发调试技术,嵌入式系统开发模式,嵌入式硬件开发,实时/嵌入式系统开发方法,还讲述了嵌入式系统硬件结构,嵌入式处理器,ARM介绍,片内周边电路,外围电路,外设等等。

3.2.6学习光盘11的软件视频包-ARM S3C44B0嵌入式微处理器原理及应用

共有48个视频,主要内容包括:嵌入式系统基础知识、嵌入式交叉编译环境与嵌入式开发环境的搭建、基于Linux的嵌入式软件开发流程、MiniGUI应用程序设计、嵌入式数据库应用、Qt图形界面应用程序开发。《嵌入式系统开发基础——基于ARM微处理器和Linux操作系统》涉及嵌入式系统从底层驱动到顶层应用的各个部分,配合实验操作循序渐进地帮助读者完成各个章节内容的学习,引领初学者顺利进入嵌入式世界

第四阶段 嵌入式高级阶段

上一阶段软件方向我们已经学习了关于arm和嵌入式系统的知识,接下来我们要接触的就是更为深奥的底层驱动和内核相关内容。硬件方向则学习了基本的电路基础,这一阶段则要接触到pcb,cpld fpga的知识了。

4.1 硬件方向(软件方向的同学不用学)

4.1.1 学习光盘13的硬件视频包-PCB设计培训教程Altium Designer共有14个视频,讲述Altium Designed,电子设计基础知识,原理图初步设计,进阶,提高,深入,pcb库的设计,集成库的作用和制作,pcb设计初步,PCB设计提高,PCB深入。

4.1.2 学习光盘11的硬件视频包-CPLD系统设计和VHDL语言培训教程共有10个视频,介绍CPLD系统设计和VHDL的程序设计,包括视频和课件还有相关的资料。

4.2 软件方向

4.2.1 学习光盘02的软件视频包-底层内核和驱动培训视频

共有28个视频,讲述linux内核介绍,内核的源代码结构,如何编译和配置内核,如何开发内核模块,内核的启动流程分析,内核的内存管理,进程内存空间管理,linux2.6内存管理和分配,内核的链表操作,包括一些内核的实验。

驱动部分讲述字符设备驱动程序和字符驱动例子解析,驱动调试技术,并发控制技术,Ioctl的实现,驱动如何访问硬件,中断处理,LED驱动程序设计,等待队列,阻塞,Poll方法实现,时间度量,内核定时器,网络体系架构,网卡驱动设计,触摸屏驱动分析等等。

4.2.2 学习光盘06的软件视频包-国嵌培训视频3.iso

共有20个视频,讲述内核简介,Linux内核源代码,Linux内核配置与编译,内核模块-1,内核模块-2,Linux内存管理,Linux进程与内核地址空间,Linux内核链表,内核定时器,内核进程,进程调度,系统调用,Proc文件系统,异常分析,交叉工具链,嵌入式系统构建,bootloader介绍,Uboot简介,UBoot命令,Uboot移植。

4.2.3 学习光盘07的软件视频包-国嵌培训视频4.iso

共有25个视频,讲述Linux驱动程序介绍,字符设备驱动,简单字符设备驱动实例分析,并发控制,Ioctl设备控制,内核等待队列,阻塞型字符设备驱动, poll设备方法,自动创建设备文件, mmap设备方法,硬件访问, LED驱动程序,总线,设备,驱动, platform驱动,中断处理程序,按键驱动,网卡驱动程序设计, CS8900A网卡驱动程序分析,输入子系统,触摸屏驱动程序, PCI总线, PCI驱动程序设计,串口驱动程序。

4.2.4 学习光盘10的软件视频包-中嵌视频3,这也是将驱动的和内核的。

第五阶段 实践阶段

这个时候你需要做的事,多了解我们的实践的资料,弥补缺少动手能力。你可以看着实践资料的文档代码看,相信你会有质的飞跃。我们的实践资料包括以下的内容:

光盘13

21. 实践开发包-ARM 2410开发板资料.zip

包括用户手册,网上资料,芯片手册,目标代码和支持包,USB驱动程序,原理图,里面还有实验的指导,很好!

22. 实践开发包-ARM FS44B0开发板资料.zip

包括用户手册,ADS120评估板,BOIS和测试程序的源代码,uCLinux代码和编译工具,芯片手册,目标代码和支持包,USB驱动程序,原理图,里面还有实验的指导,很好!

光盘14

26. 实践开发包-ARM 6410开发板资料.rar

这是我们购买了一块7000元的开发板配套的完整资料,包括开发套件源代码压缩包,套件使用手册、CPU及其它各种芯片的datasheet,开发板电路图,仿真器的驱动文件及说明文档等等。

27. 实践开发包-MIPS CPU开发板资料.rar

这是我们购买了一块3000元的开发板配套的完整资料,现在市场上 MIPS的开发板非常少,当然资料更少了。包括整套的文档,软件和硬件所有的资料,包括工具。

28. 实践开发包-USB实践开发包.iso

关于USB的实践开发包,里面有介绍关于U盘和MP3的工具,软件的程序,硬件的原理图,制作的工具,和相关的资料手册。

29. 实践开发包-嵌入式linux网络的远程控制开发包.iso

关于嵌入式linux网络远程控制的实践开发包,里面有详细的一步步图文操作的电子书,软件的程序,硬件的原理图,制作的工具,和相关的工具。

30. 实践开发包-电子相册开发包.iso

关于电子相册的实践开发包,里面有详细的配套说明和实验指导书,软件的程序,硬件的原理图,制作的工具,和相关的工具。配合光盘15的开发工具包-Wince开发平台platform builder5.0

这是platform builder 5.0的安装包,可以基于它开发wince.

31. 行业视频包-MTK手机开发培训.iso

介绍MTK的资料,有10个视频教程,还包括新手如何学习MTK手机开发的资料,MTK开发平台大集合,入门导读,全套资料,MMI的资料等等。

32. 行业视频包-VOIP视频教程

共有12个视频,介绍VOIP网络电话开发,非常不错,这对以后找这方面的工作非常有帮助,是高薪的行业。

第六阶段 深化阶段

相信这个时候的你已经是嵌入式的能手了,但是要变成高手,你还要进一步学习内核和系统。

6.1 学习光盘01的软件视频包-计算机系统结构和汇编培训.iso

共有51个视频,将计算机系统结构和汇编语言程序设计,对于以后进行底层的开发很有帮助。

6.2 学习光盘05的软件视频包-linux内核编程初级班培训教程.rar共有30个视频,都是基于代码分析的,讲述linux内核的基础知识,汇编及保护模式,linux内核体系结构,linux引导程序分析,linux内核代码分析,linux块设备驱动程序分析

6.3 学习光盘11的视频包-linux内核编程高级班培训教程.rar

共有29个视频,详细介绍2.6内核的代码,非常不错,如果想学习内核,值得推荐

转自嵌入式学习网!

嵌入式软件开发教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于嵌入式应用软件开发流程、嵌入式软件开发教程的信息别忘了在本站进行查找喔。

扫码二维码