什么是嵌入式系统,嵌入式点歌系统

嵌入式系统的定义很多,这也是困扰嵌入式系统学习的一个因素。多年和嵌入式设备及开发人员的接触,提出了嵌入式系统的简单定义:嵌入式系统是嵌入式计算机系统的简称,这个定义突出嵌入式计算机系统和普通计算机系统的共性。现在随着边缘计算的越来越火热,嵌入式开发也会逐渐成为新型科技市场的热门领域,虽然这是一个几十年就存在的技术和岗位。

如果题主真想入坑想学好嵌入式我查询了一些资料供您参考一下,注定是一场攻坚之旅,成为一位合格厉害的嵌入式开发工程师需要逐级掌握以下这些开发知识(升级之路):

第一阶段:打基础阶段即初级工程师或工程师助理

  1.电路知识 首先你要学习电路、模电,认识电阻、电容、三极管,基础器件,放大电路、集成运放、时序电路基本电路能看懂,不然看电路图一定是云里雾里,也就无法进行后续的工作。硬件产品的设计实现,包括器件选型、原理图和PCB设计都需要过硬的电路基础。

  2.C语言

  C语言是嵌入式开发中最重要的编程语言,要对这门语言有深入的理解,毕竟不仅仅要会写程序,看懂他人程序也很重要。最基本的数据类型、数组、指针、结构体,链表、文件操作等都要会,掌握基本语法和语句,不然你要能区分指针数组与数组指针吗?

  3.单片机

单片机入门相对简单,通过单片机的学习可以熟悉单片机的硬件结构,包括I/O口、AD转换、通信(串口、并口、I2C、CAN、USB、以太网、ZigBee技术等)、显示(LED、LCD等)、控制(PWM等控制技术)、数据处理等,学好单片机可以为采用嵌入式系统奠定良好的基础。

  4Linux基础

  Linux的源码和架构都是开放的,在嵌入式系统中应用尤为广泛,学习Linux对于系统的开发会有很大的帮助。详细了解Linux下的目录结构、基本命令、编辑器、编译器、调试器,Shell Makefile脚本编写等知识,以及嵌入式开发环境的搭建。

第二阶段:相当于中级工程师需要掌握的技术

  1.Linux编程

  系统编程可以直接跟内核及核心系统程序库对话,深入了解Linux内核。掌握Linux系统编程主要提升对Linux应用开发的理解和代码调试的能力。由于网络应用开发越来越广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,可以全面了解Linux网络应用程序开发。

  2数据结构与算法

数据结构及算法在嵌入式底层驱动、通信协议及各种引擎开发中得到了广泛的应用,语言编译要使用栈、散列表以及语法树;操作系统中用队列、存储管理表及目录树等;数据库系统运用线型表、多链表及索引表进行数据管理等等,对其掌握的好坏直接影响程序的效率、简洁及健壮性。

  3.QT、DSP、FPGA

  Linux没有自己界面,学习QT编程可以创建艺术级的图形用户界面所需的所有功能,从而更好的实现人机交互控制。

第三阶段:高级工程师

  学习了前两个阶段的知识,你已经可以胜任大部分嵌入式工作了,但是距离大咖仍有一定的差距,其实已经到了第二个分水岭。这部分更多涉及系统层面,没有全方位的知识将会很难下手。

  1操作系统平台开发

除了Linux外,嵌入式操作系统还有ARM、WINCE、uClinux等,不同的系统有着不同的使用环境,你需要学习掌握系统的各个模块,为底层平台搭建做好准备

  2驱动开发

驱动程序设计是嵌入式Linux开发工作中非常重要的一部分。不仅要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,熟悉ARM Cortex处理器各资源、掌握Linux设备驱动原理框架,以及工程中常见Linux高级字符设备、块设备、网络设备、USB设备的驱动开发。

什么是嵌入式系统,嵌入式点歌系统图1

嵌入式分为嵌入式硬件和嵌入式软件。所谓嵌入式,就是指软件在特定的嵌入式硬件开发完成后,最后被固化在此硬件平台中,当硬件启动后,自动执行软件,完成特定的功能。

嵌入式系统启动后,一般是没有人机交互界面的,但会留有调试接口,如RS232串口、网口,可以通过终端工具检测软件运行状态、下发控制指令等。

硬件工程师

什么是嵌入式系统,嵌入式点歌系统图2

嵌入式硬件工程师,主要掌握的是基于CPU设计计算主板的电路知识。所以模电、数电、EDA知识是这类工程师的基本功!除此之外,熟悉常用通信协议和总线,如CAN、SPI、I2C、PCIe、DDR,也是硬件工程师应该掌握的技能。

软件工程师

