Tools and articles

Some of our articles and tools that we use in everyday work

In our work, we pay great attention to education, and to explore new areas of development, which would increase the level of knowledge, not only our employees, but also all the people who are interested in developing in various spheres.

As the processing of this section will be filled with more and more new information and possible we will keep you informed of the new publications

How to build Ridge Run SDK image RidgeRun SDK is not a widely used SDK, however if you intend to work with videos for embedded systems, then you will probably be interested to evaluate this SDK (Official web site RidgeRun SDK). In my case I did my own building, for processors DM368, but precisely for Leopard Board. And the main problem turned out to be that documentation in wiki is not up to date and is not complete. And so for a start, we will need a cross compiler CodeSourcery Toolchain, but precisely 2009q1-203, and also it’s necessary to install DVSDK 4 Texas instruments. The web site indicates that DVSDK can work only with Ubuntu 10.04 LTS 32 and no other way. And here we have some problems because most repositories for 10.04 no longer exist. At the time of writing this article the last version was Ubuntu 16.04 LTS, but it also should not be used, overall it’s possible to build RidgeRun on it, but one will not be able to make img file image of loading SD card. The thing is that in older versions of Ubuntu, after 14.04 in fdisk utility, which is part of build-essential packet, arguments of command string are changed, and some altogether removed. Subsequently when building img file, they will be needed, as running ahead a bit, u-boot installer uses them. It’s possible of course as workaround to try replace fdisk or entire build-essential (which is not so easy), but for me it seemed the best solution once and for all to make separate virtual appliance for compiling, on which to place everything necessary, while repositories are still "alive". And so, I will be using Ubuntu 14.04 virtual appliance. As installers ARM toolchain and DVSDK 4 are written in Java, it will be necessary to install it:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get clean && sudo apt-get update
sudo apt-get install oracle-java6-installer
apt-get install fakeroot git-core gitk subversion
There is a good article about installing Java and changing current version.

CodeSourcery Toolchain

We install CodeSourcery Toolchain, to do this, we will need the following packets:
sudo apt-get install libgtk2.0-0:i386 libxtst6:i386 gtk2-engines-murrine:i386 libstdc++6 libxt6:i386
sudo apt-get install libdbus-glib-1-2:i386 libasound2:i386
And immediately make directory for it /opt/codesourcery
mkdir -p /opt/codesourcery
cd /opt/codesourcery/
Then we download Toolchain and install rights for execution:
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package4573/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi.bin
chmod ugo+x arm-2009q1-203-arm-none-linux-gnueabi.bin
And we run installation:
./arm-2009q1-203-arm-none-linux-gnueabi.bin
There may be an error, that installer could not find bash, then it is necessary to execute:
sudo ln -sf bash /bin/sh
and run installation again. To return everything as before, it’s necessary to execute sudo ln -sf dash /bin/sh. During installation process, it’s important to indicate path to /opt/codesourcery/arm-2009q1 image So subsequently the actual make will search Toolchain precisely there.

DVSDK 4

To install DVSDK 4, we do the same, download, appoint rights, install:
wget -c http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/4_02_00_06/exports/dvsdk_dm368-evm_4_02_00_06_setuplinux sudo chmod a+wrx dvsdk_dm368-evm_4_02_00_06_setuplinux ./dvsdk_dm368-evm_4_02_00_06_setuplinux --forcehost
Only we need to indicate path to installed Toolchain: /opt/codesourcery/arm-2009q1/bin image And it remains to indicate set of utilities, if not yet installed.
sudo apt-get install build-essential checkinstall

RidgeRun SDK

