随着国家对集成电路、操作系统等基础软件的全力支持,在能预见的将来,慢慢的变多的国产芯片、中国芯将推向市场,基于Linux的面向各个特定行业的操作系统将陆续推出。物联网、智能硬件、VR这些方兴未艾的领域,也将催生大量嵌入式开发的需求。
作为一个在校学生或者想从事嵌入式Linux开发的工程师来说,该如何去学习嵌入式呢?
平台慢慢的变多,平台环境搭建困难,是嵌入式学习的一道坎。嵌入式真的难学吗?其实跟Windows下学习编程没什么两样。难就难在嵌入式开发环境的复杂上,调试方法也不如在Windows下开发方便。
很多人买来开发板,一阵子捣鼓,把时间都浪费在了开发板的升级、烧写上。而真正嵌入式Linux的精髓、核心知识、内核的理解却很少涉及。
而在公司实际的开发中,不同的公司采用不一样的平台,调试手段、升级方法也往往不完全一样,你花了很久掌握的开发板技能往往换个平台可能就不管用,而你该掌握的嵌入式核心知识、Linux内核基础、系统的通用理解却不完善,这也是当前很多人学习嵌入式开发容易遇到的一个情况。
我的建议是,学习嵌入式,应该把主要精力放在核心通用的知识上,跟平台无关,比如对内核的理解,这个不是一朝一夕就提高的,需要花大量的时间和精力去系统学习的,而在公司工作中一般很少有机会和大量的时间去学习这些。
而对开发板和平台的熟悉,你自己一个人在折腾,可能会浪费很多时间,到了公司,别人稍微指导下,可能很快就掌握了。
不采用实体开发板的原因,一是对于学员来说,实体开发板往往环境搭建就会遇到各种各样莫名其妙的问题,比如电脑硬件、系统不兼容,任何一个小细节都会让你系统跑不起来,烧写不成功,时间长了,容易受打击,而真正嵌入式的核心知识,要求我们花精力和时间该学的东西,却没有涉及。二,通过仿真平台,搭建理想化的学习平台,我们大家可以把精力完全放到嵌入式开发软件、Linux内核、驱动开发上,节约时机和金钱成本。三是从学习效果上看,在只有开发板,没有配套的万用表、示波器等硬件工具,其实硬件遇上问题往往也无能为力,对比下来,使用仿真器去学习是一个不错的选择。