« 上一篇下一篇 »

知识体系构建

本文主要梳理总结一下未来三年内需要进一步掌握学习的知识,包括近期的和长期的,行业相关的与非行业相关的。

一、USB协议

这个东西纠结了几年了,一直在用USB相关的功能,但是却总是一知半解,如雾里看花,最近下定决心要看一下USB相关的协议,也已经看了一部分了。USB协议,一般来说,我们做固件的,也就是完成USB Device功能,USB Host一般会由PC机来完成,这其中,USB针对不同的应用有不同的协议规范,比如说HID、AUDIO等,需要了解的东西就是USB的一些接口电气定义,比如引脚上下拉区分不同的速率、USB的枚举过程、USB的通信类型等,基本上,在USB 2.0规范里面,也只需要看大概3个章节的东西就够了,当然,还是要结合下代码才能加深理解。

时间优先级:★★★★★

重要程度   :★★★★★

二、音频专业/行业知识

因为毕竟是做音频产品的嘛,基本的音频技术概念和实现原理还是需要了解的,比如压缩器、限幅器等,以及其具体的应用场景等,这个最近买了本《混音指南》,要求也不高,就这一本书就够了,而且也不需要全看,只需要把最涉及到常用技术的那几章先看了就行了。

时间优先级:★★★★★

重要程度   :★★★★★

三、网络(TCP/IP协议)知识

其实网络并不仅仅是TCP/IP协议,但是主要了解这个就好了,比如TCP通讯,如何握手建立连接,UDP通讯又是个什么原理,以及一些基本的协议概念及网络基础知识,了解这些就够了,也不用去找其他资料,手里有一本《计算机网络》,把这本书看一遍基本上就够了,这个东西很重要,毕竟现在网络相关的东西应用的很广,而且自己未来的方向也是准备多向网络靠的,毕竟趋势嘛,物联网,万物互联,不了解网络的基本概念和核心原理怎么行呢。

时间优先级:★★★★

重要程度   :★★★★★

四、Linux开发环境及在Linux编程

这个东西也很重要,去看现在的招聘网站,嵌入式软件岗位起码有一半以上是要求具有Linux开发知识或经验的,这个东西是一个趋势,在现在这个嵌入式程序偏向于越来越复杂化及存储器件成本越来越低的情况下,以后基于Linux的开发是个大势。这个东西而且不容易,前面尝试入门了两次都失败了,当然,主要是开发环境没搞好,而且太懒散,这个东西要真正学习的话,要准备一台资源够用的电脑,要准备一个资料齐全的开发板和一套完整的教程,这样才能快速上手,不然的话中间很容易嫌复杂而放弃。

时间优先级:★★★

重要程度   :★★★★★

五、LWIP应用

其实这个就有点和上面网络的东西重复了,LWIP本来就是一个小型的TCP/IP协议栈,主要就是为了嵌入式平台的应用而开发的,这个是属于具体的应用东西,不属于原理性的,不过这个有基于STM32的现成的例程,而STM32在嵌入式设备又用的比较广泛,所以这个还是有必要针对性的学习了解下的。

时间优先级:★★★

重要程度   :★★★

六、FreeRTOS

FreeRTOS是一个开源的,用的比较多的小型嵌入式系统,其实和uCOS差不多,但是鉴于其比较广泛的应用,也是有必要专门的学习和了解的,不过这个和LWIP一样,是比较具体性的应用,碰到了会用不碰到了就不会用,或者会用其他的OS来替代,所以倒也不必投入太多的精力和时间,毕竟追随潮流学习一些新技术什么的并不是我的理念,因为新技术永远是学不完的,我的关注点更多在一些比较底层通用的原理性的东西上面。

时间优先级:★★★

重要程度   :★★★

上面六点的知识体系起码可以覆盖我未来三年的学习方向,如果真要深入的话,任一点可能都需要花三年才能真正深入。今年已经六月份了,剩下的时间主要就集中在一、二点上,把USB协议那几个相关的章节读一下,然后把《混音指南》中重点的几章看完就行了,关键在于理解领会,走马观花的过一遍没什么意义。


2021年6月3日 于广州花都