Do all the below steps with battery INSERTED in Bell device. In case of any problems Bell could be hard-reseted by pulling out the battery.
Use D1_eMMC_FlashLoader to burn MCU fuses on Bell device and perform eMMC low-level partitioning:
Ozone
MCUXpresso Integrated Development Environment
At the end USB MSC should be presented to the host.
Use master-bell branch from ecoboot to build ecoboot.bin. Instructions are provided in repository readme.
You can flash bootloader in two ways:
Copy it to Bell filesystem while D1_eMMC_FlashLoader is running and umount the device properly. Wait few seconds before stopping D1_eMMC_FlashLoader and rebooting the device.
Run ecoboot.bin with jlink using tools provided in master-bell branch of ecoboot repository. Copy ecoboot.bin to mounted USB MSC device (to its root folder). Unmount USB MSC device and wait few seconds before rebooting.
Note: If running on P1 Bell prototype, both switches, placed next to JTAG connector, have to be in the OFF position to run bootloader from board after flashing.
Do below steps using MuditaOS
Use lsblk to check Bell device letter (e.g. /dev/sda)
To configure Bell image, use:
./configure.sh bell rt1051 RelWithDebInfo -DWITH_BOARD_REVISION=6
To build Bell image use standard build command, either 'make' or 'ninja'.
You can do it in two ways:
sudo dd if=./BellHybrid.img of=/dev/sdX conv=sparse status=progress
to copy Bell image to Bell device. BellHybrid.img is being build with BellHybrid-disk-img target.
sudo ./pureflash BellHybrid.img /dev/sdX
Pureflash tool is placed in build directory. It will download previously built image into /dev/sdX device and verify its contents.
You can run properly build BellHybrid image using jlink and provided tools. To do that use from root project directory: