SPRACT8 September   2020 66AK2H06 , 66AK2H12 , 66AK2H14

 

  1.   Abstract
  2.   Trademarks
  3. 1Introduction
    1. 1.1 TI Processor SDK RTOS
    2. 1.2 TI NDK
    3. 1.3 66AK2H Device
    4. 1.4 FTP Offering in TI Processor SDK RTOS
  4. 2Hardware and Software
  5. 3Develop the FTP Server on K2H
    1. 3.1 Reference FTP Server Example
    2. 3.2 Create K2H FTP Server Example
    3. 3.3 Test K2H FTP Server Example
  6. 4Performance Tuning
    1. 4.1 Quick Code Check
      1. 4.1.1 FTP Transmitting Code Check
      2. 4.1.2 FTP Receiving Code Check
      3. 4.1.3 CCS Project Optimization
    2. 4.2 Increase the TCP Buffer Sizes
    3. 4.3 UIA CPU Load Instrumentation
    4. 4.4 What Can We Do on the PC Side?
      1. 4.4.1 TCP Window Scaling Check
      2. 4.4.2 Receive Interrupt Coalescing Check
    5. 4.5 What Else Can We Do on the K2H Side?
      1. 4.5.1 TCP/IP Checksum Offloading Check
      2. 4.5.2 NIMU Driver Efficiency Profiling
      3. 4.5.3 Receive Interrupt Coalescing
    6. 4.6 Final FTP Throughput Results
  7. 5Summary
  8. 6References

Hardware and Software

The K2H EVM (https://www2.advantech.com/Support/TI-EVM/EVMK2HX.aspx) is used for the FTP server development and test. The EVM provides connectivity for the four SGMII Gigabit Ethernet ports:

  • An Ethernet PHY is connected to SGMII ports 0 and 1, respectively, to provide a copper interface and routed to a Gigabit RJ-45 connector
  • The SGMII ports 2 and 3 are routed to ports 0 and 1 of the AMC edge connector backplane interface

In the test, the SGMII port 0 is used by directly connecting to a Gigabit Ethernet port of a Windows 10 PC. The software configures the K2H with a fixed IP address 192.168.1.4 by default, the Windows PC has to be on the same subnet 192.168.1.xxx.

The software installer is downloaded from https://software-dl.ti.com/processor-sdk-rtos/esd/K2HK/latest/index_FDS.html. As time of the development, the latest 06_03_00_106 release is used. The installer contains all the packages necessary for the work, except that TI Code Composer Studio (CCS) needs to be downloaded separately. The packages used in the work are listed as follows:

  • SYSBIOS: 6.76.03.01
  • XDCTools: 3.55.02.22
  • PDK K2HK: 4.0.16
  • NDK: 3.61.01.01 + NS: 2.60.01.06
  • UIA: 2.30.01.02
  • Arm Compiler: arm-none-eabi-gcc-7.2.1 (GNU Tools for Arm Embedded Processors 7-2017-q4-major)
  • CCS 9.3.0.00012