嵌入式中的编程语言

随着社会的飞速发展,IT技术已经进入高速发展阶段,互联网正在逐步向物联网科技时代。发展。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮,可以说嵌入式开发技术在物联网领域应用最为广泛。所常见的编程语言有汇编语言、C语言 、SQL语言 、C++语言、 Java语言 、C#语言 、Shell等语言。那么嵌入式开发中又是用的哪些语言呢?

  • 汇编语言

①面向机器的程序设计语言,即面向处理器的程序设计语言,处理器在相应的指令控制下工作的,它可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集。比如常见的ARM指令集、Thumb和Thumb2指令集。
②它直接与寄存器或者存储器打交道,而不是具体的数据,因此汇编语言的执行速度要比其它语言都快,但同时编写大型程序相当复杂。
③特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。然而现实中需要编写大型程序的需求很多,这就造成了汇编语言的使用范围很狭窄。汇编语言常见的用处是在系统的启动阶段(比如电脑的BIOS启动阶段,因为C语言的运行需要一定的环境,而系统启动时这些环境还没有建立)。在嵌入式uboot移植和内核移植中常见汇编代码
④程序员用汇编语言编写源代码,然后汇编编译器将其编译为机器码(也就是计算机能够识别的0和1),由计算机最终执行

  • C语言

①一门面向过程的计算机高级编程语言,广泛应用于底层开发(特别是linux驱动开发)和linux应用和网络编程,效率虽然没有汇编语言高,但是比汇编语言灵活,可移植性好。
②C语言有丰富的数据结构和运算符。提供多种运算符和表达式值的方法,数据类型和运算符。
③允许直接访问物理地址,对硬件进行操作(这个可从51单片机中看出来)。
④C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
⑤GCC是其中编译C语言的一中编译器,在嵌入式开发中常用的是交叉编译即在windows中编辑代码,在linux中编译并运行代码,可以将C语言编译成汇编语言进而由汇编的编译器编译为机器码,由计算机执行。
⑥C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。最典型的应用是linux操作系统绝大多数是用C语言和少量汇编语言实现的。C语言虽然不是面向对象的语言,但是内核时面向对象的,这就时C语言的厉害之处。所以学好C语言很重要。

  • SQL语言

①是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名(sql)。
②是高级的非过程化编程语言,允许用户在高层数据结构上工作。包含6个部分:数据查询语言(比如常见的SELECT、WHERE、ORDER BY和GROUP BY关键字)、数据操作语言(比如常见的INSERT、UPDATE和DELETE关键字)、事务处理语言(比如常见的BEGIN TRANSACTION、COMMIT和ROLLBACK关键字)、 数据控制语言(比如常见的GRANT和REVOKE关键字)、数据定义语言(比如常见的CREATE和DROP关键字)、指针控制语言(比如常见的DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT关键字)。常见的数据库有MySQL,SQL Server、SQLite。
③通过这种语言,可以在嵌入式开发中存取相应的数据。嵌入式开发中再服务器端常用的是MySQL,客户端常用的是SQLite。

