现在市场上的嵌入式培训产品琳琅满目,但是在笔者看来有几个误区。
1、开头过于细节
技术是一门综合性很强的技术,任何一门技术的学习都类似于论文要先概述然后再深入细节。很多嵌入式培训产品当然也有概述就是自己课程包含的内容,这是错误的。嵌入式技术的概述应该是结合信息技术、计算机技术、工艺、开发工具、市场等等让一些无论有没有基础的人都有大体的了解。嵌入式技术经过多年的发展和传播媒介的进步,这几年学习难度已经降低很多,但这只是入门之后的具体方面。比如很多人做Qt应用不了解底层驱动,做底层驱动的不了解应用接口。很多培训产品一味强调0基础,希望招到更多的学员,其实这没错,但是招进来也要管人家学到知识和技术吧。很多人是没有电子电路、操作系统、信号与系统基础的。
歧视硬件,这是嵌入式产品很令人不解的问题。其实做嵌入式软硬不分家但软硬有专长,成了嵌入式软硬只有专长。很多人连SPI I2C UART的示波器波形都看不懂,对电源电路也是一无所知等等。这些是在工作中有害的。其实现在的板级硬件开发已经很简单了,IC集成度越来越高将以前很多模拟电路做的事都实现了比如滤波、放大、电源管理等等。了解一番难度也不大。
2、缺少实际产品技术开发内容
很多培训产品其实做的还是大学教学那一套,理论加上一个很普适性的例子就讲完了。然后一看实际代码完全不是这么回事。比如驱动开发的应用API接口设计可不仅仅是字符驱动那几个open write ioctl,在应用层也要实现一些linux c方面的总进程管理,应用层比如Qt设置显示、触摸设备的设备名……好多具体需要知道的都略过了,甚至没有提醒有方面的实际需要。
4、中间过于浅显
很多培训产品看似内容繁多,其实实际来看涉及到的知识深度依然不足,这种深度并不是说要写出一个OS那种层级。而是代码修改、代码模块拼接、驱动框架理解、API设计等等比较有深度的内容,但很多培训都仅仅是代码讲解、剪切拷贝。
5、开发管理方面知识
很多人只会技术,对产品开发和软件开发流程和管理一无所知。这种是在工作中有害的。