<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        
        <!-- This is broken by doc revisioning.
         -->
        <link rel="shortcut icon" href="../../../img/favicon.ico">

        <title>Slinky on Olimex - Apache Mynewt</title>

        <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
        <link rel="stylesheet" href="../../../css/highlight.css">
        <link href="../../../css/base.css" rel="stylesheet">
        <link href="../../../css/custom.css" rel="stylesheet">
        <link href="../../../css/v2.css" rel="stylesheet">
        <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->

        
            <script>
            (function(i, s, o, g, r, a, m) {
    i["GoogleAnalyticsObject"] = r;
    (i[r] =
        i[r] ||
        function() {
            (i[r].q = i[r].q || []).push(arguments);
        }),
        (i[r].l = 1 * new Date());
    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
        
    </head>


    <body class="Slinky on Olimex">


        <div class="container">
    <div class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released (April 4, 2024)
            </div>
        </div>
    </div>
</div>

        






<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation">
    <div class="container">
        <!-- Collapsed navigation -->
        <div class="navbar-header">
            <!-- Expander button -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">
            <!-- Main navigation -->
            <ul class="nav navbar-nav navbar-right">
                <li 
  class=""
>
                    <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                </li>
                <li 
  class="important"
>
                    <a href="/quick-start/">Quick Start</a>
                </li>
                <li 
  class=""
>
                    <a href="/about/">About</a>
                </li>
                <li 
  class=""
>
                    <a href="/talks/">Talks</a>
                </li>
                <li 
  class="active"
>
                    <a href="/documentation/">Documentation</a>
                </li>
                <li 
  class=""
>
                    <a href="/download/">Download</a>
                </li>
                <li 
  class=""
>
                    <a href="/community/">Community</a>
                </li>
                <li 
  class=""
>
                    <a href="/events/">Events</a>
                </li>
            </ul>

        </div>
    </div>
</nav>

        

        <div class="container">
            
                <div class="row">
                    <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
    <div class="top">
        <div role="search">
            <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
                <div class="form-group">
                    <input type="text" name="q" class="form-control" placeholder="Search documentation" />
                </div>
            </form>
        </div>
    </div>
    <ul class="toc-nav">
      <li class="doc-version"><select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest">
    Version: master
  </option>
  <option value="/v1_12_0/" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0/" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0/" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0/" >
    Version: 1.9.0
  </option>
    <option value="/v1_8_0/" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0/" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0/" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0/" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0/" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" selected="selected" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select></li>
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
          
  
  
    <li ><a href="../../introduction/">Mynewt Documentation</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../../get_started/get_started/">Basic Setup</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../get_started/vocabulary/">Concepts</a>
  </li>

              
          
              
                
  
  
    <li ><a href="../tutorials/">Tutorials</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../blinky/">Project Blinky</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../repo/add_repos/">Work with repositories</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../project-slinky/">Project Slinky for Remote Comms</a>
  
  
    <ul>
          
              
          
              
                
  <li >
    <a href="../project-sim-slinky/">Slinky on sim device</a>
  </li>

              
          
              
                
  <li >
    <a href="../project-nrf52-slinky/">Slinky on Nordic nRF52</a>
  </li>

              
          
              
                
  <li class="active">
    <a href="./">Slinky on Olimex</a>
  </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../ble_bare_bones/
">Bluetooth Low Energy</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../event_queue/
">OS Fundamentals</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../add_newtmgr/
">Remote Device Management</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  
  
  ../sensors/sensors/

">Sensors</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../segger_rtt/
">Tooling</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../codesize/
">Other</a>
  
  
    </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../os_user_guide/">OS User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../../../network/ble/ble_intro/
">BLE User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../newt/newt_intro/">Newt Tool Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../../known_issues/">Known Issues</a>
  </li>

              
          
    </ul>
  
    </li>

        
      
        
          
  
  
    <li><a href="
  ../../../faq/go_env/
">Appendix</a>
  
  
    </li>

        
      
    </ul>
</div></div>

                    <div class="col-md-9" role="main">
                        <div class="doc-header">
                            <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="/documentation/">Docs</a></li>
    
    
        
          <li>&raquo; <a href="os/tutorials/project-slinky/">Project Slinky for Remote Comms</a></li>
        
      
        
          <li>&raquo; <a href="os/tutorials/tutorials/">Tutorials</a></li>
        
      
        
          <li>&raquo; <a href="os/introduction/">Mynewt Documentation</a></li>
        
      
      
        <li>&raquo; Slinky on Olimex</li>
      
    
    
      <li class="wy-breadcrumbs-aside">
        
          <a href="https://github.com/apache/mynewt-site/blob/master/docs/os/tutorials/project-stm32-slinky.md"
            class="icon icon-github"> Edit on GitHub</a>
        
      </li>
    
  </ul>
</div>
                        </div>
                        
                          
                        
                          
                        
                          
                        
                          
                            <div class="alert alert-warning">
                                <p>
                                    Version 1.1.0 is not the most recent version of the Apache Mynewt
                                    documentation. Click <a href="/latest">here</a> to read the latest
                                    version.
                                </p>
                            </div>
                          
                        
                        
                            <h2 id="project-slinky-using-olimex-board">Project Slinky Using Olimex Board</h2>
<p>This tutorial shows you how to create, build and run the Slinky application and communicate with newtmgr for an Olimex STM-E407 board.
<br></p>
<h3 id="prerequisites">Prerequisites</h3>
<ul>
<li>Meet the prerequisites listed in <a href="/os/tutorials/project-slinky.md">Project Slinky</a>.</li>
<li>Have a STM32-E407 development board from Olimex. </li>
<li>Have a ARM-USB-TINY-H connector with JTAG interface for debugging ARM microcontrollers (comes with the ribbon cable to hook up to the board)</li>
<li>Have a USB A-B type cable to connect the debugger to your computer. </li>
<li>Have a USB to TTL Serial Cable with female wiring harness.</li>
<li>Install the <a href="/os/get_started/cross_tools/">OpenOCD debugger</a>.</li>
</ul>
<h3 id="create-a-new-project">Create a New Project</h3>
<p>Create a new project if you do not have an existing one.  You can skip this step and proceed to <a href="#create_targets">create the targets</a> if you already have a project created or completed the <a href="../project-slinky/">Sim Slinky</a> tutorial.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newt new slinky
Downloading project skeleton from apache/mynewt-blinky...
...
Installing skeleton in slink...
Project slink successfully created
$ cd slinky
$newt install
apache-mynewt-core
</code></pre></div>

<p><br></p>
<h3 id="create-the-targets"><a name="create_targets"></a> Create the Targets</h3>
<p>Create two targets for the STM32-E407 board - one for the bootloader and one for the Slinky application.</p>
<p>Run the following <code>newt target</code> commands, from your project directory, to create a bootloader target. We name the target <code>stm32_boot</code>.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newt target create stm32_boot
$ newt target set stm32_boot bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard
$ newt target set stm32_boot build_profile=optimized
$ newt target set stm32_boot target.app=@apache-mynewt-core/apps/boot
</code></pre></div>

<p><br>
Run the following <code>newt target</code> commands to create a target for the Slinky application. We name the target <code>stm32_slinky</code>.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newt target create stm32_slinky
$ newt target set stm32_slinky bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard
$ newt target set stm32_slinky build_profile=debug
$ newt target set stm32_slinky app=@apache-mynewt-core/apps/slinky
</code></pre></div>

<p><br></p>
<h3 id="build-the-targets">Build the Targets</h3>
<p>Run the <code>newt build stm32_boot</code> command to build the bootloader:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newt build stm32_boot
Building target targets/stm32_boot
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/loader.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
Compiling repos/apache-mynewt-core/crypto/mbedtls/src/aes.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c
Compiling repos/apache-mynewt-core/apps/boot/src/boot.c

      ...

Archiving sys_mfg.a
Archiving sys_sysinit.a
Archiving util_mem.a
Linking ~/dev/slinky/bin/targets/stm32_boot/app/apps/boot/boot.elf
Target successfully built: targets/stm32_boot
$
</code></pre></div>

<p><br>
Run the <code>newt build stm32_slinky</code> command to build the Slinky application:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$newt build stm32_slinky
Building target targets/stm32_slinky
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/loader.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/image_validate.c
Compiling repos/apache-mynewt-core/boot/split/src/split.c
Compiling repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c
Compiling repos/apache-mynewt-core/apps/slinky/src/main.c

       ...

Archiving util_crc.a
Archiving util_mem.a
Linking ~/dev/slinky/bin/targets/stm32_slinky/app/apps/slinky/slinky.elf
Target successfully built: targets/stm32_slinky
$
</code></pre></div>

<p><br></p>
<h3 id="sign-and-create-the-slinky-application-image">Sign and Create the Slinky Application Image</h3>
<p>Run the <code>newt create-image stm32_slinky 1.0.0</code> command to create and sign the application image. You may assign an arbitrary version (e.g. 1.0.0) to the image.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>newt create-image stm32_slinky 1.0.0
App image succesfully generated: ~/dev/slinky/bin/targets/stm32_slinky/app/apps/slinky/slinky.img
$
</code></pre></div>

<p><br></p>
<h3 id="connect-to-the-board">Connect to the Board</h3>
<ul>
<li>Connect the USB A-B type cable to the ARM-USB-TINY-H debugger connector. </li>
<li>Connect the ARM-USB-Tiny-H debugger connector to your computer and the board.</li>
<li>Connect the USB Micro-A cable to the USB-OTG2 port on the board.</li>
<li>Set the Power Sel jumper on the board to pins 5 and 6 to select USB-OTG2 as the power source.  If you would like to use a different power source, refer to the <a href="https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407.pdf">OLIMEX STM32-E407 user manual</a> for pin specifications.</li>
</ul>
<p>You should see a red LED light up on the board. </p>
<p><br></p>
<h3 id="load-the-bootloader-and-the-slinky-application-image">Load the Bootloader and the Slinky Application Image</h3>
<p>Run the <code>newt load stm32_boot</code> command to load the bootloader onto the board:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newt load stm32_boot
Loading bootloader
$
</code></pre></div>

<p><br>
Note: If you are using Windows and get a <code>no device found</code> error, you will need to install the usb driver. Download <a href="http://zadig.akeo.ie">Zadig</a> and run it:</p>
<ul>
<li>Select Options &gt; List All Devices.</li>
<li>Select <code>Olimex OpenOCD JTAG ARM-USB-TINY-H</code> from the drop down menu.</li>
<li>Select the <code>WinUSB</code> driver.</li>
<li>Click Install Driver.</li>
<li>Run the <code>newt load stm32_boot</code> command again.</li>
</ul>
<p><br>
Run the <code>newt load stm32_slinky</code> command to load the Slinky application image onto the board:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newt load stm32_slinky
Loading app image into slot 1
$
</code></pre></div>

<p><br></p>
<h3 id="connect-newtmgr-with-the-board-using-a-serial-connection">Connect Newtmgr with the Board using a Serial Connection</h3>
<p>Locate the PC6/USART6_TX (pin 3), PC7/USART6_RX (pin 4), and GND (pin 2) of the UEXT connector on the Olimex board. More information on the UEXT connector can be found at <a href="https://www.olimex.com/Products/Modules/UEXT/">https://www.olimex.com/Products/Modules/UEXT/</a>. The schematic of the board can be found at <a href="https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf">https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf</a> for reference.</p>
<p><img alt="Alt Layout - Serial Connection" src="../pics/serial_conn.png" /></p>
<ul>
<li>Connect the female RX pin of the USB-TTL serial cable to the TX (Pin 3) of the UEXT connector on the board.</li>
<li>Connect the female TX pin of the USB-TTL serial cable to the RX (Pin 4) of the UEXT connector on the board.</li>
<li>Connect the GND pin of the USB-TTL serial cable to the GND (Pin 2) of the UEXT connector on the board.</li>
</ul>
<p><br>
Locate the port, in the /dev directory on your computer, that the serial connection uses. The format of the port name is platform dependent:</p>
<ul>
<li>Mac OS uses the format <code>tty.usbserial-&lt;some identifier&gt;</code>.</li>
<li>Linux uses the format <code>TTYUSB&lt;N&gt;</code>, where <code>N</code> is a number.  For example, TTYUSB2.</li>
<li>
<p>MinGW on Windows uses the format <code>ttyS&lt;N&gt;</code>, where <code>N</code> is a number. You must map the port name to a Windows COM port: <code>/dev/ttyS&lt;N&gt;</code> maps to <code>COM&lt;N+1&gt;</code>. For example, <code>/dev/ttyS2</code> maps to  <code>COM3</code>.</p>
<p>You can also use the Windows Device Manager to find the COM port number.</p>
</li>
</ul>
<p><br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ ls /dev/tty*usbserial*
/dev/tty.usbserial-1d13
$
</code></pre></div>

<p><br>
Setup a newtmgr connection profile for the serial port. For our example, the port is  <code>/dev/tty.usbserial-1d13</code>.</p>
<p>Run the <code>newtmgr conn add</code> command to define a newtmgr connection profile for the serial port.  We name the connection profile <code>stm32serial</code>.  </p>
<p><strong>Note</strong>:</p>
<ul>
<li>You will need to replace the <code>connstring</code> with the specific port for your serial connection.</li>
<li>On Windows, you must specify <code>COM&lt;N+1&gt;</code> for the connstring if <code>/dev/ttyS&lt;N&gt;</code> is the serial port.</li>
</ul>
<p><br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newtmgr conn add stm32serial type=serial connstring=/dev/tty.usbserial-1d13
Connection profile stm32serial successfully added
$
</code></pre></div>

<p><br>
You can run the <code>newt conn show</code> command to see all the newtmgr connection profiles:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newtmgr conn show
Connection profiles:
  stm32serial: type=serial, connstring=&#39;/dev/tty.usbserial-1d13&#39;
  sim1: type=serial, connstring=&#39;/dev/ttys012&#39;
$
</code></pre></div>

<p><br></p>
<h3 id="use-newtmgr-to-query-the-board">Use Newtmgr to Query the Board</h3>
<p>Run some newtmgr commands to query and receive responses back from the board (See the <a href="newtmgr/overview">Newt Manager Guide</a> for more information on the newtmgr commands).</p>
<p>Run the <code>newtmgr echo hello -c stm32serial</code> command. This is the simplest command that requests the board to echo back the
 text.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newtmgr echo hello -c stm32serial
hello
$
</code></pre></div>

<p><br>
Run the <code>newtmgr image list -c stm32serial</code> command to list the images on the board:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newtmgr image list -c stm32serial
Images:
 slot=0
    version: 1.0.0
    bootable: true
    flags: active confirmed
    hash: 9cf8af22b1b573909a8290a90c066d4e190407e97680b7a32243960ec2bf3a7f
Split status: N/A
$
</code></pre></div>

<p><br>
Run the <code>newtmgr taskstat -c stm32serial</code> command to display the task statistics on the board:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newtmgr taskstat -c stm32serial
      task pri tid  runtime      csw    stksz   stkuse last_checkin next_checkin
      idle 255   0   157179   157183       64       25        0        0
      main 127   1        4       72     1024      356        0        0
     task1   8   2        0      158      192      114        0        0
     task2   9   3        0      158       64       30        0        0
$
</code></pre></div>
                        
                        <div class="row">
                            



<ul class="nav nav-pills" style="margin-bottom: 10px">
    <li>
    
    </li>
    <li class="pull-right">
    
    </li>
</ul>
                        </div>
                        <footer class="row">
    <div class="col-xs-12">
        
            <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
        
    </div>
    <div class="col-xs-12">
        <div class="logos">
            <a href="https://www.apache.org/">
                <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
            </a>
            <p>
                Copyright © 2015-2021 The Apache Software Foundation.<br>
                <small class="footnote">
                    Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt
                    project logo are either registered trademarks or trademarks of the Apache
                    Software Foundation in the United States and other countries.
                </small>
            </p>
            <a href="">
                <img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
            </a>
        </div>
    </div>
    <a href="https://www.apache.org/licenses/">
        <button class="button-footer-asf">
            License
        </button>
    </a>
    <a href="https://www.apache.org/foundation/sponsorship.html">
        <button class="button-footer-asf">
            Sponsorship
        </button>
    </a>
    <a href="https://www.apache.org/foundation/thanks.html">
        <button class="button-footer-asf">
            Thanks
        </button>
    </a>
    <a href="https://www.apache.org/security/">
        <button class="button-footer-asf">
            Security
        </button>
    </a>
    <a href="https://apache.org/events/current-event">
        <button class="button-footer-asf">
            ASF Events
        </button>
    </a>
</footer>
                    </div>
                </div>
            
            
        </div>

        <script src="../../../js/jquery-1.10.2.min.js"></script>
        <script src="../../../js/bootstrap-3.0.3.min.js"></script>
        <script src="../../../js/highlight.pack.js"></script>
        <script src="../../../js/base.js"></script>
        <script src="../../../js/custom.js"></script>
            <script src="search/main.js"></script>

    </body>
</html>