H8S2472 Ethernet Application Note

Total Page:16

File Type:pdf, Size:1020Kb

H8S2472 Ethernet Application Note APPLICATION NOTE H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example Introduction The demonstration project contains software that shows the features and capabilities of the Renesas H8S2472 Ethernet connectivity with open source uIP TCP/IP protocol stack. This project runs on a Renesas Starter Kit board that features an H8S2472 MCU with 34MHz system clock, 512KB of ROM and 40KB of RAM. This application note assumes some experience with Ethernet, TCP/IP, and HTTP. For more introductory material on these subjects please see the references. Target Device H8S2472 RSKH8S2472 Board Contents 1. Overview ........................................................................................................................................... 2 2. How to Run the Demo....................................................................................................................... 2 3. Changes Made to uIP Stack ............................................................................................................. 6 4. Steps to Create a New Web Page .................................................................................................... 6 5. uIP TCP/IP Stack Port Characterizations ......................................................................................... 7 6. Buffer Management........................................................................................................................... 9 7. uIP Stack Demo with DHCP Client ................................................................................................. 14 8. Driver APIs ...................................................................................................................................... 17 REU05B0075-0101/Rev.1.02 September 2008 Page 1 of 30 H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example 1. Overview The uIP TCP/IP stack demonstration software provides an example of Ethernet connectivity and a sample web server application that controls LEDs on the Renesas RSKH8S2472 board. 2. How to Run the Demo The procedure below provides step by step instructions for how to connect demonstration platform to a PC and run it. 2.1 Procedure This application note serves two slightly different demonstration examples: The uIP TCP/IP stack with static IP address and uIP TCP/IP stack with DHCP client. For static IP demonstration, test procedure is given in Section 2.1. Section 7 describes the demonstration example with DHCP client. To execute the demo, configure an unused Ethernet port with a static IP address of 10.10.10.11. Make sure that this Ethernet port is not used to access a corporate network or to a workgroup. If there is not a spare Ethernet port available, follow the procedure in Appendix A to install an USB to Ethernet adaptor. The static IP address of the demonstration software is set to 10.10.10.10, a Class A private IP address. The steps below show how to configure an Ethernet port with a static IP address: 1. Launch Control Panel and open Network Connections. 2. Right click on Local Area Connection and select Properties. Select Internet Protocol (TCP/IP) as shown in Figure 1 and click on Properties. Figure 1 IP Configuration for PC 3. Configure the IP address as shown in Figure 2 and click OK to save. REU05B0075-0101/Rev.1.02 September 2008 Page 2 of 30 H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example Figure 2 IP Address and Subnet Mask Configuration for PC Once the PC Ethernet port configuration is complete, connect a straight RJ-45 Ethernet cable from this port to the Ethernet port of the RSKH8S2472. Power up the RSKH8S2472 with 5V power supply adaptor and make sure that the E10A jumper is removed. This jumper is required when debugging with an E10A debugger and not used when running the demonstration software from the flash. Figure 3 shows the RSKH8S2472 board and its major components. Figure 3 Picture of RSKH8S2472 2.2 Sample Project Directory Structure Figure 4 shows the demonstration sample project directory structure. This application note is provided with the sample demonstration project and it is in the \doc folder. The \src folder contains the source code and has 3 main subfolders: REU05B0075-0101/Rev.1.02 September 2008 Page 3 of 30 H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example bsp, driver and uip. The \src\bsp and \src\driver folders have Renesas board specific source code and the driver for the H8S2472 Ethernet peripheral. The uIP stack is in the \src\uip folder. The open source uIP TCP\IP stack comes with its own documentation and it is in the \src\uip\doc folder. The main.c file is in \src\uip\uip and all the example web pages are in src\uip\apps\webserver\httpd-fs folders. Figure 4 Directory Structure REU05B0075-0101/Rev.1.02 September 2008 Page 4 of 30 H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example 2.3 What to do with the demo Launch a web browser and type in 10.10.10.10 in the URL field. The user sees the welcome page shown in Figure 5. This is also the Front page. Figure 5 uIP Welcome Page All other pages can be access by links provided in the top banner. The file statistics link shows the number of times a specific page is accessed. The network statistics link displays the number of IP, ICMP, and TCP packet reception and transmission information. The network connections link shows the current status of established TCP connections to the uIP stack. The Renesas H8S2472 and the LED control links are new web pages added to the uIP stack to demonstrate sample web applications. The Renesas H8S2472 page displays an H8S2472 logo as shown in Figure 6. Figure 6 H8S Logo Web Page The LED control link displays the page in Figure 7. This page uses the “POST” method to transmit a request to a server. The “POST” method was added by Renesas to uIP stack, which only supports the “GET” method. The difference between the two methods is the “POST” sends all the information from a web page separately from the URL. The “GET” method attaches the information from the web page to the end of the URL. REU05B0075-0101/Rev.1.02 September 2008 Page 5 of 30 H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example Figure 7 LED Control Web Application Page From this web page, the user can turn on and off the LEDs on the RSKH8S2472. The Reset button selects the off setting for all LEDs. 3. Changes Made to uIP Stack The following changes were made to the uIP stack to create the demonstration software. The changes discussed below are shown in detail in Appendix C. 1. Added “POST” method processing to http.c. 2. Added LED control processing to main.c. 3. Exchanged uIP driver function calls with H8S2472 specific ones in main.c 4. Added logo.jpg, Renesas.shtml, and led.shtml files to apps\webserver\httpd-fs\ directory. 5. Created makefadata.exe from makefsdata Perl script. This executable is included into the demonstration software in apps\webserver\ directory to make it easier for the user to generate the httpd-fsdata.c file without the need to find and install a Perl interpreter. If a Perl interpreter is needed, a free copy of ActivePerl can be downloaded from http://www.activestate.com/Products/activeperl/. 6. Processed the files in apps\webserver\httpd-fs\ directory to generate the new httpd-fs.data.c file. This file contains static constant data to create web pages. 4. Steps to Create a New Web Page A new web page can be easily created and added to the demonstration software by following the steps below. With a little html language knowledge the user can create custom web page applications. All the tools and the information needed are provided with the demo project and in this application note. 1. Write a new web page application. See led.shtml example in Appendix C. 2. Copy it to apps\webserver\httpd-fs\ directory. 3. Run makefsdata.exe from apps\webserver\ direstory to generate the new fttpd-fsdat.c file. 4. Re-build the project. REU05B0075-0101/Rev.1.02 September 2008 Page 6 of 30 H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example 5. uIP TCP/IP Stack Port Characterizations uIP stack was originally developed by Adam Dunkels of the Networked Embedded Systems Group at the Swedish Institute of Computer Science. Currently, is it part of the open source community and can be obtained freely from http://www.sics.se/~adam/uip/index.php/Main_Page. uIP stack includes some higher layer example applications such as web server, web client, Trivial File Transfer Protocol (TFTP), and DNS hostname server. uIP stack is ported to Renesas RSKH8S2472 platform and the web server application is used in the stack demonstration software. This section provides the characterization data for this port. 5.1 Data Throughput Analysis The fping command utility is used to send ICMP messages. ICMP messages are also known as ping requests and ping replies. The utility can be found free of charge at http://www.kwakkelflap.com/fping.html. More information on Fping is given in Appendix B. The other tool used is the network protocol analyzer Ethereal. It has powerful features to capture and analyze Ethernet frames. Ethereal is now called Wireshark and it can be downloaded free from http://www.wireshark.org/. For maximum throughput measurement, 5,000 ICMP requests with 1472 data bytes are sent at 1ms apart. At this data length IP packets fit perfectly in one maximum length Ethernet frame. The overhead for an ICMP message is 42 bytes. This includes 14 bytes Ethernet, 20 bytes IP, and 8 bytes ICMP headers. Test Input C:\>fping 10.10.10.10 -t 1 -n 5000 -s 1472 Test Output Ping statistics for 10.10.10.10: Packets: Sent = 5000, Received = 5000, Lost = 0 (0% loss) Approximate round trip times in milli-seconds: Minimum = 2.5 ms, Maximum = 3.5 ms, Average = 2.7 ms REU05B0075-0101/Rev.1.02 September 2008 Page 7 of 30 H8S/2472 uIP TCP/IP Protocol Stack Demonstration Example Ethereal Analysis Figure 8 Ethereal Statistical Analysis As seen in Figure 8, total of 10,000 Ethernet frames were captured and the average throughput was 5.348Mbps. 5.2 Analysis of Ethernet Frame Processing At worst case, the maximum processing time for an Ethernet frame is 2.1ms at 32MHz system clock.
Recommended publications
  • AMNESIA 33: How TCP/IP Stacks Breed Critical Vulnerabilities in Iot
    AMNESIA:33 | RESEARCH REPORT How TCP/IP Stacks Breed Critical Vulnerabilities in IoT, OT and IT Devices Published by Forescout Research Labs Written by Daniel dos Santos, Stanislav Dashevskyi, Jos Wetzels and Amine Amri RESEARCH REPORT | AMNESIA:33 Contents 1. Executive summary 4 2. About Project Memoria 5 3. AMNESIA:33 – a security analysis of open source TCP/IP stacks 7 3.1. Why focus on open source TCP/IP stacks? 7 3.2. Which open source stacks, exactly? 7 3.3. 33 new findings 9 4. A comparison with similar studies 14 4.1. Which components are typically flawed? 16 4.2. What are the most common vulnerability types? 17 4.3. Common anti-patterns 22 4.4. What about exploitability? 29 4.5. What is the actual danger? 32 5. Estimating the reach of AMNESIA:33 34 5.1. Where you can see AMNESIA:33 – the modern supply chain 34 5.2. The challenge – identifying and patching affected devices 36 5.3. Facing the challenge – estimating numbers 37 5.3.1. How many vendors 39 5.3.2. What device types 39 5.3.3. How many device units 40 6. An attack scenario 41 6.1. Other possible attack scenarios 44 7. Effective IoT risk mitigation 45 8. Conclusion 46 FORESCOUT RESEARCH LABS RESEARCH REPORT | AMNESIA:33 A note on vulnerability disclosure We would like to thank the CERT Coordination Center, the ICS-CERT, the German Federal Office for Information Security (BSI) and the JPCERT Coordination Center for their help in coordinating the disclosure of the AMNESIA:33 vulnerabilities.
    [Show full text]
  • TCP/IP Enabled Legos
    TCP/IP enabled legOS Student research project University of applied sciences Hamburg March 3, 2002 Olaf Christ [email protected] 1 Abstract In recent years, the interest for connecting small devices such as sensors or embedded systems into an existing network infrastructure (such as the global Internet) has steadily increased. Such devices often have very limited CPU and memory resources and may not be able to run an instance of the TCP/IP protocol suite. This document describes how to use the uIP TCP/IP stack, written by Adam Dunkels, on LEGO’s RCX Mindstorm platform, a very small device / toy powered by a h8300 Hitachi microcontroller with very limited RAM (32K) and processing power. Still, it is powerful enough to run alternative operating systems such as LegOS or even a tiny Java VM as a replacement of the original firmware. The advanced user is usually not satisfied with the original firmware due to its extremely limited capabilities in terms of executing complex code and the very limited number of variables. The uIP TCP/IP stack is intended for embedded systems running on low-end 8 or 16-bit microcontrollers. The code size of uIP is an order of a magnitude smaller than similar generic TCP/IP stacks available today. The uIP code and an up-to-date version of the uIP documentation can be downloaded from the uIP homepage maintained by Adam Dunkels. 2 3 Preface This work has been carried out as a student research project at the University of applied sciences Hamburg in Hamburg, Germany. The proposal was given to me by my supervisor Prof.
    [Show full text]
  • Evaluation of Open Source Operating Systems for Safety-Critical Applications Master’S Thesis in Embedded Electronic System Design
    Evaluation of open source operating systems for safety-critical applications Master’s thesis in Embedded Electronic System Design Petter Sainio Berntsson Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Gothenburg, Sweden 2017 MASTER’S THESIS 2017 Evaluation of open source operating systems for Safety-critical applications Petter Sainio Berntsson Department of Computer Science and Engineering Chalmers University of Technology University of Gothenburg Gothenburg, Sweden 2017 Evaluation of open source operating systems for safety-critical applications Petter Sainio Berntsson © Petter Sainio Berntsson, 2017 Examiner: Per Larsson-Edefors Chalmers University of Technology Department of Computer Science and Engineering Academic supervisor: Jan Jonsson Chalmers University of Technology Department of Computer Science and Engineering Industrial supervisors: Lars Strandén RISE Research Institutes of Sweden Dependable Systems Fredrik Warg RISE Research Institutes of Sweden Dependable Systems Master’s Thesis 2017 Department of Computer Science and Engineering Chalmers University of Technology University of Gothenburg SE-412 96 Gothenburg Telephone +46(0) 31 772 1000 Abstract Today many embedded applications will have to handle multitasking with real-time time constraints and the solution for handling multitasking is to use a real-time operating system for scheduling and managing the real-time tasks. There are many different open source real-time operating systems available and the use of open source software for safety-critical applications is considered highly interesting by industries such as medical, aerospace and automotive as it enables a shorter time to market and lower development costs. If one would like to use open source software in a safety-critical context one would have to provide evidence that the software being used fulfills the requirement put forth by the industry specific standard for functional safety, such as the ISO 26262 standard for the automotive industry.
    [Show full text]
  • TCP/IP Library
    XTCP (6.0.0) TCP/IP Library A library providing two alternative TCP/UDP/IP protocol stacks for XMOS devices. This library connects to the XMOS Ethernet library to provide layer-3 traffic over Ethernet via MII or RGMII. Features • TCP and UDP connection handling • DHCP, IP4LL, ICMP, IGMP support • Low level, event based interface for efficient memory usage • Supports IPv4 only, not IPv6 Stacks This library provides two different TCP/IP stack implementations ported to the xCORE architecture. uIP stack The first stack ported is the uIP (micro IP) stack. The uIP stack has been designed to have a minimal re- source footprint. As a result, it has limited performance and does not provide support for TCP windowing. lwIP stack The second stack ported is the lwIP (lightweight IP) stack. The lwIP stack requires more resources than uIP, but is designed to provide better throughput and also has support for TCP windowing. Typical Resource Usage This following table shows typical resource usage in some different configurations. Exact resource usage will depend on the particular use of the library by the application. Configuration Pins Ports Clocks Ram Logical cores UIP 0 0 0 ~25.7K 1 LWIP 0 0 0 ~63.6K 1 Software version and dependencies This document pertains to version 6.0.0 of this library. It is known to work on version 14.2.4 of the xTIMEcomposer tools suite, it may work on other versions. This library depends on the following other libraries: • lib_otpinfo (>=2.0.0) • lib_ethernet (>=3.2.0) Related application notes The following application notes use this library: • AN00121 - Using the XMOS TCP/IP library Copyright 2017 XMOS Ltd.
    [Show full text]
  • How Embedded TCP/IP Stacks Breed Critical Vulnerabilities
    How Embedded TCP/IP Stacks Breed Critical Vulnerabilities Daniel dos Santos, Stanislav Dashevskyi, Jos Wetzels, Amine Amri FORESCOUT RESEARCH LABS #BHEU @BLACKHATEVENTS Who we are • Daniel dos Santos, Research Manager • Stanislav Dashevskyi, Security Researcher • Jos Wetzels, Security Researcher • Amine Amri, Security Researcher “At Forescout Research Labs we analyze the security implications of hyper connectivity and IT-OT convergence.” FORESCOUT RESEARCH LABS 2 #BHEU @BLACKHATEVENTS Outline • Project Memoria • AMNESIA:33 - vulnerabilities on open-source TCP/IP stacks • Analysis of TCP/IP stack vulnerabilities o Affected components o Vulnerability types & Anti-patterns o Exploitability & Impact • The consequences of TCP/IP stack vulnerabilities • Conclusion & what comes next FORESCOUT RESEARCH LABS 3 #BHEU @BLACKHATEVENTS Project Memoria FORESCOUT RESEARCH LABS 4 #BHEU @BLACKHATEVENTS Project Memoria • Goal: large study of embedded TCP/IP stack security o Why are they vulnerable? How are they vulnerable? What to do about it? o Quantitative and qualitative o Forescout Research Labs and other collaborations 1990s 2020 FORESCOUT RESEARCH LABS 5 #BHEU @BLACKHATEVENTS Embedded Systems Supply chain http://smartbox.jinr.ru/doc/chip-rtos/software.htm Applications / System Distributer / Components Devices Connectivity End User Services Integration Reseller • MCU • IP Cam • Cellular • Library • SoC • Router • LPWAN • Daemon • Modem • ECU • Wi-Fi • Platform FORESCOUT RESEARCH LABS 6 #BHEU @BLACKHATEVENTS Why target protocol stacks? • Wide deployment
    [Show full text]
  • Unmanaged Internet Protocol Taming the Edge Network Management Crisis
    Unmanaged Internet Protocol Taming the Edge Network Management Crisis Bryan Ford Massachusetts Institute of Technology Abstract Though appropriate for core Internet infrastructure, the Inter- net Protocol is unsuited to routing within and between emerg- ing ad-hoc edge networks due to its dependence on hierarchi- cal, administratively assigned addresses. Existing ad-hoc rout- ing protocols address the management problem but do not scale to Internet-wide networks. The promise of ubiquitous network computing cannot be fulfilled until we develop an Unmanaged Internet Protocol (UIP), a scalable routing protocol that man- Figure 1: Today’s Internetworking Challenges ages itself automatically. UIP must route within and between constantly changing edge networks potentially containing mil- lions or billions of nodes, and must still function within edge naming, and management protocols, have evolved around networks disconnected from the main Internet, all without im- the requirements of core network infrastructure: corpo- posing the administrative burden of hierarchical address assign- rate, academic, and government networks deployed and ment. Such a protocol appears challenging but feasible. We managed by skilled network administrators. IP’s hierar- propose an architecture based on self-certifying, cryptographic node identities and a routing algorithm adapted from distributed chical address architecture in particular is fundamentally hash tables. dependent on skilled network management. Current ad- hoc networking protocols by themselves are not sufficient either, because they are only scalable to local-area net- 1 Introduction work sizes of a few hundreds or thousands of nodes. To achieve ubiquitous network computing, we need an The promise of ubiquitous computing is that people will Unmanaged Internet Protocol, or UIP, that combines the soon routinely own many “smart” networked devices, self-management of ad-hoc networks with the scalability some mobile, others perhaps built into their homes and of IP.
    [Show full text]
  • Uip - a Free Small TCP/IP Stack
    uIP - A Free Small TCP/IP Stack Adam Dunkels [email protected] November 25, 2001 Abstract This document describes the uIP TCP/IP stack. The uIP TCP/IP stack is an extremely small implementation of the TCP/IP protocol suite and is intended for embedded systems running low-end 8 or 16-bit micro- controllers. The code size of uIP is an order of magnitude smaller than other generic TCP/IP stacks today. In this document, the philosophy behind uIP is described and de- tailed information of the implementations of the individual protocols is presented. The code size and memory usage in uIP is discussed. Finally, information on how to use and con¯gure uIP in an actual system is given. The uIP code and new versions of this document can be downloaded from the uIP homepage at http://dunkels.com/adam/uip/. This document describes uIP version 0.5. 1 Introduction In recent years, the interest of connecting even small devices to an existing IP network such as the global Internet has increased. In order to be able to communicate over the Internet, an implementation of the TCP/IP protocol stack is needed. uIP is an implementation of the most important parts of the TCP/IP protocol suite. The goal of the uIP implementation is to reduce both the code size and the memory usage to a minimum. uIP is an order of magnitude smaller than any existing generic TCP/IP stack today. uIP is written in the C programming language and is free to distribute and use for both non-commercial and commercial use.
    [Show full text]
  • Enabling Energy Efficient Smart Object Networking at Internet-Scale: Experimental Tools, Software Platform, and Information-Cent
    Enabling Energy Efficient Smart Object Networking at Internet-Scale : Experimental Tools, Software Platform, and Information-Centric Networking Protocols Oliver Hahm To cite this version: Oliver Hahm. Enabling Energy Efficient Smart Object Networking at Internet-Scale : Experimental Tools, Software Platform, and Information-Centric Networking Protocols. Networking and Internet Architecture [cs.NI]. Université Paris-Saclay, 2016. English. NNT : 2016SACLX090. tel-01505064 HAL Id: tel-01505064 https://pastel.archives-ouvertes.fr/tel-01505064 Submitted on 10 Apr 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. NNT : 2016SACLX090 Thèse de doctorat de l’Université Paris-Saclay préparée à Ecole Polytechnique École doctorale n∘580 Sciences et technologies de l’information et de la communication Spécialité de doctorat: Informatique par M. Oliver Hahm Enabling Energy Efficient Smart Object Networking at Internet-Scale Experimental Tools, Software Platform, and Information-Centric Networking Protocols Thèse présentée et soutenue à Berlin, le 01 décembre 2016. Composition du Jury : M. Jochen H. Schiller Professeur (Président du jury) Freie Universität Berlin M. Carsten Bormann Professeur (Rapporteur) Universität Bremen M. Dirk Kutscher Docteur (Rapporteur) Huawei German Research Center M. Anis Laouiti Maître de conférences (Examinateur) Telecom SudParis M.
    [Show full text]
  • Poster Abstract: Making Sensor Networks Ipv6 Ready
    Poster Abstract: Making Sensor Networks IPv6 Ready Mathilde Durvy∗, Julien Abeillé∗, Patrick Wetterwald∗, Colin O’Flynn†, Blake Leverett⋆, Eric Gnoske⋆, Michael Vidales⋆, Geoff Mulligan•, Nicolas Tsiftes‡, Niclas Finne‡, Adam Dunkels‡ {jabeille,mdurvy,pwetterw}@cisco.com, cofl[email protected], {blake.leverett,eric.gnoske,michael.vidales}@atmel.com, [email protected], {nvt,nfi,adam}@sics.se ∗ Cisco Systems, † NewAE, ⋆ Atmel Corporation, • Proto6 LLC, ‡ Swedish Institute of Computer Science ABSTRACT Application 1 Application 2 Application 3 With emerging IPv6-based standards such as 6LowPAN and ISA- 100a, full IPv6 sensor networks are the next major step. With mil- TCP /UDP lions of deployed embedded IPv6 devices, interoperability is of major importance, both within the sensor networks and between IPv6 / ICMPv6 / ND the sensors and the Internet hosts. We present uIPv6, the first IPv6 stack for memory-constrained devices that passes all Phase-1 IPv6 RFC 4944 − 6lowPAN RFC 2464 − Ethernet adaptation layer Ready certification tests. This is an important step for end-to-end 802.15.4 802.11 Ethernet interoperability between IPv6 sensors and any IPv6 capable device. To allow widespread community adoption, we release uIPv6 under a permissive open source license that allows both commercial and Figure 1: The uIPv6 stack runs over any MAC and link layer, non-commercial use. such as 802.15.4/6LowPAN, 802.11, and Ethernet. Categories and Subject Descriptors standardization work within the 6LowPan group [10] has reduced C.2.2 [Computer-Communication Networks]: Network Proto- the header overhead of IPv6, thereby reducing its power consump- cols tion. We present uIPv6, the smallest IPv6 Ready [13] stack available General Terms so far.
    [Show full text]
  • Protocol Implementations for Web Based Control Systems
    122 International Journal of Control,Sugoog Automation, Shon and Systems, vol. 3, no. 1, pp. 122-129, March 2005 Protocol Implementations for Web Based Control Systems Sugoog Shon Abstract: We describe the MiniWeb[7] TCP/IP stack (mIP), which is an extremely small implementation of the TCP/IP protocol suite running 8 or 32-bit microcontrollers intended for embedded control systems, and satisfying the subset of RFC1122 requirements needed for host- to-host interoperability over different platforms. Our TCP/IP implementation does sacrifice some of TCP's mechanisms such as fragmentation, urgent data, retransmission, or congestion control. Our implementation is applicable to web based controllers. The network protocols are tested in operational networks using CommView and Dummynet where the various operational parameters such as bandwidth, delay, and queue sizes can be set and controlled. Keywords: CommView, Dummynet, HTTP, newtrok driver, protocol stack, TCP, UDP. 1. INTRODUCTION of kilobytes have made it impossible to fit the full TCP/IP stack into systems with RAM of a few Recently, the interest in connecting even small kilobytes of data and ROM for less than 100 kilobytes devices to an existing IP network such as the global of code. Internet has increased greatly. In order to be able to There are numerous small TCP/IP implementations communicate over the Internet, implementation of the for embedded systems. The target architectures range TCP/IP protocol stack is needed. With the success of from small 8-bit microcontrollers to 32-bit RISC the Internet, TCP/IP protocol suite has become a architectures. An example of an 8 bit based TCP/IP global standard for communication.
    [Show full text]
  • Native IP Stack for Zephyr™ OS
    Native IP Stack For Zephyr™ OS Zephyr is a trademark of the Linux Foundation. *Other names and brands may be claimed as the property of others. Why a native IP stack? • Features missing in current Contiki based uIP stack •No dual IPv6 & IPv4 stack •Only one bearer (BLE / 802.15.4) usable at a time •One adapter only (like no 2 x 802.15.4 device) •Memory management issues (too big buffers for small amount of networking data) •Difficult to adapt uIP to multithreaded Zephyr OS •Automatic testing of the network stack Why not port 3rd party IP stack? • Use native stack instead of embedding existing stack like lwip or FNET > avoid adaptation layers which cause overhead > use same network buffers everywhere to utilize memory efficiently > unified look and feel of the APIs and code (helps maintenance) > creating testing harness easier with new stack How to do it? • Re-write IPv6 and IPv4 components to enable dual stack •Avoid any adaptation layers by utilizing Zephyr OS services directly • Utilize memory better by enabling IP stack to use smaller buffers that can be linked together • Creating a testing framework to test the stack automatically Key Features Task A Task B • Native dual IPv6 and IPv4 stack Task B • Built around network buffer pools RX FIFO TX FIFO concept, efficient memory TX fiber, management RX fiber one per • Possibility to have Zero/minimal interface copy data path from user space to device driver Network Network • Supports Thread IP requirements interface interface • Native KConfig integration One RX fiber Multiple TX fibers
    [Show full text]
  • Low Power Embedded Software Optimization for the Nuttx RTOS
    INSTITUTO TECNOLÓGICO DE COSTA RICA Tecnológico de Costa Rica GRADUATION PROJECT REPORT TO QUALIFY FOR ELECTRONICS ENGINEER DEGREE . Low power embedded software optimization for the NuttX RTOS Author: Diego Sánchez López January 17, 2013 Abstract This paper presents the study of the implementation for a new feature that al- lows the NuttX RTOS, handling the power consumption in order to optimize it. The project was focused on controlling different power states, following the global trend in portable devices. In this document, it’s explained all the necessary information that was necessary before to start developing all the modules, and also contains all the steps that were followed in order to get the final system. After this project, NuttX is able to handle 4 different power modes, this power modes were designed in order to reduce the power consumption gradually when the RTOS is idle, and also the system is able to return to its higher performance mode when it’s required. Part of the requirements in this project was to built a benchmark application in or- der to verify the functionality of this new feature, in the document is explained not only how this application works, but also all the hardware used in order to acquire the data that were used in the analysis. ii Contents Abstract i Contents v List of Figures vii List of Tables ix 1 Project Background 1 1.1 Introduction .......................................... 1 1.1.1 Problem statement .................................. 2 1.2 Power management strategy ................................. 2 1.3 Goal and objectives ...................................... 6 1.3.1 Goal .......................................... 6 1.3.2 Overall Objective ..................................
    [Show full text]