¥È¥Ã¥× °ìÍ÷ ¸¡º÷ ¥Ø¥ë¥× RSS ¥í¥°¥¤¥ó

XMOS ¤Î XS1-G4 ¤Ç¤¢¤½¤Ö - ¤½¤Î£²¤ÎÊѹ¹ÅÀ

  • Äɲ䵤줿¹Ô¤Ï¤³¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
  • ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
{{category ÅŻҹ©ºî}}

!!!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
[½Ðŵ](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 ¤Ç¤¢¤½¤Ö - ¤½¤Î£³¡ä¡ä¡¡