The imx7d-pico board is now supported in FSL Community BSP
The imx7d-pico is a TechNexion board defined here. It is now
supported in meta-freescale-3rdparty in the master
branch.
The commits related to this support are listed below:
How to update the software
Downloading the source code
Install the repo
utility:
$ mkdir ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Download the source code:
$ PATH=${PATH}:~/bin
$ mkdir fsl-community-bsp
$ cd fsl-community-bsp
$ repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b master
$ repo sync
Building the image
$ MACHINE=imx7d-pico DISTRO=fslc-framebuffer source setup-environment build
Run bitbake
with the preferred image, for example:
$ bitbake core-image-base
Updating the image
Put the pico board into serial download mode. Please refer to this document at page 3. Turn on the board and connect the USB debug cable to the computer.
The files generated by bitbake
are located in
<fsl-community-bsp-dir>/build/tmp/deploy/images/imx7d-pico
.
Using imx_usb_loader, load
SPL
and u-boot.img
.
$ sudo ./imx_usb SPL
$ sudo ./imx_usb u-boot.img
In the board console, mount the eMMC using the UMS utility.
# ums 0 mmc 0
Bitbake
generates the compressed image, including U-Boot, Kernel and
rootfs. Unpack and load this image by running the following:
$ gunzip -f <generated_image>.wic.gz
$ sudo dd if=<extracted_image>.wic of=/dev/sdX
Turn off the board. Put the board into internal boot mode and turn on the board. The board will boot with the new image.
Updating U-Boot and Kernel
In cases that is needed to change the U-Boot or Kernel binaries, this can be done without changing the complete image.
To build U-Boot (last stable version v2017.09), run the following:
$ export ARCH=arm
$ export CROSS_COMPILE=arm-xxxx
$ make mrproper
$ make pico-imx7d_defconfig
$ make
This generates the binaries SPL
and u-boot.img
.
To update U-Boot put the board into serial download mode and run imx_usb
.
Run the following command to flash the new image to the eMMC.
$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 && sync
$ sudo dd if=u-boot.img of=/dev/sdX bs=1K seek=69 && sync
In case that the boot partition is read-only, please see this post.
To update imx7d-pico.dtb
and zImage
, clone
this
(last stable version 4.13.4) repository and then run the following commands to
generate the new binaries.
$ export ARCH=arm
$ export CROSS_COMPILE=arm-xxxx
$ make mrproper
$ make imx_v6_v7_defconfig
$ make -jN (where N is the number of cores of your host PC)
This will generate imx7d-pico.dtb
and zImage
. Then, run UMS utility in
U-Boot and copy these files to the boot partition of the eMMC.
$ cp imx7d-pico.dtb <path_to_boot_partition>
$ cp zImage <path_to_boot_partition>