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

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

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

!!!XMOS ¤Î XS1-G4,L1 ¤Ç¤¢¤½¤Ö - ¤½¤Î£µ

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

!!!¥Ä¡¼¥ë¥Á¥§¥¤¥ó 10.4 (2010/5)

ÌäÂêÅÀ
¡¦9.9.1 ¤Ç xflash ¤ÎÆâÉô¥¨¥é¡¼¤Ç¾Æ¤±¤Ê¤«¤Ã¤¿¥½¡¼¥¹¡ÊXK-1¤ò£²ÂæÀܳ¤·¤Æ¤ª¸ß¤¤¤ËÄÌ¿®¡Ë¤ÏÀµ¾ï¤Ë¾Æ¤±¤ë¤è¤¦¤Ë¸«¤¨¤ë¤¬¡¢¥Ö¡¼¥È¤·¤Ê¤«¤Ã¤¿¡£¡Êxrun ¤Ç¤Î¼Â¹Ô¤Ï²Äǽ¡Ë

!!!£²Âæ¤Î XK-1 ¤òÀܳ¤·¤Æ¥¹¥¿¥ó¥É¥¢¥í¥ó¥Ö¡¼¥È¤¹¤ëÊýË¡¡Ê10.4.2 ¥Ä¡¼¥ë¥Á¥§¥¤¥ó¡Ë¡Ê2011/1¡Ë

¥µ¥Ý¡¼¥È¤«¤é¾ðÊó¤ò¤¤¤¿¤À¤­¤Þ¤·¤¿¡£

