整个嵌入式软件,分为底层、系统层、应用层。
做底层,也就是驱动和BSP,要懂硬件逻辑。比如做一个电子指南针功能,你要知道地磁传感器和加速度传感器传来的数据是什么,如何接受数据(时序图),以及怎么处理那些数据得到你想要的结果。
做系统层,你要懂得怎么搭建操作系统,要学习操作系统原理,以及特定的操作系统,如何在操作系统上写一些底层的管理程序,类似内存管理。
做应用层,就要掌握在嵌入式系统上常用的开发环境,包括开发语言和开发软件,比如在linux上做界面,就要学会QT软件设计
反正归结起来,计算机专业的知识都要用上,还要加上硬件逻辑,你可以去学学数字电路。