问题

单片机、ARM、嵌入式开发、Android 底层开发有什么关系?

回答
想象一下,我们要建一座精密的机械手臂,能够执行复杂的工业任务。单片机、ARM、嵌入式开发和 Android 底层开发,就像是这座手臂的骨骼、肌肉、神经系统以及控制这整套系统的大脑。

单片机 就像是手臂最基础的执行单元,比如一个负责精确控制某个关节运动的微型电机控制器。它本身就是一个集成电路,里面包含了中央处理器(CPU)、内存(RAM)、程序存储器(ROM/Flash)以及各种输入/输出接口(GPIO、ADC、PWM 等)。它的特点是“小巧玲珑”,功能相对专一,能直接控制硬件,比如读取传感器数据、驱动电机、点亮 LED 灯。你可以把它想象成手臂上那些专门负责一个动作的“小零件”,它们很直接,响应很快,是实现最基本功能的基础。

ARM 则像是这些“小零件”背后最核心的“大脑”或“动力源”的“架构”。ARM 并不是一个具体的芯片,而是一种指令集架构(ISA)。它就像是设计汽车发动机的蓝图,你可以根据这个蓝图制造出各种不同排量、不同性能的发动机。ARM 架构因为其低功耗、高性能和灵活的设计,在微控制器领域获得了巨大的成功,很多我们今天看到的单片机,尤其是性能更强的,都采用了 ARM 的核心。所以,你可以理解为,很多单片机,尤其是那些需要处理更复杂逻辑、运行更精细算法的,它们内部的 CPU 就是基于 ARM 架构设计的。

嵌入式开发,就好比是为这座机械手臂编写“运动指令集”和“感知逻辑”。它是一个广义的概念,指的是为那些非通用计算机(比如手机、电脑)但又需要智能化运行的设备(就是我们常说的“嵌入式系统”)进行软件开发。单片机和 ARM 芯片,就是构建这些嵌入式系统的最常见硬件平台。嵌入式开发要做的事情,就是让这些硬件“活”起来,让它们能接收信息(比如来自传感器的温度),处理信息(比如根据温度调整加热器的功率),然后输出指令(比如驱动电机转动)。这包括了编写驱动程序来控制硬件,编写应用程序来实现特定功能,甚至可能要涉及实时操作系统(RTOS)的运用,以保证任务的实时性和可靠性。

Android 底层开发,则是嵌入式开发中一个更具体、更深入的领域,尤其是在移动设备领域。如果把手机比作一座非常复杂的、高度集成的智能机械臂,那么 Android 底层开发就是负责编写这套手臂最核心的“指挥系统”以及与硬件交互的“驱动层”。Android 本身是一个操作系统,但它运行在 Linux 内核之上,而 Linux 内核就是那个最底层的、负责管理所有硬件资源的“大管家”。Android 底层开发人员,就是在操作系统的基础上,更深入地去研究如何让操作系统与特定的硬件(比如 CPU、GPU、内存、各种传感器、通信模块等)协同工作。他们需要编写或优化大量的驱动程序(比如摄像头驱动、WiFi 驱动、音频驱动),构建整个系统的框架,确保 Android 系统能够稳定、高效地运行在特定的硬件平台上。这就像是为我们那只机械手臂,不仅仅编写了关节的运动指令,还设计了整个手臂的“中枢神经系统”和“决策系统”,让它能够同时感知环境、做出判断,并协调手臂的每一个动作。

所以,它们之间的关系是层层递进的:

单片机是提供基础硬件功能的“小而精”的执行单元。
ARM 是很多高性能单片机背后采用的“大脑架构”。
嵌入式开发是为各种基于这些硬件平台(包括单片机和 ARM)的设备编写软件,赋予它们智能。
Android 底层开发是嵌入式开发在 Android 操作系统环境下的一个重要分支,它关注的是如何让 Android 系统与硬件更紧密地结合,实现更强大的功能和更优的性能,可以说是为复杂的“智能设备”打造核心的“驱动和控制系统”。

你可以想象,一个玩转单片机的工程师,可能在编写程序控制一个简单的水温控制器;而一个 Android 底层开发工程师,则是在确保你的手机在拍照、导航、玩游戏时,背后那些复杂的硬件都能被 Android 系统精确、高效地调度和利用。而 ARM 架构,就像是他们的“通用语言”和“设计哲学”,让两者都能在自己的领域内,以更优化的方式运行。

网友意见

user avatar

作为一个编写过ARM教程和Android产品开发者而言。你在单片机的相关知识,在Android底层是绝对有用的。

这个里底层是指内核接口以下的程序。以上包括Android HAL驱动(就是linux C程序编写,跟硬件控件没太多直接联系),Android 的框架和Android的应用。这一类开发对你而且是全新的东西。

而底层的程序包括,内核,bootloader和驱动。基本开发Android硬件产品公司主要需要这一类人。

而不同产品中,内核和bootloader变化较小,主要的工作量是在驱动之上。驱动相当于 单片机程序+linux内核接口。

但是从单片机转型为Linux驱动开发的,几个主要问题的,是代码量急剧增加,在单片机中有一些习惯在驱动开发里变成致命的陷阱。比如不喜欢用宏,在驱动大量用到内核复杂结构而单片机往往自写,还有一个并发处理,也是一个难点。 我教过很多想单片机转型成Linux的工程师。这一些东西往往很难改变,有时难得有人就放弃,还是回去做单片机开发了。

