The cb20 machine provides a platform for our Controller Board with Colibri Module hardware using a real time kernel.
Building Images
Note that the cb20 machine requires the meta-ost-toradex layer that is part of meta-ost.
Follow the Setup and Building guide to set up the build environment. Fetch board and processor specific repositories:
meta-freescale, github.com/Freescale/meta-freescale.git, branch scarthgap
meta-freescale-3rdparty, github.com/Freescale/meta-freescale-3rdparty.git, branch scarthgap
meta-toradex-bsp-common, git.toradex.com/meta-toradex-bsp-common.git, branch scarthgap-7.x.y, commit
08d8c39707936895d26767156654226f342c4e8ameta-toradex-nxp, git.toradex.com/meta-toradex-nxp.git, branch scarthgap-7x.y, commit
c8b1e7c44c930edd8ff889ad01ab4a5f636948d8
Next, add the layers to bblayers.conf
BBLAYERS ?= " \
/home/ubuntu/yocto/poky/meta \
/home/ubuntu/yocto/poky/meta-poky \
/home/ubuntu/yocto/poky/meta-yocto-bsp \
\
/home/ubuntu/yocto/meta-openembedded/meta-oe \
/home/ubuntu/yocto/meta-ost/meta-ost \
/home/ubuntu/yocto/meta-ost/meta-ost-toradex \
/home/ubuntu/yocto/meta-toradex-nxp \
/home/ubuntu/yocto/meta-toradex-bsp-common \
/home/ubuntu/yocto/meta-freescale \
/home/ubuntu/yocto/meta-freescale-3rdparty \
"
and change the machine definition in local.conf to
MACHINE = "cb20"
Specifics: EIM Driver and Device Tree
The cb20 board incorporates an FPGA which is connected through the EIM bus instead of two SRAM modules. We use flink to access the FPGA. The relevant part can be found unter the weim node in imx6dl-colibri-cb20.dts:
The ranges property determines the memory areas for 3 chip selects. The size of each region is 32 MB. CS0 starts at 0x08000000 and is used for the FPGA. Only 512 KB are used for the FPGA because the address width is 16 bit. The kernel module maps the amount of memory which is in the reg property of the fpga node.
The property fsl,weim-cs-timing sets 6 configuration registers of the EIM bus (EIM_CS0GCR1, EIM_CS0GCR2, EIM_CS0RCR1, EIM_CS0RCR2, EIM_CS0WCR1 and EIM_CS0WCR2).
The compatible string determines which driver is loaded, in our case it's the flink_eim.ko kernel module (ntb,flink_eim_driver).
Another change in our device tree is on iomux: some gpios are removed due to conflicts with flexcan and eim.
Getting Images
Prebuilt images can be obtained from our Linux Images page. Extract it and flash it onto a SD card or USB stick (see next chapter).
Installing Images
Use the Toradex Easy Installer to load new images.
Updating the bootloader / recovery mode
https://developer.toradex.com/knowledge-base/flashing-linux-on-imx6-modules
https://developer.toradex.com/knowledge-base/imx-recovery-mode#3-colibri-imx6
Developing for the Board
Accessing the Board
The login shell can be accessed through UART-A.
On the Colibri Evaluation board: use a null modem cable. The communication settings are: 115200 8N1.
On our Controller Board (cb20): you need a special USB/TTL-Serial-UART converter cable. The connector on the board is a 6-pin SIL connector, e.g. http://ch.farnell.com/ftdi/ttl-232r-3v3/kabel-usb-ttl-pegel-seriell-umsetzung/dp/1329311.
After plugging it in, your PC should recognize a new network connection and get an IP address in the 192.168.7.0/24 range; most likely 192.168.7.3. Now the board can be reached at 192.168.7.2 over ssh.
| IP | 192.168.7.2 |
| user | ost |
| pw | ost |
The root user is also available over ssh in development images (such as ost-devel image).