问题标签 [flash-memory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何解析十六进制转储
我有一个闪存转储文件,它会吐出地址和数据。我想解析数据,以便它告诉我有效的标签 '002F0900' 列是起始地址。一个有效标签的示例是“DC 08 00 06 00 00 07 26 01 25 05 09”,其中“DC 08”=标签编号,“00 06”=标签数据长度,“00 00”=标签版本。标签数据在版本之后开始,在这种情况下为“07 26 01 25 05 09”,下一个标签将从“DC 33”开始。
我可以将第一个标签打印到数据长度,但我不确定如何打印数据,因为我必须考虑数据是否会进入下一行,所以我必须以某种方式跳过地址. 每行包含 58 列。每个地址长度为 8 个字符,外加一个冒号和 2 个空格,直到下一个十六进制值开始。
我最终还必须考虑“DC”何时出现在地址栏中。如果有人可以提供一些建议,因为我知道我是如何做到这一点的并不是最好的方法。我只是想让它先工作。
文本文件有数千行,如下所示:
示例输出为:
源代码:
更新@ooga:标签是随意写的。如果我们还考虑逻辑中的无效标签,那么如果我花一些时间,我应该能够找出其余的。谢谢
embedded - 为什么不按页执行擦除 NAND 或 NOR?
擦除始终由 Block 执行,而不是由 Page 或 Word 执行。如果 Page 可以执行 Read 和 Write,为什么 Erase 不可以呢?
floating-point - 如何在 STM32F4 探索板的 Flash 中写入浮点数据
我正在尝试通过 VCP 接收浮点数,并使用 Keil IDE 将其写入 STM32F4 发现板的闪存中。用于写入 Flash 存储器的函数:
接受一个无符号整数值作为数据输入,但我已经设法使用以下代码在闪存中写入一个有符号整数:
不过,我仍然没有设法编写浮点数据。如果我将“int”更改为“float”(它们都应该是 4 字节数据,在 keil 编译器指南中有说明),我会得到类似 1.7345673 e-42 的数字。
也许这是一个愚蠢的问题,但如果你能给我一个线索,我真的很感激。
c - 检查某些 USB 闪存是否连接到我的系统
我想要一个代码来检查某些 USB 闪存是否连接到我的系统。我的意思是我想从连接到我的基于系统的 USB 闪存中获取类似的东西product ID
,并检查这些数字是否与我的有效数字匹配。我也想知道有人可以伪造这个数字吗?我的意思是有人使用无效的闪存设备并生成这些数字来通过我的验证过程? serial Number
linux
c++ - 无法写入闪存程序存储器 (PIC18F4620)
我试图将一些数据写入闪存程序存储器。我阅读了数据表并按照步骤操作。我还编辑了 rom 数组的链接器脚本。下面是我在 C 中的闪存程序存储器序列代码。我试图写入地址 0xFF00。
以下是我编辑的链接器脚本:
android - 如何获得真正的 NAND 存储空间?
PlayStore 应用程序显示的存储空间并不是真正的 IC 闪存容量。
它显示了系统占用的空间和剩余的一些内部存储空间,但总和不是IC闪存的全部存储容量。
现在我正在拆卸手机并查看模型以获得正确的价值。有没有办法在不打开手机的情况下获得完整的存储容量。
最终用户查看自有产品的实际容量很有用。
c - SPI闪存编程问题
我在我的应用目标板上使用 STM32F429 CortexM4。我有外部 SPI 闪存(8MB)和外部 SDRAM(32MB)来克服我芯片的尺寸限制。
在这里,我有一个单独的 .BMP 图像文件项目,需要使用这些文件并将其编程到 SPI 闪存中,然后从闪存复制到 SDRAM 中。
但事情是因为我在这个项目中的每个图像都有多个 .c 文件,所以这里我的问题是是否可以使用整个项目十六进制文件将每个图像对象文件编程到闪存上的特定地址位置?
或者我们如何使我们的数据驻留在闪存上的特定地址位置?
linux - 在实际 PCB 准备好之前模拟 eMMC 内存进行开发
我们正在开发一种包含嵌入式 Linux 系统的产品。存储将是一个 eMMC 设备。我想利用 eMMC 设备的一些特性,比如引导分区、可能是 RPMB 分区和多用户分区。
然而,我们的电路板在相当长的一段时间内都不会准备好,我想尽快学习如何使用 eMMC 设备 - 包括使用 ioctl(或任何可用的)来使用它一个低水平。
是否有其他设备与 eMMC 工作方式如此相似,可以很好地替代它们?从我对 JEDEC 标准的阅读来看,eMMC 似乎与 SD 卡密切相关。SD卡是否具有设备级分区,例如eMMC?
filesystems - 如何使用 MCU 创建文本文件并通过 USB 将其传输到 PC?
我希望 :
- 用我的 ATxmega128A4U 收集数据(完成)
- 将该数据存储到文本文件 (.txt)
- 将文本文件发送到闪存(通过 SPI)
- 通过 USB 将闪存(或 MCU?)作为大容量存储控制器(MSC)连接到 PC
- 读取 PC 上的文本文件
我的 MCU 上有我需要的所有数据。我在这里查看了 ATMEL 的文件系统管理。我不确定这是否适用于我的 xmega128a4u 或从哪里获取文件。另外,如果我使用命令“fopen”,这个文件存储在哪里?
主要问题是创建文本文件。使用“FILE *file fopen ...”后它存储在哪里
linux - MTD 在运行时启动和配置
有一个嵌入式系统,我有 root shell 访问权限。我无法进入 U-boot 启动菜单。(启动延迟=0)
设备从 nor flash 启动并在 emmc 上加载文件系统。它不设置 /dev/mtd 设备。
我想访问nor flash。
系统上有 MTD 驱动程序,因此这似乎是最佳选择。(完全没有这方面的经验,所以如果我错了请纠正我)
如果使用 modprobe 启动 MTD,则会创建 /proc/mtd。dmesg 中没有任何内容。
所以没有分区。如何配置 mtd 才能访问 nor flash。(物理地址已知)
谢谢