新手如何学习学嵌入式开发?

article/2025/9/12 12:22:15

新手如何学习嵌入式开发?

 

这个问题相信是困扰所有嵌入式初学者的难题,下面的内容是嵌入式学习必学的: C语言; C++;操作系统;计算机组成原理; linux编程; 51单片机; arm;硬件编程语言(FPGA);模拟电路&数字电路。

1、cc++语言,这是计算机行业的必修课,必须找扎实实学好,可以安装 turbo c编译器为开发环境,联系C语言编程; 安装vc++6.0学习C++编程。

2、操作系统,先在电脑上安装一个vmware work station,然后在vmware work station里安装一个linux(redhat 企业版)虚拟机。学习一下操作系统的基本原理,熟悉linux环境下的开发环境,然后你就可以照着《自己动手写操作系统》写个操作系统试试。

3、计算机组成原理,熟悉计算机的基本原理,看看一个计算机的基本组成及软件在里面是如何跑的。

4、《unix/linux编程实践教程》可以说是linux编程的必修课,很不错的一本书,初学嵌入式的朋友可以看看。

5、单片机,其实就是一台电脑,像现在的汽车控制、led控制、屏幕亮光程度控制,它都可以实现,自己买块开发板弄一下,你能学到很多的别人学不到的。

6、arm,现在流行的微机,说白了就是32位的单片机,还可以跑操作系统哦,自己想办法移植一个操作系统上去吧。

7、硬件编程语言(FPGA),芯片到底是怎么做成的,学习这门课,你就知道了。

8、模拟电路&数字电路,硬件的基础,如果可以的话,学习下protel ,自己做个硬件pcb板试试。

计算机这行都是偏向于实践的课程,所以要注重动手能力,学习嵌入式这基本课程的时候,你可以按照这样的顺序来学习:

1:C语言、计算机组成原理、模拟电路&数字电路

2:汇编语言、单片机、操作系统、C++

3:硬件编程语言、arm

嵌入式开发大抵分四个方向,硬件、驱动、内核、应用,如果是希望向嵌入式软件方向发展的话,目前常见的是

嵌入式Linux+ARM方向,关于这个方向,大概分3个阶段:

1、嵌入式linux上层应用,包括QT的GUI开发

2、嵌入式linux系统开发

3、嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。

自学的话你可以尝试以下路线:

