嵌入式硬件篇---OpenMV存储

OpenMV存储部分

OpenMV 开发板的存储部分可以简单理解为 "不同用途的存储器",就像我们的电脑有硬盘(存文件)、内存(临时运行程序)一样,OpenMV 也有几个不同的存储区域,各自分工明确。下面用通俗易懂的方式介绍:

1. 内部闪存(Flash)------ 相当于 "系统盘"

  • 作用

    这是 OpenMV 自带的 "固定硬盘",主要用来存程序和系统文件。

    你编写的 Python 代码(.py 文件)下载到 OpenMV 后,就存在这里;开发板的操作系统(固件)也存在这里。

  • 特点

    • 非易失性:断电后数据不会丢,下次上电还能直接运行里面的程序(所以脱机运行必须靠它)。
    • 容量不大:一般是 2MB 或 4MB(不同型号略有差异),够存中小型程序,但存大量图片、视频就不够了。
    • 不能随便改:擦写次数有限(虽然日常用基本够),而且每次修改程序都要 "重新下载",就像给手机装新 app 一样。
  • 通俗比喻:类似手机里的 "系统存储",装操作系统和常用 app,断电后内容不变。

2. 内存(RAM)------ 相当于 "工作台"

  • 作用

    程序运行时,临时数据都存在这里。比如摄像头实时采集的图像、代码里的变量、计算过程中的临时结果等,都在内存里快速处理。

  • 特点

    • 速度极快:比闪存快得多,适合临时存放正在处理的数据,保证程序流畅运行(比如实时识别物体时,图像数据必须快速读写)。
    • 易失性:断电就清空,所以不能用来长期存数据。
    • 容量小:通常是 128KB 或 256KB(不同型号不同),只能临时用,不能当 "仓库"。
  • 通俗比喻:类似我们办公的 "桌面",临时放正在处理的文件,用完(断电)就清空,下次重新拿出来用。

3. SD 卡(外部存储)------ 相当于 "移动硬盘"

  • 作用

    这是可选的外部存储,需要自己插卡。主要用来存大量数据:比如拍摄的照片 / 视频、训练好的模型文件(如神经网络模型)、日志文件等。

  • 特点

    • 容量大:可以插 16GB、32GB 甚至更大的卡,适合存闪存装不下的东西。
    • 灵活插拔:存满了可以拔下来插电脑上读取,方便数据转移。
    • 非必需:OpenMV 没插 SD 卡也能运行程序,只有当程序里明确要 "存图片到 SD 卡""读模型文件" 时,才必须插卡,否则会报错。
  • 通俗比喻:类似手机的 "内存卡",扩展存储空间,存照片、视频这些占地方的东西,可随时取下。

总结:三者的关系

  • 程序 "住" 在内部闪存 里,断电也不会丢,上电后自动跑到内存里运行。
  • 运行时产生的临时数据(如图像)在内存里快速处理。
  • 如果程序需要 "存档"(如拍照片),就把数据存到SD 卡里(如果插了的话)。

简单说:闪存是 "长期住宅",内存是 "临时工作台",SD 卡是 "额外仓库"。日常用 OpenMV 跑简单程序,有闪存和内存就够了;要存大量数据,才需要 SD 卡。

OpenMV脱机运行

OpenMV 并非必须插入 SD 卡才能脱机运行程序,其程序运行主要依赖内部的闪存(Flash),SD 卡更多是用于扩展存储功能,而非运行程序的必要条件。

具体说明:

  1. 程序存储与运行

    • OpenMV 开发板内部有自带的闪存(例如部分型号有 2MB 闪存),可以直接将程序(.py 文件)存储在内部闪存中。
    • 当开发板上电后,会自动从内部闪存加载并运行程序,实现脱机工作,无需依赖 SD 卡。
  2. SD 卡的作用

    • 扩展存储:用于保存拍摄的图片、视频,或存储较大的数据集(如训练好的模型文件)、日志文件等。
    • 临时调试:在开发阶段,可能通过 SD 卡读取程序进行快速测试,但这并非脱机运行的必需方式。
  3. 特殊情况

    • 若程序中明确包含读取 / 写入 SD 卡的操作(如 sensor.snapshot().save("/sd/img.jpg")),则脱机运行时必须插入 SD 卡,否则会因找不到存储路径而报错。
    • 对于需要处理大量数据(如超过内部闪存容量的模型)的程序,可能需要 SD 卡来存储额外资源,但这是程序设计的特殊需求,而非开发板本身的限制。

综上,仅运行基础程序时,OpenMV 无需 SD 卡即可脱机工作;但如果程序涉及 SD 卡操作或依赖外部存储资源,则必须插入 SD 卡。

相关推荐
国科安芯7 小时前
高速CANFD收发器ASM1042在割草机器人轮毂电机通信系统中的适配性研究
网络·单片机·嵌入式硬件·性能优化·机器人·硬件工程
CC呢8 小时前
基于单片机智能路灯控制
单片机·嵌入式硬件·智能路灯
DDUU__8 小时前
STM32低功耗模式
stm32·单片机·嵌入式硬件
小莞尔9 小时前
【51单片机】【protues仿真】基于51单片机宠物投食器系统
c语言·stm32·单片机·嵌入式硬件·51单片机·proteus
逼子格9 小时前
【Protues仿真】基于AT89C52单片机的数码管驱动事例
单片机·嵌入式硬件·硬件工程·硬件工程师·protues·数码管·电路仿真
風清掦10 小时前
零基础玩转STM32:深入理解ARM Cortex-M内核与寄存器编程
stm32·单片机·嵌入式硬件·mcu·物联网
芯岭技术14 小时前
PY32F003国产单片机、外设丰富、高性价比的国产替代方案
单片机·嵌入式硬件
QQ52862112416 小时前
单片机GD32F230芯片解密解析及专业操作建议
单片机·嵌入式硬件
逼子格18 小时前
Protues使用说明及Protues与Keil联合仿真实现点亮小灯和流水灯
单片机·嵌入式硬件·硬件工程师·联合仿真·keil·流水灯·protues电路仿真
程序员 _孜然1 天前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian