当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 嵌入式开发要学哪些课程?

嵌入式开发要学哪些课程? 时间:2021-03-04      来源:华清远见

一 概述

首先我们要讨论一个问题,什么是嵌入式?一句话概括,写程序,用软件控制硬件。

根据硬件的不同,我们的方向也是不同的。有单片机、STM32、ARM等。

现在的嵌入式大部分都需要运行一个系统,这个系统的选择为Linux,而能够运行这个系统的开发板一般是arm系列。所以我们以arm系列开发板上运行Linux系统给大家大致罗列需要学习的课程。

先看下图,是整个Linux的体系结构:

整个嵌入式体系分为三大部分,用户空间、内核空间、以及硬件。我们的学习应该是自上而下的。

二 语言先行

自上而下的学习首先是写代码,写用户的应用程序。每种语言的使用目的是不同的,例如,html/css/javascript做网页、java做安卓系统、python做爬虫或人工智能等,我们嵌入式选择的语言是C语言。

所以首先要学习C语言的基本语法,C库提供了大量的函数,我们可以调用以实现一些功能。所以还要熟悉C库的常用函数。

C语言一定要学好,它是基础。Linux内核大部分也是用C语言实现的。

三 系统认知

在学习C语言的过程中,可以适当学会Linux系统的基本使用。你可能没有听说过Linux,但你肯定听说过windows,系统有很多共通之处。可以在学习过程中对比理解。

而且Linux系统提供了C语言的编辑器gcc,你可以在系统上写完代码之后,在系统上编译并运行,这样,在学习C语言的阶段你也熟悉了Linux系统的使用。

三 内功心法----数据结构

当你学完了C语言的基本语法,此时你的c语言水平只是入门阶段。你还要学习一门没有新知识的课程----数据结构。这门课程就是大量的使用指针、数组、结构体、函数。经过这个阶段你才能算是掌握了C语言。

而且后面学习内核的过程中,内核中也是有大量的链表之类的数据结构的。

四 进入内核

此时,我们要往下开始系统内核的学习。Linux的内核包括以下几个部分:进程管理、内存管理、网络堆栈、虚拟文件系统、设备驱动等。

内核是一个系统最重要的部件。想要真正的认识它需要你一步一步的积累。这个阶段推荐大家先依次学习文件IO、进程线程、网络编程。

你要学习这些功能实现的相关函数,即上图中的系统调用接口。我们要用系统提供的函数,写代码实现对应的功能。可以先不深究这些功能是如何实现的。先学会应用。

五 设备驱动

驱动是硬件和应用程序之间的桥梁,如果一个应用程序要操作硬件,必须要有驱动。

一句话总结:驱动就是根据相应的硬件,写出驱动程序作为调用接口提供给用户,用户使用该接口就可实现控制硬件的目的。

其次,在驱动的学习中,我们会慢慢学习内核。内核的各种模块,内核源码等等。

六 硬件简述

对于一个嵌入式工程师来说,能够看懂电路图即可。即只需要掌握基本的电路知识,看懂电路图。至于开发板的画图、布线、腐蚀、焊接等步骤,可以不必深入研究。这些技能是属于硬件工程师们的要求。

七 推荐学习

首先,一个程序员双语很重要,你学习了面向过程的C语言,推荐大家掌握一门面向对象的语言,可以是c++、java或者python都可。

其次,你要单独实现一个完整的项目,UI界面部分必不可少。做页面可以用qt、可以用网页、也可以用手机端。这可以使你自己做的项目更加完善。

最后,前面我们说到嵌入式硬件是很多种类的,建议大家也学习一下不需要系统的裸机开发STM32.也是属于嵌入式的范畴。

上一篇:如何提升数据结构方面的算法能力?

下一篇:浅谈嵌入式就业前景

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部