(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。 推荐书籍:谭浩强的很不错,《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。

(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。

(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。 推荐书籍:《UNIX环境高级编程》(第2版)

(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是起码的要求是能够看懂arm汇编。

(5) 系统移植的时候,就需要你从下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。

(6) 驱动开发 linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。 linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。

给大家把一个嵌入式开发学习大方面的学习框架搭出来了

最后呢祝大家能够在学习的路上马到成功。

 


http://chatgpt.dhexx.cn/article/7blahqV1.shtml

相关文章

嵌入式如何学习

嵌入式的学习步骤如何,嵌入式涵盖哪些方面。 相信下面两位的回答,会让大家有一个基本的脉络。 著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 第一位: 作者:李brooks 链接:htt…

嵌入式到底该怎么学

想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。很多人都不知道嵌入式怎么学,这一期我就简单说一下我的理解。嵌入式这个概念太广了,可能很多人认为嵌入式就是嵌入式Linux。但是其实并不仅仅只有Linux,像STM32,51单…

如何高效学习嵌入式?

近几年来,随着移动互联网、物联网的迅猛发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用;随着嵌入式技术及相关产品不断渗透到人们日常生活,大大小小公司对于嵌入式开发人才招聘需求猛增。但…

嵌入式学习的正确方法

嵌入式专业是一门实践性非常强的学科,只有多动手,多实践,多编程,多调试,多看书,多思考才能真正掌握好嵌入式开发技术。那么,如何从零开始学习嵌入式开发技术, 进入嵌入式开发大门呢&…

使用LoadRunner-运行负载测试

1.运行负载测试 • 录制好脚本之后,返回首页,点击“Run Load Tests”; • 如果遇到以下问题,点击“Close”,右击桌面LoadRunner选择“以管理员身份运行”,如图: 2.运行脚本 • 点击Run Load Tes…

Ubuntu 下 CPU 负载测试

在嵌入式系统开发的时候,我们要评估系统散热情况需要满载测试或者测试系统调度情况需要让 cpu 满载运行的软件:stress 堪称利器 这个不算原创,只是自己偶尔用,经常忘记命令,所以记录一下,以后好找 stress 安…

负载测试压力测试强度测试稳定性测试

你看,如标题所示,测试可以分为这么多种。实际上,这只是一种性能测试的分类。按照不同的标准,还可以有别的划分。 1、按开发阶段:单元测试、集成测试、系统测试、验收测试 2、按测试实施组织:α测试&#x…

软件性能测试——负载测试的最佳实践

性能测试中最容易被误解的部分之一就是负载测试。大多数人认为所有性能测试就是负载测试,但这是不准确的。有许多类型的测试组成性能测试。在进行负载测试之前要考虑的问题之前,让我们仔细研究一下负载测试的基本信息。 负载测试是性能测试的子集。比如…

jmeter的负载测试

1.先在测试计划创建线程组和录制Case 1 1.1 选择测试计划 2 1.2创建线程组 3 1.3创建录制控制器 4 1.4结果如下: END 2.先在jmeter设置代理服务器 2.1 在工作台建立代理服务器 2.2结果如下: 3 (注意默认端口是8080,当然可以改) 4 目…

Loadrunner之使用Controller负载测试

进入controller中,导入做好的脚本,开始设置场景(条件)。 添加虚拟用户数量:如设置50个VUser(50个虚拟用户),每隔几秒增加几个虚拟用户。设置退出条件:完成一个退出一个&…

loadRunner之负载测试

一、loadrunner负载测试监控 在应用程序中生成负载时,我们希望实时了解应用程序的性能以及潜在的瓶颈。使用 LoadRunner 的一套集成监控器可以评测负载测试期间系统每一层的性能以及服务器和组件的性能。 LoadRunner 包含多种后端系统主要组件 (如 Web、…

2.负载测试

负载测试 负载测试主要关注在并发用户数或每秒请求数方面评估系统的当前性能。 什么是负载测试 负载测试是一种性能测试,用于确定系统在正常和峰值条件下的行为。 负载测试用于确保当许多用户同时访问应用程序时,应用程序的性能令人满意。 您应该运行负…

负载测试的最佳实践

当任何软件开发项目接近完成时,它可能已经通过了大量的测试,特别是在测试和开发同时进行的敏捷测试环境中。但是无论您运行了多少测试,一旦您的应用程序接近完成,实际上只有一种方法可以知道您的软件是否能够处理大量最终用户的实…

Split Pairs

问题描述: Split the string into pairs of two characters. If the string contains an odd number of characters, then the missing second character of the final pair should be replaced with an underscore (_). (将一个字符串两两分开&#x…

B. Pairs

1.如果可以找出第两对数&#xff0c;且四个数完全不同&#xff0c;那么如果可以满足题意的话&#xff0c;那么那两个数一定在这四个数之中&#xff0c;那么暴力扫一遍就可以了 2.若找不出&#xff0c;那么一定可以满足题意 复杂度顶多 4n #include<algorithm> #include…

python版本的Pairs图

背景 在我2017年刚开始学习R语言的时候&#xff0c;我就被一个非常漂亮的图吸引到了。那个图非常漂亮。后来我才知道&#xff0c;那个图&#xff0c;叫pairs图。 大概是这样的&#xff1a; 类似的图还不少&#xff0c;还有这样的&#xff1a; 或者是这样的&#xff1a; 总结 …

PTP报文解析

以Sync报文为例&#xff0c;linux端执行sudo ptp4l -i eth0 -m -S&#xff0c;给windows端发送主节点报文&#xff0c;windows端用wireshark抓取到的报文如下图&#xff1a; 报文解析&#xff1a; 01 00 5e 00 01 81 &#xff1a;windows端mac地址&#xff1b; 78 d0 04 2c 6…

DHCP报文协议

Ipv4 单播&#xff0c;即点对点的通信&#xff0c;目的地址为单一目标的一种传输方式。 源IP、源MAC为发送者的IP和mac地址&#xff0c;目的IP、目的MAC为接收者的IP和mac地址。 广播&#xff0c;是指封包在计算机网络中传输时&#xff0c;目的地址为网络中所有设备的一种传输…

TCP报文段

TCP虽然是面向字节流的&#xff0c;但TCP传送的数据单元却是报文段。一个TCP报文段分为首部和数据两部分&#xff0c;而TCP的全部功能都体现在它首部中个字段的作用。因此&#xff0c;只有弄清TCP首部个字段的作用才能掌握TCP的工作原理。 TCP前20个字节使固定的&#xff0c;后…

OSPF报文格式

OSPF报文格式 OSPF报文可靠性机制&#xff1a; 由于OSPF协议是通过IP承载的&#xff0c;而IP协议是不可靠协议&#xff0c;所以OSPF需要自己的可靠机制来保证报文交互的可靠性在OSPF中有两种确认报文&#xff1a;1&#xff0c;显式确认报文&#xff08;LSACK&#xff09;2&…