软件开发需要会什么?
1、学习 Linux系统安装、 常用命令、应用程序安装。
2、 学习 Linux 下的 C 编程、这本书必学《UNIX 环境高级编程》、《UNIX网络编程》,Rechard Stevens 写的,C 高手大都学习过 《C 和指针》、《C 缺陷与陷阱》、《高质量C/C++编程指南》、《C 专家编程》、《The C programming Language》
3、程序员大都要学:数据结构,嵌入式程序员数据结构必学!
4、底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!
5、单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM 入手,不太现实!
6、ARM 体系结构,其中有汇编。
7、数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与入门吧。
8、ARM + Linux 应用程序开发(前提是要有开发板)
9、要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。
10、Linux 下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处。
11、TCP/IP 协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。
12、有了这些东西,拿下 Linux 驱动 已经不再话下,需要你去学习 Linux 内核源代码和Linux驱动程序设计,这是一个技术升华。
13、音频、视频的解码译码技术你得学。
14、各种 IC ,各种 bootloader 你能够参与其开发设计。
15、自行设计开发新产品,新技术。
2022-05-16 · 百度认证:陕西新华电脑软件培训学校官方账号
第一:操作系统知识。操作系统知识是软件工程师必须具备的重要内容,Web开发领域可能会使用到Windows系列操作系统,大数据和物联网方向要使用到Linux系列操作系统,掌握操作系统的体系结构是进行软件研发的重要基础。主要内容包括资源管理、任务调度、并发管理、权限管理、网络管理等内容。