嵌入式软件工程师,编程语言、数据结构是其基本功,除此之外,还应该熟练掌握以下技能:

  1. 掌握多线程、多进程编程技术,理解各种线程同步机制,如临界保护、同步信号。知晓进程间通信技术,如共享内存、管道、套接字编程技术;
  2. 了解常见外设作用,如CPU、DDR、SDRAM、FLASH、串口、网口等;
  3. 了解常见总线或通信协议概念,如数据总线、地址总线、CAN总线、I2C总线、SPI总线等;
  4. 理解基于寄存器编程概念,也就是硬件驱动程序实现原理。无论什么硬件,不管函数接口如何封装,其内部一定是对硬件各个寄存器的操作;

嵌入式编程由于受限于硬件资源的大小,所以在内存使用上并不像桌面软件那么灵活。比如,在windows下编程,函数中的数组变量可以分配很大的内存,这是因为其栈空间默认很大。但是在嵌入式环境中,最好把这些内存大的变量定义到外部存储硬件中,如SDRAM或DDR,这是因为嵌入式处理器的片内RAM都很小!

从这里可以看出,嵌入式软件工程师与其他类型软件工程师有一个很大的不同点,就是需要掌握很多硬件知识,这是由嵌入式开发的特点来决定的。

什么是嵌入式系统,嵌入式点歌系统图3

本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023-08-02 17:02
下一篇 2023-08-03 10:02

相关推荐

  • 卫生间墙壁渗水怎么办 怎么解决

    如果发现自家卫生间往楼下渗水,相信大多数人都会觉得很不好意思,因为装修时没做好造成了漏水,给楼下邻居带来了一定的生活影响,甚至是会造成一个损失。而作为漏水住户来说,看到自家卫生间往…

    2023-07-06
  • 卫生间瓷砖选购6大要点

    瓷砖凭借着自身防水、易清洁的优势,成为了家装卫生间的首选材料。虽知卫生间铺贴瓷砖比较好,但对于首次装修的业主来说,卫生间用什么瓷砖好才是他们最苦恼的问题。为了让广大的消费者能更好更…

    居家百科 2023-04-11
  • 方太侧吸油烟机哪个好

    侧吸机推荐 方太jq22ts基本参数:(长895mm×宽430mm×高605mm,排风量:15m³/min(自动增压模式下风量可达19m³/min)、基本风压:270Pa,最大风压…

    居家百科 2023-06-04
  • 马赛克砖怎么铺贴,马赛克铺贴价格表

    上期跟大家分享了家庭装修中墙砖施工所需要的主要材料、施工流程、注意事项等等。 大家都知道,墙砖的类型有很多,那么今天,楼固君就来跟大家分享一下墙砖中的马赛克砖如何铺贴。 马赛克铺贴…

    2023-04-05
  • 硅藻泥到底好不好?适合家装吗?

    前几年家里装修,正赶上硅藻泥爆火的时期。商家把硅藻泥吹捧的可神,说是抗甲醛,调节室内湿度,墙面自洁。想着孩子太小,家里就让师傅全做了硅藻泥。如今住了快3年,告诉大家硅藻泥到底能不能…

    2023-03-24
  • 装修流程37个步骤 经验 注意事项

    本文是一位科技达人业主写的良心装修经验,满满的干货,很多装修容易忽略的细节,这些对于即将要装修或是正在装修的朋友来说,是非常棒的分享,我们一起来看看吧! 第一步:保护+全景放线 装…

    2023-10-12
  • 装修一套新房大概要多少钱,现代风小户型装修旧房翻新避坑

    装修,最怕的是什么?大声地告诉我:踩坑!踩坑!踩坑! 真的勇士,敢于直面装修的坑!今天,来盘点一下那些装修中千万不能踩的坑!除量房外,对房屋进行设计规划,才是装修的第一步;所以,咱…

    2023-09-13
  • 过来人说一说,装修后你后悔的事情有哪些呢?

    房子装修,很少有完美的,但是提前做足功课,也许可以让装修遗憾少一些,今天我总结了装修最容易后悔的10件事,看看你家占了几件?还没装的,赶紧避坑 1、插座没装好 插座数量很容易忽略,…

    2023-12-21
  • 墙面装修材料居然有这么多种,到底选哪个比较好

    墙面材料是我们家装中不可或缺的家装材料,墙面材料的好坏除了会影响到整体的家装效果和质量,时间久了还会影响到家人的身体健康。 所以在采购前一定要多做功课,慎重考虑,今天就跟小编一起来…

    2023-10-21
  • 卫生间墙面渗水怎么处理及维修方法

    (此处已添加小程序,请到今日头条客户端查看)   卫生间墙面渗水问题很常见,尤其是在老房子中更加普遍。墙面渗水不仅会影响卫生间的美观度,还可能对房屋的结构造成不良影响。那么,我们该…

    2023-07-15