嵌入式vr技术好学吗吗?去哪学比较好

查看: 4940|回复: 0
[技术前景]对初学者对嵌入式系统学习的误区及建议
[技术前景对初学者对嵌入式系统学习的误区及建议1 嵌入式系统的知识体系嵌入式系统的应用范围可以粗略分为两大类:电子系统的智能化(工业 控制、现代农业、家用电器、汽车电子、测控系统、数据采集等),计算机应用的延伸(MP3、手机、通信、网络、计算机外围设备等)。从这些应用可以看出, 要完成一个以MCU为核心的嵌入式系统应用产品设计,需要硬件、软件及行业领域相关知识。硬件主要有MCU的硬件最小系统、输入/输出外围电路、人机接口 设计。软件设计有固化软件的设计,也可能含PC机软件的设计。行业知识需要通过协作、交流与总结获得。概括地说,学习以MCU为核心的嵌入式系统,需要以下软硬件基础知识与实践训练①硬件最小系统(电源、晶振、复位、写入调试接口);②通用I/O(开关量输入/输出,涉及各种二值量检测与控制);③模/数转换(各种传感器信号的采集与处理,如红外、温度、光敏、超声波、方向等);④数/模转换(对模拟量设备利用数字进行控制);⑤通信(串行通信接口SCI、串行外设接口SPI、集成电路互联总线I2C、CAN、USB、&&嵌入式以太网、ZigBee技术等);⑥显示(LED、LCD等);⑦控制(控制各种设备,包括PWM等控制技术);⑧数据处理(图形、图像、语音、视频等的处理或识别);⑨各种具体应用。技术顾问:曹老师QQ:万变不离其宗,任何应用都可以归入这几类。而应用中的硬件设计、软件设计、测试等都必须遵循嵌入式软件工程的方法、原理与基本原则。所以,嵌入式软件工程也是嵌入式系统知识体系的有机组成部分,只不过它融于具体项目的开发过程之中。以上实践训练涉及硬件基础、软件基础及相关领域知识。计算机语言、操作系统、开发环境等均是达到这些目的的工具。有些初学者,容易把工具的使用与所要达 到的真正目的相混淆。例如,有的学习者学了很长时间的嵌入式操作系统移植,而不进行实际嵌入式系统产品的开发,到最后也做不好一个嵌入式系统小产品,偏离 了学习目标,甚至放弃嵌入式系统领域。这就是进入了嵌入式系统学习误区,下面对此作一些分析。技术顾问:曹老师QQ:2 嵌入式系统的学习误区关于嵌入式系统的学习方法,因学习经历、学习环境、学习目的、已有的知识基础等不同,可能在学习顺序、内容选择、实践方式等方面有所不同。但是,应该明 确哪些是必备的基础知识,哪些应该先学,哪些应该后学;哪些必须通过实践才能获得;哪些是与具体芯片无关的通用知识,哪些是与具体芯片或开发环境相关的知 识。由于微处理器与微控制器种类繁多,也可能由于不同公司、机构出于自身的利益,给出一些误导性宣传,特别是我国嵌入式微控制器制造技 术落后,使得人们对微控制器的发展,在认识与理解上存在差异,导致一些初学者进入嵌入式系统的学习误区,浪费了宝贵的学习时间。下面分析可能存在的几个误 区。2.1 操作系统的困惑如果说,学习嵌入式系统不是为了开发其应用产品,那 就没有具体目标,诸如学习方法这样的问题也就不必谈了。实际上,这正是许多人想学,又不知从何开始学习的关键问题所在,不知道自己学习的具体目标。于是, 看了一些培训广告,看了书店中种类繁多的嵌入式系统书籍,或上网以“嵌入式系统”为关键词进行查询,就参加培训或看书,开始“学习起来”。对于有计算机阅 历的人,往往选择一个嵌入式操作系统就开始学习了。这有点像“瞎子摸大象”,只了解其一个侧面。这样如何能对嵌入式产品的开发过程有全面了解呢?针对许多 初学者选择“XXX嵌入式操作系统+XXX处理器”的嵌入式系统入门学习模式,笔者认为是不合适的。笔者的建议是:首先把嵌入式系统软件与硬件基础打好 了,再根据实际需要,选择一种实时操作系统(RTOS)进行学习实践。要记住:RTOS是开发某些类嵌入式产品的辅助工具,是手段,不是目的;许多类嵌入 式产品,并不需要RTOS。所以,一开始就学习RTOS,并不符合“由浅入深、循序渐进”的学习规律。RTOS本身由于种类繁多,实际 使用何种RTOS,一般需要由工作单位确定。基础阶段主要学习RTOS的基本原理与RTOS上的软件开发方法,而不是学习如何设计RTOS。以开发实际嵌 入式产品为目标的学习者,不要把过多的精力花在设计或移植RTOS上面。正如很多人使用Windows操作系统,而设计 Windows操作系统的只有Microsoft。许多人“研究”Linux,但不使用它,浪费了时间。人的精力是有限的,学习必须有所选择。技术顾问:曹老师QQ:2.2 硬件与软件的困惑以MCU为核心的嵌入式技术的知识体系必须通过具体的MCU来体现、实践。但是,选择任何型号的MCU,其芯片相关的知识只占知识体系的20%左 右,80%左右是通用的软件硬件及相关知识。80%的通用知识,必须通过具体实践才能获得,所以学习嵌入式技术一般要选择一个系列的MCU。系统含有硬件与软件两大部分,它们之间的关系如何?有些学者,仅从电子的角度认识嵌入式系统。认为“嵌入式系统=MCU硬件系统+小程序”。这些学者大 多具有良好的电子技术基础知识。实际情况是,早期MCU内部RAM小,程序存储器外接,需要外扩各种I/O,没有像USB、嵌入式以太网等这样较复杂的接 口。因此,程序占总设计量比例小于50%,使人们认为嵌入式系统(单片机)是“电子系统”,以硬件为主,程序为辅。但是,随着MCU制造技术的发展,不 仅.MCU内部RAM越来越大,Flash进入MCU内部改变了传统的嵌入式系统开发与调试方式,固件程序可以更方便地调试与在线升级,许多情况下与开发 PC机程序的方便程度相差无几,只不过开发环境与运行环境不是同一载体而已。这使得嵌入式系统的软件硬件设计方法发生了根本变化。有些学者,仅从软件开发角度认识嵌入式系统,甚至仅从嵌入式操作系统认识嵌入式系统。这些学者大多具有良好的计算机软件开发基础知识,认为硬件是生产厂 商的事。他们没有认识到,嵌入式系统产品的软件与硬件均是需要开发者设计的。笔者常常接到一些关于嵌入式产品稳定性的咨询,发现大多数是由于软件开发者对 底层硬件的基本原理不理解。特别是有些功能软件开发者,过分依赖于底层硬件的驱动软件,自己对底层驱动原理知之甚少。实际上,一些功能软件开发者,名义上 在做嵌入式软件,其实仅仅是使用嵌入式编辑、编译环境而已,本质与开发通用PC机软件没有两样。而底层硬件驱动软件的开发,若不全面考虑高层功能软件对底 层硬件的可能调用,也会使封装或参数设计得不合理或不完备,导致高层功能软件调用困难。可以看出,若把嵌入式系统的开发孤立地分为硬件设计、底层硬件驱动 软件设计、高层功能软件设计,那么一旦出现问题,就可能难以定位。实际上,嵌入式系统设计是一个软件、硬件协同设计工程,不能像通用计算机那样,软件、硬 件完全分开来看,而要在一个大的框架内协调工作。学习嵌入式系统是以软件为主还是以硬件为主,或者如何选择切入点,如何在软件与 硬件之间取得平衡?对于这个困惑的建议是:要想成为一名真正的嵌入式系统设计师,在初学阶段,必须打好嵌入式系统的硬件与软件基础。以下是从事嵌入式系统 设计二十多年的美国学者JohnCatsoulis在《Designing Embedded Hardware》一书中关于这个问题的总结:嵌入式系统 与硬件紧密相关,是软件与硬件的综合体,没有对硬件的理解就不可能写好嵌入式软件;同样,没有对软件的理解也不可能设计好嵌入式硬件。技术顾问:曹老师QQ:2.3 片面认识嵌入式系统嵌入式系统产品种类繁多,应用领域各异。在第1部分中,把嵌入式系统的应用范围粗略分为电子系统的智能化与计算机应用的延伸两大类。从初学者角度,可能 存在分别从这两个角度片面认识嵌入式系统的问题。因此,一些从电子系统智能化角度认识嵌入式系统的学习者,可能会忽视编程结构、编程规范、软件工程的要 求、操作系统等知识的积累。另一些从计算机应用的延伸角度认识嵌入式系统的学习者,可能会把通用计算机学习过程中的概念与方法生搬硬套到嵌入式系统的实践 中,忽视嵌入式系统与通用计算机的差异。实际上,在嵌入式系统学习与实践的初始阶段,应该充分了解嵌入式系统的特点,根据自身的 已有知识结构,制定适合自身情况的学习计划。目标应该是打好嵌入式系统的硬件与软件基础,通过实践,为成为良好的嵌入式系统设计师建立起基本知识结构。学 习过程中,具体应用系统可为实践载体,但不能拘泥于具体系统,应该有一定的抽象与归纳。例如,初学者开发实际控制系统时没有使用实时操作系统,但不要认为 实时操作系统不需要学习。又例如,初学者可以一个带有实时操作系统的样例为蓝本进行学习,但不要认为任何嵌入式系统都需要实时操作系统,甚至为一个十分简 明的实际系统加上不必要的实时操作系统。因此,片面认识嵌入式系统,可能导致学习困惑。应该根据实际项目需要,锻炼自己分析实际问题、解决问题的能力。这 是一个长期的学习与实践过程,不能期望通过短期培训完成整体知识体系的建立,应该重视自身实践,全面地理解嵌入式系统的知识体系。2.4 入门芯片选择的困惑嵌入式系统的大部分初学者需要选择一个微控制器(MCU)进行入门级学习,面对众多厂家生产的微控制器系列,往往不知如何是好。首先是关于位数问题,目前主要有8位、16位和32位MCU。不同位数的MCU各有应用领域,这一点与通用微机有很大不同。例如做一个遥控器,不需要使 用 32位MCU,否则MCU芯片价格就已经超过遥控器价格需求。对于首次接触嵌入式系统的学习者,可以根据自己的知识基础选择入门芯片的位数。建议大多 数初学者选择8位MCU作为快速入门芯片,了解一些汇编与底层硬件知识,之后再选16位或32位芯片进行学习实践。关于芯片选择 的另一个误区是认为有“主流芯片”存在,嵌入式系统也可以形成芯片垄断。这完全是一种误解,是套用通用计算机系统的思维模式,而忽视了嵌入式系统应用的多 样性。关于学习芯片选择还有一个误区,即误认为选择工作频率高的芯片进行入门学习,更先进。实际上,工作频率高可能给初学者带来不少困难。 实际嵌入式系统设计不是追求芯片位数、工作频率、操作系统等因素,而是追求稳定可靠、维护、升级、功耗、价格等指标。初学者选择入门芯片,是通过某 一: MCU作为蓝本,获得嵌入式系统知识体系的通用基础。其基本原则是:入门时间较短、硬件成本较低,知识要素较多,学习难度较低。技术顾问:曹老师QQ:3 基础阶段的学习建议基于以上讨论,下面对广大渴望学习嵌入式系统的学子提出几点基础阶段的学习建议: ①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。其实,只要找到正确的方法,加上努力,任何理工科学生,甚至非理工科学生,都能学好嵌入式系统。②选择一个芯片及硬件评估板(入门芯片最好简单一点,例如8位MCU)、选择一本好书(最好有规范的例子)、找一位好老师(最好是有经验且热心的)。硬 件评估板的价格一定要在1000元以下,不要太贵,最好能有自己动手的空间。不花一分硬件钱想要学好嵌入式系统不实际,因为这是实践性很强的学科。好书, 可以让人少走弯路,不被误导。好老师也可以是做过一些实际项目的学长(一定要找做过几个成功项目的学长或老师做指导,否则经验不足也可能误导),有教师指 导,学习进程会加快(人工智能学科里有个术语叫无教师指导学习模式与有教师指导学习模式,无教师指导学习模式比有教师指导学习模式复杂许多。③许多人怕硬件,其实嵌入式系统硬件比电子线路好学多了。只要深入理解:MCU的硬件最小系统,对I/O口、串行通信、键盘、LED、LCD、 SPI、 I2C、PWM、A/D(包括一些传感器)、D/A等逐个实验理解,逐步实践,再通过动手做一个实际的小系统,底层硬件基础就有了。各个硬件模 块驱动程序的编写是嵌入式系统的必备基础。学习嵌入式系统的初期,这个过程是必须的。 ④至于嵌入式实时操作系统RTOS,一定不 要一开始就学,这样会走很多弯路,也会使你对嵌入式系统感到畏惧。等你软件硬件基础打好了,再学习就感到容易理解。实际上,许多嵌入式应用并不需要操作系 统。也可以根据实际项目需要,再学习特定的RTOS。不要被一些嵌入式实时操作系统培训班的宣传所误导,而忽视实际嵌入式系统软硬件基础知识的学习。⑤要避免片面地单纯从“电子”或“计算机软件”角度认识嵌入式系统。前面说过,嵌入式系统是软件与硬件的综合体。因此,要逐步从MCU的最小系统开始, 一点一点理解硬件原理及底层硬件驱动编程方法。要通过规范的例子,理解软件工程封装、可复用等思想。通过规范编程,积累底层构件(component), 也就是一个一个模块;但是要封装得比较好,可复用。⑥注重实验与实践。这里说的实验主要指通过重复来验证他人的工作,目的是学习基础知识,这个过程一定要经历。实践是自己设计,有具体的“产品”目标。如果花500元左右,自己做一个具有一定功能的小产品,且能稳定运行1年以上,就可以说接近入门了。⑦关于入门芯片的选择。不要选太复杂的微控制器作为入门芯片,不能超越学习过程。不要一下子学习几种芯片。可以通过一个芯片入门,并具有一个实践经验 后,根据实际需要选择芯片开发实际产品。注意,不要把微处理器(MPU与微控制器(MCU)概念相混淆,微处理器只是微控制器的内核。⑧关于嵌入式操作系统的选择。可以等到具有一定实践基础后,选择一个简单、容易理解原理的嵌入式操作系统进行学习。不要一开始就学习几种操作系统,理解了基本原理,实践中确有实际需要再学习也不迟。人总是要不断学习的。⑨关于汇编语言与C语言的取舍。随着:MCU对C编译的优化支持,对于汇编语言可以只了解几个必要的语句,而直接使用C语言编程。但必须通过第一个程序 理解芯片初始化过程、中断机制、程序存储情况等,区别于PC机程序的内容。另外,为了测试的需要,最好掌握一门PC机编程语言。⑩要明确自己的学习目的,并注意学习方法。要明确学习目的是打基础,还是为了适应工作需要而进行的短训。学习方法方面,要根据学习目的选择合适的学习途 径,注意理论学习与实践、通用知识与芯片相关知识、硬件知识与软件知识的平衡,要在理解软件工程基本原理基础上理解硬件构件与软件构件等基本概念。以上建议,仅供初学者参考。当然,以上只是基础阶段的学习建议。要成为良好的嵌入式系统设计师,还需要在实际项目中锻炼,并不断学习与积累经验。深圳/郑州/广州 嵌入式Arm+Linux、单片机、ARM、MIPS、FPGA、安卓培训!免费试听,满意后给您量身定制课程(包学会),快速提高您的技能!教学特色:名师督学+工程师指导;项目案列解析+实际解决方案!技术顾问:曹老师;QQ:
Powered by嵌入式的我们应该学习哪些电子知识 - 电子技术基础知识 - 21IC中国电子网
您当前的位置:&>&&>&&>&
嵌入式的我们应该学习哪些电子知识
有不少的在校的大学生写信给我,问在学校里应该学习什么.就业形势越来越严峻,不光是在中国,全球都一样,全球经济的发展速度放慢,至少会持续几年的时间.半导体产业目前进入低潮,很多公司裁员和亏损.但是技术还是在不断进步,摩尔定律还在起作用,半导体产品的集成度,速度,价格都按摩尔定律在发展.在大学里只是混混日子的大学生不少,但也有一些比较努力的学生,想掌握更多的知识,
希望能够在毕业之后找到好的工作,或者想创造一番事业,对于这些学生,我是赞赏的.我相信一分辛劳一分收获,你的努力是不会白费的.这个世界是适者生存,不适者淘汰的社会.像华为公司,进进出出的人不计其数,能适应的,留,不适应的,走.
有网友问我,你在大学里是怎么度过的?我是一个对电子有浓厚兴趣的人,在高中的时候就开始抓电烙铁,把家里的电器搞的乱七八糟(拆了,就不知道怎么装回去,当然现在不会这样了). 在大学里,我对电子很感兴趣,自己也买一些器件(我在广州中山大学读书,广州是一个很好的市场,元器件容易买,不管是旧的,还是新的,开始的时候,自己兜里没有多少钱,就买一些旧的元器件),然后自己组装音响,一开始问题真是多,搞了一个学期才搞定,由于问题多,所以经常到图书馆去查资料,去书店看(没有钱买书的时候就抄一段回来),学到很多模拟电路方面的知识.后来就组装逆变器(学校里晚上要关灯,没有电),逆变器可以在关灯了的时候提供电,别的宿舍都停电了,我宿舍就不会停(有逆变器供电),一到关了灯,同学们都跑到我们宿舍来聊天(别的宿舍都一片黑),也是其乐熔融,还有半夜三更看球赛.还组装了CD,VCD,录像机,我们宿舍成为了娱乐中心,可以卡拉OK,可以看电视,看录像,整个物理系,就我们宿舍是最齐全的娱乐设施.也不知道看过多少张VCD,很多同学是广州,从家里拿来好多VCD(还有一些同学的老爸是抓走私的,收缴了好多VCD,也拿过来看),每到下午6点,就开始放VCD,很多人看. 通过这些组装,学习了很多关于模拟电路和数字电路方面的知识,虽然我别的课程学的不好,但是电路的课程是一流的.
单片机和fpga方面的知识,在大学学的不多,因为学校的东西太落后,都是到公司才学的.
我认为对于搞电子来说,兴趣是最好的老师,如果你没有兴趣,那么最好不要选择电子的专业,因为毕竟有些时候比较累(一个小问题也可能折腾半天),很多时候理论上可以,实践上就不通.
闲话少说,还是讲讲应该掌握哪些东西吧.电子方面的知识很多,比电脑的知识要多不知道多少倍,学习电脑的,只要掌握几门语言就可以了,而搞电子的,需要的知识要全面很多,比如模拟电路,数字电路,单片机,电路制版等......由于电子知识太多,所以一般搞硬件的公司都比较多的员工,分工合作也比较细.因为一个人的能力有限,不可能掌握所有的知识.比如一些人专门设计外壳,一些人专门设计电路板,一些人专门搞出厂测试,一些人专门编写程序,一些人专门从事逻辑设计,一些人专门搞高频无线......
有人问我,你现在想转行吗?我的回答是不会,因为不管你做什么,你学而不精,还是无用武之地.电子行业需要干一行专一行,而不是学一行丢一行. 我在单片机,CPLD方面有了比较好的基础, 从事这方面的设计会得心应手,如果你改而从事别的设计,比如设计外壳,将一切从头开始.
所以在大学里,必须掌握一些基础知识(这是必要的,毕竟你还不知道毕业后将干什么工作),基础知识主要有模拟电路和数字电路以及高等数学知识(必修课).然后重点学习一些别的知识,比如单片机,FPGA,PCB设计,DSP(这些都是选修课),不要什么都学,自己感兴趣的,有条件的学一学. 有些人的求职简历写着学了什么什么,罗列一大堆,我认为这种人是吹牛,或者是学而不精.每个领域,要想精通,不要说一年两年,可能10年8年,都有的学.如果我去招聘,我反而看重简历里学的知识不是很杂,但有所精通的人.这些人一般有比较多的实践经验.实践比理论要重要的多,对于搞电子的来说.特别是高频,理论通,实践往往不通,但是实践通的,理论上又难于解析.
对于单片机来说,主要学习一下51单片机,尽管有了一些别的单片机,比如AVR,PIC,MSP430,ST,MOTOROLA等,但是51用的企业还是最多的,搞电子的厂家,不用51的,是少数.对于求职,你懂51的话,很多公司都可以去.但是别的单片机,如果对方根本不用,那么他就不会考虑招你进去. 当然对别的单片机进行一些了解,当然是可以的,但重点还是在51上.主要51的开发工具比较成熟,而且供货商相当多,根本不用考虑货源问题.51是开放的内核,多厂家生产,而别的内核都不是开放的,独家生产. 学习51,主要以Keil C51为主,来学习,因为Keil C51是世界上最好的(个人认为)的编译器,懂keil的人也很多,技术支持完备.要以Keil C51 V6.xx版本为基础学习,不要用DOS版或Keil C51 V5.xx,这些版本几乎已经淘汰,只有一些仿真机厂家才当作宝贝,嵌入低版本的编译器,这种做法始终是落后的.目前专门描述Keil C51 V6.xx的书还没有,为了帮助大家学习,与时代同步,我写了一些教程,给大家参考.有时间再看一些别的单片机的资料.
PCB制版,可以学习Protel99,介绍Protel99的书很多,也很容易买到,电路制版需要学习的时间不需要很多,可以掌握一下,有条件的最好自己实际去制作一下电路板.
CPLD,FPGA是可编程逻辑电路,这个很有必要花功夫学习,目前一些企业的技术还是比较落后,还经常使用8等一些老掉牙的芯片.没有办法,学校里学习的都是这些.用gal,CPLD已经可以完全代替这些电路.而且成本还便宜.一些网友发给我的电路我一看就头晕,一堆的74hc00,74hc04,等,板子很大,为何不用一块GAL,或CPLD搞定? 用这些芯片,不但电路布线复杂,容易出问题,而且影响成品率,容易被人复制.要制造更为复杂的逻辑,那就非CPLD,FPGA莫属了.CPLD的设计主要有Xilinx和Altera两个公司的.可以学习其中的一种.这些开发板,一般都可以买到,不少人制作和销售.我的网站将主要以Altera的为主,因为软件是免费的,我的网站有下载,芯片也容易买. 学习的时候主要以图形设计为主,用语言设计毕竟还比较抽象,有时间就可以加深一下,学习一下VHDL语言.
DSP知识,需要学习的人有比较好的数学基础,如果你的数学很好,可以选修一下.DSP设计的门槛比较高,开发工具也比较贵,高校设立dsp课程的也比较少,一般的学校都没有条件去学,有条件学习的,学一下,没有条件的,就不学也罢.
其他知识,比如高频电路,外壳设计(AutoCAD),属于专业性比较强的知识,学习该专业的可以学一下,不是该专业的,可以不学.
1.学习模拟电路和数字电路,高等数学等基础知识
2.必修单片机,PCB电路板设计
3.选修CPLD,DSP,高频电路,外壳设计等.
4.能力强的学多一些,能力小的,学少一些.
5.注重实践,多动手,理论要联系实际.
这就是我的看法,希望批评指正.成为一名嵌入式Linux开发工程师需要学习哪些知识? - ARM技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
成为一名嵌入式Linux开发工程师需要学习哪些知识?
09:35:36  
12768&查看
& & 随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度、市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的开发和研究,这使得嵌入式Linux在新兴的嵌入式操作系统领域内也获得了飞速发展和广泛应用。面对如此火热的行业,如何才能成为嵌入式Linux开发工程师?成为一名合格的嵌入式Linux开发工程师需要学习哪些知识?
  一:C语言  嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。
  二:Linux基础  Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。
  三:Linux系统编程  重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。
  四:Linux网络编程  计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。
  五:数据结构与算法  数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。
  六:C++ 、QT  C++是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。
  七:Cortex A8 、Linux 平台开发  通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
  八:驱动开发  驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
  以上就是列出的关于一名合格嵌入式Linux开发工程师所必学的理论知识,其实,作为一个嵌入式开发人员,专业知识和项目经验同样重要,所以在我们的理论学习中也要有一定的项目实践,锻炼自己的项目开发能力。尤其是对于一些刚毕业的应届大学生们实际项目操作经验更是严重缺乏锻炼,这时,选择一个好的嵌入式培训机构至关重要,学习完整的linux开发课程,最重要的是很多的阶段性的大项目来自用人单位的真实开发案例,这样才能真正掌握企业需要的一部份嵌入式系统开发知识。&&
资料来源:天嵌科技论坛
22:59:15  
{:20:}{:20:}
除了亲人欢聚的喜悦
让人头痛的就是来自亲朋好友的过度关怀
“做什么工作啊?”
“工资多少啊?”
“有没有女朋友?”
“什么时候结婚?”
“买房了吗?”
面对让人崩溃的问题,如何自救呢?快来支支招吧!
春节回家,除了见到亲人,儿时的玩伴
那一顿一顿的美食
带了家乡独有的味道
光是想想,都就能让人,垂涎三尺。
快拿起你手中的相机,拍下美食
一起分享你的幸福,还有机会中大奖喔
Powered by

我要回帖

更多关于 干洗技术好学吗 的文章

 

随机推荐