RidgeRun compiler requires Python-2.7.5, but our host has a newer version, and doesn’t want to work with other make in RidgeRun. Then we will have to compile it from sources, but before this I recommend to carry out as much as possible all necessary actions with apt-get, as after installing Python-2.7.5, current apt version will not work, but will ask for its own version, to check current version of python it’s possible using command python-version or python-V. Therefore we install additional packets, which we may need.
sudo apt-get install libdbus-glib-1-dev
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
sudo apt-get install autoconf2.59 libgtk2.0-dev bison flex mono-devel libexpect-perl libusb-dev curl minicom libtool libncurses5-dev
sudo apt-get install texinfo quilt libcrypt-ssleay-perl ccache quilt
Installation of python is relatively simple, only a few commands, the only thing is, I did it under sudo:
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar -xvf Python-2.7.5.tgz
cd Python-2.7.5
./configure
make
sudo checkinstall
dpkg -r python
Installation is not very different to how it’s described in this article, except for version. Now everything is ready to start compiling actual RidgeRun, for this it’s necessary to send a request on http://www.ridgerun.com/downloads of actual SDK, and a link for downloading will be sent to the email, the main thing is to select necessary build in Evaluation SDK Request field, in my case it’s DM368 DM365 (for Leopardboard). After downloading, it’s also necessary to indicate rights to the file and execute:
sudo chmod a+x RidgeRun-SDK-DM36x-Turrialba-Eval-Linux-x86-Install.bin
./RidgeRun-SDK-DM36x-Turrialba-Eval-Linux-x86-Install.bin
It is possible to install multiple times, into different folders, basically installer simply unpackages files, so for example /home/demo/devdir will be suitable. After installing, it will be necessary to go into installation directory and configure SDK:
cd /home/demo/devdir
make config
First make will load necessary packets for RidgeRun into downloads folder and the actual configurator will open, in Installer Configuration settings, in Firmware menu deployment mode, as installation method for a start, better of course to select SD card. image After exiting the configurator, bspconfig file will be created, in images folder, basically that is BSP configuration. Before build, it is possible to check paths:
cd /home/demo/devdir
make env
And try to build SDK:
make
If we receive build error if (!defined(@val)) { then it will be necessary to remove defined manually to receive simply if (!@val) {, and restart compilation process. One should be ready for any surprises, for example, as if to select in configurator anything other than Hello Word example, for example, QT Hello World application, then compilation will not proceed. It won’t happen because make searches QT packet which is no longer available at that address. Therefore it is best to try compile SDK from the start. Compilation results are all in /home/demo/devdir/images, catalog, but it doesn’t contain necessary img to create it, it is required to execute:
make install
Subsequently in images folder will be created an image of SD card, sdcard.img, which remains to record. I was not able to unite VirtualBox with card reader, therefore I use Win32 Disk Imager. If everything was built well, it’s possible to try compile Qt example, to do this, download http://pkgs.fedoraproject.org/repo/pkgs/qt/qt-everywhere-opensource-src-4.8.4.tar.gz file (at this stage it is located here, it can be moved again and found by file name) into downloads folder of actual SDK. Also to create a file with the same name, with sha1, prefix, in way ans similarly to others, qt-everywhere-opensource-src-4.8.4.tar.gz.sha1, and actual sha1 it’s possible to take from file page, ie: 89c5ecba180cae74c66260ac732dc5cb, and empty file qt-everywhere-opensource-src-4.8.4.tar.gz.verified, ч, in order to deceive make, as if it downloaded it and checked it itself. For example with GStream, , it’s necessary to build it, and set it, already set libraries need to exist autoconf automake autopoint libtool (see above), and it’s necessary to download actual GStream:
wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.2.3.tar.xz
Unpack, configure, build, install:
./autogen.sh --noconfigure && GST_PLUGINS_GOOD_DIR=$(pkg-config --variable=pluginsdir gstreamer-plugins-bad-1.0) ./configure
make
make install
Also it’s better to add plugins:
wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.2.3.tar.xz

./configure --prefix=/usr \
         --with-package-name="GStreamer Base Plugins 1.2.3 BLFS" \
         --with-package-origin="http://www.linuxfromscratch.org/blfs/view/svn/" &&
 make
 make install
It remains to run sdk build again, I prefer to do make clean to receive a clean image. In conclusion, I would like to note, that your applications it is possible to place into myapps, folder of the actual sdk, only to specify them in config files based on and similarly to examples to work with them from the menu. And during configuration, not to forget to indicate network settings in Generic SDK configuration, (IPv6 doesn’t work at all, maybe because it was eval version, and perhaps never did work).

Related links:

RidgeRun SDK wen site
RidgeRun SDK Wiki
RidgeRun SDK Errors
Get started Leopard Board DM365
Code Sourcery ARM toolchain 2009q1-203
DVSDK 4 DM365

New comment:

News and Events

This report describes the basic principles of working with the MQ services, particularly RabbitMQ use C#
Legend:
  1. MQ Services — an overview of where the services are used and which one is best to choose?
  2. RabbitMQ — installation and configuration
  3. Push-messaging use RabbitMQ and .NET C#
  4. Integration with other platforms
  5. Alternatives and what to expect next?
More details...
This report describes how to run ASP.NET code on a virtual server for $ 5 per month, and why you should not do
Legend:
  1. Why choose ASP.NET
  2. Why save on the server, if it can be hosted in Azure?
  3. How to run a container locally and remotely
  4. Practical recommendations
More details...