嵌入式软件工程师需要学什么

如题所述

第1个回答  2023-05-18

嵌入式软件工程师需要学什么?

对嵌入式LINUX操作系统及其上应用软件开发目标:

1、 掌握主流嵌入式微处理器的结构与原理(ARM9相对比较容易)。

2、 必须掌握一个嵌入式操作系统,如LINUX系统,这是一个开源的系统。

3、 必须熟悉嵌入式软件开发流程并做一些嵌入式软件项目。

学习路线:

1、硬件知识

对于硬件部分要求并不高,只要能看懂原理图,看懂通信协议,看懂芯片手册就可以。不求能设计原理图,更不求能设计电路板。如果能有一些《数字电路》的基础就更好,没有也没关系。我们主要掌握硬件工作原理。要掌握常见硬件,如ADC,PWM,UART、I2C、SPI等。

2、编程语言学习

学习C语言,推荐C语言的设计者Dennis M. Ritchie和著名计算机科学家Brian W. Kernighan编写的一部介绍标准C语言及其程序设计方法的著作,《C程序设计语言》。

3、学习LINUX系统编程

首先学会使用了解LINUX,学习LINUX命令,软件安装,工具使用。

学习文件IO,多进程多线程,进程间通信,套接字等。推荐《UNIX环境高级编程》,《TCP/IP详解 卷一》

4、学习LINUX设备驱动

首先需要学习LINUX内核基础部分,包括内核配置编译,内核模块,并发控制,字符设备,设备模型,平台设备等。

在学习常用驱动框架,如INPUT系统,帧缓冲驱动,网络设备驱动,块设备驱动,音频设备驱动等,掌握这些驱动框架,了解原理,总结哪些部分需要我们实现。基础部分可以参考《Linux设备驱动 第三版》,该书虽然老,但是原理讲的比较透彻,还可以参考。驱动框架可以到网上搜素资料,网上有很多关于驱动框架的介绍,这里就不推荐具体的文章,大家可以自己找一下。

logo设计

创造品牌价值

¥500元起

APP开发

量身定制,源码交付

¥2000元起

商标注册

一个好品牌从商标开始

¥1480元起

公司注册

注册公司全程代办

¥0元起

    官方电话官方服务
      官方网站八戒财税知识产权八戒服务商企业需求数字市场
相似回答