- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道不同种类的复位以及芯片中的定义。最好冷,暖,系统,应用,开机复位。
同样,对于它们每个的简单示例也受到高度赞赏。
谢谢。
最佳答案
不知道您到底想了解什么。重置可以并且可以以多种不同的方式和方式使用。通常,没有规则说明何时何地可以使用它们。
相对于电流在电路中流动的速度,从“接通电源”到电压和电流稳定在可用且稳定的状态(以便逻辑可以启动)的时间要花相当长的时间。一旦上电,用于驱动逻辑本身的时钟或振荡器将需要一些时间才能稳定下来。使用某种时钟倍频器的芯片。例如,您的数兆赫兹处理器经常会运行一个100Mhz的振荡器,并与芯片内部的振荡器成倍增加。该电路需要一段时间才能锁定振荡器时钟,然后生成其倍频时钟。因此,您经常会看到全局复位,不需要等待芯片启动和运行的逻辑就会一直保持复位状态,直到一切稳定下来以便可以运行为止。这可以并且称为加电复位。接通电源后,某些电路用于将芯片的其余部分保持复位状态。有很多不同的方法可以做到这一点。
通常,上电复位用于电路板上的所有逻辑,有时每个芯片都有自己独立的上电复位电路,当然,某些系统是这两种极端情况的混合体。您可能将与板载大多数逻辑相关的复位称为系统复位。导致整个系统不只是一部分被重置和/或释放。
有时,您会看到允许软件选通全局复位的芯片,这也是许多不同的方法。您必须避免明显的鸡肉和鸡蛋问题。如果软件通过断言复位来控制复位线,则将导致处理器,因此软件本身将进入复位状态,从而阻止复位被释放。因此,可以为某些未通过上述重置进行重置的硬件提供命令以将重置保留一段时间,然后释放它。有时系统的工作方式可能导致软件在第一个写入之前发送两次写入,一个写入断言复位另一个写入释放(这可能是硬件设计不佳的软件黑客)。人们可能将其称为热复位,因为电源已经稳定,振荡器已经稳定,等等,但是出于某种原因或其他原因,希望将逻辑置于已知状态。
系统设计可以为软件提供执行系统范围的重置的能力,或者仅执行系统的一部分,或者仅执行软件在其上运行的处理器或其芯片。您可以想象,例如,系统已启动并且正在运行,该软件已将外围设备编程为执行某项操作,或者至少从上电复位状态对其进行了更改,然后仅处理器被复位,而外围设备未复位。这对于软件可能不希望如此,因为它必须退出复位状态,并且可能必须弄清楚外围设备是否也刚刚复位或处于未知状态。当软件启动时,软件设计可能无法假定外围设备处于已知的复位后状态。
这可以而且确实被带到了各种极端。时钟逻辑会消耗功率,如果您的SOC所使用的外设不使用它,则可能会明显浪费该系统不会使用的电源时钟逻辑。因此,某些系统设计成具有系统的各个部分,甚至每个单独的外设都具有复位和时钟使能,从而使软件可以精确控制功耗,并能够轻松地将芯片的某些部分复位为已知状态,从而可以使用或重新使用。那些外围设备的使用更加容易。通常用于以已知方式启动(嵌入式)系统。
寒冷是温暖的对立面,冷重置可能是“电源重启”的另一种说法。关闭电源(暗示电路/系统变冷),然后再打开电源,以便一切都可以从寒冷中恢复过来并重新稳定下来。热重置不会影响整个系统,但只有一部分系统会影响您使用“热”和“冷”的术语。热复位解决了一些崩溃问题,而冷复位理论上解决了更多问题,因为理论上的冷复位将整个系统复位。但是自然地,例如,如果您有一台具有自己电源的扫描仪,打印机或其他外围设备,不一定会从主计算机的冷复位中复位,则需要关闭所有电源并将其重新启动。有时,系统被设计为在主机热复位或冷复位时外围设备会热复位。
确实没有魔术,设计师认为需要复位的任何逻辑块都将具有复位,复位的局部性或全局性是设计的一部分。可以认为芯片与由单个函数调用和库调用组成的软件项目没有什么不同。用于创建现代逻辑的编程语言非常类似于具有软件功能和调用函数等功能的软件项目。主要区别在于,逻辑确实可以并行运行,其次逻辑功能可以并且有时将有数十个到数百个在软件中,代码段是线性执行的,而函数往往具有适度的调用次数。看起来使用全局变量的项目似乎是合乎需要的,但程序启动时,编程语言会将这些全局变量假定为具有某种状态。在C语言中,当main()发生时,有一些语言规则可以告诉您所有全局变量的状态,同样,当输入一个函数时,您所有本地变量的状态也是如此。您可以想象代码中将单个全局变量重置为已知状态的位置,x = 0; y = 7;等等。稍后根据以前的状态x ++确定它们的使用。 y- = z;当您希望将某些东西放回已知状态时,逻辑没有什么不同,您可以提供一种执行此操作的机制。如果您的代码希望将大量变量放回已知状态,以便可以重新开始任务,例如,一个图形程序已完成一个文件,而没有退出该程序,则希望释放为该程序分配的所有内存。以前的图像,灰色菜单和按钮,这些图像和菜单按钮在没有打开的图像文件时没有意义,等等。您可能有一个函数调用其他导致重大清理的函数。这与热重置无异。退出程序并再次启动程序与冷重置无异。输入main()时变量的状态或调用函数时局部变量的状态是这些变量的上电复位状态。
关于embedded - 芯片(SoC)中的各种复位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13582892/
我有一个运行 Linux 的 DE1-SOC(修订版 C)。我在访问板载 ADC 时遇到问题。所有 8 个 channel 的输入均为 3V Pk-Pk 正弦信号。板载 ADC 是 AD7928 12
我一直试图围绕 DDD 以及它与 MVC 的关系进行思考,但我在实体识别方面遇到了麻烦。 特别是,我试图在我的表示、域和数据模型之间保持严格的分离。我的问题是我如何跨这些边界保存实体识别。为了澄清起见
我想知道不同种类的复位以及芯片中的定义。最好冷,暖,系统,应用,开机复位。 同样,对于它们每个的简单示例也受到高度赞赏。 谢谢。 最佳答案 不知道您到底想了解什么。重置可以并且可以以多种不同的方式和方
我想在内核空间中从我的 android 手机读取 GPS 数据。我想为我的 GPS 编写一个设备驱动程序并通过它请求数据。但与外部设备不同,我找不到 GPS 硬件或安装它的 SOC 的供应商 ID 和
我正在尝试编写一个通过串行端口显示消息的小型应用程序。该二进制文件在没有操作系统的情况下执行,因此它是裸机。 代码如下: #include #define FIFO 0x0 #define NOFI
这个问题已经有答案了: Python byte string print incorrectly in dictionary (1 个回答) 已关闭 6 年前。 根据Python文档,Python的套
我目前正在使用 freescale 的 i.MX6 和 linux 构建。我们的板子略有不同,我想找到一个很好的例子,或者可能是关于如何在 linux 内核中轻松支持板子的几个不同变体的想法。 我想做
假设您正在实现一个带有 cpu、ram、rom 和 mmu 的简单 SoC,以将 ram 和 rom 映射到 cpu 的地址空间。在实例化不同的组件时,这样做会更有意义: ram 和 rom 在 mm
今天我发现了一个名为 soc.io 的新 Android 应用程序商店。网站看起来非常干净简洁,但是您永远不能相信一个漂亮的网站。所以我在 soc.io 上搜索了任何评论,但我一无所获。我阅读了整个开
所以,我知道在考虑较小规模的嵌入式系统时,Linux 内核相当“沉重”,但目前我们是一个 2 人团队,试图了解如何创建我们自己的嵌入式系统。我是所有软件的负责人(另一个人是硬件人员),因此我想尽可能多
具有相同内核的两个 ARM SoC 之间(在性能方面)有很大差异吗? 例如,在以下情况之间可能存在哪些差异(除了那些可归因于不同时钟速率的差异): Apple A5,基于 1GHz 双核 ARM Co
是否可以在用户在 SoC 原型(prototype)板上设计的系统上运行 OpenCL?更具体地说,我有一个具有双 ARM 内核和可编程逻辑 (PL) 区域的 ZedBoard (Xilinx Zyn
谁能解释一下 Soc 和 SBC 之间的主要区别? 最佳答案 SOC = 片上系统 SBC = 单板计算机 SOC 在一 block 硅片上有多个功能单元。通常是多个处理器和外围设备。 SBC 是单个
我正在 sound/soc/codecs 中编写音频编解码器。它编译并调用 init 函数,但 probe() 函数不调用。我试过这个所以question建议,但没有成功。 我还尝试切换到 sgtl5
基本上,我正在研究自动真空吸尘器的模型。我目前已经制作了相同的软件模拟。如何确定用于硬件实现的 SOC 或 SDK 板?我的代码大部分是用C写的,这样能兼容板卡厂商提供的sdk吗?我怎么知道硬件需要什
我需要从我的 Ubuntu 14.04 机器上通过 ssh 连接到 Red Pitaya。我正在使用 ssh 实用程序; ssh root@192.168.1.100 使用密码 root。这些参数和此
如何检索 Android 设备的 SoC 型号名称?例如。 Qualcomm MSM 8974 HAMMERHEAD(扁平化设备树) 适用于 Nexus 5。(例如 CPU-Z 应用显示此信息。) 最
我正在使用 Altera Cyclone V SoC 为电路板设计软件(运行 Linux 的 ARM Cortex-A9 与 FPGA 耦合)。 Linux 操作系统运行良好,支持板载外围设备(以太网
我有一个 Controller 处理表单输入,这些输入影响由各自模型处理的两个单独的数据库表。如果在这两个表中记录数据时出现问题,我希望请求失败并且不应插入/更新任何记录。 让我的 Controlle
我正在尝试使用 TI CC2510 无线 SoC 芯片做一个项目,但我想使用 Linux 将我的 C 代码加载到设备上。我不想仅仅为了我的开发目的而购买 Windows。有谁知道这是否可以做到?如果是
我是一名优秀的程序员,十分优秀!