谢谢邀请。
linux驱动,主要写底层代码,各种外设接口调试,需要会用linux shell指令,能够对linux内核比较熟悉,需要掌握linux底层,以及各类外设接口协议。也需要一定的硬件理论和知识。涉及领域多,产品类型丰富,就业机会和就业岗位多,工资较高。
而通信协议栈,如蓝牙ble协议栈,zigbee协议栈等类似通信协议栈。做通信协议栈的工程师比linux驱动的人数少,所以有工作经验的人,工资会十分高。
去年和一个朋友聊天,为了找一个能写某一款蓝牙芯片固件的人,工资直接开到4万一个月。
但同时,整个行业,需求通信协议栈的工程师岗位也相对于单片机和linux的岗位要少很多。主要是通信领域,行业比较专一,岗位机会少,选择性较linux驱动少,相同年限的协议栈工程师比linux工程师的工资要好一些。
linux驱动和通信协议栈两个行业技术要求和门槛都比较高,工资也相对于其他一般的普通单片机开发等,工资待遇都好些,但这两个岗位的工作压力和工作强度都会比较大。而且各有优劣。
怎么选择在于自己,可以先与公司相关人员沟通下工作内容,再查阅下相关的行业和产品的情况是否为热门,进行考虑。比如5g通信解析栈,那肯定选择通信的工作了。
以上仅供参考。