¡¦10.4.2 ¤Ç¤âÁ°¤Î¥³¡¼¥É¤ÏÀµ¾ï¤Ë¥Ö¡¼¥È¤·¤Þ¤»¤ó(xrun ¤Ç¤ÏÆ°ºî¤¹¤ë¡Ë¡£
¡¦¤³¤ì¤Ï¼¡´ü¥ê¥ê¡¼¥¹¡ÊÁᤱ¤ì¤Ð 2011/2 Ëö¡Ë¤Ç½¤Àµ¤µ¤ì¤ë¸«¹þ¤ß¡£¤½¤ì¤Þ¤Ç¤Ï¡¢£²ÂæÏ¢·ë¤Ç¤¢¤ì¤Ð¡¢°Ê²¼¤Î¼ê½ç¤Ç¥¹¥¿¥ó¥É¥¢¥í¥óÆ°ºî²Äǽ¤È¤Î¤³¤È¤Ç¡¢Æ°ºî¤ò³Îǧ¤·¤Þ¤·¤¿¡£

¼ÂºÝ¤Ë¤Ï¡¢£²¤Ä FLASH ¤ò¾Æ¤¯¤Î¤Ç¤Ê¤¯¡¢ÆóÂæ¤Î XK-1 ¤ò[XK-1(A)],[XK-1(B)] ¤È¤·¤¿¾ì¹ç¡¢[XK-1(A)] ¦¤ò SPI ¥Ö¡¼¥È¡¢[XK-1(B)] ¦¤ò XLINK ¥Ö¡¼¥È¤È¤¹¤ëÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£

        [XK-1(A)]--(XLINK)--[XK-1(B) boot from XLINK]
           |
        [SPIROM]

¤Þ¤º¡¢XLINK ¤«¤é¥Ö¡¼¥È¤µ¤»¤ë¤¿¤á¤Ë [XK-1(B)] ¤Ë°Ê²¼¤Î¥³¡¼¥É¤ò¥Ó¥ë¥É¤·¤Æ¡¢¾Æ¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢XK-1 ¤Î OTP->SPI ¥Ö¡¼¥È¾õÂÖ¤«¤é XLINK ¥Ö¡¼¥ÈÂÔ¤Á¤Ë¤¹¤ë¤¿¤á¤Î¥³¡¼¥É¤Ç¤¹¡£

  .text
  .align 2
 _start:
 main:
   mkmsk   r1, 16
   shl     r1, r1, 16
   ldc     r11, 0xc344
   or      r11, r11, r1
   set     dp, r11 
 
   ldc     r3, 0x80
   ldw     r4, dp[0xb]
   ldc     r11, 0xc0f4
   or      r11, r11, r1
   getr    r0, 2
   bla     r11
   freer   res[r0]
  
   ldc     r7, 0xc076
   or      r7, r1, r7
   bau     r7
 

¾åµ­¤Î¥³¡¼¥É¤ò {{ref f2l.S}}¤È¤·¤Æ¥»¡¼¥Ö¤·¡¢10.4.2 ¤Î¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤«¤é¡¢²¼µ­¤Î¤è¤¦¤Ë¥Ó¥ë¥É¤·¤Þ¤¹¡£

 xcc f2l.S -target=XK-1 -nostdlib -Xmapper --nochaninit -o f2l.xe

¼¡¤Ë¡¢[XK-1(B)] ¤À¤±¤òÀܳ¤·¡¢xflash ¤Ç f2l.xe ¤ò¾Æ¤­¤Þ¤¹¡£

 (Flash XLINK boot code to [XK-1(B)])
 xflash f2l.xe

¤³¤ì¤Ç¡¢[XK-1(B)] ¤Ï XLINK ¤«¤é¤Î¥Ö¡¼¥ÈÂÔ¤Á¤Ë¤Ê¤ê¤Þ¤¹¡£

¼¡¤Ï [XK-1(A)] ¡¢[XK-1(B)] ξÊý¤Î¥³¥¢¤ÇÆ°ºî¤µ¤»¤ë¥×¥í¥°¥é¥à(¤¿¤È¤¨¤Ð foo.xc ¤È¤¹¤ë)¤ò¡¢ÅºÉդΠ{{ref 2XK-1.xn}} ¤òÍѤ¤¤Æ¥Ó¥ë¥É¤·¡¢

 (If main program is "foo.xc")
 xcc foo.xc 2XK-1.xn -o foo.xe

¤Ç¤­¤¿¥Ð¥¤¥Ê¥ê¤ò¡¢Æ±ÍÍ¤Ë [XK-1(A)] ¤Ë¾Æ¤­¤Þ¤¹¡£

 (Flash binary foo.xe to [XK-1(A)])
 xflash foo.xe

´Î¤Ï¡¢2XK-1.xn ¤Î Source Location="XMOSLINK" ¤Î²Õ½ê(²¼µ­)¤È»×¤ï¤ì¤Þ¤¹¡£

 33:    <Node Id="1" Type="XS1-L1A" Oscillator="20MHz" SystemFrequency="400MHz">
 34:        <Boot>
 35:            <Source Location="XMOSLINK"/>
 36:        </Boot>

¼¡¤Î¥ê¥ê¡¼¥¹¤Ç¤Ïľ¤ëͽÄê¤À¤½¤¦¤Ç¤¹¤¬¡¢XLINK ¤«¤é¥Ö¡¼¥È¤¹¤ë¥³¡¼¥É¤Ï»²¹Í¤Ë¤Ê¤ë¤«¤È»×¤¤¤Þ¤¹¡£

!!! 11.2.0 ¥Ä¡¼¥ë¥Á¥§¥¤¥ó¥ê¥ê¡¼¥¹¡Ê2011/3¡Ë

¥µ¥Ý¡¼¥È¤¬¸À¤Ã¤Æ¤¤¤¿Ä̤ꡢ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï£²Âæ¤Î XK-1 ¤ò»È¤Ã¤¿ SPI ¥Ö¡¼¥È¤ÏÀµ¾ï¤ËÆ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤Ç¥¹¥¿¥ó¥É¥¢¥í¥ó¤Ç¤¿¤¯¤µ¤ó¤Ä¤Ê¤¤¤Ç¡Ê¥Ç¡¼¥¿¥·¡¼¥È¤Ë¤è¤ë¤È Max16¥³¥¢¡Ë¼Â¸³¤¬¤Ç¤­¤Þ¤¹¡£

¤È»×¤Ã¤Æ£³Âæ¤Ä¤Ê¤¤¤Ç¤ß¤¿¤È¤³¤í¡¢£²Âæ¤Ç¥³¥±¤¿¤È¤­¤ÈƱ¤¸¤è¤¦¤Ê¸½¾Ý(xrun ¤Ç¤ÏÁö¤ë¤¬ SPI ¥Ö¡¼¥È¤·¤Ê¤¤¡Ë¤¬½Ð¤¿¤Î¤Ç¡¢¸½ºßÌ䤤¹ç¤ï¤»¤ò¤·¤Æ¤¤¤Þ¤¹...orz

¤µ¤Æ¡¢L1 ·Ï¤Î¥³¥¢¤Ç SPI ¥Ö¡¼¥È¤¹¤ë¥³¥¢¤ËÀܳ¤µ¤ì¤¿ÎÙÀÜ¥³¥¢¤Ç XMOSLINK ¤«¤é¥Ö¡¼¥È¤¹¤ë¡Ê10.4.2 ¤Î workaround ¤ÈƱÍͤι½À®¤Ë¤¹¤ë¡Ë¾ì¹ç¤Î .xn ¤Îµ­½Ò¤¬ XMOS ¤Î¥µ¥¤¥È¤Ë¤¢¤ë Tools-User-Guide ¤Î 8.2 Àá¡¢Describing a Simple Hardware Platform ¤Ë¾Ü¤·¤¯Îã¤È¤·¤Æµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¶ñÂÎŪ¤Ë¤Ï¡¢SPI ¤Î¤¢¤ë¤Û¤¦¤Î Node ¤Î Boot ¥»¥¯¥·¥ç¥ó¤Ç¡¢XMOSLINK ¤«¤é¤Î¥Ö¡¼¥ÈÂÔ¤Á¤Ë¤·¤¿ÎÙÀÜ¥³¥¢¤òBootee ¥¿¥°¤Ç»ØÄꤹ¤ë¤è¤¦¤Ë¤Ê¤ê

 (e.g. if Slave Boot NodeId="1" Core="0")
 
 <Boot>
   <Source Location="SPI:bootFlash"/>
   <Bootee NodeId="1" Core="0"/>
 </Boot>

XMOSLINK ¤ÇÂԤĤۤ¦¤Ï 10.4.2 ¤Î workaround ¤Ç¹Ô¤Ã¤¿¤Î¤ÈƱÍ͡ʤ³¤Î¥Ú¡¼¥¸Á°¹à¤ò»²¾È¤¯¤À¤µ¤¤¡Ë

 <Boot>
   <Source Location="XMOSLINK"/>
 </Boot>

¤Èµ­½Ò¤¹¤ì¤Ð¤è¤¤¤è¤¦¤Ç¤¹¡£

!!! XK-1 £²Âæ¤Ç¤Î SPI-XMOSLINK Boot ¥Æ¥¹¥È (11.2.0)

10.4.2 ¤Ç¤ÎÁ°¡¹¹à¤Î workaround ¤ò¤·¤¿ XK-1 £²ÂæÀܳ¥×¥í¥¸¥§¥¯¥È¤Ë¡¢
Á°¹à¸åȾ¤ÇÀâÌÀ¤·¤¿ Bootee µ­½Ò¤òÄɲä·¤Æ IDE ¤«¤é¾Æ¤¤¤Æ¤ß¤Þ¤·¤¿¤¬¡¢»ÄÇ°¤Ê¤¬¤é¤­¤Á¤ó¤È¥Ö¡¼¥È¤·¤Þ¤»¤ó¤Ç¤·¤¿¡£

¤½¤³¤Ç¡¢10.4.2 ¤ÈƱÍͤˡ¢{{ref f2l.S}} ¤ò¡¢Bootee ¦¤Î XK-1 ¤Ë²¼µ­¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¾Æ¤¤¤Æ¤ä¤ë¤È¡¢²¼µ­¤Î¤è¤¦¤Ê¥ï¡¼¥Ë¥ó¥°¤¬½Ð¤ë¤â¤Î¤Î¡¢11.2.0 ¤Ç¤âƱÍͤ˥֡¼¥È¤·¤Þ¤·¤¿¡£

 C:\work\xk1\xk1dual2\Release>xcc f2l.S -target=XK-1 -nostdlib -Xmapper --nochaninit -o f2l.xe
 C:\work\xk1\xk1dual2\Release>xflash f2l.xe
 Warning: F03098 Factory image and boot loader cannot be write-protected on flash device on node "0".
 Site 0 has finished.

XK-1 ¤Î OTP ¤Ë¤«¤«¤ì¤Æ¤¤¤ë½Ð²Ù»þ¥Õ¥¡¡¼¥à¥¦¥§¥¢¤¬¼ÙË⤷¤Æ¤¤¤ë¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤¦¡¼¤à¡£

!!! XK-1 Ê£¿ôÂæ¤Ç¤Î SPI Boot ÌäÂ꽤Àµ (11.2.1)

Release Note ¤è¤ê¡£

 * Flash programming
 
  * The 11.2 version of xflash could not produce a flash image to 
 boot a system with more than 2 switches. This is now fixed.

10.4 ¤«¤é°ú¤­¤º¤Ã¤Æ¤¤¤¿¤³¤ÎÌäÂ꤬¡¢¤è¤¦¤ä¤¯½¤Àµ¤µ¤ì¤¿¤è¤¦¤Ç¤¹¡Ê¼ÂºÝ¤Ë£´Âæ¤Þ¤Ç¤Ï¡¢¤Ä¤Ê¤¤¤Ç³Îǧ¤·¤Þ¤·¤¿¡Ë¡£

¤³¤ì¤Ç°Â¿´¤·¤Æ¤¿¤¯¤µ¤óÇã¤Ã¤Æ¤Ä¤Ê¤²¤Þ¤¹¡£

!!! OTP ¤ÎÃæ¤ò¤Î¤¾¤¤¤Æ¤ß¤ë (11.2.2)

ÃΤê¹ç¤¤¤Ë OTP ¤ÎÃ椬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤«Ê¹¤«¤ì¤¿¤¬¡¢¤¤¤Þ¤Þ¤Çµ¤¤Ë¤·¤¿¤³¤È¤¬¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢
¤Î¤¾¤­Êý¤òÃΤê¤Þ¤»¤ó¤Ç¤·¤¿¡£¶µ¤¨¤Æ¤â¤é¤Ã¤¿¤Î¤¬ xburn ¤ò»È¤¦ÊýË¡¡£

XK-1 (via XTAG2) ¤Î¾ì¹ç

 C:\Program Files\XMOS\DevelopmentTools\11.2.2>xburn --read --target XK-1
 Reading device...
 Core 0:
 0x00000000: 0x00000018
 0x00000001: 0xdbfef007
 ..
 SR        : 0x00000020

¤Î¤è¤¦¤Ê´¶¤¸¤Ç¤¹¡£¤¹¤Ç¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¤Í¡£

XC-1A (via Æâ¢JTAG) ¤Î¾ì¹ç
 C:\Program Files\XMOS\DevelopmentTools\11.2.2>xburn --read --target XC-1A
 Reading device...
 Core 0:
 SR        : 0x00000000
 Core 1:
 SR        : 0x00000000
 Core 2:
 SR        : 0x00000000
 Core 3:
 SR        : 0x00000000

¤É¤¦¤ä¤é¶õ¤Î¤è¤¦¤Ç¤¹¡£

XS1-L1-64 (SparkFunÀ½ µì¥í¥Ã¥È:FTDI ¤Ä¤­ via XTAG2) ¤Î¾ì¹ç¡£
¡ÊXC-5 ¤ÈƱ°ì¥Á¥Ã¥×¤Ê¤Î¤Ç¡¢XC-5 ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡Ë

 C:\Program Files\XMOS\DevelopmentTools\11.2.2>xburn --read --target XC-5
 Reading device...
 Core 0:
 *
 0x0000020e: 0x00800000
 SR        : 0x00000000

SR = 0x00000000 ¤Ç¤¹¤¬¡¢¶õ¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹¡£

XC-1 (via Æâ¢JTAG) ¤Î¾ì¹ç¡¢ÉáÄ̤˥֡¼¥È¤·¤Æ¤·¤Þ¤¦¤È¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

 C:\Program Files\XMOS\DevelopmentTools\11.2.2>xburn --read --target XC-1
 Reading device...
 xburn: error: reading device failed

SPI/JTAG ¤ÎÀÚ¤êÂؤ¨(ÁªÂò SW ¤ò¼è¤êÉÕ¤±)¤ò SPI ¥Ö¡¼¥È¤Ë¤·¤Æ¤ä¤ë¤È¡¢

 C:\Program Files\XMOS\DevelopmentTools\11.2.2>xburn --read --target XC-1
 Reading device...
 Core 0:
 0x00000000: 0x000007dd
 0x00000001: 0xfed1684b
 0x00000002: 0xf00417ec
 0x00000003: 0xfec2688b
 .....
 0x000007dd: 0x00000000
 0x000007de: 0x0d15ab1e
 SR        : 0x00000020
 Core 1:
 SR        : 0x00000000
 Core 2:
 SR        : 0x00000000
 Core 3:
 SR        : 0x00000000

Æɤá¤Þ¤·¤¿¡£

----

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