雷竞技注册
新闻

嵌入式系统编程语言101:背景和资源

2017年5月26日,经过Chantelle dubois.

一些用于嵌入式系统设计的有用编程语言的简要指示 - 以及您可以学习,练习和掌握它们的地方。

下面是一些嵌入式系统设计中使用的有用编程语言的简要指南,您可以在这些语言中学习、练习和掌握它们。

你不需要接受计算机科学或工程方面的正规教育来磨练raybet电子竞技竞猜你的编程技能。网上有很多资源可以帮助你学习和提高技能,为成为嵌入式系统程序员提供了另一种途径。

但是,要弄清楚在哪种编程语言上投入时间是很困难的。这份指南可以帮你找到方向。

C / c++

根据IEEE Spectrum的2016年调查,C和C ++占据了嵌入式系统中最受欢迎和使用的编程语言的前两个斑点。对于经验丰富的工程师,科学家和业余爱好者来说,这不太可能是一个惊喜,他们几乎可以在很大程度上在很大程度上在很大程度上使用其中一个或两个语言。

C语言是Dennis Ritchie在70年代早期创建的,作为UNIX操作系统中的高级编程语言。当时,汇编语言被大量使用,这需要许多行代码来完成一个任务。B编程语言随后被创建,以更少的代码行完成这些任务,但它没有数据类型或结构。然后创建了C语言,实现了b语言中缺少的特性。然后,C语言成为UNIX系统中的标准编程语言。

c++的起源始于70年代末一个名叫Bjarne Stroustup的博士生,他当时正在使用一种叫做Simula的编程语言。最终,他转向了C语言,后者速度更快,并且允许进行低级编程。但是后来Stroustup开始将Simula中发现的特性添加到C语言中。这种混合变成了“C with Classes”,并在1983年更名为c++。C中的' ++ '表示自增,因此c++是该语言的C基础。

C和c++之间的区别通常是C是一种用于系统编程的过程性语言,而且更“轻量级”(需要更少的内存),而c++更通用,更面向对象。

学习C或c++是开始嵌入式系统编程的好方法。有人说,如果你能学会C语言,你就能学会任何一种语言。即使到今天,它仍然被广泛使用,这也没什么坏处。

Arduino平台可以使用C或c++。图片礼貌OpenHomeAutomation

就像c++之于C, Rust之于c++。Rust是一种开源的通用编程语言,由Mozilla研究开发,主要关注安全性和完整性。

Rust作为Graydon Hoare于2006年的个人项目开始,是一种相对较新的语言,于2015年发布。它迅速获得了流行,并被Stack Overflow社区评为2016年和2017年最受欢迎的语言。

Rust的功能包括代数数据类型,型推断和模式匹配,只是为了命名几个。

有人预计Rust最终会在广泛使用方面超过c++。


Python

虽然传统传统上与嵌入式系统相关联,但Python在嵌入式系统应用程序中开始更加严重。这往往是第一语言学生将在计算机科学学位计划中学到,您将发现各种有趣的复活节彩蛋和点头,以隐藏在其命名的流行文化中。

Python是由Guido Van Rossum在80年代创建的,并以“Monty Python的飞行马戏团”命名。这是一般目的,多编程范式语言,专注于可读性和可写性,消除了直接代码尽可能多的不必要的写作。

开箱即用,Python可能对嵌入式编程为C或C ++,但具有许多图书馆可用,它很容易实现使其与其有用的功能。它非常适合自动化测试和收集和分析数据。

硬件描述语言(VHDL)和Verilog

硬件描述语言在fpga和并行编程应用中被大量使用。它们与许多其他类型的语言有很大的不同,因为它们通常基于硬件,因此被称为“硬件描述”。

Verilog发明于80年代早期,是最早的hdl之一,主要用于电子系统的建模。语言名称是“验证逻辑”的缩写。该程序是一个基于层次结构的模块来描述的一个系统。如果你已经有了C语言编程的经验,Verilog可能更容易学习。

VHDL在80年代后期由美国国防部开发,最初是作为更好地理解ASIC行为的一种方式。它最终演变成一种基于Ada编程语言的HDL。VHDL在工业应用中得到了广泛的应用。

具有Xilinx Spartan-6 FPGA的MIMAS V2板非常适合实践HDL。图片礼貌Numato实验室

在线资源

来自所有关雷竞技注册于电路

其他来源

  • 学习C -免费交互式C教程[C]
    这个交互式教程包含了从初学者的挑战到更高级的主题教程,如数据结构和指针
  • HackerRank(c++、Python)
    Hackerrank拥有彻底的教程,由核心计算机科学概念(算法,数据结构,数学)和技能(人工智能,数据库,安全性)组织。它还有助于编码人员准备求职面试,并定期为各级程序员提供竞争的哈克萨斯。
  • CodeFights(c++、Python)
    CodeFights让学习编程变得有趣,它是一个带有挑战的互动“故事”,在你前进的过程中不断提高难度。当你注册的时候,你可以选择你选择的语言,但是你可以随时切换。你也可以直接参加其他用户的挑战,参加比赛,准备工作面试。
  • 生锈的例子(生锈)
    Rust by Example是一个教程,它引导你通过一系列复杂的任务。该教程是相当全面的,完成它应该给您一个能够在现实世界的应用程序中使用Rust的一个开端。
  • Verilog In One Day[Verilog]
    虽然这个网站看起来有些过时,但对于那些想要学习Verilog的人来说,它是一个宝贵的有用信息宝库。这里有多个教程,从基础到测试,还有资源链接,帮助您进一步提高技能。
  • VHDL教程:通过实例学习(硬件描述语言(VHDL))
    这是一个关于VHDL编程的全面指导,其中包含用于帮助您入门的示例,教程和资源。
  • Nandland(Verilog硬件描述语言(VHDL)),
    南邦兰跑了一个Kickstarter运动,以生产一个FPGA板,可以通过他们的Verilog和VHDL教程进行。当然,您可以使用任何FPGA进行教程。该网站还提供了一个相当彻底的解释,对FPGA是什么,并枚举许多有助于了解FPGA编程何时有用的功能(或QUIRK)。
5点评论