¥È¥Ã¥× º¹Ê¬ °ìÍ÷ ¥½¡¼¥¹ ¸¡º÷ ¥Ø¥ë¥× PDF RSS ¥í¥°¥¤¥ó

XMOS ¤Î XS1-G4 ¤Ç¤¢¤½¤Ö - ¤½¤Î£²

[ÅŻҹ©ºî]

XMOS ¤Î XS1-G4 ¤Ç¤¢¤½¤Ö - ¤½¤Î£²

¥Æ¥¹¥È´ðÈÄ XC-1,XC-2,XK-1 ¤ÇÍ·¤ó¤Çµ¤¤¬¤Ä¤¤¤¿¤³¤È¤Î¥á¥â¤ò½ñ¤¤¤Æ¤¤¤­¤Þ¤¹¡£

OTP ROM ¤ÎÆɤßÊý¡©

XC-2 ¤Ï¥¤¡¼¥µ¥Í¥Ã¥È I/F ¤Î¤Ä¤¤¤¿É¾²Á´ðÈĤǤ¹¡£

¤È¤¤¤¦¤³¤È¤Ï¡¢ÅöÁ³ MAC ¥¢¥É¥ì¥¹¤¬¤É¤³¤«¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡Ê¤«¡¢¥æ¥Ë¡¼¥¯¤Ë¤Ê¤ë¤è¤¦¤ËÀ¸À®¤·¤Æ¤¤¤ë¡Ë¤Ï¤º¡£
webserver ¥Ç¥â¥×¥í¥°¥é¥à¤ò»¶Ê⤷¤Æ¤¤¤ë¤È¡¢
webserver/httpd/getserial.xc ¤Ë¡¢Ì¯¤Ê¥Ý¡¼¥È¤Î³ä¤êÅö¤Æ¤¬¡£

#define OTP_DATA_PORT XS1_PORT_32B
#define OTP_ADDR_PORT XS1_PORT_16C
#define OTP_CTRL_PORT XS1_PORT_16D

#define OTPADDRESS 0x7FF
#define OTPREAD 1
#define OTP_tACC_TICKS 4 // 40nS

on stdcore[3]: port otp_data3 = OTP_DATA_PORT;
on stdcore[3]: out port otp_addr3 = OTP_ADDR_PORT;
on stdcore[3]: port otp_ctrl3 = OTP_CTRL_PORT;

¤È¤¤¤¦µ­½Ò¤¬¡£

¤³¤Î¥Ý¡¼¥Èµ­½Ò¤Î²¼¤Ë¡¢int otpRead(unsigned address) ¤È¤¤¤¦¡Ö¤½¤Î¤Þ¤Þ¤ä¤ó¤±¡×¤È¤¤¤¦´Ø¿ô¤¬¤¢¤ê¤Þ¤·¤¿¡£
¤³¤ì¤ò»²¹Í¤Ë¤¹¤ì¤Ð¤è¤µ¤½¤¦¤Ç¤¹.....

¤Á¤Ê¤ß¤Ë¡¢¡Ö¥×¥í¥°¥é¥àÃæ¤Ç OTP ¤òÆɤó¤Ç¤ë¤Î¤Ç¤Ï¡©¡×¤È»×¤Ã¤¿¤­¤Ã¤«¤±¤Î MAC ¥¢¥É¥ì¥¹À¸À®¡ÊÆɤ߼è¤ê¡Ë¤Ï¾åµ­¤Ç°úÍѤ·¤¿²Õ½ê ¤Ç¤Ï¤Ê¤¯¤Æ¡¢webserver/mac/server/getmac.xc ¤Ë¤½¤ì¤é¤·¤¤µ­½Ò¤¬¤¢¤ê¤Þ¤¹¡£

ÇÛÎó¥¢¥¯¥»¥¹¤Î¹â®²½

XMOS À½¤Î¥½¡¼¥¹¤ò¸«¤Æ¤¤¤ë¤È¡¢

#pragma unsafe arrays

¤È¤¤¤¦¤è¤¦¤Êµ­½Ò¤¬¤È¤³¤í¤É¤³¤í¤Ë¤¢¤ê¤Þ¤¹¡£
xlinkers ¤Ç unsafe arrays ¤Ç¸¡º÷¤·¤Æ¤ß¤ë¤È¡¢
¡ÖTheoretical Execution Speed of XC¡×¤È¤¤¤¦¥È¥Ô¥Ã¥¯¤Ë®Å٤˴ؤ¹¤ëÏÃÂ꤬¤¤¤í¤¤¤íºÜ¤Ã¤Æ¤¤¤Þ¤¹¡£

