使用命令将数据写入闪存时如何设置最大SPI闪存大小

10个员额/0个新员额
最后一篇文章
利卓宾
离线
最后一次见到:7个月3周前
加入:2014-08-15 05:08
使用命令将数据写入闪存时如何设置最大SPI闪存大小

我们使用4M位spi闪存。

如果我们使用SmartSnippets.exe工具将数据写入大于0x20000的地址,就可以了。

但是当我们通过命令向闪存写入数据时

“SmartSnippets.exe-类型spi-芯片DA14580-01-com_端口51-波特率57600-cmd写入-文件prox_reporter_img.bin-偏移量491520”,

它返回错误消息

EEPROM存储器偏移量不能大于最大EEPROM地址(0x1FFF)。
内存刻录失败。

如何在使用命令将数据写入闪存时设置最大SPI闪存大小。

设备:
对话
离线
最后一次见到:3个月3周前
工作人员
加入:2013-12-05 14:02
嗨,有人来自

大家好,当地团队的人将在论坛离线后很快回复yuo。BR JE_Dialog

WI_对话框
离线
最后一次见到:1周4天前
工作人员
加入:2014-01-03 16:21
你好

你好
这可能是由于我们的SmartSnippets工具的限制,因为我们没有预见到客户在DA14580 BLE应用程序中使用超过2Mb的闪存(256kB)。将向我们的应用程序团队传达满足您要求的最佳方法。亚博国际官网平台网址
您好,您好

WI_对话框
离线
最后一次见到:1周4天前
工作人员
加入:2014-01-03 16:21
你好

你好
在我们的SDK发行版DA14580_581_SDK_3.0.8.0(例如)中,您可以找到一个名为:
DA14580_581_SDK_3.0.8.0\tools\flash\u programmer\programmer\u itag.uvproj,ORr
DA14580_581_SDK_3.0.8.0\tools\flash\u programmer\programmer\u uart.uvproj
在本项目中打开并编辑spi_flash.c,在第27行找到以下结构:,
const SPI_闪存_设备_参数_BY_JEDEC_ID_t SPI_闪存_已知设备_参数_列表[]=
{
{W25X10_-JEDEC_-ID,W25X10_-JEDEC_-ID_-MATCHING_-BITMASK,W25X10_-TOTAL_-FLASH_-SIZE,W25X10_-PAGE_-SIZE,W25x_-MEM_-PROT_-BITMASK,W25X10_-MEM-PROT_-NONE},
{w25x20_jedec_id,w25x20_jedec_id_matching_bitmask,w25x20_total_flash_size,w25x20_page_size,w25x_mem_prot_bitmask,w25x20_mem_prot_none},
{AT25Dx011\u JEDEC\u ID、AT25Dx011\u JEDEC\u ID\u匹配位掩码、AT25Dx011\u总闪存大小、AT25Dx011\u页面大小、AT25Dx011\u内存保护位掩码、AT25Dx011\u内存保护无},
};
插入新的SPI闪存信息并编译新的二进制十六进制,以替换“Users\??\SmartSnippets\resources”目录中的“Flash\u programmer.bin”。

在该项目中打开并编辑periph_setup.h,在第42行找到以下定义,
#定义SPI闪存默认大小131072//SPI闪存大小(字节)
#定义SPI_闪存_默认_页面256//SPI闪存页面大小(字节)
根据您的SPI闪存进行更改,并编译一个新的二进制十六进制来替换“Users\??\SmartSnippets\resources”目录中的“Flash\u programmer.bin”。
再次启动“SmartSnippets”工具以验证问题是否已修复。
您好,您好。

利卓宾
离线
最后一次见到:7个月3周前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

我已经做了
“打开并编辑此项目中的periph_setup.h,在第42行找到以下定义,
#定义SPI闪存默认大小131072//SPI闪存大小(字节)
#定义SPI_闪存_默认_页面256//SPI闪存页面大小(字节)
根据您的SPI闪存进行更改,并编译一个新的二进制十六进制来替换“Users\??\SmartSnippets\resources”目录中的“Flash\u programmer.bin”
之前

这意味着我已经更换了flash_programmer.bin。

当我使用SmartSnippets.exe UI工具来设置最大SPI闪存大小。
价值
输入key=“SPI\u MEM\u LENGTH”value=“524288”
在“用户\ ??? \ smartsnippets \ preferences.xml”中将被修改为“524288”。
数据将成功写入闪存。

但是如果我使用命令“SmartSnippets.exe-type spi-chip DA14580-01-com_port 51-baudrate 57600-cmd write-file prox_reporter_img.bin-offset 491520”来写入数据,
它将返回错误消息“EEPROM内存偏移量不能大于最大EEPROM地址(0x1FFF)。
内存刻录失败。“

因此,我认为这可能是SmartSnippets.exe的问题所在。
或者在SmartSnippets.exe UI模式下,“Users\??\SmartSnippets\preferences.xml”文件中的参数SPI_MEM_LENGTH将设置为SmartSnippets.exe。
但在命令模式下,我无法找到将SPI_MEM_长度设置为SmartSnippets.exe的方法。

非常感谢您的支持

利卓宾
离线
最后一次见到:7个月3周前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

这个问题的进展如何?

在UI模式下,“Users\?\SmartSnippets\preferences.xml”中的SPI_MEM_长度处于活动状态。我们可以将数据刻录到flash成功。

如何通过命令模式将“Users\?\SmartSnippets\preferences.xml”中的SPI_MEM_长度设置为SmartSnippets.exe。

利卓宾
离线
最后一次见到:7个月3周前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

这个问题的进展如何?

利卓宾
离线
最后一次见到:7个月3周前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

这个问题的进展如何?

WI_对话框
离线
最后一次见到:1周4天前
工作人员
加入:2014-01-03 16:21
你好

你好
已确认SmartSnippets软件中已硬编码支持的限制。此限制将在下一个SmartSnippets中删除。请继续关注我们门户中的更新。
问候,
WI_对话框

利卓宾
离线
最后一次见到:7个月3周前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

非常感谢您的支持

主题锁定