1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 嵌入式开发之路(偏汽车电子嵌入式软件工程师学习路线图)

嵌入式开发之路(偏汽车电子嵌入式软件工程师学习路线图)

时间:2020-01-31 05:22:09

相关推荐

嵌入式开发之路(偏汽车电子嵌入式软件工程师学习路线图)

文章目录

一、嵌入式开发1.1前情提要1.2 学习路线图1.3 职业二、嵌入式编程基础2.1 编程语言2.1.1 c语言2.1.2 c++2.2 数据结构和算法2.2.1 数据结构2.2.2 算法2.3 操作系统原理2.4 计算机网络原理2.5 单片机原理/微机原理/机组2.6 Linux操作系统2.6.1 Linux 基本使用2.6.2 Linux平台的C/C++开发流程2.6.3 Linux系统平台编程三 目前已读书籍3.1 c 语言3.2 数电/模电3.3 机组/微机原理3.4 操作系统3.5 STM323.6 汽车通信协议3.6.1 can协议3.6 嵌入式Linux开发基础

一、嵌入式开发

1.1前情提要

由于自己的研究生生活大概率是在华东师范软件工程学院做嵌入式开发了,但是自己从来没有做过嵌入式相关的东西,只做过一些linux 上的简单开发。现在大四准备从头学起,将之前的知识全部捡回来。遂想记录一下自己的学习之路,以便自己或者其他人当做后来的参考。

1.2 学习路线图

这是参考B站 up主 CodeSheep的学习规划与路线

嵌入式开发学习规划与路线

1.3 职业

嵌入式Linux工程师嵌入式应用工程师嵌入式系统工程师嵌入式内核工程师嵌入式驱动工程师…

嵌入式是软硬件结合的产品,嵌入式开发主要分为两类。

一类是无线电专业,例如电子工程,通信工程等专业出身的人,他们主要搞硬件设计,有时需要开发一些与硬件关系最密切的最底层软件(例如BootLoader、Board Support Packge)、最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂的软件系统力不从心(例如嵌入式操作系统原理和复杂的应用软件)。

另一类是软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,也完全可以编写BSP和硬件驱动程序。嵌入式硬件设计完成后,各种功能就靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,设备越智能,系统越复杂,软件的作用越关键。

但是,该领域的入门门槛较高,不仅要了解底层的软件(例如操作系统级,驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须熟悉硬件的工作原理,所以很多非专业IT人员很难切入这一领域。

与企业计算等应用软件的开发人员不同,嵌入式领域人才的工作强度通常较低,收入却相对较高。从事企业应用软件的IT人员,这个用户的系统开发完成后,又要去开发下一个用户的系统,并且每个用户的需求和完成时间都必须按客户要求改变,往往疲于奔命,重复劳动。相比而言,开发嵌入式系统的公司,都有自己的产品计划,按照自己的节奏行事,所开发的产品通常是通用的,不会因为客户的不同而修改。

二、嵌入式编程基础

2.1 编程语言

2.1.1 c语言

2.1.2 c++

2.2 数据结构和算法

2.2.1 数据结构

字符串数组链表堆栈队列树哈希图

2.2.2 算法

查找排序

2.3 操作系统原理

内存管理和调度多任务:多线程/并发/锁I/O原理文件管理

2.4 计算机网络原理

TCP/IP协议栈和分层ARP协议IP协议/ICMP协议TCP协议/UDP协议DNS协议/HTTP协议/HTTPS协议

2.5 单片机原理/微机原理/机组

计算机的基本组成指令和运算处理器架构和设计存储系统I/O系统

2.6 Linux操作系统

2.6.1 Linux 基本使用

系统概念和特点Linux环境安装和搭建目录结构基本命令和常用工具基本网络管理List item基本系统管理基本的shell编程

2.6.2 Linux平台的C/C++开发流程

1.编辑

Vim

Emacs

2.编译

编译套件 Gcc编译工具make makefile cmake/autotools交叉编译工具

3.调试 gdb

4.运行

2.6.3 Linux系统平台编程

系统控制内存管理和使用多任务编程文件I/O编程网络编程图形化界面编程

三 目前已读书籍

3.1 c 语言

3.2 数电/模电

电路原理图认识

3.3 机组/微机原理

3.4 操作系统

3.5 STM32

此视频通俗易懂,非常适合基础不太好的。

STM32

通过这本书能对STM中的库函数有一个很好的认识。

3.6 汽车通信协议

3.6.1 can协议

汽车CAN总线系统原理、设计与应用。

3.6 嵌入式Linux开发基础

伍德雁主编

这本书比较基础,比较简单,主要是让初学者对嵌入式Linux开发有一个全面的了解,各个方面没有太大的难度,适合初学者进行了解,但不适合老手进行资料的查找。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。