Specifications

Chapter 1: Using the NicheStack TCP/IP Stack 1–17
Nios II Simple Socket Server Overview
June 2011 Altera Corporation Using the NicheStack TCP/IP Stack - Nios II Edition Tutorial
Software Architecture
The onion diagram in Figure 1–10 shows the architectural layers of a Nios II
MicroC/OS-II software application.
Each layer encapsulates the specific implementation details of that layer, abstracting
the data for the next outer layer. The following list describes each layer:
Nios II processor system hardware—The core of the onion diagram represents the
Nios II softcore processor and hardware peripherals implemented in the FPGA.
Software device drivers—The software device drivers layer contains the software
functions that manipulate the Ethernet and hardware peripherals. These drivers
know the physical details of the peripheral devices, abstracting those details from
the outer layers.
HAL API—The Altera Hardware Abstraction Layer (HAL) application
programming interface (API) provides a standardized interface to the software
device drivers, presenting a POSIX-like API to the outer layers.
MicroC/OS-II—The MicroC/OS-II RTOS layer provides multitasking and inter-
task communication services to the NicheStack TCP/IP Networking Stack and the
Nios II Simple Socket Server.
NicheStack TCP/IP Stack software component—The NicheStack TCP/IP Stack
software component layer provides networking services to the application layer
and application-specific system initialization layer via the sockets API.
Application-specific system initialization—The application-specific system
initialization layer includes the MicroC/OS-II and NicheStack TCP/IP Stack
software component initialization functions invoked from
main()
, as well as
creates all application tasks, and all the semaphores, queue, and event flag RTOS
inter-task communication resources.
Application—The outermost application layer contains the Nios II Simple Socket
Server task and LED management tasks.
Figure 1–10. Layered Software Model
A
p
p
l
i
c
a
t
i
o
n
A
p
p
l
i
c
a
t
i
o
n
-
s
p
e
c
i
f
i
c
s
y
s
t
e
m
i
n
i
t
i
a
l
i
z
a
t
i
o
n
N
i
c
h
e
S
t
a
c
k
T
C
P
/
I
P
S
t
a
c
k
s
o
f
t
w
a
r
e
c
o
m
p
o
n
e
n
t
M
i
c
r
o
C
/
O
S
-
I
I
H
A
L
A
P
I
S
o
f
t
w
a
r
e
d
e
v
i
c
e
d
r
i
v
e
r
s
Nios II processor
system hardware
Hardware
Software