Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Su pe rs ed ed Demo Guide April 2014 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Revision History Date Revision Change 7 April 2014 Revision 1 First release Confidentiality Status Su pe rs ed ed This is a non-confidential document. Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Table of Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 About this document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Microsemi Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ed ed Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Secure Webserver Demo Design Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Requirements and Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Demo Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Demo Design Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Demo Design Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Setting up the Demo Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Board Setup Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Running the Demo Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Running the Secure Webserver Demo with Microsoft Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Running the Secure Webserver Demo with Mozilla Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 rs Appendix 1: Board Setup for Running the Secure Webserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Appendix 2: Jumper Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Appendix 3: Running the Design in Static IP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Product Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 pe Customer Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customer Technical Support Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contacting the Customer Technical Support Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 36 36 36 36 Su Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 My Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Outside the U.S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ITAR Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Revision 1 3 Preface About this document This demo is for SmartFusion®2 system-on-chip (SoC) field programmable gate array (FPGA) devices. It provides instructions on how to use the corresponding reference design. Intended Audience • FPGA designers • Embedded designers • System-level designers References ed ed The following designers using the SmartFusion2 devices: The following references are used in this document: • PolarSSL TLS/SSL protocol: https://polarssl.org/ • lwIP TCP/IP stack: www.sics.se/~adam/lwip/ – http://download.savannah.gnu.org/releases/lwip/ rs • – FreeRTOS stack: www.freeRTOS.org Microsemi Publications SmartFusion2 Microcontroller Subsystem User Guide SmartFusion2 SoC FPGA High Speed Serial Interfaces User Guide • Libero SoC User Guide • SmartFusion2 Development Kit User Guide pe • • Su Refer to the following web page for a complete and up-to-date listing of SmartFusion2 device documentation: www.microsemi.com/products/fpga-soc/soc-fpga/smartfusion2. Revision 1 4 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Introduction This demo explains the Secure Webserver capabilities using transport layer security (TLS) and secure sockets layer (SSL) protocol and TSEMAC of the SmartFusion2 devices. This demo describes: Use of SmartFusion2 Ethernet MAC connected to a serial gigabit media independent interface (SGMII) PHY. • Integration of SmartFusion2 MAC driver with the PolarSSL library (free TLS/SSL protocol library), lwIP TCP/IP stack and the FreeRTOS operating system. • Use of Microsemi® cryptographic system services in the implementation of TLS/SSL protocol. • Implementation of the Secure Webserver application on the SmartFusion2 Development Kit board. • Procedure to run the demo. ed ed • • 10 Mbps • 100 Mbps • 1000 Mbps rs The microcontroller subsystem (MSS) of the SmartFusion2 device has an instance of the TSEMAC peripheral. The TSEMAC can be configured between the host PC and the Ethernet network at the following data transfer rates (line speeds): Refer to the SmartFusion2 Microcontroller Subsystem User Guide for more information on the TSEMAC interface for SmartFusion2 devices. pe Secure Webserver Demo Design Overview The Secure Webserver application supports TLS/SSL security protocol that encrypts and decrypts the messages to secure the communication against message tampering. Communication from the Secure Webserver ensures that the sensitive data can be translated into a secret code that is difficult to tamper the data. The Secure Webserver demo design consists of the following layers: Application Layer Su • • Security Layer • Transport Layer • Firmware Layer Revision 1 5 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Figure 1 shows the block diagram of the Secure Webserver demo design. $SSOLFDWLRQ/D\HU +7736 6HFXULW\/D\HU 7/666/3URWRFRO )UHH5726 ed ed 7UDQVSRUW/D\HU ,Z,37&3,36WDFN )LUPZDUH/D\HU 6PDUW)XVLRQ'HYHORSPHQW.LW +: Figure 1 • Block Diagram of Secure Webserver Demo Design on SmartFusion2 Device Application Layer rs The Secure Webserver application is implemented on the SmartFusion2 Development Kit board. The application handles the HTTPS request from the client browser and transfers the static pages to the client in response to their requests. These pages run on the client (Host PC) browser. Figure 2 shows the block diagram of the connecting server (Secure Webserver application running on SmartFusion2 device) and client (web browser running on Host PC). pe (WKHUQHW &RPPXQLFDWLRQ +RVW3& Su 7/666/&OLHQW :HEEURZVHU 6HULDO7HUPLQDO (PXODWLRQ 3URJUDP Figure 2 • 6PDUW)XVLRQ 1HWZRUN 7/666/6HUYHU $SSOLFDWLRQ 6HULDO&RPPXQLFDWLRQ8$57 Client Server Communication Block Diagram When the URL with IP address (for example, https://10.60.3.120) is typed in the browser, the HTTPS request is sent to the port on the Secure Webserver. The Secure Webserver then interprets the request and responds to the client with the requested page or resource. 6 R e vi s i o n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Security Layer (TLS/SSL Protocol) Internet browsers and Webservers use TLS/SSL protocol to transmit information securely. TLS/SSL protocol is used to authenticate the server and client to establish the secure communication between authenticated parties using encrypted messages. This protocol is layered above the transport protocol, TCP/IP as shown in Figure 1 on page 6. This protocol provides privacy and reliability in data transfers between the client (internet browser) and the Webserver. An Open Source PolarSSL library is used to implement the TLS/SSL protocol for the Secure Webserver application in this demo. Refer to the following URLs for complete TLS/SSL protocol implementation details: Transport Layer Security protocol Version 1.2: http://tools.ietf.org/html/rfc5246 Transport Layer Security protocol Version 1.1: http://tools.ietf.org/html/rfc4346 Transport Layer Security protocol Version 1.0: http://tools.ietf.org/html/rfc2246 Secure Sockets Layer protocol Version 3.0: http://tools.ietf.org/html/rfc6101 ed ed The PolarSSL library includes the cryptographic and TLS/SSL protocol implementations. This library provides the application programming interface functions to implement Secure Webserver application using the TLS/SSL protocol and the software cryptographic algorithms. Refer to https://polarssl.org/ for TLS/SSL protocol library source code written in C and licensing information. Transport Layer (lwIP TCP/IP Stack) The lwIP stack is suitable for the embedded systems because of less resource usage. It can be used with or without the operating system. The lwIP consists of the actual implementations of the IP, ICMP, UDP, and TCP protocols, as well as the support functions such as buffer and memory management. For more information on the design and implementation, refer to www.sics.se/~adam/lwIP/doc/lwIP.pdf. The lwIP is available (under a BSD license) in C source-code format for download from the following address: http://download.savannah.gnu.org/releases/lwIP/ rs RTOS and Firmware Layer FreeRTOS is an open source real time operating system kernel. FreeRTOS is used in this demo to prioritize and schedule the tasks. Refer to http://www.freertos.org for more information and the latest source code. pe The firmware provides the software driver implementation to configure and control the following MSS components: Ethernet MAC • System controller services • MMUART • GPIO • SPI Su • Revision 1 7 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Requirements and Details Table 1 • Reference Design Requirements and Details Reference Design Requirements and Details Description Hardware Requirements Rev C or later SmartFusion2 Development Kit • 12 V adapter • FlashPro4 programmer • USB A to Mini-B cable - Host PC or Laptop Windows 64-bit Operating System Software Requirements ed ed RJ45 cable Libero® System-on-Chip (SoC) for viewing the design files • FlashPro Programming Software v11.3 • SoftConsole v3.4 Host PC Drivers 11.3 USB to UART drivers • HyperTerminal • TeraTerm • PuTTY Browser - rs One of the following serial terminal emulation programs: Mozilla Firefox version 24 or later Internet Explorer version 8 or later pe Demo Design Introduction Su The demo design files are available for download from the Microsemi® website: http://soc.microsemi.com/download/rsc/?f=SF2_Secure_Webserver_tcp_DF The demo design files include: 8 • The Libero SoC hardware project with the SoftConsole firmware project • SPI flash loader • STAPL programming file • readme.txt file R e vi s i o n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Figure 3 shows the top-level structure of the design files. For further details, refer to the readme.txt file. GRZQORDGBIROGHU! VIBVHFXUHBZHEVHUYHUBWFSBGHPRBGI OLEHUR VSLBIODVKBORDGHU VWDSOBSURJUDPPLQJBILOH Figure 3 • ed ed UHDGPHW[W Demo Design Files Top-Level Structure Demo Design Features The demo has the following options: • Blinking LEDs • HyperTerminal Display • SmartFusion2 Google Search Demo Design Description rs The demo design is implemented using an SGMII PHY interface by configuring the TSEMAC for the ten-bit interface (TBI) operation. The TBI is routed through the FPGA fabric onto the SERDES I/Os using the CORETBITOEPCS (TBI to the external physical coding sublayer Soft IP) interface. For more information on the TSEMAC TBI interface, refer to the SmartFusion2 Microcontroller Subsystem User Guide. The demo design comprises: Libero SoC Hardware Project • SoftConsole Firmware Project • SPI Flash Memory Loader Su pe • Revision 1 9 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Libero SoC Hardware Project Figure 4 • Libero Top-Level Design ed ed Figure 4 shows the Libero SoC hardware design implementation for this demo design. rs The Libero Hardware project uses the following SmartFusion2 MSS resources and IPs: 1. TSEMAC TBI interface. 2. MMUART_1 for RS-232 communications on the development kit. 3. SPI: Used to configure the ZL30362 clock synthesizer (supplies reference clock to SERDESIF). pe 4. General purpose input and output (GPIO): Interfaces with the light emitting diodes (LEDs). Su 5. High speed serial interface (SERDESIF) SERDES_IF IP, configured for SERDESIF_0 SGMII lane3 as shown in Figure 5. 10 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide High Speed Serial Interface Configurator Window 6. CORETBITOEPCS bus interface: Acts as a bridge between the TBI and the EPCS interfaces. Su Figure 5 • pe rs ed ed For more information on high speed serial interfaces, refer to the SmartFusion2 SoC FPGA High Speed Serial Interfaces User Guide. 7. Cryptographic system controller services: To implement TLS/SSL protocol. Revision 1 11 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Package Pin Assignments Package pin assignments for LEDs and PHY interface signals are shown in Table 2 and Table 3 on page 12. Table 2 shows the port names for the package pins. Table 2 • LED to Package Pins Assignments Port Name Package Pin A18 LED_2 B18 LED_3 D18 LED_4 E18 LED_5 A20 ed ed LED_1 LED_6 D20 LED_7 E20 LED_8 B20 Table 3 shows the port names and directions for the package pins. Table 3 • PHY Interface Signals to Package Pins Assignments Port Name PHY_MDC PHY_RST Package Pin Output N5 Input R7 rs PHY_MDIO Direction Output N4 SoftConsole Firmware Project pe Invoke the SoftConsole project using the Write Application Code option available under Develop Firmware in the Libero SoC Design Flow window. Refer to the Libero SoC User Guide for more information. The following stacks are used for this demo design: • PolarSSL library version 1.2.8 (https://polarssl.org/) • lwIP TCP/IP stack version 1.4.1 (www.sics.se/~adam/lwIP/) • FreeRTOS (www.freertos.org) Su Figure 1 on page 6 shows the block diagram of the Secure Webserver application on the SmartFusion2 devices used in this demo design. 12 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Su pe rs ed ed Figure 6 shows an example SoftConsole software directory structure of the demo design. Figure 6 • Example SoftConsole Project Explorer Window Revision 1 13 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS The SoftConsole workspace consists of three projects. 1. MSS_CM3_boot_loader – Receives the secure Webserver application image from the host PC using UART interface and stores the image to the SPI flash memory. – Copies the application image from the SPI flash memory to the DDR memory and runs the image from the DDR memory. This project loads the Secure Webserver application image from the SPI flash memory to the DDR memory and runs the application from the DDR memory. Running the application from the DDR memory is required, if the application image does not fit into the eNVM memory. This demo runs the secure Webserver application image from the DDR memory with cache controller enabled. See the SmartFusion2 SoC FPGA Code Shadowing from SPI Flash to DDR Memory Demo User Guide for more information on running the application image from the DDR memory. ed ed 2. Webserver_TCP_MSS_CM3_app This project contains the Secure Webserver application implementation using PolarSSL, LWIP, and FreeRTOS. If the Libero hardware project is regenerated, set the #define MSS_SYS_MDDR_CONFIG_BY_CORTEX macro to 0 in sys_config.h file. Figure 6 on page 13 shows the sys_config.h file selected. The advanced encryption standard (AES) and non-deterministic random bit generator (NRBG) system services are used to implement the Secure Webserver application. The following macros need to be commented for using the PolarSSL AES and software NRBG algorithms. Table 4 • Macros to Enable or Disable System Controller Services System Service AES Macro <download_folder>\sf2_secure_webserver_tcp_demo_df\libero\SoftC onsole\Webserver_TCP_MSS_CM3\Webserver_TCP_MSS_CM3_ap p\polarssl-1.2.8\include\polarssl\aes.h rs #define HW_AES 1 Macro Location NRBG #define HW_NRBG 1 <download_folder>\sf2_secure_webserver_tcp_demo_df\libero\SoftC onsole\Webserver_TCP_MSS_CM3\Webserver_TCP_MSS_CM3_ap p\polarssl-1.2.8\include\polarssl\ssl.h pe Note: The system services AES and NRBG are supported for data security enabled SmartFusion2 device like M2S050TS. If the SmartFusion2 device is not data security enabled, disable the macros mentioned in Table 4. 3. Webserver_TCP_MSS_CM3_hw_platform Su This project contains all the firmware and hardware abstraction layers that correspond to the hardware design. This project is configured as a library and is referenced by the Webserver_TCP_MSS_CM3_app application project. The contents of this folder get over-written every time the root design is regenerated in the Libero SoC software. TLS/SSL Protocol Implementation using PolarSSL Library The TLS/SSL protocol is divided into the following two protocol layers: • Handshake protocol layer • Record protocol layer Handshake Protocol Layer This layer consists of the following sub protocols: 14 • Handshake: Used to negotiate session information between the server and the client. The session information includes session ID, peer certificates, the cipher spec, the compression algorithm, and a shared secret code that is used to generate required keys. • Change Cipher spec: Used to change the key used for encryption between the client and the server. The key is computed from the information exchanged during the client-server handshake. • Alert: Alert messages are generated during the client-server handshake to report an error or a change in status to the peer. R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Figure 7 shows the overview of the TLS/SSL handshake procedure. Refer to http://tools.ietf.org/html/rfc5246 for detailed information on handshake protocol, record protocol and cryptographic algorithms. &OLHQW+RVW3&±:HE%URZVHU 6HUYHU6PDUW)XVLRQ'HYLFH &OLHQW+HOOR &U\SWRJUDSKLFLQIRUPDWLRQ 6HUYHU+HOOR 6HUYHU&HUWLILFDWHNH\H[FKDQJH&OLHQWFHUWLILFDWHUHTXHVW ed ed 6HUYHU+HOOR'RQH &OLHQWFHUWLILFDWHFOLHQWNH\H[FKDQJHFKDQJHFLSKHUVSHF 6HQGVVHFUHWNH\LQIRUPDWLRQHQFU\SWHGZLWKVHUYHUSXEOLFNH\ &OLHQW)LQLVKHG rs &KDQJHFLSKHUVSHF6HUYHU)LQLVKHG ([FKDQJHHQFU\SWHGPHVVDJHV TLS/SSL Handshake Procedure pe Figure 7 • Record Protocol Layer The record protocol receives and encrypts data from the application and transfers to the transport layer. The record protocol fragments the received data to a size appropriate to the cryptographic algorithm and optionally compresses the data. The protocol applies a MAC or HMAC and encrypts or decrypts the data using the information negotiated during the handshake protocol. Su SPI Flash Memory Loader SPI-Flash memory loader (m2s_spi_flash_loader.exe) is an executable program that transfers the secure Webserver application image (Webserver_TCP_MSS_CM3_app.bin) from the host PC to the SPI flash memory of the SmartFusion2 Development Kit board. The m2s_spi_flash_loader.exe file is executed from the command prompt. It is located at: <download_folder>\ sf2_secure_webserver_tcp_demo_df\spi_flash_loader. The syntax is: m2s_spi_flash_loader.exe <*.bin> <COM Port number> Arguments: • *.bin file (secure Webserver application image Webserver_TCP_MSS_CM3_app.bin) • COM Port number Revision 1 15 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Generating *.bin File for Secure Webserver Application Image 1. Invoke the SoftConsole workspace using the Write Application Code option available under Develop Firmware in the Libero SoC Design Flow window. 2. Build the Webserver_TCP_MSS_CM3_app project from SoftConsole workspace. 3. Double-click Bin_File_Generator.bat file located at <download_folder>\ sf2_secure_webserver_tcp_demo_df\libero\SoftConsole\Webserver_TCP_MSS_CM3\Webserve r_TCP_MSS_CM3_app and copy the Webserver_TCP_MSS_CM3_app.bin file to the spi_flash_loader folder located at: <download_folder>\sf2_secure_webserver_tcp_demo_df\spi_flash_loader Setting up the Demo Design 2. Install the USB driver. ed ed 1. Connect the FlashPro4 programmer to the J59 connector of SmartFusion2 Development Kit board. 3. For serial terminal communication through the FTDI mini USB cable, install the FTDI D2XX driver. Su pe rs Download the drivers and installation guide from: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip 16 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Device Manager Window Showing the USB-to-Serial Communication Port Su Figure 8 • pe rs ed ed 4. Connect the host PC to the J24 connector using the USB A to mini-B cable. The USB to UART bridge drivers are automatically detected. Verify if the detection is made in the device manager as shown in Figure 8. Revision 1 17 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS 5. Connect the jumpers on the SmartFusion2 Development Kit board as shown in Table 5. For information on jumper locations, refer to "Appendix 2: Jumper Locations" on page 32. Caution: Before making the jumper connections, switch off the power supply switch, SW7. Table 5 • SmartFusion2 Development Kit Jumper Settings Jumper Number Settings 1-2 closed J2 1-3 closed J23 2-3 closed J129, J133 2-3 closed J20, J21, J22, J25 1-2 closed J30 2-3 closed These are the default jumper settings of the Development Kit board. Make sure that these jumpers are set properly. These jumpers are required for the ZL30362 configuration. All these jumpers are not set by default and must be set manually. ed ed J70, J93, J94, J117, J123, J142, J157, J160, J167, J225, J226, J227 Notes 6. In the SmartFusion2 Development Kit, connect the power supply to the J18 connector. 7. This design example can run in both Static IP and Dynamic IP modes. By default, programming files are provided for dynamic IP mode. – For static IP, connect the host PC to the J4 connector of the SmartFusion2 Development Kit Board using an RJ45 cable. – For dynamic IP, connect any one of the open network ports to the J4 connector of the SmartFusion2 Development Kit Board using an RJ45 cable. Board Setup Snapshot rs Snapshots of the SmartFusion2 Development Kit board with all the setup made is given in "Appendix 1: Board Setup for Running the Secure Webserver" on page 31. pe Running the Demo Design 1. Download the demo design from: http://soc.microsemi.com/download/rsc/?f=SF2_Secure_Webserver_tcp_DF 2. Switch ON the SW7 power supply switch. 3. Start any serial terminal emulation program such as: HyperTerminal – PuTTY – Tera Term Su – Note: In this demo PuTTY is used. The configuration for the program is: – Baud Rate: 57600 – Eight data bits – One stop bit – No Parity – No flow control For information on configuring the serial terminal emulation programs, refer to the Configuring Serial Terminal Emulation Programs Tutorial. 4. Launch the FlashPro software. 5. Click New Project. 18 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide FlashPro New Project pe Figure 9 • rs ed ed 6. In the New Project window, type the project name as shown in Figure 9. 7. Click Browse and navigate to the location where the project is required to be saved. 8. Select Single device as the Programming mode. 9. Click OK to save the project. Su 10. Click Configure Device. Revision 1 19 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS 11. Click Browse and navigate to the location where the secure_Webserver_tcp_top.stp file is located and select the file. The default location is: <download_folder>\ sf2_secure_Webserver_tcp_demo_df\ stapl_programming_file\ secure_Webserver_tcp_top.stp pe rs ed ed The required programming file is selected and is ready to be programmed in the device as shown in Figure 10. Su Figure 10 • FlashPro Project Configured 20 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide pe rs ed ed 12. Click PROGRAM to start programming the device. Wait until a message is displayed, indicating that the program has passed. Figure 11 • FlashPro Program Passed Su Note: The demo can be run in static and dynamic modes. To run the design in Static IP mode, follow the steps mentioned in the "Appendix 3: Running the Design in Static IP Mode" on page 33. Revision 1 21 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS 13. Power cycle the SmartFusion2 Development Kit board. ed ed Figure 12 shows the serial terminal emulation program options. Figure 12 • User Options 14. Type 1 to copy the Secure Webserver application image to the SPI flash memory using the Host PC SPI flash loader program. pe rs 15. Close the serial terminal emulation program window. Figure 13 • Selecting Option 1 16. Open the command prompt in the Host PC. Su 17. Navigate to the directory, where the SPI flash memory loader (m2s_spi_flash_loader.exe) is located. The default location is: <download_folder>\sf2_secure_webserver_tcp_demo_df\spi_flash_loader. 18. Execute the m2s_spi_flash_loader.exe file and launch the SPI flash memory loader to copy the secure webserver application image to the SPI flash memory of the SmartFusion2 device. Use the following command to execute the SPI flash loader from command prompt as shown in Figure 14. m2s_spi_flash_loader.exe Webserver_TCP_MSS_CM3_app.bin 6 where 6 is the COM port number. Figure 14 • Command Syntax 22 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide ed ed On successful completion of copying the application image, the following message is displayed in the command prompt Flash Programming completed successfully. Figure 15 • Programmed SPI Flash Successfully rs 19. Start the serial terminal emulation program as mentioned in Step 3. and power cycle the SmartFusion2 Development Kit board. Su pe 20. Type 2 to select Boot from the DDR memory. The Cortex-M3 processor copies the application image from the SPI-Flash memory to the DDR memory and runs the Secure Webserver application image from the DDR memory as shown in Figure 16. Figure 16 • Selecting Option 2 Revision 1 23 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Figure 17 • PuTTY with IP Address ed ed 21. A welcome message with the dynamic IP address is displayed in the serial terminal emulation program as shown in Figure 17. Su pe rs 22. The IP address displayed on PuTTY should be entered in the address bar of the browser to run the Secure Webserver. If the IP address is 10.60.3.120, type https://10.60.3.120 in the address bar of the browser. This demo supports both Microsoft Internet Explorer and Mozilla Firefox browsers. 24 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Running the Secure Webserver Demo with Microsoft Internet Explorer rs ed ed 1. Open the Microsoft Internet Explorer and type the URL (for example, https://10.60.3.120) in the address bar. The browser shows a warning message as shown in Figure 18. Figure 18 • Microsoft Internet Explorer showing Certificate Error Warning Message Su pe 2. Click Continue to this website (not recommended) to start secure communication with the Webserver. The Microsoft Internet Explorer displays the main menu of the Secure Webserver as shown in Figure 19. Figure 19 • Main Menu of Secure Webserver in Internet Explorer Revision 1 25 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Running the Secure Webserver Demo with Mozilla Firefox pe rs ed ed 1. Open the Mozilla Firefox browser and type the URL (for example, https://10.60.3.120) in the address bar. The browser shows a warning message as shown in Figure 20. Figure 20 • Mozilla Firefox showing Warning Message Su 2. Select I Understand the Risks and click Add Exception…. 26 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Su pe rs ed ed 3. Click Confirm Security Exception in Add Security Exception window as shown in Figure 21, to start secure communication with the Webserver. Figure 21 • Add Security Exception Window Note: Adding security exception for the IP Address is required for first-time browsing only. Revision 1 27 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS ed ed The Mozilla Firefox browser displays the main menu as shown in Figure 22. Figure 22 • Main Menu of the Secure Webserver in Mozilla Firefox The main menu has the following options: Blinking LEDs – HyperTerminal Display – SmartFusion2 Google Search rs – Su pe Note: These options can be verified using either Microsoft Internet Explorer or Mozilla Firefox web browsers. In this demo, the options are demonstrated using Mozilla Firefox web browser. 28 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Blinking LEDs Figure 23 • Blinking LEDs Page ed ed 1. Click Blinking LED's on the main menu. You can observe a running LED pattern on the SmartFusion2 board. The webpage gives an option to enter the values to blink the LEDs manually as shown in Figure 23. rs 2. Enter any number between 1-255 to lit the LEDs manually. For example, if you enter 1, LED1 blinks. If you enter 255, all the eight LEDs blink. 3. Click Home to go back to the main menu. HyperTerminal Display Su pe 1. Click HyperTerminal Display on the main menu. Figure 24 shows a webpage that gives an option to enter a string value. Figure 24 • HyperTerminal Display Page Revision 1 29 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS The entered string is displayed on PuTTY as shown in Figure 25. Figure 25 • String Display on PuTTY ed ed 2. Click Go Back One Page (arrow button) or Home to go back to the main menu. SmartFusion2 Google Search 1. Click SmartFusion2 Google Search on the main menu. Note: Internet connection is required with proper access rights to get to the SmartFusion2 Google Search page. Su pe rs Figure 26 shows a webpage with Google search. Figure 26 • SmartFusion2 Google Search Page 2. Click Home to go back to the main menu. 30 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Appendix 1: Board Setup for Running the Secure Webserver Figure 27 shows the board setup for running the demo on the Development Kit Board. RJ45 cable ed ed Power supply switch SW7 DC Jack to connect 12 V adapter USB Mini - B connector FlashPro4 connector Su pe rs SW9 to reset LED1 to LED8 Figure 27 • SmartFusion2 Development Kit Setup Revision 1 31 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Appendix 2: Jumper Locations B1 B11 B14 J1 J10 R26 C7 R27 R25 R24 R23 C42 6 AT FLAG DS10 R55 R36 R56 DS11 PGOOD R52 R35 OFF D5 D6 3 1 ON C44 SC1 U15 R104 L5 C58 C61 SC2 C68 SC3 SC4 R123 R130 U20 J44 C71 R131 D11 R100 J29 R111 R112 J80 1 DS22 J103 T2 J112 1 GND J132 Q18 DS25 R189 C105 U37 GND L10 123 A B C D E F G H J TXN0 RXP0 RXN0 TXP2 TXN2 TXP1 TXN1 RXN1 RXP1 TXP3 TXN3 C119 C120 C121 TXP0 J171 C134 J150 J148 J149 J169 R243 R244 J186 J182 J191 RXN2 RXP2 RXN3 RXP3 D14 J190 J189 TP14 J192 TP25 TS_MDIO TS_MDC J170 R219 J156 J166 J168 U45 R220 R221 J147 J151 C128 C129 C130 C131 R242 1 R247 J185 R238 R239 R240 R241 C152 C153 R278 R279 C84 R170 J116 1 R185 R184 789 Q23 Q25 Q26 R383 R381 R380 Q24 R382 R378 Q22 1 J229 1 Q27 B49 Note: • Jumpers highlighted in red are set by default. • Jumpers highlighted in green must be set manually. • The location of the jumpers in Figure 28 are searchable. R e visio n 1 TP21 R354 R355 D18 R365 C204 R366 D20 TP20 J207 U61 D17 C200 C202 DVDD12 R375 D19 C205 D15 D16 R339 R346 R350 TP24 C198 U59 R338 C186 TP12 J206 DDR3_1P5V GND R325 2P5V_LDO J220 J228 Q21 U60 R353 LED8 LED7 R374 R364 LED5 R372 R362 LED6 R373 R363 LED4 R371 R361 LED3 R370 R360 LED2 R369 R359 J219 R326 C191 R356 C189 SERDES1 REFCLK0_N J208 GND J205 R312 R22 R21 C6 CONN1 R80 R113 R81 R114 DS16 P1LED3 J31 DS17 P1LED2 R82 DS18 P1LED1 DS19 P1LED0 R83 DS12 P0LED3 DS13 P0LED2 DS14 P0LED1 DS15 P0LED0 R150 R151 R152 R157R153 R154 C78 C79 R158R155 J67 1P0V_PHY C67 4 HPOUTCLK5 C32 C33 R50 R46 R93 R94 C76 C75 C73 C72 C69 C62 C60 C59 SW8 J82 U36 R178 R179 C94 C95 R182 R183 J142 1 L13 J160 RS6 1 J167 1 1 C150 C151 R276 R277 R274 R275 U33 1P0V_PHY R256 J211 LED1 R368 R358 R367 R357 C74 R143 C111 1 SF2 DEV KIT Q20 R132 R137 GND R670 R230 J177 Figure 28 • Jumper Locations in Development Kit Board 32 R102 R103 J16 R30 J15 R32 C28 C29 R45 C49R87 J33 C50R88 R89 R90 R106 R107 R108 R109 R110 R95 C52 R91 C53 R92 1 2 4 R149 R159 R160 R662 1 3P3V_LDO Q15 ON 1 J152 DDR3_VTT R377 PLLXVDDA 1 POE CONN J6 TP10 J14 J13 R47 R48 R49 R60 R61 1 C66 1 3 R146 U23 R203 R204 R206 R207 R212 R217 C148 C149 C146 R2 C147 66 R2 86 R282 R283 C159 U56 C164 TP22 R376 R385 R280 C70 T1 TP13 DVP-102-000400-001 REFCLK0_P RevC U55 1 R281 U51 C167 789 VPP C173 1 R267 R269 R268 C63 D10 Q14 J153 C162 J227 C184 R270 R226 R229 R231 R232 R234 R235 R236 R237 1 L12 R218 RS5 A B C D E F G H KJ L M N J226 U54 R311 C172 3 J230 ON SW10 R213 R215 A1 123 789 A B DC E F G H J K L M N PLLMDDRVDDA R329 C188 R310 R271 C155 R272 R249 R273 C142 R287 C160 R288 C203 R384 R351 R344 R345 C195 2 1 C199 J222 R343 C196 R348 R349 R352 C201 2 123 789 C197 C193C194 J216 3 J233 1 123 J224 1 8 1 J128 J125 U42 J225 3 R205 Q19 1 J234 J215 R290 R291 C187 J217 R295 J130 R187 R332 R296 R333R334 1 R299 R302 R303 R304 TP7 R305 R306 R307 R308 R309 GND R340 C192 J223 R341 R342 1 R335 R336 C190 R337 U58 4 C114 A30 TP29 GND_0 C54 C77 R671 R181 R186 R188 J126 J127 J124 U40 RS4 J172 K23 J175 L26 J179 H26 J184 J29 J188 H30 J195 H28 J197 G29 J200 F30 J202 K25 BA J210 DC L23 E F J214 G N23 HJ K L M N R97 GND R166 R167 R168 Y3 R180 J123 RS3 3 J203 R319 R320 R317 R318 C177 C178 C182 R328 R331 R330 J81 PCIEXVDD AK1 pe U57 C185 R327 C180 C176 C175 R315 J218 1 1 C183 R322R314 R323 J212 1 J204 L15 C171 1 C174 R313 R316 C179 R324 GND R289 U53 U52 R293 R300R294 C165 Y2 R172 R173 C91 C92 L8 PLLFDDRVDDA R674 R673 R672 R676 AK30 C37 R74 C48 C51 7 7 U62 1 J193 Su DB9-RS232 1 ANALOG INPUT 20 HDR-RS485 R347 U48 3 R177 C85 C86 C87 C88 C89 C90 C97 C101 C102 J117 C98 C100 C96 C103 C104 C99 R28 C38 C40 C43 R86 1 2 19 J221 TP28 R248 R255 C144 R264 C161 C163 R175 R176 C93 L7 2 1 50 MHZ J139 P24 J141 N26 J144 M27 J146 L29 J155 L28 J159 K30 J162 J27 1 1 1 V2J21 M2 J20 M2J20 H2 J19G3 J196 H2J19 J2 J18 J3 J18 J2 J17 K2 J174 9 4 8 7 0 3 6 8 4 63 4 9 5 1 7 9 0 C123 C124 J157 TP27 U47 C137 1 C145 R259 R260R250 5 R284 C141 R251 TP26 VDDIO R292 C168 R298 R297 C170 R301 3 1 RS2 TP3 1 Y1 3 R379 3 3 3 J105 85 R2 1 C158 J54 R148 LED9 RST LED J70 2 U27 SW9 R663 JTAG SEL U31 rs J173 J180 1 1 1 J104 65 R2 U49 J198 J176 4 3 C138 L14 R227 C140 R246 R254 HVDD R252 R253 R257 R258 R233 J181 C156 C157 1 C169C166 U50 J164 U46 2 J163 C143 1 5 HVSS R223 R225 C132 R224 U44 R228 1 C136 R261 C139 R262 R245 C154 R263 C127 R222 R216 1 J19 J26 GND J37 J59 U25 3 J11 R14 J12 SW1 R53 R54 R39 SW4 R38 U8 J28 1 J38 J43 J55 1 1 R163 U29 U30 1 1 J138 P23 J140 N25 J143 N24 J145 M26 J154 L30 J158 K29 C133 J161 K28 1 J165 C125 R202 J137 D13 1 CR4 P1 C135 R214 C181 R321 1 U43 CR3 R161 R162 R680 R681 R678 R679 R677 R675 C83 J121 D12 C113 1 U41 3 J111 V24 J115 AA29 J119 Y30 J122 M23 J131 T27 J134 T26 J135 V23 J232 U24 W28 R29 R24 J136 DS26 C110 C108 R193 DS27 C112 HVDD R200 R197 C117 C118 R199 R208 R209 R210 R211 1 R196 R198 1J106 20 4 C126 R190 HVSS U39 U38 J113 C107 C106 R194 3 12 D7 U10 R69 R70 R73 R78 C46 J49 A14 P14 C80 REFCLK0_P REFCLK0_N SERDES0 4 J107 J108 J99 J102 J101 J100 5 R195 C81 C82 U28 U22 C39 Q13 P3LED2 TC2 P3LED3 TC1 TC4 P3LED1 J32 P3LED0 TC3 TC6 P2LED3 P2LED2 TC5 TC7 P2LED0 R121 A1 3 R201 J94 1 U19 P1 R59 TP30 GND_C 2 C115 C116 RESET GND J30 1 1 R117 R118 R119 R122 R125 R126 R127 R129 R133 R135 R136 R138 R139 R141 R144 R145 R85 1 L11 R191 1 - - 6 J4 10 J120 1 J93 ZL RST 17 6 U34 L9 TP5 J48 J41 J39 L6 J91 J88 J60 J66 J98 TP8 C109 FP4 HEADER R147 V22 J110 AA28 J114 W27 J118 R174 9 J79 U32 J83 J92 R165 GND 1 R664 R169 1 R171 DS24 U69 1 J78 J84 J89 J90 1 U35 U26 J63 J77 J87 J231 1 R192 J42 J75 J61 J95 GND R134 10 7 20 1 J69 J64 J74 REMOTE PWR ENB DS23 GND 12 5 J62 J68 R156 J73 R164 1 M12 R76 A12 SW6 R58 L4 R64 R66 R68 TP11 19 R128 GND J34 J86 J97 Q17 1 2 10 J40 J53 R142 J96 J65 J85 TP4 9 J58 J72 J76 DB9-CAN2 U12 J27 C55 U17 C64 C65 5 1 J57 2 20 R140 U24 J71 J109 J45 19 U21 X1 J51 2 1 3 1 A1 R62 R65 POE PWR ENB U4 C35 D8 R98 U11 R105 D9 C56 DB9-CAN1 1 R120 U18 J56 C122 20 R115 R51 U9 R67 R71 R72 R75 R77 R79 R84 REFP6 ETM HEADER RS1 J35 J47 J50 2 1.2V VDD_REG 1 DS21 J46 1 REFP5 1 5 R116 GND R124 R63 J18 1 DS20 J20 3 J21 3 J22 3 J25 3 RVI HEADER U14 C47 J36 J52 USB MICRO AB OTG Support Q12 U13 1 TP15 R101 TP19 C57 3P3V_LDO U16 M1 R44 5 SFP CONN J17 U7 C34 TP2 J7 R37 R33 C25 C26 C27 1.0V J23 Q10 C20 C18 U5 C23 C24 R41 C30 R42 C31 R43 3 C45 1 6 17 J5 1 SW7 1 7 C694 1 C21 1 ON C41 1 SW3 C17 10 1 CR1 CR2 FTDI INTERFACE R96 J24 TP1 SW2 SW5 R29 C13 C19 L3 Q11 C10 R57 USB MINI B J9 1 GND R99 D1 R13 C14 C16 2P5V R34 4 Q8 J8 1 1 R31 C1 R10 R9 D3 3P3V C15 C22 1 R40 Q7 J3 C3 C4 U6 6 ed ed FMC HEADER FMC HEADER C693 R17 R18 R19 R20 C12 1P8V 3 HPDIFFN4 HPDIFFP4 DS7 DS8 DS9 3P3V 12P0V DS4 DS5 DS6 5P0V VDD_REG R4 2P5V_LDO R5 2P5V R6 Q5 U1 D2 D4 C682 R16 L2 TP23 OFF A1 A40 L1 TP17 TP18 DC JACK12V/6A K1 7 1 7 C11 C9 1 R15 U3 C8 Q6 Q4 DS3 R3 3P3V_LDO R1 1P8V R2 DDR3-1P5V DS2 Q1 Q3 Q2 R669 R12 Q9 R11 C2 R8 R7 GND C36 12V 12V_POE 12V_PCIE R668 5P0V TP16 TP9 U2 12_DCJACK C683 R660 K40 1 J2 1 DS1 Figure 28 shows the jumper locations in the SmartFusion2 Development Kit board. Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Appendix 3: Running the Design in Static IP Mode Su pe rs ed ed 1. To run the design in Static IP mode, right-click the Webserver_TCP_MSS_CM3_app in the Project Explorer window of SoftConsole project and select Properties as shown in Figure 29. Figure 29 • Project Explorer Window of SoftConsole Project Revision 1 33 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS pe rs ed ed Figure 30 shows removing the symbol NET_USE_DHCP in Tool Settings tab of the Properties for Webserver_TCP_MSS_CM3 window. Su Figure 30 • Project Explorer Properties Window 34 R e visio n 1 Running the Secure Webserver on SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Demo Guide Su pe rs ed ed If the device is connected in Static IP mode, the board static IP address is 169.254.1.23, then change the host TCP/IP settings to reflect the IP address. Figure 31 shows Host PC TCP/IP settings. Figure 31 • Host PC TCP/IP Settings Revision 1 35 Running the Secure Webserver Demo Design on the SmartFusion2 Devices Using PolarSSL, lwIP and FreeRTOS Su pe rs ed ed Figure 32 shows Static IP address settings. Figure 32 • Static IP Address Settings Once these settings are made, build the design. Refer to "Generating *.bin File for Secure Webserver Application Image" section on page 16 on how to generate the *.bin file. Follow from Step 13. in the "Running the Demo Design" section on page 18 to execute the design in static IP mode, if the SmartFusion2 device is already programmed with secure_Webserver_tcp_top.stp file. 36 R e visio n 1 Product Support Microsemi SoC Products Group backs its products with various support services, including Customer Service, Customer Technical Support Center, a website, electronic mail, and worldwide sales offices. This appendix contains information about contacting Microsemi SoC Products Group and using these support services. Customer Service ed ed Contact Customer Service for non-technical product support, such as product pricing, product upgrades, update information, order status, and authorization. From North America, call 800.262.1060 From the rest of the world, call 650.318.4460 Fax, from anywhere in the world, 408.643.6913 Customer Technical Support Center rs Microsemi SoC Products Group staffs its Customer Technical Support Center with highly skilled engineers who can help answer your hardware, software, and design questions about Microsemi SoC Products. The Customer Technical Support Center spends a great deal of time creating application notes, answers to common design cycle questions, documentation of known issues, and various FAQs. So, before you contact us, please visit our online resources. It is very likely we have already answered your questions. Technical Support pe Visit the Customer Support website (www.microsemi.com/support/search/default.aspx) for more information and support. Many answers available on the searchable web resource include diagrams, illustrations, and links to other resources on the website. Website Su You can browse a variety of technical and non-technical information on the SoC home page, at www.microsemi.com. Contacting the Customer Technical Support Center Highly skilled engineers staff the Technical Support Center. The Technical Support Center can be contacted by email or through the Microsemi SoC Products Group website. Email You can communicate your technical questions to our email address and receive answers back by email, fax, or phone. Also, if you have design problems, you can email your design files to receive assistance. We constantly monitor the email account throughout the day. When sending your request to us, please be sure to include your full name, company name, and your contact information for efficient processing of your request. The technical support email address is [email protected]. Revision 1 36 Product Support My Cases Microsemi SoC Products Group customers may submit and track technical cases online by going to My Cases. Outside the U.S. Customers needing assistance outside the US time zones can either contact technical support via email ([email protected]) or contact a local sales office. Sales office listings can be found at www.microsemi.com/company/contact/default.aspx. ITAR Technical Support Su pe rs ed ed For technical support on RH and RT FPGAs that are regulated by International Traffic in Arms Regulations (ITAR), contact us via [email protected]. Alternatively, within My Cases, select Yes in the ITAR drop-down list. For a complete list of ITAR-regulated Microsemi FPGAs, visit the ITAR web page. 37 R e visio n 1 ed ed rs pe Su Microsemi Corporate Headquarters One Enterprise, Aliso Viejo CA 92656 USA Within the USA: +1 (800) 713-4113 Outside the USA: +1 (949) 380-6100 Sales: +1 (949) 380-6136 Fax: +1 (949) 215-4996 E-mail: [email protected] Microsemi Corporation (Nasdaq: MSCC) offers a comprehensive portfolio of semiconductor and system solutions for communications, defense and security, aerospace, and industrial markets. Products include high-performance and radiation-hardened analog mixed-signal integrated circuits, FPGAs, SoCs, and ASICs; power management products; timing and synchronization devices and precise time solutions, setting the world's standard for time; voice processing devices; RF solutions; discrete components; security technologies and scalable anti-tamper products; Power-over-Ethernet ICs and midspans; as well as custom design capabilities and services. Microsemi is headquartered in Aliso Viejo, Calif. and has approximately 3,400 employees globally. Learn more at www.microsemi.com. © 2014 Microsemi Corporation. All rights reserved. Microsemi and the Microsemi logo are trademarks of Microsemi Corporation. All other trademarks and service marks are the property of their respective owners. 50200516-1/04-14