You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using Simba framework with PlatformIO in Visual Studio Code, and from looking at various scripts and how they parse things, I've almost got SPIFFS generation and upload working. But not quite. Uploading SPIFFS image somehow killed my application, haha.
So, the upload script makes use of mkspiffs tool, and it parses the linker script, for example: "simba.flash.4m.ld", and it doesn't find the RE pattern it expects. The script looks for SPIFFS{start|end|block|page} and it's easy to add them. For example, the Espressif SDK defines them like so:
MEMORY
{
dport0_0_seg : org = 0x3FF00000, len = 0x10
dram0_0_seg : org = 0x3FFE8000, len = 0x14000
iram1_0_seg : org = 0x40100000, len = 0x8000
irom0_0_seg : org = 0x40201010, len = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40500000 );
PROVIDE ( _SPIFFS_end = 0x405FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "local.eagle.app.v6.common.ld"
I tried to add the LD symbols above, but that must not mesh with the #defines in Simba somewhere.
Can you point me in the right direction? Having the ability to pre-initialize SPIFFS and upload them on-demand via PlatformIO task would be very convenient.
The text was updated successfully, but these errors were encountered:
OK, answering myself ... apparently the problem was that Simba uses SPIFFS block and page size that aren't easily customized outside of the source tree. The hardcoded values are block size = 4096, and page size = 256, so the answer was to modify the Simba linker script as attached. simba.flash.4m.ld.txt
I'm using Simba framework with PlatformIO in Visual Studio Code, and from looking at various scripts and how they parse things, I've almost got SPIFFS generation and upload working. But not quite. Uploading SPIFFS image somehow killed my application, haha.
So, the upload script makes use of mkspiffs tool, and it parses the linker script, for example: "simba.flash.4m.ld", and it doesn't find the RE pattern it expects. The script looks for SPIFFS{start|end|block|page} and it's easy to add them. For example, the Espressif SDK defines them like so:
eagle.flash.4m1m.ld: (4MB flash, 1MB SPIFFS)
/* Flash Split for 4M chips /
/ sketch @0x40200000 (~1019KB) (1044464B) /
/ empty @0x402FEFF0 (~2052KB) (2101264B) /
/ spiffs @0x40500000 (~1004KB) (1028096B) /
/ eeprom @0x405FB000 (4KB) /
/ rfcal @0x405FC000 (4KB) /
/ wifi @0x405FD000 (12KB) */
MEMORY
{
dport0_0_seg : org = 0x3FF00000, len = 0x10
dram0_0_seg : org = 0x3FFE8000, len = 0x14000
iram1_0_seg : org = 0x40100000, len = 0x8000
irom0_0_seg : org = 0x40201010, len = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40500000 );
PROVIDE ( _SPIFFS_end = 0x405FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "local.eagle.app.v6.common.ld"
I tried to add the LD symbols above, but that must not mesh with the #defines in Simba somewhere.
Can you point me in the right direction? Having the ability to pre-initialize SPIFFS and upload them on-demand via PlatformIO task would be very convenient.
The text was updated successfully, but these errors were encountered: