不是所有人都敢改变自己,但所有敢于改变自己的人 都将成功!

西安软件培训_Java培训机构_西安IT培训_Java视频教程—西安兆隆

当前位置: > 软件开发 >

嵌入式软件开发怎么学?

时间:2017-11-30 08:53来源:未知 作者:admin 浏览:

嵌入式开发相比较我们常见的网络编程而言,需要的不仅仅只是编程语言的知识了,这里不仅需要软件开发相关的编程技能,同时还需要,软件开发工程师了解硬件的相关问题,所以想要学习嵌入式软件开发,需要具备软件与硬件两个方面的知识储备。那么零基础应该如何接触并入门嵌入式软件开发呢?

嵌入式软件开发

什么是嵌入式软件
嵌入式软件,就是运行在嵌入式系统上的软件,而不是运行在通用PC上。嵌入式系统一般用在专用设备上。像手机、可穿戴设备、数字相机、机顶盒、游戏机、智能玩具、数控设备或仪表、汽车电子、医疗仪器、航天航空设备等都是典型的嵌入式系统。这么说的话大家应该对嵌入式软件有所了解了吧,毕竟单说嵌入式很难理解,而要是落实到生活中的具体电子设备上就容易理解的多了,那么所谓的嵌入式软件开发也就是针对这些专用设备进行软件逻辑处理的编程开发了。

嵌入式软件开发应用场景广泛
如何入门嵌入式软件
入门嵌入式软件开发,一部分人事因为兴趣,比如说一个智能报警器等小玩具,他会觉得自己从无到有的搞定会很有成就感,再有一部分人看好嵌入式软件开发的行业发展前景,随着现在智能家居产品的出现,很多搞软件开发的程序员想转到嵌入式开发,可是没有一点头绪,怎么办呢?如果你围绕“嵌入式开发学习路线”搜一搜,很多答案都是“数字电路、计算机组成原理、嵌入式微处理器结构、汇编语言……”好吧,想要学完这些课程,估计得重上一次大学了。很多人都是从事互联网的行业,现在感觉智能家居是以后的发展方向,无论是从软件开发转入还是零基础转入嵌入式开发,最好的就是找软件培训班系统的学习理论基础。制定的策略是先切入嵌入式软件这一行当,等到了工作岗位再根据需要深入学习,所以建议他只学习最少必要知识,快速入门就行而不是快速精通。

1. 掌握C语言
 
看书、看视频学习都可以。不过我建议还是买一本教材认真阅读,反复上机实践。这里推荐的教材是《C Primer Plus》这里是C不是C++。对于嵌入式软件程序员,用得最多的是指针、数组、结构体、位操作等,这些知识一定要熟练掌握。
 
2. 学习基本数据结构
 
往往我们听到说是做程序员很少用到算法啊,数据结构之类的东西,那是因为PHP,Java这类都是高级语言,主要负责的是软件层的程序编写,而嵌入式开发就需要软硬结合了。在这里因为是入门,所以数据结构这块不用买来一本很厚的书从头啃到尾,这样只会中途放弃。建议掌握最基本的链表、栈、队列就可以。等真正入门后可以再回来系统的基础的学习。完整的了解到嵌入式软件开发的环节之后再来充实每一个技术点的细节问题。
 
3. 选择一款开发板
 
选购开发板应以“适合”为原则,没有必要追随最新的处理器。在处理器的选择上,主要分为两种,一种是以ARM Cortex-A为核心(可以移植Linux),这种处理器主要应用于消费电子;一种是以ARM Cortex-M为核心(跑不了Linux,但是可以跑实时操作系统),这种处理器主要应用于工控领域,取代了之前的8位、16位单片机。不管选择谁家的板子,除了板子,丰富的学习资料是必不可少的。对于初学者,一定要有源码有视频。如果有论坛、有人答疑就更完美了。
 
4. 学习裸板开发
 