¾åµ­¤Î pragma ¤òÇÛÎó¤ò»È¤¦¥ë¡¼¥×¤ÎÁ°¤Ëµ­½Ò¤·¤Æ¤ª¤¯¤È¡¢ÇÛÎó¤ÎÈÏ°Ï¥Á¥§¥Ã¥¯¤ò¤·¤Ê¤¯¤Ê¤ë¡Ê´í¸±¡Ë¤ÊʬÁ᤯¤Ê¤ë¤è¤¦¤Ç¤¹¡£

XN ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ(1) (9.9.0)

ºÇ¶á¤Î´Ä¶­(9.9.0)¤Ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥àÄêµÁ¥Õ¥¡¥¤¥ë ¡Ê.xn ³ÈÄ¥»Ò¡Ë¤¬É¬Íפʤ褦¤Ç¤¹¡£

²áµî¤Î¥×¥í¥¸¥§¥¯¥È¤òºÇ¶á¤Î´Ä¶­¤ÇÆ°¤«¤¹¤Ë¤Ï¡¢C:\Program Files\Xmos\DesktopTools\9.9.0\configs ¤«¤é¡¢³ºÅö¤¹¤ë´Ä¶­¤Î .xn ¤ò»ý¤Ã¤Æ¤­¤Æ¾å½ñ¤­¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¤Þ¤¿¡¢xflash ¤â .xn ¤¬Àµ¤·¤¯¤Ê¤¤¤ÈÆ°ºî¤·¤Ê¤¤¤è¤¦¤Ç¤¹¡£
²áµî¤Ë SPI ROM ¤ò̵Íý¤ä¤ê¤Ò¤Ã¤Ä¤±¤¿ XC-1 ¤Ë¡¢¿·¤·¤¤ xflash ¤Ç²áµî¤Î¥Ð¥¤¥Ê¥ê¤ò½ñ¤³¤¦¤È¤¹¤ë¤È¡¢Åܤé¤ì¤Þ¤¹¡£

EPCS1 ¤ò¤¯¤Ã¤Ä¤±¤Æ²þ¤¤·¤¿ XC-1 ÍѤΠ.xn ¤Ï²¼µ­¤Î¤è¤¦¤Ë¤Ê¤ë¤ß¤¿¤¤¤Ç¤¹¡£

<?xml version="1.0" encoding="UTF-8"?>
<Network xmlns="http://www.xmos.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.xmos.com  http://www.xmos.com">
  <Type>Board</Type>

  <Declarations>
    <Declaration>core stdcore[4]</Declaration>
  </Declarations>

  <Nodes>
    <Node Id="0" Type="XS1-G4B-FB512">
      <Core Number="0" Reference="stdcore[0]">
        <Port Location="XS1_PORT_1A" Name="PORT_SPI_MISO"/>
        <Port Location="XS1_PORT_1B" Name="PORT_SPI_SS"/>
        <Port Location="XS1_PORT_1C" Name="PORT_SPI_CLK"/>
        <Port Location="XS1_PORT_1D" Name="PORT_SPI_MOSI"/>
      
        <Port Location="XS1_PORT_4A" Name="PORT_CLOCKLED_0"/>
        <Port Location="XS1_PORT_4B" Name="PORT_CLOCKLED_1"/>
        <Port Location="XS1_PORT_4C" Name="PORT_CLOCKLED_2"/>

        <Port Location="XS1_PORT_1E" Name="PORT_CLOCKLED_SELG"/>
        <Port Location="XS1_PORT_1F" Name="PORT_CLOCKLED_SELR"/>
        <Port Location="XS1_PORT_4D" Name="PORT_BUTTON"/>
        
        <Port Location="XS1_PORT_1H" Name="PORT_UART_TX"/>
        <Port Location="XS1_PORT_1I" Name="PORT_UART_RX"/>
        
        <Port Location="XS1_PORT_1K" Name="PORT_SPEAKER"/>
        <Port Location="XS1_PORT_8D" Name="PORT_BUTTONLED"/>
      </Core>
      <Core Number="1" Reference="stdcore[1]"/>
      <Core Number="2" Reference="stdcore[2]"/>
      <Core Number="3" Reference="stdcore[3]"/>
    </Node>
  </Nodes>

  <Devices>
    <Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash" Type="EPCS1">
      <Attribute Name="PORT_SPI_MISO"  Value="PORT_SPI_MISO"/>
      <Attribute Name="PORT_SPI_SS"   Value="PORT_SPI_SS"/>
      <Attribute Name="PORT_SPI_CLK"  Value="PORT_SPI_CLK"/>
      <Attribute Name="PORT_SPI_MOSI" Value="PORT_SPI_MOSI"/>
    </Device>
  </Devices>

  <JTAGChain>
    <JTAGDevice NodeId="0"/>
  </JTAGChain>

