Questions tagged «flash»

闪存是一种可分页擦除的EEPROM。它通常用于微控制器程序存储器和代码存储。您可以使用该标签来查询有关这种类型的存储器的问题,以及有关“闪存”的问题,闪存是在对微控制器进行编程时更改Flash中数据的过程。



2
为什么仍然使用普通的EEPROM而不是闪存?
如今,为什么有人仍在使用(而不是在新系统中实现)普通EEPROM而不是闪存? 从Flash维基百科: 闪存是从EEPROM(电可擦可编程只读存储器)开发的。 使用闪存而不是普通的EEPROM是否有不利之处(功耗,空间,速度等)?
34 flash  eeprom 

9
是固件代码还是数据?
当有人说他们将固件“刷新”到设备上时,我很好奇这实际上意味着什么。 固件是否只是存储在内存中并且可以由设备的CPU解释的本机二进制文件(就像计算机上的任何其他EXE一样)?还是固件只是作为不可变程序输入的数据已经硬编码/连接到设备上? 如果后一个示例不是固件,您将如何称呼它?例如,假设设备上有一些二进制(someapp.exe),则您无法删除或修改此二进制。二进制文件在运行时从存储芯片获取输入。您可以将数据“刷新”到该芯片,从而影响该芯片的输入/配置,someapp.exe在下次运行时会受到影响。如果不是固件,将其称为什么?
29 flash  firmware 

8
为什么我们需要一个与我们的微控制器应用程序分开的引导程序?
为什么我们需要在微控制器的相同闪存程序存储器(特别是STM32F103,称为引导加载程序)中使用单独的程序? 将其与主应用程序分开有何特殊之处? 一般而言,基于微处理器的系统(例如PowerPC MPC8270)的引导程序是否与微控制器(例如ARM STM32F103)的引导程序完成相同的工作,或者它们在根本上是互不相同的工作,但两者都称为“引导程序” ?

1
为什么闪存具有使用寿命?
我读过闪存可以“仅”重新编程100000至1000000次,直到内存“退化”为止 为什么在闪存而不是其他内存类型上会发生这种情况?内部“退化”指的是什么? 编辑:由于发生这种情况不仅是闪存,所以我想概括一下并询问存在此问题的内存。另外,是否由于相同的现象而导致这些存储器类型之间的损耗?
25 memory  flash 

6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

5
什么是双/四I / O?
在阅读SPI Flash数据表时,我遇到了“双重I / O”和“双重I / O”的概念。起初我以为“双I / O”是“全双工”的同义词,但是什么是“四I / O”呢? 什么是双I / O和四I / O,它们如何比较双工和全双工?
23 spi  flash 



3
闪存:仅写几个字节之前是否需要擦除整个页面?
我希望这是一个简单的问题!我找不到任何明确的答案... 我正在为SST25VF064C闪存芯片编写驱动程序。它通过SPI通信。 像所有闪存(据我所知)一样,需要对其进行擦除(所​​有位= 1),然后才能对其进行写入(位= 0)。对于该芯片,可以擦除的最小区域为4kB。 它的内存分为256个字节的页面。使用一条指令,我可以将1字节到256字节的任何内容写入指定的页面。我不必从页面边界开始:要编程的第一个位置可以在页面内的任何位置。 一般规则是确保在写入页面之前先擦除页面。但是,如果我避开了已经写入的区域,可以写入先前写入的页面吗?例如,假设我将数据存储到字节0-127中。如果我从字节128开始,以后可以再写128字节到同一页中吗?
16 flash 

4
为什么大多数非易失性存储器都将逻辑1作为默认状态?
我在嵌入式应用程序中使用了EEPROM和FLASH存储器等非易失性存储器,并且我始终发现1默认情况下始终将未使用的存储器(EEPROM / FLASH)位位置设置为。为什么用它代替0? 例如,一个地址,例如第0个地址(内存的第一个字节),如果用户未写入,则始终存储,0xff而不是0x00。为什么制造内存芯片的人会这样保存呢?我敢肯定,保留默认的内存位置0xff将为制造商带来一些好处或重要的东西。 内存芯片中这种结构背后的原因是什么?

