使用命令写入Flash时,如何设置最大SPI Flash内存大小

10个帖子/ 0个新帖子
最后发表
lizhuobin
离线
最后看到:7个月3个星期前
加入:2014-08-15 05:08
使用命令写入Flash时,如何设置最大SPI Flash内存大小

我们使用一个4M位spi flash。

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

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

" smartsnipts .exe -type spi -chip DA14580-01 -com_port 51 -baudrate 57600 -cmd write -file prox_reporter_img.bin -offset 491520",

它返回错误信息

EEPROM内存偏移量不能大于最大EEPROM地址(0x1FFFF)。
记忆燃烧失败了。

如何设置使用该命令写入Flash时的最大SPI Flash内存大小。

设备:
JE_Dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2013-12-05 14:02
嗨,有人从

在那里,一些来自本地团队的人会在短时间内从论坛离线回复你。BR JE_Dialog

WI_Dialog
离线
最后看到:1周4天前
工作人员
加入:2014-01-03十六21
你好,

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

WI_Dialog
离线
最后看到:1周4天前
工作人员
加入:2014-01-03十六21
你好,

你好,
在我们的SDK发布版DA14580_581_SDK_3.0.8.0(例如)中,你可以找到一个名为:
DA14580_581_SDK_3.0.8.0 \ \ flash_programmer \ programmer_itag工具。uvproj,奥尔
DA14580_581_SDK_3.0.8.0 \ \ flash_programmer \ programmer_uart.uvproj工具
在这个项目中打开并编辑spi_flash.c,在第27行找到以下结构,
const SPI_FLASH_DEVICE_PARAMETERS_BY_JEDEC_ID_t SPI_FLASH_KNOWN_DEVICES_PARAMETERS_LIST[] =

{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, w25x20_mem_prot_bitmask, W25x20_MEM_PROT_NONE},
{AT25Dx011_JEDEC_ID, AT25Dx011_JEDEC_ID_MATCHING_BITMASK, AT25Dx011_TOTAL_FLASH_SIZE, AT25Dx011_PAGE_SIZE, AT25Dx011_MEM_PROT_BITMASK, AT25Dx011_MEM_PROT_NONE},
};
插入新的SPI Flash信息,编译一个新的二进制十六进制来替换“Users\??\ SmartSnippets \资源”目录。

打开并编辑项目中的peripher_setup .h,在第42行找到以下定义,
#define SPI_FLASH_DEFAULT_SIZE 131072 // SPI Flash内存大小(字节)
#define SPI_FLASH_DEFAULT_PAGE 256 // SPI Flash内存页大小,以字节为单位
根据你的SPI Flash做改变,并编译一个新的二进制十六进制,以取代“用户\??\ SmartSnippets \资源”目录。
再次启动“smarsnippets”工具来验证您的问题是否被修复。
问候,WI_Dialog。

lizhuobin
离线
最后看到:7个月3个星期前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

我做了
"打开并编辑项目中的peripher_setup .h,在第42行找到以下定义,
#define SPI_FLASH_DEFAULT_SIZE 131072 // SPI Flash内存大小(字节)
#define SPI_FLASH_DEFAULT_PAGE 256 // SPI Flash内存页大小,以字节为单位
根据你的SPI Flash做改变,并编译一个新的二进制十六进制,以取代“用户\??资源\ SmartSnippets \“目录”。
之前。

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

当我使用smartsnipts .exe UI工具设置最大SPI Flash内存大小。
的值
输入键= " SPI_MEM_LENGTH " value = " 524288 "
在“Users\?? \SmartSnippets\preferences.xml”中将被修改为“524288”。
数据写入flash成功。

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

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

非常感谢您的支持!!!

lizhuobin
离线
最后看到:7个月3个星期前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

这个问题的进展如何?

在UI模式下,“Users\?? \SmartSnippets\preferences.xml”中的SPI_MEM_LENGTH是活动的。我们可以通过烧数据来实现成功。

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

lizhuobin
离线
最后看到:7个月3个星期前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

这个问题的进展如何?

lizhuobin
离线
最后看到:7个月3个星期前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

这个问题的进展如何?

WI_Dialog
离线
最后看到:1周4天前
工作人员
加入:2014-01-03十六21
你好,

你好,
经确认,smarsnippets软件中硬编码了支持的限制。这个限制将在接下来的SmartSnippets中被移除。请继续关注我们的门户网站的更新。
问候,
WI_Dialog

lizhuobin
离线
最后看到:7个月3个星期前
加入:2014-08-15 05:08
亲爱的WI_Dialog,

亲爱的WI_Dialog,

非常感谢您的支持!!!

主题锁定