Ada Embedded Network Stack
Ada Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Ada_Drivers_Library @ f756d48
demos
src
.gitignore
.gitmodules
LICENSE.txt
Makefile
README.md
anet_stm32f746.gpr
dns.gpr
echo.gpr
ping.gpr

README.md

Ada Embedded Network Stack

Build Status License

This library is a small network stack that implements ARP, IPv4, UDP, DNS and DHCP protocols on top of an Ethernet driver. It can be compiled for a STM32F746 board to provide IPv4 network access to your project. This library is used by the EtherScope project to read network packets and analyze the traffic (See https://github.com/stcarrez/etherscope). The following protocols are supported:

Before build the library you will need:

The Ada_Drivers_Library is imported as part of a Git submodule. To checkout everything, you may use the following commands:

  make checkout

You can build the library with:

  arm-eabi-gnatmake -Panet_stm32f746 -p

Several demo applications are provided to illustrate how you can use the different network features. The demo applications use the DHCP Client to get an IPv4 address and obtain the default gateway and DNS.

Ping

The ping application implements a simple ping on several hosts and displays the ping counters on the STM32F LCD display. The application will also answer to ping requests.

To build the Ping application you may run:

  make ping

And to flash the ping image, you can use:

  make flash-ping

Echo

The echo application shows a simple UDP server that echos the received packet (RFC 862). It listens on UDP port 7, loops to wait for UDP packets, returns them and increment a counter of received packets which is displayed on the STM32 LCD display. The echo application is described in the article: Simple UDP Echo Server on STM32F746

To build the Echo application you may run:

  make echo

And to flash the echo image, you can use:

  make flash-echo

And to test the echo UDP server, you may use the socat command on GNU/Linux. For example:

  echo -n 'Hello! Ada is great!' | socat - UDP:192.168.1.156:7

DNS

The dns application shows a simple DNS client resolver that queries a DNS to resolve a list of hosts.

To build the dns application you may run:

  make dns

And to flash the dns image, you can use:

  make flash-dns

Documentation