LOGO パソコン制御をもっと気軽に  
電子制御をもっと気楽に

PlatformIOのFlushメモリーマップ

PlatformIO 2026/01/03

Flash 2MByte RAM 256Kbyte で通常コンパイルするとmemmap_default.ld(抜粋)は以下のように生成されます。

MEMORY
{
    FLASH(rx) : ORIGIN = 0x10000000, LENGTH = 2093056
    RAM(rwx) : ORIGIN =  0x20000000, LENGTH = 256k
    SCRATCH_X(rwx) : ORIGIN = 0x20040000, LENGTH = 4k
    SCRATCH_Y(rwx) : ORIGIN = 0x20041000, LENGTH = 4k
}
PROVIDE ( _EEPROM_start = 270528512 );
PROVIDE ( _FS_start     = 270528512 );
PROVIDE ( _FS_end       = 270528512 );

program用に2093052byte(2044Kbyte)が割り当てられ最終4KbyteにEEPROMが自動的に割り当てられます
次はfilesystemに512Kbyte割り当てる為のpiatform.iniとその場合のmemmap_default.ldです
[env:pico]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = seeed_xiao_rp2040
framework = arduino
board_build.core = earlephilhower
upload_protocol = picotool
lib_extra_dirs = C:\Documents\PlatformIO\Projects\LibrariesForRP2040
board_build.filesystem_size = 512k

MEMORY
{
    FLASH(rx) : ORIGIN = 0x10000000, LENGTH = 1568768
    RAM(rwx) : ORIGIN =  0x20000000, LENGTH = 256k
    SCRATCH_X(rwx) : ORIGIN = 0x20040000, LENGTH = 4k
    SCRATCH_Y(rwx) : ORIGIN = 0x20041000, LENGTH = 4k
}
PROVIDE ( _EEPROM_start = 270528512 );
PROVIDE ( _FS_start     = 270004224 );
PROVIDE ( _FS_end       = 270528512 );

iniファイルに board_build.filesystem_size = 512k を追加するとprogram用に1532Kbyteが割り振られ、 その後ろにファイルシステムが512KByte、そして最後にEEPROMが4Kbyte割り当てられます。

シーブイデブ e-mail:mnakatani@cvdev-jp.com