I2C常用念法:I²C(读作"I-squared-C" ),还有可选的拼写方式是I2C(读作I-two-C)以及IIC(读作I-I-C),在中国则多以"I方C"称之。
I²C(Inter-Integrated Circuit)是内部整合电路的称呼,是一种串行通讯总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边装置而发展。
关于如何学习嵌入式,我给你推荐一篇经典的嵌入式学习文章。关于如何学习嵌入式,我看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
专科生学嵌入式到找到工作的前前后后
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章《如何学习嵌入式》,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在嵌入式学习网推出的一份视频《嵌入式视频教程--零基础手把手教你学嵌入式》,里面的教程还不错,很完整,可以让我从基础的开始学起。视频不便宜啊,但是我也忍了,毕竟买几本书都要几百了,何况他们还有半年的技术咨询和服务,算值了。
======这里我就不给出他们的网址,如果你也想要嵌入式视频的话,那就自己去百度搜索:零基础手把手教你学嵌入式。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本 *** 作。
接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,同时我不懂的就问,这里真的很感谢他们的技术客服对我的任何问题都是耐心的解答,每天都我几乎都有好几个问题问他们,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
最后祝愿所有想学嵌入式的朋友更早的入门!嵌入式系统概念解释
根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和装置执行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软体和硬体的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软体硬体可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统的特点
这些年来掀起了嵌入式系统应用热潮的原因只要有几个方面:一是晶片技术的发展,使得单个晶片具有更强的处理能力,而且使整合多种介面已经成为可能,众多晶片生产厂商已经将注意力集中在这方面。另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬体实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。
从上面的定义,我们可以看出嵌入式系统的几个重要特征:
1.系统核心小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以核心较之传统的作业系统要小得多。比如Enea公司的OSE分散式系统,核心只有5K,而Windows的核心?简直没有可比性。
2.专用性强。嵌入式系统的个性化很强,其中的软体系统和硬体的结合非常紧密,一般要针对硬体进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬体的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程式的编译下载要和系统相结合,这种修改和通用软体的“升级”是完全两个概念。
3.系统精简。嵌入式系统一般没有系统软体和应用软体的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
4.高实时性的系统软体(OS)是嵌入式软体的基本要求。而且软体要求固态储存,以提高速度;软体程式码要求高质量和高可靠性。
5.嵌入式软体开发要想走向标准化,就必须使用多工的作业系统。嵌入式系统的应用程式可以没有作业系统直接在晶片上执行;但是为了合理地排程多工、利用系统资源、系统函式以及和专家库函式介面,使用者必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程式执行的实时性、可靠性,并减少开发时间,保障软体质量。
6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后使用者通常也是不能对其中的程式功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬体装置以及各种逻辑分析仪、混合讯号示波器等。开发时往往有主机和目标机的概念,主机用于程式的开发,目标机作为最后的执行机,开发时需要交替结合进行。
简单的将,你可以把一个嵌入式系统理解为 一台专门用于做某事的电脑,只是,根据实际用途,他不一定有显示器、键盘等罢了
IEEE给嵌入式系统下的定义是:一个由软体和硬体结合而成,专门用于完成某项任务,对稳定性和可靠性有苛刻的要求的系统。
PC是指个人电脑,而嵌入式的处理器功能不需要那么强,往往只要实现需要的功能即可,但要求体积小,功耗低有时只需微控制器即可
嵌入式系统的基本概念楼上的是正解,要补充一下的是,目前国内讲到嵌入式,基本是特指arm微控制器加作业系统(linux或wince)的开发。
帮解释一下嵌入式系统 嵌入式系统(Embedded System ),IEEE对于嵌入式系统的定义是:An Embedded system is the devices used to control, monitor, or assist the operation of equipment, machinery or plants嵌入式系统是“用于控制、监视或者辅助 *** 作机器和装置的装置”。
在中国嵌入式系统领域,比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬体可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬体装置、嵌入式作业系统以及使用者的应用程式等四个部分组成,用于实现对其他装置的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬体和软体两部分。硬体包括处理器/微处理器、储存器及外设器件和I/O埠、图形控制器等。软体部分包括作业系统软体(OS)(要求实时和多工 *** 作)和应用程式程式设计。有时设计人员把这两种软体组合在一起。应用程式控制着系统的运作和行为;而作业系统控制着应用程式程式设计与硬体的互动作用。
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
1)对实时多工有很强的支援能力,能完成多工并且有较短的中断响应时间,从而使内部的程式码和实时核心心的执行时间减少到最低限度。
2)具有功能很强的储存区保护功能。这是由于嵌入式系统的软体结构已模组化,而为了避免在软体模组之间出现错误的交叉作用,需要设计强大的储存区保护功能,同时也有利于软体诊断。
3)可扩充套件的处理器结构,以能最迅速地开展出满足应用的最高效能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于行动式的无线及移动的计算和通讯装置中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
1嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定使用者群设计的系统中,它通常都具有低功耗、体积小、整合度高等特点,能够把通用CPU中许多由板卡完成的任务整合在晶片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网路的耦合也越来越紧密。
2嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识整合系统。
3嵌入式系统的硬体和软体都必须高效率地设计,量体裁衣、去除冗余,力争在同样的矽片面积上实现更高的效能,这样才能在具体应用中对处理器的选择更具有竞争力。
4嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5为了提高执行速度和系统可靠性,嵌入式系统中的软体一般都固化在储存器晶片或微控制器本身中,而不是存贮于磁碟等载体中。
6嵌入式系统本身不具备自举开发能力,即使设计完成以后使用者通常也是不能对其中的程式功能进行修改的,必须有一套开发工具和环境才能进行开发。
7目前,嵌入式系统多用于手机等作业系统的开发。具有巨大的市场潜力
大神解析一下嵌入式系统的概念?
嵌入式系统基本上是除了PC端系统以外的另一种系统,顾名思义,嵌入式系统就是在原有的电子装置系统基础上重复执行某个特定的功能而不引起装置使用者的注意,它的作用更多是通过考察例项分析共性更好的去了解这些系统。同时嵌入式系统有几个不同于其他计算系统的共同特征。
嵌入式系统的基本概念是什么嵌入式系统(ES)是计算机技术、通讯技术、半导体技术、微电子技术、语音图象资料传输技术,甚至感测器等先进技术和具体应用物件相结合后的更新换代产品。因此往往是技术密集、投资强度大、高度分散、不断创新的知识密集型系统。反映当代最新技术的先进水平。 嵌入式系统不仅和一般的PC 机上的应用系统不同,就是针对不同的具体应用而设计的嵌入式系统之间差别也很大。嵌入式系统一般功能单一、简单,且在相容性方面要求不高,但是在大小,成本方面限制较多。 嵌入式计算机基本上不能算是嵌入式系统。它仍然是计算机一类,不过是工作条件有所不同而已,因为它还保留了计算机的基本
嵌入式系统有哪些基本概念 ?嵌入式资讯捕捉系统 嵌入式计算机 嵌入式执行装置
嵌入式系统 急! 进入21世纪之后,随着社会资讯化的不断普及与发展,嵌入式系统的应用越来越广泛。其中自备电源嵌入式系统由于受功耗的限制,其设计与应用一直受到制约。一般来说,正常工作的嵌入式系统电流消耗在mA级,而处于休眠状态下可以控制在μA级左右,3个数量级的能源节约对于有限的自备电源无疑具有极大的诱惑,所以这类系统基本上都要采用休眠启用的方案以实现节能,达到延长工作寿命的目的。
目前可供采用的休眠启用方案主要有3种:事件启用法、定时启用法和定位启用法。事件启用法主要应用于检测告警等场合,系统一般处于休眠模式,如果特定引数超限就会激发系统工作,这种方法一般要与相应的感测器配合实现,微处理器中也要占用相应的中断资源;定时启用法主要应用于周期工作的系统(如小区三表资料的采集)中,系统按照定时器设定的时间间隔定期上报采集资料,这种启用法的实现也非常方便,只需在相应的微处理器中新增定时器的中断处理程式;定位启用法主要应用于对位置敏感的系统(如贵重资产管理和停车场的自动道闸等)中,该系统在特定位置安装检测装置,如果有监管人员或装置离开或进入这些特定领域将会激发系统工作。定位启用法的实现有多种,本文主要介绍利用无线讯号进行定位启用的一种实现方法。
1 基本原理
无线讯号频谱中LF频段讯号具有穿透能力强的特点,它可以穿透非磁性介质,如水、混凝土、塑料等(不受视线距离限制),所以利用LF频段设计启用电路是一种较好方案。无线讯号频率与波长存在反比例关系,天线长度取决于波长长度。500 MHz RF讯号的波长为60 cm,天线很短,完全可以方便地实现;而125 kHz LF讯号的波长为24 km,做这样的天线肯定不实际。所以利用LF频段讯号作为启用讯号,接收端不再采用电磁场(radio)原理进行工作,而是直接通过接收磁场(magic)讯号,然后利用磁场线上圈中的感应讯号进行判断处理,如图1所示。该系统主要由磁场发射端和接收端两种装置组成。
图1 磁场工作原理
MCP2030是Microchip公司开发的专门针对低频无线磁场通讯的模拟前端器件。该器件整合有8个可程式设计配置暂存器和1个只读状态暂存器,根据暂存器配置,MCP2030可以输出解调资料、载波时钟和磁场强度RSSI。该器件模拟接收电路具有较强的灵敏度,可以接收识别1 mVpp讯号并解调8%的微弱调制讯号。为了得到可靠的磁场讯号,MCP2030采用了3组天线和3组接收解调电路。3组天线分别指向互相垂直的X、Y、Z轴,这样无论接收器如何放置,总可以得到磁场讯号,从而解决了磁场讯号的方向性问题。其结构框图如图2所示。
图2 MCP2030结构框图
图3 MCP2030有输出的情况
MCP2030集成了无线讯号数字序列滤波部件,可以根据需要设定数字序列,器件只有当接收到特定数字序列时才做出响应,所以可有效避免其他讯号干扰所引起的启用现象。图3所示为无线数字序列符合设定数字序列的情况,特定的数字序列为“2 ms有2 ms无”载波讯号,此时LFDATA在监测到特定序列之后输出的ASK调制讯号,如果无线数字序列不符合设定数字序列,LFDATA无输出。
MCP2030具有功耗极低的显著优势,为便于在自备电源的嵌入式系统中应用,专门设计优化了3种工作模式,即休眠模式、待机模式和工作模式。休眠模式由SPI 介面命令进行控制,进入休眠之后,除暂存器、储存器和SPI功能电路之外,包括RF限幅器在内的所有电路都将关闭,以使消耗的电流最低(02 μA),需要用上电覆位以及除休眠命令外的任何其他SPI命令将器件从休眠模式唤醒;当天线输入没有LF讯号时,器件将自动处于待机模式,但器件内部各部分电路已上电并准备接收输入讯号,待机模式下电流消耗的典型值为4 μA(3个接收天线工作);当在LF天线输入上有LF讯号且内部电路随接收的资料而进行切换时,器件处于低电流工作模式,该模式下电流消耗仅为13 μA。
除此之外,该器件还支援半电源和无电源工作模式。无电源工作方式下,器件完全从磁场中提取能量进行工作;在半电源工作方式下,器件尽可能从磁场获取能量,不得已情况下由电源供电。
2 设计应用
有源射频标签是射频识别系统中的重要组成部分,相比而言具有储存容量大、通讯距离远、功能丰富的优势,可以广泛应用于物流跟踪、贵重资产管理等领域。其内部电路主要部件有:控制器、启用讯号检测电路、RAM/ROM、定时器、UHF收发器、电源等。其中,启用讯号检测电路可以由MCP2030进行实现,如图4所示。利用MCP2030针对设定数字序列进行识别接收的能力,可以有效地控制标签的工作状态。当标签到达安装有射频启用发射器的特定位置时,MCP2030从SPI介面上输出相应的接收讯号,使得控制器退出休眠状态,并对资料进行接收、分析和处理,最终储存在RAM/ROM相应的位置中。当需要与读写器进行资讯互动时,控制器通过UHF收发器进行通讯,控制器处理完之后自动进入休眠状态,直到下一次接收到磁场启用讯号或定时器产生定时中断。
图4 启用讯号检测电路
如图4所示,MCP2030与控制器通过SPI介面进行连线,SPI介面定义分别为LFDATA、SCCLK、MCCS。该介面命令由16位的控制字组成,命令格式如下:
D13~D15为命令型别,MCP2030根据命令型别确定后续的资料含义并执行相应的 *** 作。其中,0x07为写资料命令,0x06为读资料命令。如果是写资料或读资料命令,则后续D9~D12为暂存器地址,分别指定该命令所要 *** 作的暂存器地址,D1~D8为暂存器资料内容,D0为该命令列校验资讯;如果不是写资料或读资料命令,则D0~D12的资料内容无意义。
为使MCP2030正常工作,系统上电覆位时要对该器件进行正确的初始化配置。在此设定无线讯号数字滤波序列为2 ms有2 ms无,使能通道自动选择功能和解调讯号输出功能,初始化程式段如下:
void Init_MCP2030(void) {
ShiftOutSpi(0xe1,0x41);reg0 111 0000 1010 0000 1
ShiftOutSpi(0xe2,0x01);reg1 111 0001 0000 0000 1
ShiftOutSpi(0xe4,0x01);reg2 111 0010 0000 0000 1
ShiftOutSpi(0xe6,0x01);reg3 111 0011 0000 0000 1
ShiftOutSpi(0xe8,0x01);reg4 111 0100 0000 0000 1
ShiftOutSpi(0xeb,0x81);reg5 111 0101 1100 0000 1
ShiftOutSpi(0xed,0x3f);reg6 111 0110 1001 1111 1
}
控制器向MCP2030传送资料的程式实现如下:
资料预先储存在OutData1和OutData2中
void ShiftOutSpi(unsigned char OutData1,unsigned char OutData2) {
unsigned char i;
SCCLK=0;
MCCS=0;
for(i=0;i<8;i++) {
LFDATA=OutData1 & 0x80;
OutData1=OutData11;
SCCLK=1;
SCCLK=0;
}
for(i=0;i<8;i++) {
LFDATA=OutData2 & 0x80;
OutData2=OutData21;
SCCLK=1;
SCCLK=0;
}
MCCS=1;
}
控制器从MCP2030接收资料的程式段如下:
资料储存在AFESpiInDataH和AFESpiInDataL中
void ShiftInSpi(void) {
unsigned char i;
SCCLK=0;
MCCS=0;
for(i=0;i<8;i++) {
SCCLK=1;
AFESpiInDataH=AFESpiInDataH & LFDATA;
AFESpiInDataH=AFESpiInDataH1;
SCCLK=0;
}
for(i=0;i<8;i++) {
SCCLK=1;
AFESpiInDataL=AFESpiInDataL & LFDATA;
AFESpiInDataL=AFESpiInDataL1;
SCCLK=0;
}
MCCS=1;
}
结语
本文针对MCP2030的特点具体介绍了其在有源射频标签中的应用。该器件不仅整合有3通道低频接收电路以及3方向的磁场检测接收电路,而且功耗低,具备多种节能工作模式,非常适合于其他要求低功耗无线启用的嵌入式系统应用。
不知道你要问的是什么
给你一个嵌入式Linux作业系统学习规划吧
希望对你有所帮助
ARM+LINUX路线,主攻嵌入式Linux作业系统及其上应用软体开发目标:
(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2) 必须掌握一个嵌入式作业系统 (初步定为uclinux或linux,版本待定)
(3) 必须熟悉嵌入式软体开发流程并至少做一个嵌入式软体专案。
从事嵌入式软体开发的好处是:
(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软体不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软体那样容易被盗版。硬体设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬体,我们只管设计软体就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软体开发的缺点是:
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬体基础不好,特别是作业系统级软体功底不深,则可能不适于此行。
(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。
兴趣的由来:
1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。
3、喜欢C
C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:
相信程式设计师。
不要阻止程式设计师做那些需要去做的。
保持语言短小精干。
一种方法做一个 *** 作。
使得它执行的够快,尽管它并不能保证将是可移植的。
4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:
1、基础知识:
目的:能看懂硬体工作原理,但重点在嵌入式软体,特别是作业系统级软体,那将是我的优势。
科目:数位电路、计算机组成原理、嵌入式微处理器结构。
组合语言、C/C++、编译原理、离散数学。
资料结构和演算法、作业系统、软体工程、网路、资料库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programming language(一直没时间读)、资料结构-C2。
2、学习linux:
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统程式设计开发—〉驱动开发和分析linux核心。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是011版,适合学习。最后深入程式码。
主攻书籍:linux核心完全剖析、unix环境高阶程式设计、深入理解linux核心、情景分析和源代。
3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式作业系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德 *** 的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习:
A、数字影象压缩技术:主要是应掌握MPEG、mp3等编解码演算法和技术。
B、通讯协议及程式设计技术:TCP/IP协议、80211,Bluetooth,GPRS、GSM、CDMA等。
2010-8-21 16:46 回复
12290173 2楼
C、网路与资讯保安技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬体实现数字讯号处理演算法。
说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux核心,学习程式设计,读一些优秀程式码也是有必要的。
注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程式设计师,前提是必须熟练至少一种程式语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻。还有一些不愿意做但必须要做的!
技术是通过程式设计程式设计在程式设计编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要程式设计程式设计在程式设计,完了在程式设计,在程式设计!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 程式设计指南》
C语言基础
1、《C Primer Plus,5th Edition》美Stephen Prata著
2、《The C Programming Language, 2nd Edition》美Brian W Kernighan David M Rithie(K & R)著
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程式开发详解》
Linux核心
1、《深入理解Linux核心》(第三版)
2、《Linux核心原始码情景分析》毛德 *** 胡希明著
研发方向
1、《UNIX Neork Programming》(UNP)
2、《TCP/IP详解》
3、《Linux核心程式设计》
4、《Linux装置驱动开发》(LDD)
5、《Linux高阶程式设计》 杨宗德著
硬体基础
1、《ARM体系结构与程式设计》杜春雷著
2、S3C2410 Datasheet
英语基础
1、《计算机与通讯专业英语》
系统教程
1、《嵌入式系统――体系结构、程式设计与设计》
2、《嵌入式系统――采用公开原始码和StrongARM/Xscale处理器》毛德 *** 胡希明著
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与例项开发》 杨宗德著
理论基础
1、《演算法导论》
2、《资料结构(C语言版)》
3、《计算机组织与体系结构效能分析》
4、《深入理解计算机系统》美Randal E Bryant David O''Hallaron著
5、《作业系统:精髓与设计原理》
6、《编译原理》
7、《资料通讯与计算机网路》
8、《资料压缩原理与应用》
C语言书籍推荐
1 The C programming language 《C程式设计语言》
2 Pointers on C 《C和指标》
3 C traps and pitfalls 《C陷阱与缺陷》
4 Expert C Lanuage 《专家C程式设计》
5 Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《程式设计精粹--Microsoft 编写优质无错C程式秘诀》
6 Programming Embedded Systems in C and C++ 《嵌入式系统程式设计》
7《C语言嵌入式系统程式设计修炼》
8《高质量C++/C程式设计指南》林锐
尽可能多的编码,要学好C,不能只注重C本身。演算法,架构方式等都很重要。
这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式 *** 作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
通常情况下,人们往往会忽视自己身边的嵌入式系统——比如手机,取款机或者电梯等等,在这些随处可见的设备中就存在嵌入式系统,有时人们经常使用嵌入在汽车,电梯,PDA,程控交换机等设备中的小巧的计算机系统,而对此毫无察觉。此外,嵌入式系统还经常在工业机器人,医疗设备,卫星,飞行系统等领域扮演着更为重要的角色。正是"看不见"和"无所不在"这样的特性使得嵌入式计算机系统有别于传统的计算机系统。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)