1
NAND闪存如何写入?
下面是我对NAND闪存操作的理解的图片。 NAND闪存的工作方式是首先擦除单个块中的所有单元(本质上将其设置为1),然后有选择地写入0。我的问题是-由于字线在单个Page中的所有单元之间共享,因此NAND控制器如何将0编程为页面中的特定单元? 对于NOR闪光灯,很容易看到可以通过使用热电子注入(在整个单元上施加高压)来对特定的单元进行编程。但是对于NAND,由于NAND单元彼此串联,所以不可能这样做,并且不可能对特定的单元施加高压。因此,在NAND中完成的工作是量子隧穿,即向字线提供高电压以写入0。我不清楚的是如何使该电压具有选择性(换句话说,因为字线在a中的单元之间共享)页面,将单个位编程为0的高压不应同时将页面中的其他位也设为0)。
14 embedded  flash 

5
两种-最好的存档媒体-标准HDD或闪存
在这两种技术中,这里存在两种完全不同的“位腐”机制,那么预计将持续更长时间?从本质上讲,它在存档方面是优越的。“标准HDD”中的磁畴(GMMR)是否会比CMOS工艺中Flash单元的浮栅持续更长的时间?也就是说,哪个物理学决定了衰变过程的速度较慢。假设气候是受控的,并且还假设成本,接口和物理尺寸不是约束条件。应该仅根据位衰减机制/物理的相对优点来判断/争论。 更新-赏金到期前1天: 由于此站点是关于设计的,因此我特意限制了这个问题。如果您正在设计需要长时间闲置的产品(带有uController等),那么比特腐烂确实会发挥作用-您知道系统在需要时会再次点亮吗?即您可能需要档案类型存储。您是否在设计Flash?还是然后放入HDD界面?那是决策树的自然第一个分支。一旦为HDD插入IDE / SATA或类似接口,其他所有技术都可能发挥作用。但是我特意限制了它的使用,以防止偏离正轨的技术或至少会限制适用范围的技术。 我还编辑了该问题以限制对接口的讨论,因为我不想讨论相对接口速度,密度等。当然欢迎这些问题,但作为主要问题答案的辅助手段(s)。 到目前为止,已经有很高程度的轶事个人反思。一点都不想要!我不会根据回忆来奖励悬赏。我将呼吁@ Danny-kmack至少研究一些第三方的可验证来源,即特温特大学* .ppt(超级用户链接属于轶事类),但随后他无法将重要信息转发到帖子中。 更多数学,更可靠的采购,无轶事。激发活化能的奖金以及如何与Arrhenius方程联系起来的奖金将获得额外收益!关于磁畴如何失效以及如何驱动的细节,以及通向浮栅的Fowler-Nordheim(FN)隧道如何泄漏回去的细节-它仍然是FN吗? 另一个呼吁:这次是@ kitt-scuzz,它提出了一个聪明的想法,即构建一个刷新闪存驱动器以确保位腐烂不会吞噬数据的系统,您需要权衡磨损以延长寿命。不幸的是,在手前徘徊/迷惑有损于好主意。 关于Mods的注意事项:-是的,我将回到这里并清理这些多余的东西-一旦我看到更好的答案,或者很明显不会出现。 请记住,EE的关键部分是分析和执行数学,理解所涉及物理的能力。 这无疑可以在将来帮助人们设计可驻留在现场甚至是长期产品中的嵌入式系统。-仍然是希望。
14 flash  hdd 

2
闪存和EEPROM
Atmega16数据表说它有 a)16 KB的系统内自编程闪存程序存储器,以及b)512字节的EEPROM。 微控制器能否有两个单独的ROM,可以通过EEPROM技术和闪存技术进行编程? 还是我从数据表中得出的推论是错误的? 我知道我们的程序存储在闪存中,为什么没有人需要EEPROM?如果我们有程序的闪存,它有什么用? 也有人可以解释什么是“系统内自编程” 我所知道的是:闪存技术可以按数据块编写程序,而EEPROM可以按字节写数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.