The Mudita Pure phone (RT1051 target platform) has an eMMC storage of 16GB.
Due to RT1051 architecture, the executable can be run from SDRAM, DRAM or external flash (eMMC).
No matter which way you want to run the executable, you need to have all the necessary assets.
Everything from $BUILD_FOLDER/sys/ needs to be copied onto the eMMC.
Some assets can be omitted though e.g. for fonts the default fallback font will be used.
An executable can be uploaded directly to the memory in an executable (image) form. J-Link GDB Server enables this. J-Link Server messages "Download 15243 bytes…" represent this way of running the executable. The binary is lost on reset and/or power loss. Booting from SDRAM doesn't involve bootloader.
You need to upload the PurePhone.elf file and then:
./StartJLinkServer.sh in a separate terminal/session../run.sh scriptThe firmware is copied as a file to a special partition. When running from eMMC, the phone will always boot the image file which means it's permanently "flashed".
Booting from eMMC involves bootloader. There needs to be a working bootloader. The bootloader copies the firmware from the file to SDRAM and executes it each time the phone is started.
Files required to boot from eMMC are:
boot.bin.boot.json and .boot.json.crc32pureflash command to burn image into the eMMC card sudo pureflash <PurePhone.img> /dev/sdX Note: Replace /dev/sdX with the disk name you found for your phone after connecting it to your computer.There are two ways to mount the phone as a USB MSC - using a bootloader or Ozone debugger.
If you have a bootloader flashed and working use the following key combination, to mount Mudita Pure as MSC:
FAT partition can be mounted directly by the Linux kernel. LittleFS partition can be mounted via
FUSE using the following command lfsfuse /dev/sdX <mount_point> --block_size=32768