Skip navigation

Welcome to the BlackDog Software Development Kit. The SDK consists of two primary sections:

  • The Developer’s Guide, which provides developers with information on how to use the Development Emulator to develop and install applications that run on the BlackDog.
  • A collection of third-party documentation, which may be helpful in creating applications that run on the BlackDog.

To navigate the SDK, click the Developer’s Guide or Third-Party Documentation links at the left to display the Table of Contents. You can also search any part of this SDK by selecting the scope of your search using the Search Another Area link and entering search terms.

BlackDog Developer’s Guide Overview

This developer’s guide consists of eight sections:

  • Introduction. This section describes the intended audience for the SDK and outlines the SDK contents.
  • Installing the SDK. This section describes SDK system requirements, provides instructions for installing and configuring the SDK, and explains host-specific configuration information.
  • System Architecture. This section describes the overall system architecture, networking, graphical windowing, and BlackDog specifications.
  • Developing BlackDog Applications. This section explains guidelines for designing applications, using the development emulator, compiling and debugging applications, accessing the MMC card, accessing BlackDog with SSH, using cross compilers, encrypting files for storage, troubleshooting the BlackDog, and re-imaging the BlackDog on a Linux or Windows host. It also explains how to work with LEDs and user communication, and how to use BlackDog system information.
  • Deploying BlackDog Applications. This section explains how to deploy applications directly to the BlackDog and how to perform software updates on the BlackDog.
  • BlackDog Boot Sequence. This section describes BlackDog boot scripts, how to modify the authentication sequence, the BlackDog boot sequence on a Windows host, and how to implement BlackDog shutdown notification in an application.
  • BlackDog Reference and Sample Applications. This section describes the three BlackDog reference applications: Login, Fingerprint Trainer, and Realm-networking (user_nat). It also describes the two BlackDog sample applications: Launcher, and Xdialog.
  • BlackDog to Host Communications. This section describes how to work with user networking, and how to establish direct communications with the host.

Third Party Documentation Overview

The SDK includes a number of third party tools to aid in development. This document includes copies of the documentation for the major tools and libraries so that you have the information at your fingertips. Including the third party documents in the SDK also allows you to perform searches over these documents.

Core System Libraries

This table provides descriptions of libraries that support core system functionality.

Tool Description
GNU C Library Glibc, also known as libc6, is the GNU project’s Standard C library.
Kernel Documentation for programming for the Linux kernel.
PAM Documentation for Linux PAM.
Debian Debian New Maintainer’s Guide and dh_make documentation.
crypto The OpenSSL cryptographic library documentation.

Development Utilities

This table describes third party tools that support basic development in the SDK.

Tool Description
GNU Binary Utilities (binutils) The GNU Binutils is a collection of programming tools developed by the Free Software Foundation for the manipulation of object code in various object file formats. They are typically used in conjunction with GCC, make and GDB.
GCC The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. It is free software distributed by the Free Software Foundation (FSF) under the GNU GPL, and is a key component of the GNU toolchain. It is the standard compiler for the open source Unix-like operating systems, and certain proprietary operating systems derived thereof such as Mac OS.
GDB The GNU Debugger, usually called just GDB, is the standard debugger for the GNU software system. It is a portable debugger which runs on many Unix-like systems and works for many programming languages, including C, C++, and FORTRAN. Originally written by Richard Stallman in 1988, GDB is free software released under the GNU General Public License.
GNU Profiler Gprof is a GNU project tool that helps you increase program efficiency by allowing you to see which parts of a program are taking most of the execution time.
QEMU QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation.

High Level Libraries

This table describes third party tools and libraries that provide common functionality.

Tool Description
Boost provides free peer-reviewed portable C++ source libraries. The SDK includes the program options, threads, and regular expression libraries.
Busybox Information about busybox, the utility that provides many of the UNIX utilities on the BlackDog device.
GTK+ Initially created for the graphics program the GIMP, the GIMP Toolkit — abbreviated as GTK+ — is one of the two most popular widget toolkits for the X Window System, intended for creating graphical user interfaces.GTK+ and Qt have supplanted Motif, previously the most widely-used X widget toolkit.
gtkmm gtkmm is the official C++ interface for the popular GUI library GTK+. Highlights include typesafe callbacks, widgets extensible via inheritance and a comprehensive set of widgets.
libsigc++ libsigc++ implements a typesafe callback system for standard C++. It allows you to define signals and to connect those signals to any callback function, either global or a member function, regardless of whether it is static or virtual.
libstdc++ The standard C++ library, needed for dynamically linked C++ programs.
make Make is a tool which controls the generation of executables and other non-source files of a program from the program’s source files.
OpenSSL OpenSSL is an open source implementation of the SSL and TLS protocols. The core library (written in the C programming language) implements the basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available.
X The X Window System (commonly X11 or X) is a windowing system for bitmap displays. It is the standard graphical interface on Unix, Unix-like operating systems and OpenVMS, and is available for most other modern operating systems.
zlib zlib is an open-source, cross-platform, general-purpose data compression library implementing the DEFLATE compression algorithm.

Have Your Loan Approved Instantly
quick cashEveryone who has ever applied for a bank loan knows that having it approved is no easy task and it doesn’t usually result in quick cash. There is a set procedure that everyone has to go through and your past records are also brought up in the process. The long paperwork, the trips to the bank, the uncomfortable interviews, all add up to an unpleasant experience leaving one feeling like they just dealt with an interrogation. Bank loans do not come easy and once you do get through the painstaking procedure of application, you still cannot be sure if your loan will be approved. You can have your loan rejected on something as simple as not paying a bill on time in the past. On the other hand, quick cash loans through a payday lender are much easier to get by as the application is easy and payment is fast.

No credit checks

When it comes to online instant loans, not much is required to have them approved. The process is very simple and if you have had a bad credit history, it makes no difference whatsoever. Payday lenders do not look into your previous transactions or if you had any trouble paying the money back in the past; all they need to know is that you have a stable job and a bank account. Once that is confirmed, your loan will be approved and the money will be sent to your account in a matter of a few hours. Quick cash loans come with the added benefit of smaller interest rates which makes it easy to pay the money back when the time comes. Now you don’t have to worry about having your past records being looked into as a payday lender completely ignores bad credit history unlike banks. In case of bank loans, if you have had a bad payment history, you can say goodbye to getting yourself another loan. But there’s no need to fret, online instant loans will help you through your tough time.

Online procedure

The quick cash loans process is completely online and does not require for you to make any trips to the lender or any other organization. You just apply for the loan online by filling in a short application form and after that sit back and watch the magic happen. Within a few hours, your loan will be approved and the money will be transferred to your account. The process being online helps a lot of people as a lot of them are reluctant to deal with any bank related procedures. And who can blame them? Having to deal with so many things at once can overwhelm anyone. The online instant loans process on the other hand is so convenient; you barely have to do anything. Every bit of information that you offer is confidential and secure, so much so that it is not even mentioned on your credit reports. No one needs to know that you have applied for a loan and your reasons for applying for a loan do not need to be disclosed to anyone. Whatever your reasons might be; you can get a hold of an instant payday loan in a matter of no time.

Payday loans have brought relief to so many people in need of an instant solution, but you must make sure your lender holds a consumer credit licence: like wonga or Now you don’t have to ask anyone to lend you money or ask any bank for a loan, you can apply for a loan in the comfort of your own home without having to worry about rejection. Payday loans have a guaranteed payout and are considered to be one of the most reliable processes available anywhere.