嵌入式软件工程师入门需要学什么
嵌入式硬件和软件的区别?
嵌入式硬件和软件的区别?
嵌入式系统是由软件和硬件组成的整体。
硬件部分可以分成嵌入式处理器和外部设备。
处理器是整个系统的核心,负责处理所有的软件程序以及外部设备的信号。
外部设备在不同的系统中有不同的选择。
比如在汽车上,外部设备主要是传感器,用于采集数据;
而在一部手机上,外部设备可以是键盘、液晶屏幕等。
软件部分可以分成两层,最靠近硬件的是嵌入式操作系统。
操作系统是软硬件的接口,负责管理系统的所有软件和硬件资源。
操作系统还可以通过驱动程序与外部设备打交道。
最上层的是应用软件,应用软件利用操作系统提供的功能开发出针对某个需求的程序,供用户使用。
用户最终是和应用软件打交道,例如在手机上编写一条短信,用户看到的是短信编写软件的界面,而看不到里面的操作系统以及嵌入式处理器等硬件。
一般来说,嵌入式硬件指逻辑电路、嵌入式处理器、微控制器、存储系统和硬件设计技巧等。
嵌入式硬件开发工程师主要编写嵌入式系统硬件总体方案和详细方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM、PROTEL设计软件,有四层板开发经验。
国内通常所说的嵌入式硬件指利用处理器开发外部设备方面。
嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,它在产业中的关联关系体现为:芯片设计制造→嵌入式系统软件→嵌入式电子设备开发、制造。
嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,可细分成系统软件、支撑软件、应用软件三类,是嵌入式系统的重要组成部分。
但国内通常所说的嵌入式软件主要指最靠近硬件的系统软件与支撑软件部分。
软件开发一般学什么?
IT技术领域可以分为18个领域:
人工智能,云计算,大数据,区块链,物联网,设计,Web开发,移动开发,游戏开发,服务端开发,数据库,架构,测试,运维,网络管理,安全技术,认证考试,信息化建设。
软件开发一般指web开发、移动开发、游戏开发、服务端开发、数据库这几类,你可以选择其中一类或几类学习和研究,现在比较火的属于移动开发和游戏开发了。技术其实都是触类旁通的,能学号一个,就能学号好外一个。
高端的软件开发就是人工智能、云计算、大数据、区块链、物联网等,这里就不深入讨论。先从基本的软件开发开始吧。
web开发:
移动开发
游戏开发
服务端开发
数据库