嵌入式系统设计学习周记①——扩展相关推荐

  1. 【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程

    Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它 ...

  2. 处理器指令编码可重定义的方法_RISC-V学习笔记1 《基于FPGA与RISC-V的嵌入式系统设计》第3章 RISC-V指令集...

    今天读了顾长怡的<基于FPGA与RISC-V的嵌入式系统设计>第3章 RISC-V指令集,做了一些简单的笔记. 1.这本书既然要基于RISC-V讲嵌入式系统设计,就必须要介绍RISC-V的 ...

  3. 嵌入式系统设计(三):Vim编辑器的学习

    前言: 在接下来的时间里将更新一个专栏:嵌入式系统设计.在这个专栏里将会介绍基于iTOP-4412 Cortex A9开发板的嵌入式系统设计,从入门到实践可以无障碍的学习.欢迎大家关注收藏学习!!!! ...

  4. 嵌入式系统学习---------2.嵌入式系统设计过程

    一. 系统需求分析 我们在做嵌入式设计的时候,首先我们要知道要干什么.我们要实现什么,也就是要实现的目标.规范来说我们第一件要做的事情就是确定设计任务和设计目标,并提炼规格说明书,作为正式设计指导和验 ...

  5. Xilinx Zynq-7000嵌入式系统设计与实现 学习教程(1)

    开篇体会; Xilinx的ZYNQ系列FPGA是二种看上去对立面的思想的融合,ARM处理器的串行执行+FPGA的并行执行,着力于解决大数据处理.人工智能等复杂高性能算法处理. 新的设计工具的推出,vi ...

  6. 嵌入式系统设计(一)

    嵌入式系统设计 [课程来源:电子科技大学 陈虹老师 研究生课程 <嵌入式系统设计>] [说明:个人课程笔记,仅供参考] 课程体系: 理论与实践相结合 以嵌入式硬件的核心嵌入式微处理器及嵌入 ...

  7. 嵌入式开发学习的几种线路图方向

    致谢:嵌入式开发学习的几种线路图方向 摘要: 嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式开发Linux方向,关注这个方向,我认为大概分3个阶段: 1.嵌入 ...

  8. 数字系统设计学习之出租车计价器设计

    前言 数字系统设计的大作业来了,用VHDL语言在实验板上实现一个出租车计价设计,有一些难度,大概花了几天时间,不过好在最后搞出来了,同时总结一下遇到的问题,为了排版整洁,源代码就放在最后放出了. 温馨 ...

  9. 嵌入式开发学习笔记9-做一个好玩的LED闪烁

    嵌入式开发学习笔记9-做一个好玩的LED闪烁 前言 实际操作 程序功能 实现思路 程序源码 实现效果展示 前言 LED小灯闪烁实质是控制单片机上的I/O口,通过向I/O口循环输入高低电平,从而控制LE ...

最新文章

  1. 这是一个好问题:既然机器可以学习,它们能忘掉吗?
  2. java多态性补充-instanceof关键字
  3. 二叉树的前中后序递归和非递归遍历操作【代码】
  4. 根据地址形式分辨scala的一维数组和二维数组
  5. linux 非法信息,用Netstat来监控Linux里非法服务
  6. cascade down_Cascaded CNN 方法寻找人脸关键点
  7. 377. 组合总和 Ⅳ golang 动态规划
  8. java radio 不可选_在Java Swing中取消选择RadioButtons
  9. Leetcode每日一题:1122.relative-sort-array(数组的相对排序)
  10. 给ListView视图添加行号
  11. 11.20 HTML及CSS
  12. OSM获取城市路网数据及其矢量化
  13. 使用Clip Converter网站下载Yotube视频
  14. python本科毕设_软件工程本科毕设能做什么?
  15. 2021全球程序员收入报告出炉!
  16. R语言KNN分类问题(kknn/class包在iris数据集上的实例)
  17. 华为云服务之弹性云服务器ECS的深度使用和云端实践
  18. 鸡与蛋问题(先有Class还是先有Object)
  19. CentOS.7卸载与安装Nvidia Driver
  20. WGCNA那么多图,都啥意思? 官网

热门文章

  1. Linux下如何构建一个资源监视器(原理和方法)
  2. 微软要造“芯”,英特尔很受伤,重生态的信创要翻身
  3. 22事件(简略版事件声明方式)
  4. Themeleaf + checkbox + Mybatis 实现批量删除
  5. Graph Database 图数据库AgensGraph
  6. 收费最低的云存储_云存储、网盘怎么区分,有何不同?
  7. 感谢恩师,感谢有你!
  8. 成为构架师必知的Vue目录结构和构建规范,恩师王红元的蘑菇街项目❤
  9. 【洛谷】P1379 八数码难题
  10. 学历不高可以学java吗?有什么好的自学java方法