TinyCTS/AL and lwIP
Introduction
Hardware
Software
MicroHTTP Library
Primary ROM file system
Secondary ROM file system
mDNS / LLMNR
Download
 

Introduction

Compared to my examples in the past

I use TinyCTS/AL with lwIP, MicroHTTP and my own ROM files system here.

The ROM file system is used for the primary web file system. As an alternative the plain SD card or xfile can be used too. Further extensions will be added over time.

Hardware

For this example the following boards was used:

Software

The software use the following key components:

For the compiler CrossWorks for ARM v4.6.0 and Segger Embedded Studio v4.52c was used.

MicroHTTP Library

In the moment there exist no separate packages. The MicroHTTP software is an extract from the Ethernut project. More information about MicroHTTP can be find here. The features from MicroHTTP looks very promising.

Primary ROM file system

The ROM file system (romfs) is a read-only file system where the data is placed in the program memory of the CPU. To use the ROM file system as the primary web file system, the file "useromfs.txt" must exist. If this special file does not exist, the SD card is used as the primary file system.

In the example here, the primary ROM file system content can be find in the "\webpage\romfs" folder. The content of the filesystem can be "converted" with the "\webpage\_make_romfs.bat" file. Only the output file of this process "romfs_data.c" must be added to the project too.

Secondary ROM file system

If the plain SD card or xfile should be used, romfs is the secondary file system. Here a default content for the secondary file system is used. This content can be find in the "\common\webpage\romfs" folder. The content of the filesystem can be "converted" with the "\common\webpage\_make_romfs.bat" file. Only the output file of this process "romfs_data.c" must be added to the project too.

Note: The content of the primary file system "\webpage\romfs" must not be used.

Now the content of the primary web file system must be available on the SD card. Therefore the folder "htdocs" on the SD card is used. This folder must contain all the plain files of the web project, or only one "xfile.bin" file. In case of only the "xfile.bin", the xfile file system is used.

If the "xfile.bin" file is used, the file is copied into the RAM and used by the xfile file system.

mDNS / LLMNR

Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server (Source: RFC6762).

The goal of Link-Local Multicast Name Resolution (LLMNR) is to enable name resolution in scenarios in which conventional DNS name resolution is not possible (Source: RFC4795).

With the mDNS / LLMNR service it allows hosts to perform name resolution for hosts on the same local link. It is possible to address the host with e.g. "b3.local".

Download

SD Card (plain) content (3 KB)

SD Card (xfile) content (3 KB)

b3-lwip_20200410 (4.35 MB)

stm32769i-lwip_20200410 (5.55 MB)

6ulevk-lwip_20200614 (2.73 MB, only mDNS / LLMNR and iPerf)

rt1050evk-lwip_20200607 (3.00 MB, only mDNS / LLMNR and iPerf)

ea1062-lwip_20200613 (3.09 MB, only mDNS / LLMNR and iPerf)