类似的话题

  • 回答
    想象一下,我们要建一座精密的机械手臂,能够执行复杂的工业任务。单片机、ARM、嵌入式开发和 Android 底层开发,就像是这座手臂的骨骼、肌肉、神经系统以及控制这整套系统的大脑。单片机 就像是手臂最基础的执行单元,比如一个负责精确控制某个关节运动的微型电机控制器。它本身就是一个集成电路,里面包含了.............
  • 回答
    你好!很高兴能和你聊聊单片机如何输出12V电压这个话题。这是一个在实际应用中非常常见但也需要一些技巧的问题。很多时候,单片机本身只能输出3.3V或者5V这样的低电压信号,而我们需要的12V则常常用于驱动一些功率器件,比如继电器、电机、LED灯带或者一些需要较高电压供电的传感器等。那么,单片机是如何“.............
  • 回答
    在单片机中实现对液体中两种不同物质的浓度进行检测,通常需要借助一些物理或化学原理,通过间接测量相关的信号来推断物质的浓度。直接测量这两种物质的浓度,特别是当它们对电信号没有直接影响时,往往是困难的。因此,我们需要找到它们能够影响到的物理量,并测量这些物理量。下面我将详细阐述一些常用的间接检测方法,以.............
  • 回答
    单片机之所以能够直接烧录程序,这背后其实是一套相当巧妙的硬件设计和软件配合的体系。简单来说,单片机内部集成了我们编写的程序运行所需的一切关键部件,并且提供了一种专门的“通道”允许我们把程序塞进去。下面我来详细捋一捋这个过程,尽量把这事儿说得明明白白。咱们先从单片机本身这个“黑盒子”说起。1. 单片机.............
  • 回答
    关于C++能否以及在多大程度上替代C语言进行单片机编程,这确实是一个值得深入探讨的问题。就像过去汇编语言向C语言的迁移一样,技术的发展总是在不断演进,而C++的出现,也为单片机编程带来了新的可能性和一些挑战。首先,我们需要理解为什么C语言在单片机领域如此根深蒂固。单片机,顾名思义,就是集成了微处理器.............
  • 回答
    .......
  • 回答
    单片机驱动液位和温度检测系统设计作为一名工程师,想要在项目中使用单片机实现液位高度和温度的双重检测,这绝对是个常见且实用的需求。下面我就从传感器选型到具体的实现思路,给你捋一捋,尽量讲得明白透彻,让你感觉就像是你自己的想法一样。 一、 核心思路梳理简单来说,我们的系统就像一个“侦察兵”,单片机是它的.............
  • 回答
    这问题问得挺实在的,咱们就别扯那些虚的,直接说点大白话。你想知道像ESP32这种小家伙,一秒钟能跑多少指令,对吧?这可不是一个固定数字,就像问一个人一秒能走多少步一样,得看情况。首先,得明白“代码”是个什么概念。在单片机里,我们说的“代码”其实就是一堆指令。CPU(就是单片机的“大脑”)就是一条一条.............
  • 回答
    好,既然是做单片机的,那咱就好好掰扯掰扯,C语言、电路基础、数字电路、模拟电路,这几个硬菜,到底要嚼碎到啥程度才算合格。这可不是应付考试,是为了让你真能在开发板上折腾出东西来,解决实际问题的。1. C语言:不是“会写”那么简单,是要“玩得转”咱们做单片机,C语言那绝对是主食中的主食,离开了它,你就只.............
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    STC(宏晶科技)的单片机之所以能在市场上受到欢迎,并占据一定的市场份额,主要得益于其在 性能、成本、易用性、生态以及针对中国市场的本地化优势 等多个方面的综合表现。下面我将详细阐述:1. 极具竞争力的价格(性价比高): 成本优势是关键驱动力: 在许多应用领域,特别是对成本敏感的消费电子、工业控.............
  • 回答
    在51单片机编程的江湖中,你确实会发现“unsigned”这个词像老江湖一样频繁出现,尤其是在定义变量的时候。为什么大家偏爱用 `unsigned char`、`unsigned int`,而不是直接用 `int`、`char` 呢?这背后可不是什么时髦的偏好,而是实实在在的技术考量,就像给工具配上.............
  • 回答
    你好,看到你因为使用51单片机参加比赛而被嘲笑,心里一定很不舒服。别急,我们来好好聊聊这件事情,也许理解了其中的原因,你就能更从容地面对了。说实话,在现在这个技术发展日新月异的时代,尤其是在一些比较前沿的电子技术、嵌入式开发或者机器人大赛这类场合,提起51单片机,确实可能会引来一些“特殊的目光”,甚.............
  • 回答
    好的,我来给你详细解释一下,为什么招聘单片机工程师时,通常会把“精通C/C++”作为一个核心要求,并且会尽量避免使用生硬的AI痕迹。想象一下,单片机就像一个微型的大脑,它要控制各种各样的设备,比如你家里的智能插座、汽车的发动机控制单元、工厂里的自动化生产线,甚至是你手里玩的智能手表。这些设备的工作,.............
  • 回答
    您好!很高兴能与您探讨如何在不借助单片机等微控制器的情况下,仅凭一台电脑直接控制电机。这其实是一个非常有意思且实际的应用场景,尤其是在一些无需极端精密控制、追求简单易用性的场合。我们先来梳理一下“电脑直接控制电机”这个概念。电脑本身,无论是台式机还是笔记本,其核心功能是处理信息和执行指令,它输出的是.............
  • 回答
    当然可以,而且这是一种非常常见且有效的学习和开发方式!用单片机进行单片机编程,本质上就是利用你手头的单片机开发板,通过连接相应的硬件(比如电脑),使用编程软件(通常是集成开发环境,简称IDE)来编写代码,然后将这段代码通过下载器(也叫烧录器)传输到单片机内部的存储器中,让单片机按照你的指令运行。我们.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有