嵌入式硬件篇---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 卡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94878.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT第二讲-信号和槽

文章目录 ⚙️ 一、基本概念与规则 1. 信号(Signal) 2. 槽(Slot) 🔌 二、连接函数 connect() 详解 函数原型: 参数说明 类型 行为 场景 🧩 三、实际场景示例 场景1:按钮点击关闭窗口 场景2:实时验证输入框文本 ⚡️ 四、高级技巧 1. Lambda表达式作为槽 2. 处理信号…

如何用OpenAI SDK调用Ollama LLM

Ollama目前内置了OpenAI Chat Completions API 的兼容端点,用户可以用OpenAI SDK访问本地Ollama模型,这里示例整个访问过程。 假设Ollama已安装,过程参考 在mac m1基于ollama运行deepseek r1_mac m1 ollama-CSDN博客 1 下载OpenAI SDK和模型…

如何解决用阿里云效流水线持续集成部署Nuxt静态应用时流程卡住,进行不下去的问题

我有一个用Nuxt搭建的前端应用,部署时是用npm run generate命令生成静态页,然后上传到服务器上的指定目录来完成部署。之前是写了一个shell脚本,用rsync命令实现的上传,个人用起来倒也比较方便,但是因为涉及到服务器登…

Java中Lambda表达式的常见用法和解析:从入门到实战

引言在Java 8发布之前,Java语言一直以面向对象为核心,代码风格相对严谨但有时显得冗长。随着函数式编程思想的兴起,Java 8引入了Lambda表达式这一革命性特性,极大地简化了代码编写,提升了开发效率。Lambda表达式不仅让…

【Python 高频 API 速学 ③】

一、为什么先学这 5 个? • 它们覆盖了「切 → 洗 → 拼 → 换 → 排版」整条链路。 • 任意一段文本处理脚本,80 % 的操作都能用这 5 个方法写完。二、五虎上将一览方法作用典型场景易踩的坑split(sepNone)按分隔符切成列表日志拆字段、CSV 解析连续分隔…

前端百分比展示导致后端 BigDecimal 转换异常的排查与解决

在开发一个订单预算系统时,我们需要在前端动态计算「利润率差额」,格式为百分比(带 % 符号)保留4位小数,但实际传给后端时必须是纯数字(浮点数),以便后端正常以 BigDecimal 类型接收…

论文学习21:Pyramid Scene Parsing Network

代码来源 GitHub - hszhao/PSPNet: Pyramid Scene Parsing Network, CVPR2017. 模块作用 对于不受限制的开放词汇和多样化场景,场景解析极具挑战性。本文结合金字塔池化模块和提出的金字塔场景解析网络(PSPNet),利用基于不同区…

从手工编码到自动化:APP开发的效率革命

摘要**熬夜敲代码、反复调试改 Bug,项目进度却依旧缓慢,这是无数 APP 开发者在手工编码时代的真实写照。更让人崩溃的是,即便投入大量时间精力,最终交付的 APP 还可能存在各种问题。难道 APP 开发注定如此艰辛?不&…

数据结构5.(哈希表及数据的排序和查找算法)

1.哈希算法将数据通过哈希算法映射成一个键值,存取都在同一位置实现数据的高效存储和查找,将时间复杂度尽可能降低至O(1),同样的参数返回同样的整数,不同的参数返回不同的整数2. 哈希碰撞多个数据通过哈希算法得到的键值相同&…

数据结构Java--7

排序排序就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作排序的稳定性假若有以下数组,数组中存在两个5,这里区分标记如果排序之后,红色的5仍然在蓝色的5前面,我们就认为该排序…

《Node.js与 Elasticsearch的全文搜索架构解析》

文档数量跨越百万级门槛,传统数据库的查询方式就像在没有索引的图书馆里逐架翻书,不仅耗费时间,更难以捕捉文字背后的深层关联。此时,由Node.js与Elasticsearch共同构建的全文搜索系统,便成了梳理信息脉络的无形之手——它能在毫秒之间,从海量文档中识别用户的真实意图,…

Python人工智能matplotlib中markers属性介绍

在 Matplotlib 中&#xff0c;marker 用于标记数据点&#xff0c;可通过多种参数自定义样式。以下是详细说明及示例&#xff1a; 1. 基础设置常用 marker 类型&#xff1a; . : 点 , : 像素 o : 圆圈 v : 下三角形 ^ : 上三角形 < : 左三角形 >…

【Mac】MLX:Lora微调工作流

本文详细介绍如何在Mac电脑上使用Apple的MLX框架&#xff0c;通过LoRA&#xff08;低秩适配&#xff09;技术对大语言模型&#xff08;如Qwen3-4B-Instruct&#xff09;进行微调。以下流程适用于8月9日的Mac mini M4 16GB&#xff0c;涵盖模型获取、数据准备、微调、运行及模型…

润乾报表、帆软报表的开源替代品—JimuReport(积木报表)

国产报表工具选型指南&#xff1a;润乾报表 vs 积木报表&#xff08;JimuReport&#xff09; 如果你在寻找润乾报表、帆软报表的替代产品&#xff0c;JimuReport&#xff08;积木报表&#xff09;是一个值得考虑的选择。它不仅功能全面&#xff0c;而且操作简单&#xff0c;非常…

Tiger任务管理系统-12

今天整了一个老虎网站介绍这套任务管理开源系统&#xff0c;防止链接丢失&#xff0c;体验了一把AI编程&#xff0c;虽说确实省了很多事&#xff0c;但源码确实不敢恭维&#xff0c;尤其是修改的时候&#xff0c;真心累&#xff0c;所以还是要自己掌握核心&#xff0c;AI一时爽…

智慧农业-无人机视角庄稼倒伏农作物倒伏识别分割数据集labelme格式541张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件)图片数量(jpg文件个数)&#xff1a;541标注数量(json文件个数)&#xff1a;541标注类别数&#xff1a;1标注类别名称:["fall"]每个类别标注的框数&#xff1a;fall co…

电子电气架构 --- 电气/电子架构迁移已拉开帷幕

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

PPT漏斗图,让数据更美观!

PPT漏斗图制作全攻略&#xff1a;从入门到精通的实用技巧和模板推荐 无论你是职场新人还是PPT老手&#xff0c;在做数据报告或者展示项目进度的时候&#xff0c;你总觉得图表太单调&#xff0c;数据太复杂吗&#xff1f;这时&#xff0c;一张逻辑清晰、结构简单的漏斗图&#…

深入解析C++流运算符(>>和<<)重载:为何必须使用全局函数与友元机制

目录 一、为什么需要重载为全局函数 成员函数重载的问题 全局函数的优势 二、实现细节 1、输出运算符<<的重载 关键部分详解 1. 类定义部分 2. 运算符重载实现 3. main函数中的使用 为什么这样设计&#xff1f; 执行流程 输出结果 2、输入运算符>>的重…

ENS-317 Modbus TCP / 通用模式网关

在工业自动化的复杂网络中&#xff0c;以太网设备与串口设备的 “语言不通” 常常成为数据流转的阻碍。上海泗博自动化推出的 ENS-317 Modbus TCP / 通用模式网关&#xff0c;以强大的协议转换能力、灵活的配置方式和工业级可靠性&#xff0c;为设备互联提供一站式解决方案&…