Building and Running Sample Application

This section describes all the steps required to build a DNSc-based application. The instructions provided in this section are not intended for any particular toolchain, but instead are described in a generic way that can be adapted to any toolchain.

The best way to start building a  DNSc-based project is to start from an existing µC/TCP-IP project. 

Working project with µC/TCP-IP

The first step before including the µC/DNSc is to have a working project with the µC/TCP-IP. As previously mentioned, Micriµm may offer starting example with µC/OS-III kernels and µC/TCP-IP and even with µC/DNSc for many evalboards. 

If no project that includes µC/TCP-IP is available, you should follow the µC/TCP-IP - Getting Started Guide to start with a working TCP/IP  project before starting to integrate µC/DNSc. Then you can follow the following steps to build and run your first µC/DNSc sample application.

Including Additional Modules to the Project

Once you have a working project with your RTOS and µC/TCP-IP additional modules are needed by the Micriµm DNC client that are not necessarily already included in your project. Therefore, be sure to add µC/CPU, µC/LIB and µC/Common to your project.  

Refer to the following manuals for further information about Micrium modules:

µC/TCP-IP Documentation

µC/OS-II Documentation

µC/OS-III Documentation

µC/LIB Documentation

µC/CPU Documentation

µC/Common Module

Optional module

µC/DNSc comes with a set of command that can be executed from a shell command line tool. If you want to use it you have to include µC/Shell to your project:

 µC/Shell Documentation

Including µC/DNSc Source Code

Include the following files in your project tree from the µC/DNSc source code distribution, as indicated in Figure - µC/DNSc Source Code.

Figure - µC/DNSc Source Code


As indicated in the Figure - µC/DNSc Source Code, all the files in the Source folder must be added to your project tree. File under the folder Cmd can be added if µC/Shell is already included in your project.


Compiler settings

Finally, add the following include paths to your project’s C compiler settings:

\Micrium\Software\uC-DNSc
\Micrium\Software\uC-TCPIP
\Micrium\Software\uC-Shell (optional if uC/Shell is used)

Copying and Modifying Template Files

Copy the files from the uC-DNSc configuration folder into your application as illustrated in Figure - Copying Template Files.

Figure - Copying Template Files

DNSc_CfgProject


dns-c_cfg.c/.h pair of files, define µC/DNSc module static parameters and run-time configuration structure. Refer to section Module Configuration for more details on all the configurations inside templates files.

Modifying the HEAP memory configuration

The µC/DNSc Module uses additional heap memory space. Therefore, it is possible that your sample application will require more allocation of heap memory. If ti is the case, you can increase the HEAP memory size of your sample project, refer to section µC/LIB Memory Management Configuration for more details on the heap usage. 

Adding µC/DNSc application function

Before running the sample application, you will need to add the new function call, in your application file to initialize and setup the µC/DNSc module. Section Sample Application gives an example of how to initialize µC/DNSc and resolve a host name. 

This code example will need to be modified in accordance with your project. 

Adding Additional includes

Whew you initialize µC/DNSc and where call API you need to include the following files.

#include <Source/dns-c.h>
#include  <dns-c_cfg.h> (only required for the initialization)