Garz & Fricke Yocto User Manual

Garz & Fricke Yocto User Manual

Embedded computer systems
Table of Contents

Advertisement

Quick Links

Yocto
User Manual
¡
GUF-Yocto-jethro-9.0-r7707-0
i.MX6
¡
Built on 18.08.2017

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Yocto and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Garz & Fricke Yocto

  • Page 1 Yocto User Manual ¡ GUF-Yocto-jethro-9.0-r7707-0 i.MX6 ¡ Built on 18.08.2017...
  • Page 2 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Important hints Thank you very much for purchasing a Garz & Fricke product. Our products are dedicated to professional use and therefore we suppose extended technical knowledge and practice in working with such products.
  • Page 3: Table Of Contents

    Contents Important hints Introduction Overview The bootloader The Linux kernel The root file system The partition layout Further information Accessing the target system Serial console SSH console Telnet console Uploading files with TFTP Uploading files with SFTP Services and utilities Services 4.1.1 Udev...
  • Page 4: Important Hints

    7.4.2 Developing with Qt Creator Autostart mechanism for user applications Building a Garz & Fricke Yocto Linux system from source General information about Garz & Fricke Yocto Linux systems Build requirements Download and installation of the Garz & Fricke Yocto BSP...
  • Page 5 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 11.1.2 The debugger needs access to the source files 11.1.3 Optimization compiler flags destroy high level language code stepping 11.1.4 The symbol files have to originate from the same compile run as their installed stripped counterparts on the target system 11.1.5 Remote vs.
  • Page 6: Introduction

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 1 Introduction Garz & Fricke systems based on Freescale i.MX6 can be used with an adapted version of Linux, a royalty- free open-source operating system. The Linux kernel as provided by Garz & Fricke is based on extensions by Freescale that currently have not been contributed back into the mainline kernel.
  • Page 7: Overview

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 2 Overview A Garz & Fricke Linux System generally consists of four basic components: the bootloader the Linux kernel the root file system the device configuration These software components are usually installed on separate partitions on the backing storage of the embedded system.
  • Page 8: The Partition Layout

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 2.4 The partition layout As already stated in chapter Overview], the different components of the embedded Linux system are stored in different partitons of the backing-storage. The backing-storage type of i.MX6 is eMMC. In addition to the partitions for the basic Linux components there may be some more partitions depending on the system configuration.
  • Page 9 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ http://ecos.sourceware.org/docs-latest/redboot/redboot-guide.html Information about the Yocto Project can be found at: https://www.yoctoproject.org Documentation of the Yocto Project can be found at: https://www.yoctoproject.org/documentation/current...
  • Page 10: Accessing The Target System

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 3 Accessing the target system A Garz & Fricke hardware platform can be accessed from a host system using the following technologies: Serial console console access over RS-232 Telnet console access over Ethernet encrypted console access and file transfer over Ethernet TFTP file downoad over Ethernet...
  • Page 11: Ssh Console

    If you are using the RS232 connection, you should see debug messages in the terminal from the very first moment when the target is powered. After the boot process has finished, you will see the Linux login shell: Garz & Fricke Yocto BSP (based on Poky) @VERSION@ santaro /dev/ttymxc0 santaro login:...
  • Page 12: Telnet Console

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ To copy the target’s /usr/bin/myapp file back to the host’s current working directory, type: $ scp root@192.168.1.1:/usr/bin/myapp ./myapp 3.3 Telnet console Telnet can be used to access the console. Please note that Telnet must be installed on the host system in order to gain access.
  • Page 13: Uploading Files With Sftp

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ $ cp ./myapp /srv/tftp/ The host system is assumed to have the ip address 192.168.1.100. On the target system, type: root@santaro:~# tftp -g 192.168.1.100 -r myapp -l /usr/bin/myapp 3.5 Uploading files with SFTP You can exchange files between the host system and the target system using an SFTP (Secure FTP) client on the host system.
  • Page 14: Services And Utilities

    OS has been started, others are available permanently. 4.1 Services The services on Garz & Fricke Yocto Linux systems are usually started with start scripts. This is a very common technique on Linux systems. Yocto uses the script for this purpose.
  • Page 15: Udev

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ . /etc/profile case "$\$$1" in start) # Add here command that should execute during system startup. stop) # Add here command that should execute during system shutdown. echo "Usage: ... " >&2 exit 1...
  • Page 16: D-Bus

    SSH Keys The Garz & Fricke yocto images are containing default SSH Keys that are the same on every image. Those keys are used to identify the device when connecting to it from a remote host, to make sure you send your password to the correct device ( and not some Man-in-the-middle ).
  • Page 17: Telnet Service

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ generating ssh ED25519 key... Restarting OpenBSD Secure Shell server: sshdstopped /usr/sbin/sshd (pid 1108) root@gufboardll:~# ll /etc/ssh/ * key * -rw------- 1 root root 668 Sep 23 13:06 /etc/ssh/ssh_host_dsa_key -rw-r--r-- 1 root root 607 Sep 23 13:06 /etc/ssh/ssh_host_dsa_key.
  • Page 18: Module Loading

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Note: Due to the fact that telnet does not use encryption, it is recommended to deactivate this service in final products in order to avoid security leaks. Disabling services is described in the chapter Services].
  • Page 19 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ The hardware watchdog device on SANTAROis capable to execute a hardware reset when not triggered in time. The device node for the hardware watchdog is /dev/watchdog. The watchdog service is able to monitor different system parameters, like the system load, and can take different actions if any system parameter is out of a defined range.
  • Page 20: Garz & Fricke Shared Configuration

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 4.1.8 Garz & Fricke shared configuration sharedconf service reads shared configuration settings from the XML configuration and configures the Linux system accordingly. This includes network (as described in 4.1.6 Network initialization]) and touch configuration.
  • Page 21 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 4: Automatic transfer process from storage medium (left hand) to the targets root file system (right hand) after plugging the storage Warning: The user should be carefull by copying system files that may lead to an unusable system.
  • Page 22: Autostart

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Notes: sconfig replies with its usage-information you still have an OS installed, which doesn’t support en- abling/disabling individual functions. Please update your OS in this case. autojob If querying an autojob function returns no reply, at all, your XML-configuration probably doesn’t contain...
  • Page 23: Cron

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ rbcfg-enable-autojobs.xml: Enables all autojob functions (default behaviour). rbcfg-disable-autojobs.xml: Disables all autojob functions. These may be installed like all other XML-configuration files via the xconfig tool, e.g.: root@santaro:~# export TFTP=172.20.0.146 root@santaro:~# curl tftp://$TFTP/rbcfg-enable-autojobs.xml > /tmp/cfg.xml root@santaro:~# xconfig import -y /tmp/cfg.xml...
  • Page 24: Utilities

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 4.2 Utilities 4.2.1 Garz & Fricke system configuration /etc/init.d/sharedconf script (see 4.1.8 Garz & Fricke shared configuration]) can be used to change the shared system configuration. For this purpose, there is a link to the script at /usr/bin/sconfig...
  • Page 25 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ root@santaro:~# sconfig list serialdiag dhcp 192.168.1.1 mask 255.255.255.0 gateway 192.168.1.100 0x00:0x07:0x8E:0x1C:0x30:0xDD name GFMM01847517 serial 01847517 dhcp2 192.168.1.2 mask2 255.255.255.0 gateway2 192.168.1.100 mac2 0x00:0x00:0x00:0x00:0x00:0x00 serial2 00000000 dhcp_wlan ip_wlan 192.168.1.3 mask_wlan 255.255.255.0 gateway_wlan 192.168.1.100 ssid_wlan assid...
  • Page 26: Power Down Mode

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ echo "nameserver $d" >> /etc/resolv.conf done stop) echo "Usage: $0 {start|stop}" >&2 exit 1 esac To activate this script insert the code into a file in /etc/init.d/resolv-dns-simple.sh, mark it as execuatble it and add it to the runlevel files.
  • Page 27: Reboot, Halt And Poweroff

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 4.2.3 Reboot, Halt and Poweroff As you probably have noticed already, none of our Garz & Fricke devices are equipped with any kind of power- button. This means, they will start booting and running an OS as soon as an external power-supply is connected and turned-on and the only way to turn the device off is to turn off the external power-supply.
  • Page 28: Bootlogo

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 4.2.5 Bootlogo Garz & Fricke systems shipped with displays or HDMI controllers can show a PNG bootlogo on system start up. For this purpose, a custom PNG logo support has been added to the Linux kernel. Custom bootlogos can only be shown under one of the following conditions: A generic bootlogo license (XML file) is installed on the system...
  • Page 29: Web Browser

    There is an onscreen keyboard available, that comes up when a text input is selected. Automatic start on system boot The prebuilt Yocto OS images provided by Garz & Fricke usually starts a small Qt-based demo application automatically after system boot. To enable autostart of the qtwebengine- browser instead, execute the following commands on the console of the device.
  • Page 30: Boot Progress Animation

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ –ssl-cert-dir <dir> Use certificates to trust for ssl/https connections from <dir>, by default the certificates in /etc/ssl/certs/ are used. These certificates are based on the debian ca-certificates package. This package includes PEM files of CA certificates to allow SSL-based applications to check for the authenticity of SSL connections.
  • Page 31: Sendmail

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 7: Custom image of the full bar Example 3 shows how the progress bar looks in boot process with the initial images from Example 2 Figure 8: Progress bar while booting at 30%...
  • Page 32: Add-On Packages

    $ ./GUF-Yocto-jethro-9.0-r7707-0-add-on-chromium.sh --extract /tmp The rpms can now be transfered to the device and installed with the following steps. The package manager in Yocto is called smart. Before we can install the packages, we have to register our package directory as a "channel":...
  • Page 33: Cups

    5.1 CUPS The CUPS add-on adds printer support to the Garz & Fricke Yocto BSP. Please note that only a very limited number of actual printers is officially supported and tested by Garz & Fricke (see the release notes for details).
  • Page 34: Installation

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Tool Website Description valgrind valgrind.org Monitor Execution blktrace Block Layer IO Tracing www.cse.unsw.[...]blktrace.html perf Kernel Profiling perf.wiki.kernel.org/[...] powertop Diagnose Power Consumption and Management 01.org/powertop iperf IP Bandwidth Measurement iperf.fr iftop www.ex-parrot.com/pdw/iftop/ Display Bandwidth Usage...
  • Page 35: Network Monitoring

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 5.2.4 Network Monitoring iperf iPerf is a tool for active bandwidth measurement of IP networks. The iPerf user documentation is located https://iperf.fr/iperf-doc.php#doc As example, we measure the bandwidth available via the loopback device: $ iperf -s & iperf -c localhost ; kill $! iftop iftop is a tool that shows the bandwidth used on network interfaces.
  • Page 36: Accessing The Hardware

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 6 Accessing the hardware This chapter gives a short overview of how to access the different hardware parts and interfaces from within the Linux operating system. It is written universally in order to fit all Garz & Fricke platforms in general.
  • Page 37: Serial Interfaces (Rs-232 / Rs-485 / Mdb)

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ A more detailed documentation of the GPIO handling in the Linux kernel can be found in the documentation directory of the Linux kernel source tree. 6.2 Serial interfaces (RS-232 / RS-485 / MDB) Most of the serial interfaces are exported as TTY devices and thus accessible via their device nodes under /dev/t- tymxc<number>.
  • Page 38: Keypad Connector

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ root@santaro:~# hwclock --show Fri Jun 1 14:51:12 UTC 2012 The RTC time cannot be adjusted directly in one command because only the current system time can be trans- ferred to the RTC. Thus, the system time has to be set first, using the...
  • Page 39: Spi

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 13-18 are used for spi Default: The default setting is: keypad=gpio,i2c 6.6 SPI There are two ways of controlling SPI bus devices from a Linux system: Writing a kernel SPI device driver and accessing this driver from user space by using its interface.
  • Page 40: Can

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 6.8 CAN CAN bus devices are controlled through the SocketCAN framework in the Linux kernel. As a consequence, CAN interfaces are network interfaces. Applications receive and transmit CAN messages via the BSD Socket API.
  • Page 41: Usb

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ frame.can_dlc, frame.data[0]); Example 5 shows how a CAN message with four bytes with the standard ID 0x20 is sent on from the Linux can0 shell, using the cansend tool. The CAN bus has to be physically prepared properly and there has to by at least one other node that is configured to read on this message ID for this task.
  • Page 42: Usb Otg Id Pin Emulation

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 6.9.3 USB OTG ID pin emulation The USB OTG ID pin emulation disables the real OTG ID pin detection when enabled. The activation/deactivation can be executed through a sysfs entry: Activation: root@santaro:~# echo 1 > /sys/class/udc/ci_hdrc.0/device/otg_id_pin_emulation A new sysfs entry to control the ID value through software appears.
  • Page 43: Sd Cards And Usb Mass Storage

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ root@santaro:~# cat /sys/class/backlight/pwm-backlight.0/brightness root@santaro:~# echo 100 > /sys/class/backlight/pwm-backlight.0/brightness Please note that this value is not persistent, i.e. it gets lost when the device is rebooted. In order to change the brightness permanently, it has to be set in the XML configuration, which can be done using the xconfig...
  • Page 44: Touchscreen

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ root@santaro:~# cat /sys/class/hwmon/hwmon0/temp1_max_alarm 6.14 Touchscreen The touchscreen device is used by the application framework (e.g. Qt) via the Linux input subsystem kernel API, i.e. its device node /dev/input/event0. For resistive touchscreens, which require a calibration, the tslib library is used as an inter-layer.
  • Page 45: Hdmi

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Per default, the SRAM is located at /dev/mtd0. A very common use of the SRAM in conjuction with the MTD subsystem is to create a file system on top of it, like shown in the following example.
  • Page 46 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Mandatory settings: default="1" to unblank the monitor during startup with the default resolution. xres="800" yres="600" refresh="60" to set a custom resolution. Optional settings, everything supported by fbset in the subnode <fbset>: Display geometry: vxres=<value>...
  • Page 47: Wlan

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ </hdmi> </variables> </configurationFile> The generated xml file can be imported with: xconfig import hdmi.xml 6.18 WLAN While SANTOKA has a built-in WLAN module, all other Garz & Fricke products support WLAN using WLAN USB dongles. A list of supported devices can be found in the BSP release notes. WPA2 encryption with PSK is supported via the WPA Supplicant tool.
  • Page 48: Building And Running A User Application

    There are two general ways of building your own native application for the target: it can be built either manually, using the cross toolchain of the SDK, or integrated into the BSP, using Yocto and bitbake as a build system.
  • Page 49: Qt-Based Gui User Application

    It might be necessary to change the access rights of the executable first, so that all users are able to execute it. You can find further information about how to build applications for Yocto-based platforms at: https://www.yoctoproject.org/docs/current/adt-manual/adt-manual.html 7.3 Qt-based GUI user application...
  • Page 50: Using The Qt Creator Ide

    Note: The above command assumes that you have extracted the SDK in the default directory under /opt/guf/GUF- Yocto-jethro-9.0-r7707-0-sdk. If the SDK is located in a different directory, you have to change the directory accordingly. Execute the following command to create a Makefile...
  • Page 51 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ This needs to be repeated when the IP address or the ssh key of the device changes. Each time the Qt Creator is startet some environment variables need to be set. It is the same process as in the chapters 7.2 Simple command-line application]...
  • Page 52 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 11: Qt Creator compiler options Optionally the debugger could be configured in the the Debuggers section. Press add to create a new debugger entry and enter the Path here: /opt/guf/GUF-Yocto-jethro-9.0-r7707-0-sdk/sysroots/x86_64-gufsdk-linux/usr/bin/arm- guf-linux-gnueabi/arm-guf-linux-gnueabi-gdb The next step is checking the version the Qt Versions section.
  • Page 53: Developing With Qt Creator

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Please note that the Qt mkspec will hide after setting. Figure 13: Qt Creator kits options If you want to use the debugger open the Debugger view on the left pane of the dialog. In the...
  • Page 54: Autostart Mechanism For User Applications

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 15: Qt Creator kit selection After finishing the wizard you should see the opened main.qml and the project files. Figure 16: The first Qt Quick application in Qt Creator You can now build and deploy the application by clicking the button (the play button in the left bottom corner) or using the shortcut Ctrl-R.
  • Page 55 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ start stop The command can be called by hand to start or stop a specific service. In order to start a service automatically during system boot, a link to the script has to be created in the /etc/rc.d...
  • Page 56 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ root@santaro:~# update-rc.d -f qt-guf-demo remove After system reboot your application will start automatically.
  • Page 57: Building A Garz & Fricke Yocto Linux System From Source

    8.3 Download and installation of the Garz & Fricke Yocto BSP To install a Garz & Fricke Yocto BSP the following files from the CD / USB stick shipped with the starter kit for i.MX6 have to be extracted: GUF-Yocto-jethro-9.0-r7707-0.tar.bz2...
  • Page 58: Building The Bsp For The Target Platform

    OpenEmbedded Bitbake Manual: http://www.yoctoproject.org/docs/2.0/bitbake-user-manual/bitbake-user-manual.html Yocto builds the images from build descriptions called recipes. The recipe to build the Garz & Fricke Linux image is called guf-image. To build this image, call: $ bitbake guf-image This step automatically downloads all necessary parts from the web, builds the native toolchains as well as the target binaries.
  • Page 59: Deploying The Linux System To The Target

    ¡ ¡ 9 Deploying the Linux system to the target A Garz & Fricke Yocto image can be installed on the system’s internal eMMC flash memory using the Garz & Fricke Flash-N-Go System. This is a small RAM-disk-based Linux which is installed on your i.MX6...
  • Page 60: Over The Network Via Tftp

    USB driver or an SD card, along with the Yocto images. Simply put all files into the same folder and insert the storage device into your i.MX6. The TFTP environment variable must not be set. Usually the variable is not set, so you do not have to worry about this.
  • Page 61 ¡ 9.2.3 Control the installation process using parameters With Yocto version 25.0 and above it is possible to add paramters to the update-script call. This can be used to control the update process, add files and install additional features. The options available are:...
  • Page 62: Securing The Device

    At least the password and user suggestions from 10.2 User permissions concept] should be implemented. There is a ssh services enabled by default on Garz & Fricke devices with Yocto. Additionally to the password and user suggestions from 10.2 User permissions concept]...
  • Page 63: Non Root User

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Blocking root access Linux offers the opportunity to disable the root-login for specific services like ssh, or the serial console. Since the root login is is always a popular target for attackers this easy mechanism will decrease the risk for those kinds of brute force attacks.
  • Page 64: Autostart

    OS. The bootselect tool can only change the bootmode when called with root privileges, so following password and user suggestions from 10.2 User permissions concept] should solve this issue.
  • Page 65: Using Secure Network Protocols

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ root@santaro:~# iptables -F root@santaro:~# iptables -A INPUT -j DROP This is the first step is a mandatory preparation for the following steps Open SSH access only: root@santaro:~# iptables -I INPUT 1 -i eth0 -p tcp --dport 22 -m state --state NEW,...
  • Page 66: Debugging

    This is beyond the scope of this manual and not recommended to do by yourself until she/he is familar with Yocto BSP devlopment. The same issue applies to the Linux kernel and external compiled modules. The kernel can’t be compiled entirely with since some parts relay on optimization.
  • Page 67: Remote Vs. Native Debugging

    Fricke Yocto systems. However, this is more complicated since the directories for the symbol files and the source files must be made available from the SDK through e.g. a network file system. So the recommended way for debugging is remote debugging out of the Yocto SDK that is shipped with Garz & Fricke Yocto systems.
  • Page 68: Simple Command Line Application Debugging

    7.2 Simple command-line application] here to show how to set up a remote debugging session with GDB using the Yocto SDK. Though, most of the readers are intersted in using a debugger GUI this chapter is eesential since most debug- ger GUIs for Linux, including Eclipse CDT and QtCreator, are frontends to GDB and the setup require an understanding how GDB works in the background.
  • Page 69 This depends how they are passed to the compiler. So this is the only way to assure that every source path of the whole Yocto BSP is known by the debugger and every source file is found when referenced.
  • Page 70: Kdbg As Simple Gui Debug Frontend

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ done. 0x76fcfac0 in _start () from /opt/guf/GUF-Yocto-jethro-9.0-r7707-0-sdk/sysroots/ imx6guf-guf-linux-gnueabi/lib/ld-linux-armhf.so.3 The execution is halted at the entry point before main. Set a breakpoint to and let the debugger _start main continue execution: (gdb) b main (gdb) c The debugger will continue and the breakpoint will be hit.
  • Page 71 How to invoke GDB in the dialog as shown in Figure 19] as follows: $ arm-guf-linux-gnueabi-gdb -iex "set sysroot /opt/guf/ GUF-Yocto-jethro-9.0-r7707-0-sdk/sysroots/imx6guf-guf-linux-gnueabi set auto- load safe-path /opt/guf/GUF-Yocto-jethro-9.0-r7707-0-sdk/sysroots/imx6guf-guf- linux-gnueabi" `find /opt/guf/GUF-Yocto-jethro-9.0-r7707-0-sdk/sysroots/ imx6guf-guf-linux-gnueabi/usr/src/debug/ -type d -printf '-d %p '` -d $PWD -- fullname --nx KDbg does not have the possibility to enter gdb commands.
  • Page 72 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Exit from KDbg now. The gdbserver controlling myapp on the target is started as in the GDB command line scenario descriped privi- ously: $ ssh root@172.20.55.89 'gdbserver :2345 /tmp/myapp' & Start KDbg again with connecting to target device with the follwoing command out of the...
  • Page 73 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Select main.cpp as shown in Figure 21]. Figure 22: KDbg breakpoint setup Now, a breakpoint can be set by right-clicking on the deired instruction as shown in Figure 22]. Figure 23: KDbg run command...
  • Page 74: Qt Application Debugging

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 24: KDbg breakpoint hit The breakpoinrt hit is indicated by the green arrow as shown in Figure 24]. The further usage of KDbg is self-explaining. Fur further documentation please consult the KDbg reference manual: http://www.kdbg.org/manual...
  • Page 75 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 25: Qt Creator new project creation Create a new project through File->New file or project... as shown in Figure 25]. Figure 26: Qt Creator Qt Widget Application project type selection Select Qt Widgets Application...
  • Page 76 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Name the project myqtapp as shown in Figure 27]. Figure 28: Qt Creator kit selection Select the cross development kit that was created and configured in 7.4.2 Developing with Qt Creator] shown in Figure 28].
  • Page 77 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 31: Qt Creator target installation path setup Add the following lines to myqtapp.pro to set up the installation path of the myqtapp application: linux- * { target.path = /tmp INSTALLS += target as shown in Figure 31].
  • Page 78 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 33: Qt Creator custom remote command to terminate demo app if running Add the command /etc/init.d/qt-guf-demo stop || true as shown in Figure 33] to make sure that the automatically Garz & Fricke demo is stopped if it’s running.
  • Page 79 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ Figure 35: Qt Creator debug start and breakpint hit Finally, debugging can be started s shown in Figure 35]. For more information about Qt Creator debugging consult the debugging part of the reference manual:...
  • Page 80: Related Documents And Online Support

    This document contains product and OS specific information. Additional documentation is available for the use of the bootloader. Title File Name Description GUF-Yocto-jethro-9.0-r7707-0-SANTARO-release-notes.html Contains details about the Yocto Yocto release: change history, known Release restrictions, performed tests, etc. Notes Flash- GF_Flash-N-Go_Manual-<version>.pdf...
  • Page 81: Agnu General Public License V2

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ A GNU General Public License v2 Version 2, June 1991 Copyright ©1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
  • Page 82 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that...
  • Page 83 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License.
  • Page 84: End Of Terms And Conditions

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PRO- GRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,...
  • Page 85 GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ This General Public License does not permit incorporating your program into proprietary programs. If your pro- gram is a subroutine library, you may consider it more useful to permit linking proprietary applications with the...
  • Page 86: B Standard Device Configuration

    Please request detailed information how to customize the configuration for series production from your contact person at Garz & Fricke GmbH. B.1 Operating System OS Type Yocto Linux OS Distribution Version 2.0 Jethro OS Release Version jethro-9.0-r7707-0...
  • Page 87: Services

    GUF-Yocto-jethro-9.0-r7707-0 i.MX6 User Manual ¡ ¡ B.6 Services Service Port Enabled by Default £ ˆ Telnet Server £ ˆ SSH Server (SSH,SFTP,SCP) £ FTP Server HTTP Server not available £ ˆ RPC (sunrpc,portmapper) SNMP Server not available £ OpenVPN 1194 (UDP) £...

Table of Contents