150 likes | 223 Views
NET+OS 6.1 Training. Introduction. Dev. Tools binutils 2.12 gcc 3.2.0 newlib 1.11.0 libstdc++ 3.0 gdb 5.3. GHS Multi2000. In Circuit Emulator (Raven). Target. Bootloader. Application. BootP, DHCP,TFTP. Higher Level Networking Protocols. POST Zip Unzip Rem. Update. UDP.
E N D
Dev. Tools binutils 2.12 gcc 3.2.0 newlib 1.11.0 libstdc++ 3.0 gdb 5.3 GHSMulti2000 In Circuit Emulator (Raven) Target Bootloader Application BootP, DHCP,TFTP Higher Level Networking Protocols POST Zip Unzip Rem. Update UDP TCP UDP IP, ICMP IP, ICMP, IGMP, PPP, … OS (ThreadX) NVMEM Driver Ethernet Dev.-Driver DMA. DD. Ser. DD. NVMEM MAC DMA GPIO 2 Serial PHY MEM What is Net+Os?
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
Layer 7 Application FTP Telnet SMTP HTTP SNMP SNMPv2 TFTP NTP Layer 5 Session DNS Layer 4 Transport TCP UDP Layer 3 Network from PPP DHCP BootP from SLIP CSLIP IP to IP ICMP IGMP Layer 2 Data Link 0800 ARP RARP CSLIP 0806 8035 SLIP Ethertype PAP to IP IEEE 802.3 CSMA/CD PPP CHAP 10 Base-T 100 Base-T V.24 10 Base-F 100 Base-F … HPNA V.21 V.22 V.90 Guide to Protocols inside NET+OS
Higher Level Networking Protocols • Easy to use APIs for • POP3 / SMTP • FTP client and server • HTTP • Telnet • SNMP,SNMPv2 • DNS • NTP • Fast IP • Fast UDP void applicationStart (void) { unsigned long rc; unsigned long handle; char to[] = "01739011196@d2-message.de"; //char to[] = "nsso01@marvin.os"; char from[] = "devboard@marvin.os"; char subject[] = "Hi there"; char msg[] = "Howdy."; handle = MCCreate(POP3, 110, "192.168.101.240", \ 25, "192.168.101.240"); rc = MCSendSimpleMail(handle, from, to, subject, msg, strlen(msg)); printf("MCSendSimpleMail returned %d\n", rc); 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 • 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 Systemincludes Interface to ClearCase as well • Event Analyzer
/ home tuttle local x-arm x-m68k … NetOS Cygwin bash usr opt The GNU Development Tools … run in a UNIX shell emulation called Cygwin
Dev. Tools binutils 2.10 gcc 2.95.2 newlib 1.8.1 libstdc++ 2.81 gdb 5.0 Insight/gdbtk Covering the Tools w/ graphical FEs
Nvram – Last Sector of flash – 64K Application Image – image.bin Boot Loader - rom.bin First Sector of Flash – 64K The Boot Up Procedure • Bootloader Image • Application Image
Reset POST fail Error- message pass boot, using DHCP & TFTP DHCP- request Valid Imagein FLASH? no no reply yes no reply after 5 retries wait for reply Error-message reply valid failure TFTP download update? unzip code to RAM yes no zip code to FLASH transfer control to downloaded / unziped code in RAM Boot loaderDoes the same BSP Initialization