问题标签 [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.
linux - 在嵌入式 Linux 上使用全新 eMMC 的后续步骤
我一直在努力让 eMMC 芯片在我的嵌入式 linux 平台上运行。到目前为止,我已经完成了以下工作:
(1) 在drivers/mmc/host 中添加自定义驱动 (2) 编译内核和目标镜像 (3) 加载镜像到目标和启动板
在启动期间,我看到这些:
启动后,这是 /proc/partitions 的输出:
谁能告诉我以下内容:
- 我的设备工作正常吗?
- 如何开始将数据写入 userdata 分区?( mmcbllk0 安装失败)
- 如何创建更多通用分区?
- 如何创建更多(常规)分区?
在此先感谢,我对此非常陌生,我似乎无法在任何地方找到此信息。
埃尔杜凯
filesystems - 在Nand Flash的整个生命周期中,读操作安全吗?
在今天的采访中,我被问到一个有趣的问题
“在Nand Flash的整个生命周期中,读操作安全吗?”
我们都知道擦除或写入会导致坏块。但是读操作安全吗?比如我把一些数据放到nand flash里面,以后再也不改了
c - 在闪存中擦除比扇区大小(最小可擦除大小)更少的字节的最佳逻辑
我正在使用 Spansion 的 16MB 闪存。扇区大小为 256KB。我正在使用闪存读取/写入/删除 30 字节块(结构)。我在 IC 的数据表中发现最小可擦除大小为 256KB。删除特定块的一种方法是
- 将包含要删除的块的扇区读入临时数组。
- 擦除该扇区。
- 删除临时数组中需要的块
- 将临时数组写回 Flash。
我想问有没有更好的替代逻辑。
firmware - 对过时的微控制器进行编程
我正在使用 ST Micro 的 PSD835G2V-12UI 微控制器。该芯片已过时,Windows 7 不支持用于刷新固件的程序 PSDsoft Express。它在 Windows XP 上运行良好,但我想将编程移植到 Windows 7 机器上。
我正在使用 Raisonance RLINK JTAG 编程器连接计算机和微控制器。
ST micro 推荐使用 PSDsoft,这是他们用于编程的程序。但是,PSDsoft 不能在 Windows 7 上运行。
我在网上找到了一个可以使用 RIDE7 的部分解决方案。遗憾的是,RIDE7 不支持 PSD 芯片,它只支持 uPSD。我可以进行命令窗口调用并通过 RLINK 与芯片组进行有效通信。以下是我通过命令窗口获得的选项列表:(抱歉无法发布图片)
我可以成功地进行以下命令调用:
C:\Raisonance\ride\bin\psd_pgm.exe C:\users\me\firmware\test\testFirmware.jci U 1 0
有了这些结果:
除了“P”程序和“J”JTAG:启用 JTAG/ISC 之外,所有其他命令都有效。
我能够成功擦除芯片组的内存,但不能对芯片进行编程。
这是我在输入 JTAG 启用命令时看到的错误,这是程序命令的前兆:
ERROR 103:启用失败。0x41 != 0x40
C:\Raisonance\ride\bin\psd_pgm.exe C:\users\me\firmware\test\testFirmware.jci J 1 0
这是我的 .jci 文件:
所以我看到的问题是我可以与程序员沟通,但 JTAG 启用似乎存在内存映射问题。我不知道这意味着什么或如何解决这个问题。请看一下,如果我缺少任何信息/步骤,请告诉我。
谢谢,
弗拉德
arm - 如何测试 FASTSRAM 将我们的应用程序文件闪存到外部闪存芯片中?
我们正在开发 ARM 处理器,最初我们开发了一段代码来测试我们项目中的FASTSRAM,并且我们在调试模式下成功测试。之后,我们将相同的代码闪存到闪存中,这些代码需要从这里本身在 ARM RAM 中执行。我们已经成功完成了所有的刷机过程。后来在闪烁后测试FASTSRAM时,我们被击中并且测试失败。
谁能帮我解决这个问题?
file - SD 卡 DRM 的实际后果是什么?
我刚刚读到 SD 卡都有一些 DRM 代码,可以防止读取或写入“受保护的内容”。
由于我的代码有时会使用 SD 卡进行存储,所以 DRM 的实际后果是什么?我需要采取哪些步骤(如果有)来避免写出可能无法读回的文件?
memory - 片上二进制大小
我为某些 ARM 处理器编译了我的代码并拥有二进制文件。现在我想知道它在我的 FLASh 内存中占用的确切字节大小(地址范围)。
因为,我在闪存的最后 1kB 有一定的恢复机制,不希望它被覆盖,因为它需要永久存在。
二进制的 readelf 给了我起始地址(映射到代码和数据段)&我不能真正将它映射到我想要的。
c - 擦除后无法写入闪存
所以我不能在擦除后直接写入内部闪存。如果在写操作之前没有擦除操作,那么我可以。关于为什么的任何想法?
编程函数返回“成功写入”值,但在查看内存时,没有写入数据。这是代码:
我尝试在擦除和编程之间锁定内存,在这些操作之间造成延迟,但没有帮助。
stm32 - 使用 MCU 的内部闪存作为 FatFs 驱动器
我正在尝试在 STM32F051xx 上制作内部闪存,以将其视为驱动器。
这是顶层的代码:
f_mount() 返回 FR_OK,但是当涉及到通过 f_open() 创建新文件时,它调用 find_volume(),它调用 check_fs() 返回 FR_NO_FILESYSTEM。我认为这是因为没有创建引导扇区,但我不知道该怎么做。
我已经编写了 USER_read()、USER_write() 和 USER_ioctl() 函数,但我不知道在 USER_initialize() 函数中要写什么。现在我把它留在原来的状态,它返回 RES_OK 而不做任何事情。我觉得这可能是问题的根源。
有什么建议么?
microcontroller - 在 Flash 中为用户数据分配内存(STM32F4 HAL)
我正在尝试使用 STM32F405 的内部闪存来存储一堆用户可设置的字节,这些字节在重启后仍然存在。
我在用着:
为我要存储的数据分配内存。
当程序启动时,我检查第一个字节是否设置为0x42
,如果没有,我使用以下方法设置它:
之后,我检查了价值,userConfig[0]
我看到了0x42
……太好了!
然而,当我点击重置并再次查看该位置时,它0x42
不再是......
知道我哪里出错了吗?我也试过:
但我得到相同的结果..