嵌入式软件开发需要学的东西很杂,因为它跟普通的上层软件开发还是存在一定的差别的,主要表现在嵌入式软件是指针对某一种特定的需求或者应用而定制的硬件和软件平台,以及在该平台上运行的软件。所以,学习嵌入式软件开发不仅仅要懂软件开发方面的东西,也需要一些主流嵌入式操作系统、硬件体系架构和硬件资源管理方面的知识。
需要的学习的课程主要有:
1.
编程类课程(主要以c语言为主,靠底层的开发还需要懂得汇编语言)
2.
软件工程类课程,包括软件的开发流程,项目管理,软件开发方法之类的。
3.
数据库方面的知识(有可能会学,也有可能不用)
4.
编程算法。(数据结构方面的书是需要有的,严蔚敏的数据结构挺好,只不过有点难,唐发根的也不错)
5.
操作系统方面的知识,嵌入式的话一般是以linux为例,也有可能以uc/os为基础,要学好嵌入式系统的话,除了扎实的编程基础,这部分知识的积累尤其重要。这个方面推荐你一本《嵌入式实时操作系统uc/os-ii》,这个是嵌入式行业入门级的操作系统,写的比较浅显,有助于理解操作系统原理。
6.
嵌入式相关的课程,因为嵌入式的开发有别于一般pc机上的上层开发。
7.
简单的硬件和体系架构方面的知识,比如arm、powerpc、mips之类的。这方面的书籍北航出版社有很多,你可以在网上搜搜。
差不多就这些,希望可以帮到你。