m24h作者
2年6个月前修改于 2年6个月前IP:上海
931470
7楼
引用rb_sama发表于6楼的内容
无意冒犯,不要上火,技术讨论,还是回到技术上把🤣任何编程工具都有其存在的价值,Micropython也不例外,我们仅在此讨论效率efficiency我首先声明没有任何贬低您使用Micropython...

你压根就没有理解 我做的东西 具体实现了什么能力

首先 无论是esp_flash_xx()还是esp_partition_xx micropython都早搬过去了 如果够用 我又何必操作MMU 这些都是块操作 而不是直接地址访问 

pgmspace.h的功能 与micropython的machine.memXX() 一样 都是访问虚地址 而不是真实地址 对于AVR或者STM32是可用的 对于esp32是不行的 你连esp32的flash 在什么指针地址都不知道 更不可能知道它是不连续的 是分段操作的

你既然在做调取esp32主flash数据块什么的 你不妨考虑一下 你能否单独读取flash的某个字节  高效地 就好像用指针一样访问 而不是为了某个字节  就调用一次什么函数读取一大块 (或者最多把读取字节数设为1 但是这样就算高效吗) 如果你发现你做不到 你才明白要学什么

正因为我知道你不知道 我又怎么可能上火  或者觉得冒犯呢 看了你的东西 我只是感到白期待了 毕竟我也想知道 有什么我不知道的库函数能够不需要自己操作MMU表 但遗憾的是 看来乐鑫并未提供出来

如果你想深入点esp32  其实这个文章的知识点是很少有人提起 更应该是没有具体其他实现案例的 连说明文档都很难找到的 你根本就不会在官方公布的东西里找到细节 包括MMU表的地址等等 (我也是翻IDF源代码才找到一些痕迹) 可惜了 明珠暗投

深入 请深入 不要停留在肤浅的随便一观上


评论
1
文号 / 931470

千古风流
名片专栏发私信
学术分 1
总主题 68 帖总回复 1007 楼拥有证书:进士 学者 机友
注册于 2020/01/22 18:44:43最后登录 2026/10/31 00:16:32
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:上海

个人简介

个人开源项目: m24h.github.io

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的