</Network>

¢¨»ä¤Ï¥³¥ì¤Ç¤â¤«¤±¤Ê¤«¤Ã¤¿(xflash ¤¬¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¡Ë¤Î¤Ç¤¹¤¬¡¢°ìö B ¥Ü¥¿¥ó¤ò²¡¤·¤Ê¤¬¤é JTAG(OTP) ¥Ö¡¼¥È¤Ç½ñ¤­¹þ¤ß¥â¡¼¥É¤Ë¤·¤Æ¤«¤é¡¢¤³¤Î .XN ¤òÉղä·¤¿ SPI ROM ¤Ë½ñ¤¯¤È¡¢¤½¤ì°Ê¹ß¤Ï SPI ¥Ö¡¼¥È¥â¡¼¥É¤ÇÌäÂê¤Ê¤¯½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

EPCS1 °Ê³°¤Î FLASH ¤ò¤¯¤Ã¤Ä¤±¤¿¾ì¹ç¤Ï¡¢³ºÅö²Õ½ê¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£

XN ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ(2) (9.9.0)

.XN ¥Õ¥¡¥¤¥ë¤Ç¡¢¥ê¥ó¥¯¤ÎÄêµÁ¤ò¤·¤Æ¤ª¤¯¤È¡¢£²¤Ä°Ê¾å¤Î XMOS chip ¤ÎÄÌ¿®¤ò¤¹¤ë¾ì¹ç¤ä¡¢Æ±»þ½ñ¤­¹þ¤ß¤Ë¤âÂбþ¤·¤Æ¤¯¤ì¤ë¤è¤¦¤Ç¤¹¡£

¤¿¤È¤¨¤Ð¡¢²¼µ­¤Î .xn ¤òµ­½Ò¤¹¤ë¤³¤È¤Ç¡¢XK-1 ¤ò£²¤ÄÏ¢·ë¤·¤¿¾ì¹ç¤Ç¤â¡¢¤¢¤¿¤«¤â¤½¤ì¤¬£±¥Á¥Ã¥×¤Î¥Þ¥ë¥Á¥³¥¢ CPU ¤Ç¤¢¤ë¤¬Ç¡¤¯¤Ë¡¢
£±¤Ä¤Î .xc ¥×¥í¥¸¥§¥¯¥È¤È¡¢£±¤Ä¤Î XTAG ¥¢¥À¥×¥¿¤Ç¡¢Î¾Êý¤Î¥Ü¡¼¥É¤Î¥Ç¥Ð¥Ã¥°¤¬¤Ç¤­(¤³¤ì¤Ï JTAG ¤¬¥Á¥§¡¼¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¤¬)¡¢¤µ¤é¤Ë¡¢¤½¤ì¤¾¤ì¤Î´ðÈĤΠflash ¤Ë¥Ö¡¼¥È¥³¡¼¥É½ñ¤­¹þ¤ß¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

[½Ðŵ](XMOS linkers)¡§http://www.xmoslinkers.org/forum/viewtopic.php?f=6&t=576

   <?xml version="1.0" encoding="UTF-8"?>
   <Network xmlns="http://www.xmos.com"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.xmos.com http://www.xmos.com">
     <Type>Board</Type>

     <Declarations>
       <Declaration>core stdcore[2]</Declaration>
     </Declarations>

     <Nodes>
       <Node Id="0" Type="XS1-L1A-TQ128">
         <Boot>
           <Source Location="SPI:bootFlash_0"/>
         </Boot>
         <Core Number="0" Reference="stdcore[0]">
           <Port Location="XS1_PORT_1I" Name="PORT_UART_RX_0"/>
           <Port Location="XS1_PORT_1J" Name="PORT_UART_TX_0"/>

           <Port Location="XS1_PORT_1K" Name="PORT_BUTTON_0_0"/>
           <Port Location="XS1_PORT_1L" Name="PORT_BUTTON_1_0"/>

           <Port Location="XS1_PORT_1M" Name="PORT_SPI_MISO_0"/>
           <Port Location="XS1_PORT_1N" Name="PORT_SPI_SS_0"/>
           <Port Location="XS1_PORT_1O" Name="PORT_SPI_CLK_0"/>
           <Port Location="XS1_PORT_1P" Name="PORT_SPI_MOSI_0"/>

           <Port Location="XS1_PORT_4F" Name="PORT_LED_0"/>
         </Core>
       </Node>
       <Node Id="1" Type="XS1-L1A-TQ128">
         <Boot>
           <Source Location="SPI:bootFlash_1"/>
         </Boot>
         <Core Number="0" Reference="stdcore[1]">
           <Port Location="XS1_PORT_1I" Name="PORT_UART_RX_1"/>
           <Port Location="XS1_PORT_1J" Name="PORT_UART_TX_1"/>

           <Port Location="XS1_PORT_1K" Name="PORT_BUTTON_0_1"/>
           <Port Location="XS1_PORT_1L" Name="PORT_BUTTON_1_1"/>

           <Port Location="XS1_PORT_1M" Name="PORT_SPI_MISO_1"/>
           <Port Location="XS1_PORT_1N" Name="PORT_SPI_SS_1"/>
           <Port Location="XS1_PORT_1O" Name="PORT_SPI_CLK_1"/>
           <Port Location="XS1_PORT_1P" Name="PORT_SPI_MOSI_1"/>

           <Port Location="XS1_PORT_4F" Name="PORT_LED_1"/>
         </Core>
       </Node>
     </Nodes>

     <Packages>
       <Package id="0" Type="XS1-L1A-TQ128">
         <Component NodeId="0" InPackage="0"/>
       </Package>
       <Package id="1" Type="XS1-L1A-TQ128">
         <Component NodeId="1" InPackage="0"/>
       </Package>
     </Packages>

     <Links>
       <Link Encoding="2wire" Delays="4,4">
         <LinkEndpoint NodeId="0" Link="1"/>
         <LinkEndpoint NodeId="1" Link="0"/>
       </Link>
     </Links>

     <Devices>
       <Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash_0" Type="AT25FS010">
         <Attribute Name="PORT_SPI_MISO" Value="PORT_SPI_MISO_0"/>
         <Attribute Name="PORT_SPI_SS"   Value="PORT_SPI_SS_0"/>
         <Attribute Name="PORT_SPI_CLK"  Value="PORT_SPI_CLK_0"/>
         <Attribute Name="PORT_SPI_MOSI" Value="PORT_SPI_MOSI_0"/>
       </Device>
       <Device NodeId="1" Core="0" Class="SPIFlash" Name="bootFlash_1" Type="AT25FS010">
         <Attribute Name="PORT_SPI_MISO" Value="PORT_SPI_MISO_1"/>
         <Attribute Name="PORT_SPI_SS"   Value="PORT_SPI_SS_1"/>
         <Attribute Name="PORT_SPI_CLK"  Value="PORT_SPI_CLK_1"/>
         <Attribute Name="PORT_SPI_MOSI" Value="PORT_SPI_MOSI_1"/>
       </Device>
     </Devices>

     <JTAGChain>
        <JTAGDevice NodeId="0"/>
        <JTAGDevice NodeId="1"/>
     </JTAGChain>

   </Network>

¡ã¡ãXMOS ¤Î XS1-G4 ¤Ç¤¢¤½¤Ö¡¡¡Ã¡¡XMOS ¤Î XS1-G4,L1 ¤Ç¤¢¤½¤Ö - ¤½¤Î£³¡ä¡ä¡¡

¡¡¥«¥Æ¥´¥ê¡¡¡§¡¡¤â¤¯¤·¤¤¡Ã¥²¡¼¥à¡Ã¥ì¥·¥Ô¡Ã¥³¥ó¥Ô¥å¡¼¥¿¡Ã»¨Ê¸¡ÃÀ¸³è¡ÃÅŻҹ©ºî¡Ã¤ª¤¤¤·¤¤Å¹¥Þ¥Ã¥×

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Top¥Ú¡¼¥¸¤Ø¡¡|¡¡¤â¤Æ¤Ê¤¤SNS¡Ö¤â¤¯¤·¤¤¡×