Review the steps under Chapter 3 of the i.MX_Yocto_Project_User'sGuide.pdf on the L4.X LINUX_DOCS to prepare your host machine. Including at least the following essential Yocto packages
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo \ gcc-multilib build-essential chrpath socat libsdl1.2-dev u-boot-tools
Create/Move to a directory where you want to install the AVS yocto build enviroment.
Let's call this as <yocto_dir>
$ cd <yocto_dir> $ repo init -u https://source.codeaurora.org/external/imxsupport/meta-avs-demos -b master -m imx7d-pico-avs-sdk_4.1.15-1.0.0.xml
$ repo sync
Run the avs-setup-demo script as follows to setup your environment for the imx7d-pico board:
$ MACHINE=imx7d-pico DISTRO=fsl-imx-x11 source avs-setup-demo.sh -b <build_sdk>
Where <build_sdk> is the name you will give to your build folder.
After acepting the EULA the script will prompt if you want to enable:
The following Sound Cards are supported on the build:
The script will prompt if you are going to use the Conexant Card. If not then SGTL will be assumed as your selection
Are you going to use Conexant Sound Card [Y/N]?
Next option is to select if you want to pre-install the AVS SDK software on the image.
Do you want to build/include the AVS_SDK package on this image(Y/N)?
If you select YES, then your image will contain the AVS SDK ready to use (after authentication). Note this AVS_SDK will not have WakeWord detection support, but it can be added on runtime.
If your selection was NO, then you can always manually fetch and build the AVS_SDK on runtime. All the packages dependencies will be already there, so only fetching the AVS_SDK source code and building it is required.
At the end you will see a text according with the configuration you select for your image build.
Next is an example for a Preinstalled AVS_SDK with Conxant Sound Card support and WiFi/BT not enabled.
==========================================================
AVS configuration is now ready at conf/local.conf
- Sound Card = Conexant
- AVS_SDK pre-installed
You are ready to bitbake your AVS demo image now:
bitbake avs-image
==========================================================
Go to your <build_sdk> directory and start the build of the avs-image
There are 2 options
Regular Build:
$ cd <yocto_dir>/<build_sdk>
$ bitbake avs-image
With QT5 support included:
$ cd <yocto_dir>/<build_sdk>
$ bitbake avs-image-qt5
The image with QT5 is useful if you want to add some GUI for example to render DisplayCards.
After a build has succesfully completed, the created image resides at
<build_sdk>/tmp/deploy/images/imx7d-pico/
In this directory, you will find the imx7d-pico-avs.sdcard image or imx7d-pico-avs-qt5.sdcard, depending on the build you chose on Step3.
To Flash the .sdcard image into the eMMC device of your PicoPi board follow the next steps:
Download the bootbomb flasher
Follow the instruction on Section 4. Board Reflashing of the Quick Start Guide for AVS kit to setup your board on flashing mode.
Copy the built SDCARD file
$ sudo dd if=imx7d-pico-avs.sdcard of=/dev/sd bs=1M && sync $ sync
Properly eject the pico-imx7d board:
$ sudo eject /dev/sd
Refer to the Quick Start Quide for AVS SDK to fully setup your PicoPi board with Synaptics 2Mic and PicoPi i.mx7D
For a more comprehensive understanding of Yocto, its features and setup; more image build and deployment options and customization, please take a look at the i.MX_Yocto_Project_User's_Guide.pdf document from the Linux documents bundle mentioned at the beginning of this document.
For a more detailed description of the Linux BSP, u-boot use and configuration, please take a look at the i.MX_Linux_User's_Guide.pdf document from the Linux documents bundle mentioned at the beginning of this document.
Hi,
How to add Wifi/BT firmware files in this image. In fsl-image-qt5 I used below command to add firmware fies:
cp sources/meta-edm-bsp-release/recipes-bsp/firmware-bcmdhd/files/firmware-bcmdhd_1.0.1.bak sources/meta-edm-bsp-release/recipes-bsp/firmware-bcmdhd/firmware-bcmdhd_1.0.1.bb
But here in this build environment I am unable to add the firmware files.
After booting i am getting following log.
[ 1586.868675] fw path is /lib/firmware/brcm/fw_bcm4339a0_ag.bin
[ 1586.873308] nvram_path is /lib/firmware/brcm/nvram_ap6335.txt
[ 1586.879786] _dhdsdio_download_firmware: dongle image file download failed
[ 1586.885449] dhd_bus_start: failed to download firmware /lib/firmware/brcm/fw_bcm4339a0_ag.bin
[ 1586.892681] dhdsdio_probe: dhd_bus_start failed
Help me regarding this.
Thanks & Regards,
Ganapathirao
Hi Ganapathirao
The build does not come with the WiFi Support since NXP does not have the right to distribute the firmware (This might change in near future but not today)
However, if you already have the firmware binaries (provided by TechNexion) you can just copy directly those files on runtime on the /lib/firmware/brcm/ directory and that should work.
So your directory on the target should look like this
$ ls /lib/firmware/brcm/
fw_bcm4339a0_ag.bin
fw_bcm4339a0_ag_apsta.bin
nvram_ap6335.txt
bcm4339a0.hcd
fw_bcm43438a0.bin
fw_bcm43438a0_apsta.bin
nvram_ap6212.txt
bcm43438a0.hcd
I appreciate the build and build instructions but as of today, Aug 22, 2018, a number of the upstream packages do not download rendering the demo unbuildable. This is also true of the Morty demo.