学习知识|如何学习嵌入式开发( 二 )


但是 , 从Android、IOS APP入门入行 , 这很快!如果你是大四 , 急于找到一份工作 , 那么花上1、2个月去学习Android或IOS , 应该容易找到工作 , 毕竟APP的需求永远是最大的 , 现在这两门技术还算热门 。 在2011、2012年左右 , Android程序员的起薪挺高 , 然后开始下滑 。 Android APP的入门基本只要1个月 , 所以懂的人也越来越多 。 2013、2014年 , IOS开发的工资明显比Android高了 , 于是各类IOS培训也火曝起来 。 中华大地向来不缺速成人才 , 估计再过一阵子IOS工程师也是白菜价了 。
会Android、IOS只是基本要求 , 不信去51job搜搜Android或IOS , 职位要求里肯定其他要求 。
1.2.2 业务逻辑
举个简单例子 , 做一个打卡软件 , 你需要考虑这些东西:
①正常流程是上班下班时都要打卡
②有人忘记了怎么办?作为异常记录在案 , 推送给管理员
③请假时怎么处理?
④加班怎么处理?
对于更复杂的例子 , 视频会议系统里 , 各个模块怎么对接 , 各类协议怎么兼容 , 你不深入这个行业 , 你根本搞不清楚 。
应用开发的职位永远是最多的 , 入门门槛也低 。 基本上只要你会C语言 , 面试时表现比较得体 , 一般公司都会给你机会 。 因为:
①你进公司后 , 还需要重新培训你:熟悉它们的业务逻辑 。
②你要做的 , 基本也就是一个个模块 , 框架都有人给你定好了 , 你去填代码就可以了 。
说点让你高兴的事:软件公司里 , 做领导的基本都是写应用程序的(当然还有做市场的) 。 写应用程序的人 , 对外可以研究市场接待客户 , 对内可以管理程序员完成开发 , 不让他做领导让谁做?
如果你的志向是写应用程序 , 那么我建议你先练好基本功:数据结构、算法是必备 , 然后凭兴趣选择数据库、网络编程等等进行深入钻研 。
最后 , 选择你看好的、感兴趣的行业深耕个10年吧 。 做应用开发的人选择了某个行业 , 后面是很难换行业的 , 选行很重要!
1.3 操作系统领域UCOS太简单 , VxWorks太贵太专业 , Windows不玩嵌入式了 , IOS不开源 , 所以对于操作系统领域我们也只能玩Linux了 。
在嵌入式领域Linux一家独大!
Android呢?Android跟QT一样 , 都是一套GUI系统 。 只是Google的实力太强了 , 现在Android无处不在 , 所以很多时候Linux+Android成了标配 。 注意 , 在这里我们关心的是Android的整个系统、里面的机制 , 而不是学习几个API然后开发界面程序 。 操作系统领域所包含的内容 , 简单地说 , 就是制作出一台装好系统的专用“电脑” , 可以分为:
①为产品规划硬件:
按需求、性能、成本选择主芯片 , 搭配周边外设 , 交由硬件开发人员设计 。
②给单板制作、安装操作系统、编写驱动
③定制维护、升级等系统方案
④还可能要配置、安装Android等GUI系统:
⑤为应用开发人员配置开发环境
⑥从系统角度解决疑难问题
这个领域 , 通常被称为“底层系统”或是“驱动开发” 。
先解决2个常见误区:
①这份工作是写驱动程序吗?
看看上面罗列的6点 , 应该说 , 它包含驱动开发 , 但远远不只有驱动开发 。
②我们还需要写驱动吗?不是有原厂吗?或者只需要改改就可以?
经常有人说 , 芯片原厂都做好驱动了 , 拿过来改改就可以了 。 如果 , 你的硬件跟原厂的公板完全一样 , 原厂源码毫无BUG , 不想优化性能、削减成本 , 不想做一些有特色的产品 , 那这话是正确的 。
但是在这个不创新就是找死的年代 , 可能吗?!原因有二:

推荐阅读