3331|6

1305

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

如何检测确认RP2040板载SPI FlashRAM的真实大小? [复制链接]

我们知道,RP2040板载SPI FlashRAM最高支持16MByte(128Mbit)。那么,我们怎么能知道一块RP2040板载SPI FlashRAM的真实大小?

1、器件型号被擦除,直接看不出来。

2、不想把SPI FlashRAM 从板子上焊下来用编程器读。

3、我试过插入PC,在U盘的形式下写入大于18MByte文件,关闭文件夹后再重新打开(不拔插RP2040板),这个大于18MByte文件是正常可读的。但如果弹出U盘后,再重新插入PC,进入U盘的形式,这个文件消失了。我估计实际上并没写入U盘,而是存在缓存中。所以这个方法检测RP2040板载SPI FlashRAM的真实大小行不通。

 

看看哪位网友有好办法能比较容易的查看RP2040板载SPI FlashRAM的真实大小。

此帖出自消费电子论坛

最新回复

的确是编译时设置的参数,然后可以通过一定方式读取。   micropython中一般不会直接读取物理地址空间,而是通过文件方式,直接创建、写入、读取文件,比扇区简单多了。不过写入文件需要特别小心,因为flash写入速度是比较慢的,如果存在大量写入,容易和其它功能冲突造成一些问题。   详情 回复 发表于 2023-1-2 10:45
点赞 关注(1)
 
 

回复
举报

1万

帖子

25

TA的资源

版主

沙发
 

如果是再UF2 bootloader下,写入文件实际是更新程序。如果文件格式不对将不会更新,你读取的文件实际是计算机缓存的。

 

如果用micropython,可以通过下面方法查看flash和ram大小(这个方法是通用的,大部分micropythhon版本都支持,但是要注意系统会占用一部分空间,因此实际数值比真实物理大小要小):

 

先进入REPL,输入下面指令:

 

flash

 

import os

d = os.statvfs('/flash')

# 文件大小

d[0]*d[2]

# 剩余空间大小

d[0]*d[3]

 

ram

import gc

gc.mem_free()+gc.mem_alloc()

此帖出自消费电子论坛

点评

我认为这个大小是代码编译固件时选择的SPI Flash的大小。并不是真实SPI Flash的大小。 那么问题来了:在MicroPython的世界里,它是怎么管理SPI Flash空间的。我可以读写指定物理地址的空间吗?  详情 回复 发表于 2023-1-1 22:28
d[0]*d[3]这个查得的大小,是SPI Flash真实的大小还是代码里配置的大小?  详情 回复 发表于 2023-1-1 20:56
 
 
 

回复

1305

帖子

0

TA的资源

纯净的硅(高级)

板凳
 

多谢!d[0]*d[3]的单位是什么?Byte?

此帖出自消费电子论坛
 
 
 

回复

1305

帖子

0

TA的资源

纯净的硅(高级)

4
 

另外,这个查得是板载SPI Flash的大小吗?

此帖出自消费电子论坛
 
 
 

回复

1305

帖子

0

TA的资源

纯净的硅(高级)

5
 
dcexpert 发表于 2023-1-1 14:13 如果是再UF2 bootloader下,写入文件实际是更新程序。如果文件格式不对将不会更新,你读取的文件实际是计算 ...

d[0]*d[3]这个查得的大小,是SPI Flash真实的大小还是代码里配置的大小?

此帖出自消费电子论坛
 
 
 

回复

1305

帖子

0

TA的资源

纯净的硅(高级)

6
 
dcexpert 发表于 2023-1-1 14:13 如果是再UF2 bootloader下,写入文件实际是更新程序。如果文件格式不对将不会更新,你读取的文件实际是计算 ...

我认为这个大小是代码编译固件时选择的SPI Flash的大小。并不是真实SPI Flash的大小。

那么问题来了:在MicroPython的世界里,它是怎么管理SPI Flash空间的。我可以读写指定物理地址的空间吗?

此帖出自消费电子论坛

点评

的确是编译时设置的参数,然后可以通过一定方式读取。   micropython中一般不会直接读取物理地址空间,而是通过文件方式,直接创建、写入、读取文件,比扇区简单多了。不过写入文件需要特别小心,因为fla  详情 回复 发表于 2023-1-2 10:45
 
 
 

回复

1万

帖子

25

TA的资源

版主

7
 

的确是编译时设置的参数,然后可以通过一定方式读取。

 

micropython中一般不会直接读取物理地址空间,而是通过文件方式,直接创建、写入、读取文件,比扇区简单多了。不过写入文件需要特别小心,因为flash写入速度是比较慢的,如果存在大量写入,容易和其它功能冲突造成一些问题。

此帖出自消费电子论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表