嵌入式学习?学习嵌入式前景咋样
本人大④学生,专业为电气类的,有C语言,单片机,模电,数电的基础,①直想从事嵌入式方面的工作(感兴趣),但是以目前的水平,暂时还不能找到这方面的工作,所以①直在纠结是先找份本专业的工作做着,又或者是到培训机构培训,然后找份嵌入式方面的工作,希望大家能指点①②。另:嵌入式学习需要哪方面的基础知识,培训④个月的时间努力学习大概能达到什么样的水平
嵌入式Linux+Android学习路线图
作者:韦东山
微博:韦东山
公司微博:百问科技
写于②⓪①⑥.⓪⑦.②⑨ ,第①版本,Android部分未写
本文目录
①. 程序员的③大方向
①.① 专业领域
①.①.① 学术研究
①.①.② 工程实现
①.② 业务领域
①.②.① 界面显示
①.②.② 业务逻辑
①.③ 操作系统领域
①.④ 嵌入式Linux+Android系统包含哪些内容
②. 怎么学习嵌入式Linux操作系统
②.① 入门路线图
②.② 学习驱动程序之前的基础知识
②.②.① C语言
②.②.② PC Linux基本操作:
②.②.③ 硬件知识
②.②.④ 要不要专门学习Windows下的单片机开发
②.②.⑤ 为什么选择ARM⑨ S③C②④④⓪开发板,而不是其他性能更好的?
②.②.⑥ 怎么学习ARM+Linux的裸机开发
②.②.⑦ bootloader的学习
②.②.⑧ Linux内核的学习
②.②.⑨ 根文件系统
②.③ 驱动程序的学习
②.③.① 经典字符设备驱动程序
②.③.② 工作中各类驱动程序
②.③.③ 调试方法
②.④ Linux应用程序的学习
③. 怎么学习整个Android系统
我是①⑨⑨⑨年上的大学,物理专业。在大①时,我们班里普遍弥漫着对未来的不安,不知道学习了物理后出去能做什么。你当下的经历、当下的学习,在未来的①天肯定会影响到你。毕业后我们也各自找到了自己的职业:出国深造转行做金融、留校任教做科研、设计芯片、写程序、创办公司等等,这①切都离不开在校时学到的基础技能(数学、IT、电子电路)、受过煅炼的自学能力。
所以,各位正在迷茫的在校生,各位正在尝试转行的程序员,未来①定有你的位置,是好是坏取决于你当下的努力与积累。
我不能预言几年后什么行业会热门,也不能保证你照着本文学习可以发财。我只是①个有⑩几年经验的程序员,给对编程有兴趣的你,提供①些建议。
①. 程序员的③大方向
程序员的方向,①般可以分为③类:专业领域、业务领域、操作系统领域。你了解它们后,按兴趣选择吧。
对于专业领域,我提供不了建议。
业务,也就是应用程序,它跟操作系统并不是截然分开的:
① 开发实体产品时,应用程序写得好的人,有时候需要操作系统的知识,比如调度优先级的设置、知道某些函数可能会令进程休眠。
② 写应用程序的人进阶为系统工程师时,他需要从上到下都了解,这时候就需要有操作系统领域的知识了,否则,你怎么设计整个系统的方案呢?
③ 做应用程序的人,需要了解行业的需求,理解业务的逻辑。所以,当领导的人,多是做应用的。①旦钻入了某个行业,很难换行业。
④ 而操作系统领域,做好了这是通杀各行业:他只负责底层系统,在上面开发什么业务跟他没关系。这行很多是技术宅,行业专家。
⑤ 操作系统和业务之间并没有①个界线。有操作系统经验,再去做应用,你会对系统知根知底,碰到问题时都有解决思路。有了业务经验,你再了解①下操作系统,很快就可以组成①个团队自立门户,至少做个CTO没问题。
①.① 专业领域
它又可以分为下面②类。
①.①.① 学术研究
比如语音、图像处理、人工智能,这类工作需要你有比较强的理论知识,我倾向于认为这类人是“科学家”,他们钻研多年,很多时候是在做学术研究。
在嵌入式领域,需要把他们的成果用某种算法表达出来,针对某种芯片进行优化,这部分工作也许有专人来做。
①.①.② 工程实现
也有这样①类人,他们懂得这些专业领域的概念,但是没有深入钻研。可以使用各类开源资料实现某个目标,做出产品。比如图像处理,他懂得用opencv里几百个复杂函数来实现头像识别。有时候还可以根据具体芯片来优化这些函数。
“专业领域”不是我的菜,如果你要做这①块,我想最好的入门方法是在学校学习研究生、博士课程。
①.② 业务领域
换句话说,就是应用程序,这又可以分为下面②类。
①.②.① 界面显示
做产品当然需要好的界面,但是,不是说它不重要,是没什么发展后劲。
现在的热门词是Android APP和IOS APP开发。你不要被Android、IOS两个词骗了,它们跟以前的VC、VB是同①路货色,只是、仅仅是①套GUI控件的实现。
希望没有冒犯到你,我有理由。
①个程序需要有GUI界面,但是程序的内在逻辑才是核心。Android、IOS的开发工具给我们简化了GUI的开发,并提供了这些控件的交互机制,封装并提供了①些服务(比如网络传输)。
但是程序内部的业务逻辑、对视频图像声音的处理等等,这才是核心。
另外别忘了服务器那边的后台程序:怎样更安全地保存数据、保护客户的隐私,怎样处理成千上万上百万的并发访问,等等,这也是核心。
但是,从Android、IOS APP入门入行,这很快!如果你是大④,急于找到①份工作,那么花上① · ②个月去学习Android或IOS,应该容易找到工作,毕竟APP的需求永远是最大的,现在这两门技术还算热门。
在②⓪①① · ②⓪①②年左右,Android程序员的起薪挺高,然后开始下滑。Android APP的入门基本只要①个月,所以懂的人也越来越多。
②⓪①③ · ②⓪①④年,IOS开发的工资明显比Android高了,于是各类IOS培训也火曝起来。中华大地向来不缺速成人才,估计再过①阵子IOS工程师也是白菜价了。
会Android、IOS只是基本要求,不信去⑤①job搜搜Android或IOS,职位要求里肯定其他要求。
①.②.② 业务逻辑
举个简单例子,做①个打卡软件,你需要考虑这些东西:
① 正常流程是上班下班时都要打卡
② 有人忘记了怎么办?作为异常记录在案,推送给管理员
③ 请假时怎么处理?
④ 加班怎么处理?
对于更复杂的例子,视频会议系统里,各个模块怎么对接,各类协议怎么兼容,你不深入这个行业,你根本搞不清楚。
应用开发的职位永远是最多的,入门门槛也低。基本上只要你会C语言,面试时表现比较得体,①般公司都会给你机会。因为:
① 你进公司后,还需要重新培训你:熟悉它们的业务逻辑。
② 你要做的,基本也就是①个个模块,框架都有人给你定好了,你去填代码就可以了。
说点让你高兴的事:软件公司里,做领导的基本都是写应用程序的(当然还有做市场的)。写应用程序的人,对外可以研究市场接待客户,对内可以管理程序员完成开发,不让他做领导让谁做?
如果你的志向是写应用程序,那么我建议你先练好基本功:数据结构、算法是必备,然后凭兴趣选择数据库、网络编程等等进行深入钻研。
最后,选择你看好的、感兴趣的行业深耕个①⓪年吧。做应用开发的人选择了某个行业,后面是很难换行业的,选行很重要!
①.③ 操作系统领域
UCOS太简单,VxWorks太贵太专业,Windows不玩嵌入式了
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
