大一电子信息想从事嵌入式开发需要学习什么技术?

您所在的位置:网站首页 win32是什么语言 大一电子信息想从事嵌入式开发需要学习什么技术?

大一电子信息想从事嵌入式开发需要学习什么技术?

2023-04-02 11:35| 来源: 网络整理| 查看: 265

首先跟楼主介绍一下嵌入式,嵌入式是一门软硬件结合的技术,大体分为四个方向:嵌入式硬件开发、嵌入式驱动开发、嵌入式系统开发、嵌入式软件开发。和纯软最大的区别在于:纯软学习的是一门语言,例如C,C++,java,甚至Python,语言说到底只是一门工具,就像学会英语法语日语一样。但嵌入式学习的是软件+硬件,通俗的讲,它学的是做系统做产品,讲究的是除了具体的语言工具,更多的是如何将一个产品分解为具体可实施的软件和硬件,以及更小的单元。其次说一下入行嵌入式的通用学习路线,可根据自己选择的不同方向适当调整:1、基础知识准备阶段

入门基础知识

以上三点是入行嵌入式必须掌握的基础知识,不需要多么精通,比如C语言常规的语法没有障碍,并且能够采用三大程序结构 : 顺序、判断、循环,进行简单的程序设计即可;对于常规的数据结构 : 队列、链表、堆栈等了解原理且知道如何使用即可;操作系统的话把教材通读一遍,一些常规的概念和原理理解清楚即可。2、熟悉Linux系统阶段

Linux熟悉阶段

有了前面的基础知识,就可以正式开始Linux系统的学习,“ 要深入研究一款东西,首先要学会控制它 "。其实操作系统大同小异,只是大多数人平时对windows的图形操作太过依赖,所以使用Linux命令行的操作方式还是需要花一些时间去适应。对于Linux命令行的学习,首先学习一些常用命令,比如cd、mkdir、cp、rm等等,类比windows系统中常用图形操作,不需要每天抱着Linux命令行编程大全天天啃,那样的学习太过枯燥,以后遇到了问题再进行学习也不迟。对Linux系统的渐渐熟悉,也可以使用C语言编写一些应用程序来增加一些成就感,采用Linux提供的系统API进行程序设计跟平时在windows系统中进行win32_API编程是类似的,记得不要太多纠结底层细节。在程序设计过程中一定要好好体会三个重点 :1、哲学思想"一切皆文件",对于外部设备操作都会转化为文件的open、read、write等操作。2、多任务的并发,多进程、多线程从而实现系统多任务的并发编程。3、网络编程,以太网TCP/IP编程等,前面智慧农业中与MCU交换数据就是通过以太网来进行的。当然此阶段推荐的书籍:《Lunix环境高级编程》。3、C++与QT

Linux图像应用程序开发

经历了前面的学习其实已经有能力开发许多功能的应用程序,不过这些程序大多都是命令行显示和操作,说白了就是在最开始学习C语言的时候的console窗口,输入一系列数字最后输出最大值和最小值等。这样的程序对于非专业人员或者客户来说不太友好,所以该阶段建议选择进行一些图形界面开发,这个时候Qt是非常合适的,它是一款用C++语言来开发的跨平台图形界面应用程序软件。当然对于QT开发大家需要准备一些面向对象的编程思想和设计模式,以及一些界面图形的知识补充,不过这些均可以在具体的项目开发实战中进行知识上的补充。所以C++语言的基础知识学习还是要打牢,通读几遍教材,多动手写写Demo,慢慢就会发现用C++语言结合QT进行学习非常的合适,语言编程与图形的结合比单纯学习C++语言形象生动得多,且利于理解。4、驱动开发与系统移植

驱动开发与系统移植

驱动程序开发与系统移植应该算底层的工作,如果外设驱动等等都很成熟,那么就不需要过多的关注这块,安安心心进行应用程序开发即可完成项目需求。然而嵌入式系统相比PC系统,最大的特点就是外部设备的多变,产品的升级改造,新外部设备的交互等,都需要对驱动进行更改和开发,所以嵌入式Linux工程师需要对底层熟练程度有一定的要求。其实随着Linux系统的逐步完善设备驱动架构都非常的统一,大部分改动不是太大的驱动程序开发只需要照着相应的规则进行处理的填充即可,当然填充的前提是你要对外设硬件设备相对比较熟悉,什么协议,什么电平时序等等。所以到了这一步,由于前面你学习了Linux应用开发,可以非常顺手的利用应用程序来测试和理解对应的驱动程序,这样对驱动开发会更有方向性。所以在这里推荐几本经典书籍 : 《Linux 设备驱动程序》、《Linux设备驱动开发详解》5、Linux内核开发进行Linux内核开发怎么说呢 ? 它的目的是进行系统的优化从而发挥CPU的最大性能,然而对于大部分普通工程师学习Linux内核的思想和设计仅仅只是为了更好的理解Linux从而开发出更好的应用程序和驱动,其实在进行驱动开发和移植的过程中或多或少会学习一些Linux内核的知识。所以一定不要花太多的时间去死抠Linux内核的细节,目前Linux源码实在是太庞大,学习这一模块也是为了更好得理解嵌入式开发系统。最后这里我只推荐几本经典书籍 : 《Linux内核源代码情景分析》上、下;《Linux内核设计与实现》;《深入理解Linux内核》;《Linux内核源代码完全注释》。楼主才大一,未来可期,有的是时间消磨学习理解嵌入式开发的各模块知识,积累到一定的程度建议可以做个小项目练练手,在此过程中遇到了问题在巩固加强理解所学知识,循序渐进终有所成!

如果你大学依旧迷茫,庸庸碌碌,不知路在何方,也许嵌入式就是你不错的选择,大把高薪offer等着你!嵌入式零基础学习,欢迎私聊我哦。芯片、智能家居、互联网行业学长学姐多对一保姆级指导,欢迎骚扰~~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3