Glad to have some company down here in this rabbit hole. I'm using a bash script in MacOS to do the following uuu invocation:
#!/bin/bash
sc_root=$(pwd)
bootloader_image=${sc_root}/build/images/bootloader.bin
emmc_image=${sc_root}/build/images/emmc_img
sudo uuu -b emmc_all ${bootloader_image} ${emmc_image}
Notes:
- bootloader.bin is the output from imx-uboot sources, compiled in Linux (Ubuntu running inside qemu running inside UTM).
- emmc_image contains the bootable Linux partition and the Ext4 rootfs partition -- also compiled/built in Linux
- uuu is compiled from source and invoked in MacOS on an Apple M1 (Arm64).
- uuu is loading to MMC device 2 -- an eMMC soldered to the SoM board
It took a bit of fiddling, but the above eventually worked and remains pretty reliable. I'm currently bringing up a BSP + kernel drivers for the application board, so this script has seen heavy use.
Questions:
1. Are you trying this against a custom SoM, or are you using an EVK?
2. How are you troubleshooting the connection?
3. Does uuu -list show the target as expected?
4. I found the u-boot console helpful when trying to rule out connection/functional issues with MMC devices -- are you able to connect a terminal emulator to the i.MX8M's debug UART?
DM if it's helpful to do a screen share session. I'd be happy to walk thru my setup and show what I've been able to get working so far.
Also, I'm in the process of bringing up a USB driver on MacOS and it's 8M counterpart. I'll update the accepted answer once that's working. The idea is to expose 3 USB endpoints:
- tty console
- lldb/gdb serial transport
- allows for app loading/breakpoint debugging from MacOS host (VSCode)
- eMMC partition mounted in macos
- allows MacOS to transfer files directly to eMMC on SoM.
Hoping to eliminate multiple USB UART cables and do everything over a single USB port on the target device. Let me know if you have any experience with this stuff.