<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Help booting bare-metal in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287754#M34258</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What about running U-boot in your board?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 May 2013 13:30:17 GMT</pubDate>
    <dc:creator>fabio_estevam</dc:creator>
    <dc:date>2013-05-06T13:30:17Z</dc:date>
    <item>
      <title>Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287752#M34256</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey everyone,&lt;/P&gt;&lt;P&gt;I recently bought an i.mx233 based board to mess around with and give me some more power than the AVR uC's I've been doing abit with lately. However I'm having trouble getting my code to run on the board (not really interested at putting an OS on it at this stage) and there doesn't seem to be much information floating around the web on how to do it either (one thing I miss about the AVR's).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As far as I can tell, once I have my compiled .elf file from my source code, which just attempts to turn on an GPIO pin on the board as output, I need to run elftosb (provided by freescale) to turn it into a safeboot file which I do using the following command:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;elftosb -z -c make_boot.db -o boot.sb boot.elf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where my make_boot.db file is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;// Define one input file that will be the first file listed&lt;BR /&gt;// on the command line. The file can be either an ELF file&lt;BR /&gt;// or an S-record file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;sources {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;inputFile = extern(0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;// create a section&lt;BR /&gt;section (0) {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;load inputFile; // load all sections&lt;/SPAN&gt;&lt;BR /&gt; call inputFile; // jump to entry point&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;straight from the elftosb manual because it seems to be all I need&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once I have the safeboot file I need to get it onto a bootable uSD card which I do using the CFImager program (provided by freescale) and the command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;CFImager -f boot.sb -d D&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P&gt;where D is the drive my uSD card is mounted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I never get any errors but when I put it into my board no matter what state I set the GPIO pin to, nothing changes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any Ideas?&lt;/P&gt;&lt;P&gt;Failsafe_Device&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Apr 2013 01:43:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287752#M34256</guid>
      <dc:creator>failsafe_device</dc:creator>
      <dc:date>2013-04-27T01:43:47Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287753#M34257</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Did you set the MUX properly?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 09:00:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287753#M34257</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-05-06T09:00:42Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287754#M34258</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What about running U-boot in your board?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 13:30:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287754#M34258</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-05-06T13:30:17Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287755#M34259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The board has been set to boot from MMC/SDCARD yes. This was set by the manufacturer and I have verified that it and my sdcard works by booting a linux image from it. Thanks for the reply by the way :smileyhappy:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 21:19:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287755#M34259</guid>
      <dc:creator>failsafe_device</dc:creator>
      <dc:date>2013-05-06T21:19:37Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287756#M34260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was really trying to keep it simple in the sense that all I'm trying to do is start up the board and turn a GPIO pin on or off. I was thinking that a bootloader was kind of unnecessary. Thanks for the suggestion.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 21:22:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287756#M34260</guid>
      <dc:creator>failsafe_device</dc:creator>
      <dc:date>2013-05-06T21:22:55Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287757#M34261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. &lt;BR /&gt;As I expect the example &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;boot.sb&lt;/SPAN&gt; is intended to run in embedded memory (OCRAM) of the i.MX23.&lt;BR /&gt;Is boot.elf built (linked) correctly for the OCRAM ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.&lt;/P&gt;&lt;P&gt;The default SDK configuration for MMC/SD boots expects a FAT in partition 1,&lt;/P&gt;&lt;P&gt;the &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;boot stream in partition 2, and the file system in partition 3.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;So, SD card preparation may be as following :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dd if=/dev/zero of=mmc_boot_partition.raw bs=512 count=4&lt;/P&gt;&lt;P&gt;dd if=./boot.sb of=mmc_boot_partition.raw ibs=512 seek=4 conv=sync,notrunc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dd if=./mmc_boot_partition.raw of=/dev/sd[x]2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.&lt;BR /&gt;Also USB loader may be applied :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sb_loader.exe /f boot.sb&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 01:30:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287757#M34261</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2013-05-07T01:30:26Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287758#M34262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;Thanks for all the info. I'm not to sure if my .elf is linked correctly as I've been piecing things together for many different sources on the internet as I haven't been able to find much information. Are you able to point me to where you found all the information above?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;In case it helps, here is the source and linker file I am using&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt; - source file&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;.section .init&lt;/P&gt;&lt;P&gt;.globl _start&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_start:&lt;/P&gt;&lt;P&gt;// Write to HW_PINCTRL_CTRL for standard GPIO pin operation&lt;/P&gt;&lt;P&gt;ldr r0,=0x80018000 // HW_PINCTRL_CTRL addr&lt;/P&gt;&lt;P&gt;mov r1,#0 // 0x00000000 standard GPIO operation&lt;/P&gt;&lt;P&gt;str r1,[r0] // store the value of r1 into the addr in r0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Write to HW_PINCTRL_DOUT2, to set Pin1 to high (0x00000002)&lt;/P&gt;&lt;P&gt;ldr r0,=0x80018520&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // HW_PINCTRL_DOUT2 add&lt;/P&gt;&lt;P&gt;mov r1,#2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0x00000002 Pin1 High (Pin0 first pin)&lt;/P&gt;&lt;P&gt;str r1,[r0]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // store the value of r1 into the addr in r0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Write to HW_PINCTRL_DOE2, to finally enable output on Pin1 (0x00000002)&lt;/P&gt;&lt;P&gt;// Correct value already in r1, no need to reassign into&lt;/P&gt;&lt;P&gt;ldr r0,=0x80018720&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // HW_PINCTRL_DOE1 addr&lt;/P&gt;&lt;P&gt;str r1,[r0]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // store the value of r1 into the addr in r0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// DO NOTHING (LOOP)&lt;/P&gt;&lt;P&gt;loop$:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // convention: $ for label if code not relevant to other sections&lt;/P&gt;&lt;P&gt;b loop$&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // branch to label loop$&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;- linker script&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;SECTIONS {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .init 0x0000 : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.init)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .text 0x8000 : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .data : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.data)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /DISCARD/ : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(*)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a feeling the linker script is wrong, but I have no way of knowing.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; background-color: #ffffff;"&gt;Cheers.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 08:11:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287758#M34262</guid>
      <dc:creator>failsafe_device</dc:creator>
      <dc:date>2013-05-07T08:11:06Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287759#M34263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check imx-bootlets in Linux BSP (./ltib -m prep -p imx-bootlets #will be unpacked to &amp;lt;ltib&amp;gt;/rpm/BUILD/imx-bootlets...). Power_prep is bare metal code executed immediately after power-on and your code should probably achieve something similar. You can modify Makefile to suite your needs.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 09:07:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287759#M34263</guid>
      <dc:creator>VladanJovanovic</dc:creator>
      <dc:date>2013-05-07T09:07:53Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287760#M34264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks I'll have a look at that and see how i go.&lt;/P&gt;&lt;P&gt;cheers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 12:29:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287760#M34264</guid>
      <dc:creator>failsafe_device</dc:creator>
      <dc:date>2013-05-07T12:29:07Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287761#M34265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mathew, if Vladan's answer helps you, please click Correct Answer, so that we can close the DI.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Yixing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 May 2013 05:55:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287761#M34265</guid>
      <dc:creator>YixingKong</dc:creator>
      <dc:date>2013-05-13T05:55:06Z</dc:date>
    </item>
    <item>
      <title>Re: Help booting bare-metal</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287762#M34266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I've been really busy with work lately and I haven't had time to try anything or look up the imx-bootlets yet, but i have a feeling it should help, so I'll mark it as answered and then comment when I have had a chance to try.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 May 2013 06:43:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Help-booting-bare-metal/m-p/287762#M34266</guid>
      <dc:creator>failsafe_device</dc:creator>
      <dc:date>2013-05-13T06:43:41Z</dc:date>
    </item>
  </channel>
</rss>

