ZynQ7000-based cross-compilation toolchain Qt+OpenCV+ffmpeg and other library support summary

I recently got in touch with XILINX's ZYNQ board, and I have just been in contact for ten days. XILINX locates it as SOC, and I also agree that it is at least much stronger than the TI positioning MPU for SOC. It is said that TI's latest products have also joined the ZYNQ board this year.

The previous MIPS processor design and implementation project has come to an end, it has been nearly seven months, the results are significant, and a lot of gains, recently planned to engage in ZYNQ.

Previously, MIPS also had a set of cross-compilation tools, but it was provided by the teacher. I also tried to do it myself. It was too hard, and it didn't work out because we needed the LITE version of the MIPS instruction set.

This time is different, ZYNQ integrates two ARM cortex-A9 processors, can support the thumb instruction set and arm instruction set, so I thought it would be easy to cross-compile this aspect, who knows it has been working for a long time.

Host platform: Ubuntu12.04LTS x86-32bit (I installed a dual system, not running under the virtual machine, I really don't recommend running under the virtual machine, too slow)

Target platform: linaro (Ubuntu 11.04 looks like) ARM (Xilinx Zedboard)

Since OpenCV only supports the opening and writing of the AVI standard format by default, it is necessary to add a lot of files such as jpeg, png, etc. of the decoding and encoding library. Therefore, the general process is to cross-compile the libraries that need to be supported, then cross-compile OpenCV and add corresponding library support. The dependencies are as follows:

OpenCV
|--------zlib
|--------jpeg
|--------libpng
|--------zlib
|--------TIff
|--------zlib
|--------ffmpeg
|--------x264
|--------xvidcore
In fact, it does not seem difficult, but the most difficult thing is the intricate relationship between the mutual support of these source packages, basically the wrong one, the author has tried several times and finally found a situation in the current environment. The source package that can be successful, the version is as follows:
Xilinx-arm cross compilation tool: xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
Ffmpeg source package: ffmpeg-0.10.3.tar.bz2
Jpeg source package: jpegsrc.v8d.tar.gz
Png source package: libpng-1.5.14.tar.gz
TIff source package: tiff-4.0.3.tar.gz
X264 source package: x264-snapshot-20120528-2245-stable.tar.bz2
Xvid source package: xvidcore-1.3.2.tar.gz
Zlib source package: zlib127.zip
OpenCV source package: OpenCV-2.4.3.tar.bz2 (I chose 2.4.3, but there is a bug in Windows compiled with mingw32-make may report an error, the official advice for this bug is to upgrade 2.4.4 , 2.4.4 should be used, you can try it, this is no bug)
Qt third-party library: qt-everywhere-opensource-src-4.8.5.tar.gz (I did not use the latest version 5.1, it is said that this version adds a lot of features such as sensors, etc., interested to try)
Because it is difficult to find some of these libraries, the author directly passed to Baidu network disk for download? shareid=3831914682&uk=1092766566
It should be noted that the versions must be correct and must be installed in the following order, otherwise various errors will occur.

-------------------------------------------------- -------------------------------------------------- ---------------

1. Install the xilinx-arm cross compilation tool
The xilinx-arm cross-compiler tool, SourceryCodeBench, is designed for 32-bit machines, so 64-bit machines need to download 32-bit libraries.
Sudo -s enter root privileges (be careful, don't delete files, exit exit)
Apt-get install ia32-libs ia32-libs-gtk

ZynQ7000-based cross-compilation toolchain Qt+OpenCV+ffmpeg and other library support summary

Then you need to change dash to bash, enter
Dpkg-reconfigure dash
The dialog box shown in the figure appears, select No, and change the dash to bash.

ZynQ7000-based cross-compilation toolchain Qt+OpenCV+ffmpeg and other library support summary

Download the xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin file, which is saved in the Downloads folder by default and saved in any location.
Enter the following command to open the file
Cd Downloads // Open the Downloads folder. Depending on the file being saved, such instructions can be changed arbitrarily.
./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin // Open the bin file. Since it is root, it can open any file or you need to use it.
// chmod command assigns permissions to the file and then pops up the following installation interface, all the way accept and next, select Typical installation and Do not modify, install in the default path (/root/CodeSourcery)

ZynQ7000-based cross-compilation toolchain Qt+OpenCV+ffmpeg and other library support summary


ZynQ7000-based cross-compilation toolchain Qt+OpenCV+ffmpeg and other library support summary

After the installation is complete, you need to import the environment variables, you can also modify the bash file (you do not need to import the environment variables each time), the instructions are as follows:

Export ARCH=arm

Export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

Export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/:$PATH

Note: Do not enter an error in $PATH, otherwise you will not be able to run many commands or enter

Gedit /etc/bash.bashrc

Add the following as shown

ZynQ7000-based cross-compilation toolchain Qt+OpenCV+ffmpeg and other library support summary

Save and close gedit and enter

Source /etc/bash.bashrc makes the current settings take effect immediately.

Thermal Relay

Thermal Relay is used to protect AC three-phase asynchronous motor/electric motor against overload and open phase. Korlen electrical appliances produce thermal relay switch in wholesale,being a good thermal overload relay suppliers from china. We also offers Manual Motor Startor , AC Contactor, led light, Circuit Breaker etc.

Thermal Relay,Latching Relay,Reed Relay,Polarized Relay

Wenzhou Korlen Electric Appliances Co., Ltd. , https://www.zjmotorstarter.com