NET+OS 6.1 BSP

Download Report

Transcript NET+OS 6.1 BSP

NET+OS 6.1 Training
Introduction
What is Net+Os?
GHS
Multi2000
Dev. Tools
binutils 2.12
gcc 3.2.0
newlib 1.11.0
libstdc++ 3.0
gdb 5.3
In Circuit Emulator
(Raven)
Target
Bootloader
POST
Zip
Unzip
Rem. Update
BootP,
DHCP,TFTP
Application
Higher Level Networking Protocols
UDP
IP, ICMP
TCP
UDP
IP, ICMP, IGMP, PPP, …
OS (ThreadX)
NVMEM Driver
NVMEM
Ethernet Dev.-Driver
MAC
PHY
DMA. DD.
Ser. DD.
DMA
MEM
GPIO
2 Serial
The Operating System - ThreadX
• ThreadX is the underlying RTOS in NET+OS
• Scalable, high performance, real-time kernel
• Developed by Express Logic
(www.expresslogic.com)
• Included in NET+OS as a library
/netos/lib/32b/tx.a
• Only objects used are linked to the image
• ANSI C compliant
• Source code optionally available
The TCP/IP Stack
• Stack is based on the >>Fusion<< TCP/IP Stack
(former Pacific Softworks)
• Protocols: PPP, ARP/RARP, ICMP, IGMP, IP,
UDP, TCP, DHCP
• Berkeley BSD compliant Socket Interface
• Included in NET+OS as a library
/netos/lib/32b/tcpip.a
• Only objects used are linked to the image
• ANSI C compliant
Guide to Protocols inside NET+OS
FTP
Telnet SMTP
HTTP
SNMP SNMPv2
TFTP
Layer 7
NTP
Application
Layer 5
DNS
Session
TCP
Transport
Layer 3
from
PPP
from
SLIP
CSLIP
Layer 4
UDP
DHCP BootP
Network
to
IP
IP
ICMP IGMP
0800
ARP
0806
RARP
8035
SLIP
10 Base-T
100 Base-T
10 Base-F
100 Base-F
HPNA
Ethertype
to
IP
PAP
IEEE
802.3
CSMA/CD
Layer 2
CSLIP
PPP
CHAP
V.24
V.21
V.22
…
V.90
Data Link
Higher Level Networking Protocols
• Easy to use APIs for
–
–
–
–
–
POP3 / SMTP
FTP client and server
void applicationStart (void)
{
HTTP
unsigned long rc;
unsigned long handle;
Telnet
char to[] = "[email protected]";
//char to[] = "[email protected]";
char from[] = "[email protected]";
SNMP,
char subject[] = "Hi there";
char msg[] = "Howdy.";
SNMPv2
handle = MCCreate(POP3, 110, "192.168.101.240", \
– DNS
25, "192.168.101.240");
rc = MCSendSimpleMail(handle, from, to, subject, msg,
strlen(msg));
– NTP
printf("MCSendSimpleMail returned %d\n", rc);
• Fast IP
• Fast UDP
rc = MCClose(handle);
tx_thread_suspend(tx_thread_identify());
}
Low Level Code
• Board Support Package (BSP) completely available
in source, including device drivers for:
– Network Interface, Loop Back Device
– Serial: UART, SPI, HDLC
– DMA
– I2C, LCD
– USB: Host, Device
– Power Save
GHS - Multi 2000
GHS – Multi 2000
• Green Hills Multi 2000, includes
–
–
–
–
–
–
Project Builder
C/C++ Compiler, Linker, Source Level Debugger
Performance Profiler
Run-time Error Checking
Graphical Function Browser
Version Control System
includes Interface to ClearCase as well
– Event Analyzer
The GNU Development Tools …
run in a UNIX shell emulation called Cygwin
/
home
tuttle
usr
local
x-arm
x-m68k
…
opt
NetOS
Cygwin bash
Covering the Tools w/ graphical FEs
Dev. Tools
binutils 2.10
gcc 2.95.2
newlib 1.8.1
libstdc++ 2.81
gdb 5.0
Insight/gdbtk
GDBTK - Insight – A graphical FE
for GDB
The Boot Up Procedure
• Bootloader Image
• Application Image
Nvram – Last Sector of flash – 64K
Application Image – image.bin
Boot Loader
- rom.bin
First Sector of Flash – 64K
Boot loader
Does the same BSP Initialization
Reset
POST
fail
Errormessage
pass
Valid Image
in FLASH?
boot, using
DHCP & TFTP
no
no reply
yes
valid
DHCPrequest
no reply after
5 retries
Errormessage
wait for
reply
reply
failure
TFTP
download
unzip code
to
RAM
update?
zip code
to
FLASH
yes
no
transfer control to
downloaded / unziped
code in RAM