跟着视频和源码来学习,一定要动手实践,非常建议写博客总结。学完这一步,一只脚就跨入嵌入式软件开发大门了。不要惊讶,觉得还没学什么就可以搞嵌入式软件开发了。可事实上就是这样。到了工作岗位上边干边学,这样进步最快,难道不是吗?
 
5. 学习操作系统的移植
 
对于零基础的,可以移植一款RTOS(实时操作系统),比如µC/OSⅡ或Ⅲ;基础好的可以学习移植Linux。
 
这里要指出一个误区,有人说ARM开发板不跑Linux简直是浪费,有人说离开了Linux的嵌入式是没有深度的,还有人说RTOS太简单了,没啥可学的……对于这些说法,太片面,往往会误导初学者。毕竟初学者是需要一步一步成长的,不要刚一开始就用深度的技术问题要求和衡量。
 
第一,不是每个企业都有“ARM+Linux”的需求。对于做工控产品的企业,很少用Linux,有时候就是裸奔,功能复杂的话加一个RTOS足矣。例如WIFI芯片和蓝牙芯片,不管是WIFI协议栈还是蓝牙协议栈,代码量都在10万行以上,在硬件上都是用Cortex-M3的核,最多跑一个RTOS,Linux根本用不上。
 
第二,对于从来没有接触过开发板的人,一上来就移植Linux,学Linux驱动,难度实在是太大,很有可能被博大精深的Linux内核淹没而放弃,最后再来一句“我不适合搞嵌入式”,从此彻底无缘嵌入式软件开发,所以自信也需要逐步建立。
 
并不是说Linux不重要。相反,Linux很重要,恰恰是嵌入式软件工程师的核心竞争力。但是对于嵌入式软件开发的初学者而言,不要一上来就给自己定下那么大的目标,如果先通过µC/OSⅡ或Ⅲ的学习来打基础,再去学习Linux就会有事半功倍的效果。就是掌握了真个开发过程和了解到开发中所需要的技术储备之后,再去细化和提高每一个技术点。
 
6. 有自己的小作品
 
既然已经学会了裸板开发和操作系统移植,你肯定有做东西的想法了,那就结合生活实际做点东西吧。比如做一个家用防盗报警装置,当检测到有人进来,立刻给不在家的你拨打电话。这时候你会发现,围绕着需求还有很多东西要学,比如如何驱动红外传感器模块(用来检测有人靠近),如何驱动GSM模块(用来拨打电话)。独立完成一些小作品不仅能大大提高你的知识熟练度和解决问题的能力,也会使你在面试的时候有话可说。

文章来源:www.zhaolongedu.com
(信息来源:兆隆IT云学院)

------分隔线----------------------------

一般软件开发流程有哪几步?
嵌入式软件开发怎么学?
软件开发工程师独占高薪行业榜首
高中生毕业参加软件培训进入IT行业可行吗?
------分隔线----------------------------

一般软件开发流程有哪几步?

经常说软件开发,Java软件开发,那么软件开发从无到有共需要经过哪些开发步骤呢?完整的软件开发流程都需要哪几步呢?一般的常见的软件开发步骤共分为六步。

嵌入式软件开发怎么学?

嵌入式开发相比较我们常见的网络编程而言,需要的不仅仅只是编程语言的知识了,这里不仅需要软件开发相关的编程技能,同时还需要,软件开发工程师了解硬件的相关问题,所以

西安软件培训机构排名

IT行业的前景与待遇吸引着不少人加入,但是本科计算机专业人才的供不应求,越来越多的软件培训机构像雨后春笋一般破土而出,西安软件培训机构中那个比较靠谱呢?单以软件开

大学生学习软件开发工资一般多少钱?

很多的大学生在面对就业的时候,总是在犹豫,同时心里也有一定的纠结,自己在校期间学到了什么,现在毕业又能胜任什么样的工作呢?很多人选择参加Java软件开发培训,想要学

推荐内容