...
This section describes all the steps required to build a DHCPcHTTP-server 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 DHCPc HTTP-server based project is to start from an existing µC/TCP-IP project.
...
The first step before including the µC/HTTPs HTTP-server 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/HTTPs HTTP-server for many evalboards.
If no project that include µC/TCP-IP is available, you should follow the µC/TCP-IP Getting Started Guide to ensure to have a working project which use fix IP address before installing µC/HTTPsHTTP-server. Then you can follow the following steps to build and run a first µC/HTTPs HTTP-server 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 HTTP server that are not necessarily already included in your project. Therefore, be sure to add µC/CPU, µC/LIB, µC/Commmon and µC/TCP-IP to your project.
Refer to the following manuals for further information about MIcrium modules:.
Including µC/
...
HTTP-server Source Code
Include the following files in your project tree from the µC/HTTPs HTTP-server source code distribution, as indicated in Figure - µC/HTTPs Source Code- HTTP-server Directory Tree.
As indicated in the Figure - µC/HTTPs Source CodeHTTP-server Directory Tree, all the files in the Source folder uC-HTTP/Server/Source path must be added to your project tree. Furthermore, http-s_os.c file of the selected RTOS must be added as well as the generic http-s_os.h file that can be found in the OS folder. as all the files in the uC-HTTP/Common folder.
For the file system, µC/HTTPs HTTP-server uses the network file system layer included with µC/TCP-IP located inside the uC-TCPIP/FS folder. Therefore, the header file net_fs.h
inside this folder must be include to your project, no matter what file system your HTTP server is using.
If a conventional file system is used, the port should be located also inside the uC-TCPIP/FS folder. A port for the µC/FS -V4 file system is already included in this folder. If a file system other than µC/FS is used, a port template is available inside the uC-TCPIP/FS/Template
folder to be customize according to your file system.
If the Static file system is used, the port for this file system is located inside uC/HTTPsHTTP-server. Therefore, the source files http-s_fs_static.c/.h
files under the folder name Static must be include to your project. They are located inside theMicrium/Software/uC-HTTPs/FS/Static
folder. Furthermore, The static file system configuration file template http-s_fs_static_cfg.h
must must be copied in your application directory. This configuration file can be retrieve inside the the folder Cfg (i.e Micrium/Software/uC-HTTPsHTTP/Server/FS/Static/Cfg/Template
folder)
.
Compiler settings
Finally, add the following include paths to your project’s C compiler settings:
\Micrium\Software\uC-HTTPsHTTP
\Micrium\Software\uC-TCPIP
\Micrium\Software\uC-<OS-Version>
...
Copy the files from the uC-HTTP-HTTPs server configuration folder into your application as illustrated in Figure - HTTP-server Copying Template Files.
Panel | ||
---|---|---|
| ||
http-s_cfg.h
is a configuration file used to setup µC/HTTPs HTTP-server module static parameters and and features such as CGI form configuration, dynamic token replacement configurationconfiguration, header field feature, proxy configuration and so on. Refer to section Module Configuration for more details on all the configurations inside http-s_cfg.h
The http-s_instance_cfg.c/.h
pair of files, defines the configuration structure for an HTTP server’s instance (see µC/HTTPs Instance Configuration for more details). If your application requires a secured HTTP server instance, the http-s_instance_secure_cfg.c/.h
pair of files should be used as template instead. The secure template is available in the Examples folder.
Modifying the
...
HEAP memory configuration
The µC/HTTPs HTTP-server 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 value of the #define LIB_MEM_CFG_HEAP_SIZE inside the lib_cfg.h file HEAP memory size of your sample project. You can , refer to section µC/LIB Memory Management Configuration for more details on the heap usage of the µC/HTTPs Module.
Adding µC/
...
HTTP-server application function
Before running the sample application, you will need to add the new funtion, AppInit_HTTPs()
function call, in your app.c application file to initialize and setup the µC/HTTPs HTTP-server module. Section µC/HTTPs Mocule Initiaziation ExampleSample Application gives an example of the main application task inside which the AppInit_HTTPs()
function will be calledhow to initialize µC/HTTP-server and start a web server instance.
This code example will need to be modified in accordance with your project setup. For example,
Adding Additional includes
Since the µC/TCP-IP module was added to the sample project, the following include must be added to the app.c file :
#include <Source#include <Server/Source/http-s.h>
#include <http-s_cfg.h>
#include <http-s <FS/uC-FS-V4/net_fs_static_cfgv4.h> (optional if another file system uC/FS is used)
#include <http <Server/FS/Static/http-s_(instance_name)_cfg.h> (...and other instance configuration files) fs_static.h> (optional if no File system is available in the project)