3ã€ã®ãçŽ æŽããããUSBã¹ã¿ãã¯å±€
ãããã¯ãŒã¯äžã§æãé »ç¹ã«èŠãããUSBã¹ã¿ãã¯ã®å€èŠ³ã«ã¯æºè¶³ã§ããŸããã§ããã
ããŸã圹ã«ç«ããªãUSBã¹ã¿ãã¯
ãã¹ã¬ãã«ãè«ççãæ©èœç...ãããã¯ãã¡ããçŽ æŽãããæœè±¡åã§ããããã¹ãçšã®ãã©ã€ããŒãŸãã¯ã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ãäœæããããšããŠãã人ã«ãšã£ãŠã¯ããå¯èœæ§ãé«ãã§ãã ãã€ã¯ãã³ã³ãããŒã©ãŒã®åŽã§ã¯ããã³ãã¬ãŒãåãããã¹ããŒããã·ã³ãæåŸ ãããŸããéåžžãããŒãã«ã¯äŸ¿å©ãªã³ãŒããåã蟌ãŸãããžã£ã³ã«ã®ãã¹ãŠã®æ³åã«ãã£ãŠæåã«ãã°ãçºçããŸãã ãŸãã¯ããã¹ãäžã®ãœãããŠã§ã¢ã«ãã°ããããŸãã ãŸãã¯ãã©ã€ããŒã ãããã«ããã誰ãããã®ãŒã«ãªããŸãã MKã©ã€ãã©ãªãç°¡åã«ç解ã§ããŸããã ãããŠãã¢ãã©ã€ã¶ãŒãåããUSBãã¹äžã®ãã©ãã£ãã¯ãèŠãŠã¿ãŸãããã3ã€ã®ãã°ãããã¬ãã«ãæã€ãªãã¿ã®ãªãèšèªã®ã€ãã³ãã¯ãŸã£ããé©åããŸããã é ã®äžã®ã€ã³ãã«ãšã³ã¶ç±ãããããªäžååé³ãããã®ã ãããïŒ
èªè ã䌌ããããªæ°æã¡ãæã£ãŠãããªããUSBã¹ã¿ãã¯ã®éç±ããè³ã®ããžã§ã³ã§ããæ°ã«å ¥ãã®7ã¬ãã«OSIã¢ãã«ã«åºã¥ããŠãæããããªãæããã«ãªã£ã代æ¿æ¡ãææ¡ããŸãã ç§ã¯èªåã5ã€ã®ã¬ãã«ã«å¶éããŸããã
ãã¹ãŠã®ãœãããŠã§ã¢ãšã©ã€ãã©ãªããã§ã«äœæãããŠããããŸãã¯ãã®ã¢ãã«ã«åºã¥ããŠèšèšãããã¹ãã ãšã¯èšããããããŸããã ãšã³ãžãã¢ãªã³ã°äžã®çç±ãããã¬ãã«ã®ããã³ãŒãã¯éåžžã«è€éã§ãã ããããUSBãã¹ã«ç²Ÿéãå§ããããã€ã¹äº€æãããã³ã«ãšãã¡ã€ã³çšèªãç解ããæ¢è£œã®ãµã³ãã«ãã©ã€ãã©ãªã«è¿ã¥ããããããããããããã²ãŒãããã人ãæ¯æŽããããšæããŸãã ãã®ã¢ãã«ã¯MKã«ã¢ããããŒãããããã®ãã®ã§ã¯ãªãã芪æãªãåã ã¡ã®çŽ æŽãããé è³ã«ã¢ããããŒãããããã®ãã®ã§ãã ãããŠãããªãã®é»éã®æã¯ãã¹ãŠèªåã§ããã ãããç§ã¯çãããªã:)
ããã§ã¯ãè¡ãè©°ãŸããèŠããããä¿®æ£ããŸãããã ããã¯ãã©ããçã§ãããããæ¢ã«ã©ããã«æãããŠããå Žåã¯ãã容赊ãã ãããèŠã€ããããªãã£ããããèªåã§ã²ãããŸããã åçã¯éããããªããšæããŸãããä»ã®ãšããããã®åºçç©ãåãäžããçç±ããç±ç·ãã人ã ã«èª¬æããŸãã
90幎代ããã®å¥ã®ãã©ãã·ã¥ããã¯
ç§ã¯ã90幎代åŸåã«ã¢ã«ãã€ãã®åŠçãšããŠãä»ã®èª°ãã®ã³ãŒãããç§ã®æåã®ãã°ãæ¯ãæããŸããã ããã¯FreeBSDã§pppdã§ããããããã¢ãã ããŒã«ã«ãã蟌ã¿ãŸããã ã¢ãããŒã©ã®ã¢ãã ãæåŸã«ã¯ãŸããã ããééã§ãããåç·ãç¡é§ã«æ¶ããPPPããŒãã¢ã©ã€ããéãå¯äžã®æ®ãã®æ¹æ³ã¯äœããã®åœ¢ã§ãã°ããããŸããã ããã¯ãäœããã®çç±ã§pppdã4ã€ã§ã¯ãªã6ã€ã®LCPå¿çãã€ããåŸ
æ©ããŠããããšãçºèŠãããšãã§ãã ãããããç§ã¯90幎代ã®åšå¢ã®ãããã¹ãªã®ããã«æããŸãã:-) PPPã¯ãããšäœã®é¢ä¿ãããã®ã§ããããïŒ USBã®ããã«èŠããŸãïŒããããšãã€ã³ãããŒãã€ã³ãã 確ãã«ãUSB 2.0ãšã¯ç°ãªããå
šäºéã§ãã
奜ããšå¥œãŸãããšã«ãããããããã€ã¯ãã³ã³ãããŒã©ã®é²åã¯æããã«æ¢ãŸããŸããã ããããããããããã¯åºçç©ã§ã¡ãã€ããŸãïŒ http://habrahabr.ru/post/208026/ãhttp://habrahabr.ru/post/233391/ ïŒãéãåšèŸºæ©åšã-MKã«ããŠã³ããããUSBãã¹å®è£ ã解æä»ãHIDãªã©ã䜿çšããäŸã RaJaã®äœè ã«æ¬æãè¡šããŸã ïŒæšæºã©ã€ãã©ãªSTSW-STM32121ïŒUM0424ïŒã§åŒçšãããäœããã®åœ¢ã§ææžåããã8ã€ã®äŸããã圌ã¯æã䟿å©ãªïŒã«ã¹ã¿ã HIDïŒãéžæããç¡æã®Em ::ãããã¯ç°å¢ã«ç§»æ€ããæ確ãªèšèªã§å°ã説æããŸããè£ é£Ÿããã©ããŒïŒ ããã¯ç§ã«å€ãã®æéãç¯çŽããŸããã
å³æžé€šãžã®è¡ãæ¹
èè ãGitHubã«èŠªåã«æçš¿ããEm :: Blocksã®RHIDDemoãããžã§ã¯ããåãåããKeilïŒFTDIããŒã¹ã®CoLinkãããã¬ãŒã誰ããEm :: Blocksã®Coocoxãã©ã°ã€ã³ãæããŠãã ããïŒãžã®ç§»æ€ãéå§ããŸããã ããããç§ã¯ç解ã§ããŸããã§ããïŒ2011幎ã®3.5.0ããµã€ãã«æçš¿ãããå Žââåãäœè ã¯ã©ãã§2012ãªãªãŒã¹ã®SPL 3.6.1ãååŸããŸãããïŒ USB FS 4.0.0ã©ã€ãã©ãªã®äžéšãšããŠãKeilã®å®æããã«ã¹ã¿ã HIDãããžã§ã¯ãã«ãã©ãçããŸããã ããã¯ãã»ããã®äžã®ããºãã®ããã«ã誰ã®ç®ã«ãèŠããŸãã ããã§ããã ããããã€ãã«STMicroelectronicsã®ãªãªãŒã¹ãåžã£ãŠãUSB FS STSW-STM32121ïŒUM0424ïŒã©ã€ãã©ãªã®èª¬æãèŠã€ããéçºè ãç§ã倢äžã«ãããããšããè©Šã¿ãé»æ¢ããŸãã ã 2009ãµã³ãã«ã®ãã³ããŒãžCMSIS 1.30ã2011 SPL 3.5.0ã»ããã«å ¥ããUSB-FS 4.0.0 2013ãªãªãŒã¹ã§æ°ãã2012 SPL 3.6.1ãªãªãŒã¹ãé衚瀺ã«ããããšã¯æ®éã§ãïŒ2012幎ããCMSIS 3.0.1ãåãå Žæã«çœ®ãïŒã圌ãã¯CMSIS 3.30ãªãªãŒã¹2014ã®çŸåšã®ããŒãžã§ã³ãæçš¿ãããšããäºå®ã«ããããããïŒ ãšããã§ãSTM32F10Xã®SPL 3.6.xã§ã¯ããããã¡ãªãŒããŒãããŒä¿¡å·ã«é¢ããããã€ãã®USARTãã°ãä¿®æ£ãããŸããã ããããšãããªãªãŒã¹ããŒããæ®ã£ãŠããŸãã...
HID vs SNMP
ãã®ãããSTM32F103C8T6ãåãäžããŠãUSB HIDã®ãããã¯ã«ã€ããŠå°ã説æããããšã«ããŸãããããã¯ãUSB HIDãããããçš®é¡ã®ã»ã³ãµãŒãã»ã³ãµãŒããã®ä»ã®PWMå¶åŸ¡ãã¯ãŒãã©ã€ããŒã®æŠå¿µã«ããŸãåãŸãããã«æœè±¡åããŸãã éåžžã«åçŽåããã圢åŒã§ã®ã¿ãSNMPãæãåºããŸãããHIDèšè¿°åã¯SNMP MIBã®åœ¹å²ãæãããŸãã ããã€ã¹ããã¹ãã«ãã£ãŠåæåããããšããHello hostïŒ ç§ã¯ã³ãŒããŒã¡ãŒã«ãŒã§ãã [ã¹ã¿ãŒã]ãã¿ã³ã[ã¯ãªãŒã ]ã[ç ç³]ããã[ã³ãŒããŒæ®æž£]ã[æ°Žæ®æž£]ã[ç ç³æ®æž£]ã[ã¯ãªãŒã æ®é]ã»ã³ãµãŒããããŸãã ãã©ã€ããŒãç· ãããã¿ã³ãæŒããã³ãŒããŒã飲ã¿ãŸããã äœã«ã䌌ãŠããŸãããïŒ SNMPäŒè©±ã®äŸïŒãããã«ã¡ã¯ã100,000ãã«ã®ãœãããŠã§ã¢ãåãã管çã¹ããŒã·ã§ã³ã ãããŠãç§ã¯20äžãã«ã®ã¹ã€ããã·ã£ãŒã·ã§ãããããã«1ã€100,000ãã«ã®ã¢ãžã¥ãŒã«ã4ã€ãããŸãã ããããã«äžé©åãªé床ã®16åã®ããŒãããããããã«ãã¹ãŠã®æ©èœããªã¹ãããããšã¯ã§ããŸãããåé ç®ã«ã€ããŠåå¥ã«ç¢ºèªããŠãã ããã ãããããããã»ããµã®è² è·ã¯ãã®ãããªãã®ã§ãããéåžžã«å€ãã®ã¡ã¢ãªããããŸã...ãã ãããŠãåãè絡ã§ããã«12ããŒãžãããŸãã
HIDã®ã¢ã€ãã¢ãæ°ã«å ¥ããŸããã ããããLEDã®ç¹æ» ãšããåŠç¿ã¿ã¹ã¯ãè¶ ããŠïŒå®éã®UNIXç°å¢ã«é²ãïŒïŒWindowsãåºãŠããã«ã æªå®æã®ã¹ãããããã¹ãŠèª¿ã¹å§ããäœããã®ç¡åãªã©ããŒã®ããã«æããŸããã ãããžã§ã¯ãã®ãããã°äžã«ãç§ã¯æ¬èœçã«äœããã®çš®é¡ã®tcpdumpïŒ usbdumpïŒ8ïŒãŸãã¯usbmonãšåŒã°ããŸãïŒãååŸããŸããããèŠæ £ããªãèšèªã®ã¡ãã»ãŒãžããèŠãŸããã§ããã
æããã«ãªã£ãã®ã¯ãUSBãã¹ã«é¢ããååãªåºç€ç¥èããªãããšã§ãã OSIã¢ãã«ãšTCP / IPã¹ã¿ãã¯ã®å ŽåããµãŒãããŒãã£ã®ITæ åœè ã¯å¿ èŠã«å¿ããŠèé«ã®ã©ããã§æèããŠããã ãã§ãããUSBã§ã¯ç¶æ³ãç°ãªããŸãã ç解ã§ããïŒåãtcpdumpãä»ããŠãã©ãã£ãã¯ãã¹ãã€ãããœãããŠã§ã¢ã§ããŒããŠã§ã¢ãæ§æãïŒå®å šãªãã©ã°ã¢ã³ããã¬ã€ïŒããã©ã€ããŒãŸãã¯ãã¡ãŒã ãŠã§ã¢ãæŽæ°ïŒãŸãã¯OSãåã€ã³ã¹ããŒã«ïŒããããšã§äœããä¿®æ£ããããšãã§ããŸãã ããããè¯ããã¡ãŒã ãŠã§ã¢ãäœãããã ãã«ãããªããšç§ã¯ããã«éãŸã£ãã®ã§ããïŒ ãããã¯ãŒã¯äžã®USBã®èª¬æã®ããã€ããèªãã åŸãããã¥ã¡ã³ããçŽããããããšãããããšã«é©ããã ç§ã¯ã圌ããç§ãã¡ãè¿·ãããé§ãææŸããèœã®ç«¶äºãåãé€ãããšãç¹ã«æãã§ãããšããæããŸããã ç§ã¯ãã®ç¶æ³ã«åæããŸããïŒ
å¥ã®çŽ æŽãããã¹ããŒã
ãããã¯ãŒã¯ã®åºå€§ãã®äžã§ãç§ã¯å¥ã®ã€ã©ã¹ãã«åºäŒããŸããïŒBMP圢åŒã§ãåè«ã§ã¯ãããŸããã§ããïŒïŒ
æåã¯æ¥œèŠ³çã«èŠããŸãã æåŸã«ãã¹ã¿ãã¯ã¯çµã¿ç«ãŠãããŠããŸããã ãã ãããã¬ãŒã ã«ã¯äžååãªããŒã¯ãä»ããããŠããŸããåçŽã®ç Žç·ã§ãã¬ãŒã ãæç»ããŸãããEOFã¯äžæåæ¢ã§ãããããŒã¿ã¯å®éã«ã¯éä¿¡ãããŸããã ããããã³ã³ããã¹ããèªã¿å§ããŠãèè ã®çã®æå³ãç解ã§ããªããªããŸãïŒæ··ä¹±ãããããïŒã
USBãã¹ãã¹ãã³ã³ãããŒã©ãŒã¯ãã¬ãŒã ãäœæããŸãããããŠããäžã€ïŒ
ãã¬ãŒã ã¯ãNRZIæ¹åŒã䜿çšããã·ãªã¢ã«ãããéä¿¡ã«ãã£ãŠéä¿¡ãããŸãã
åãã¬ãŒã ã¯æãåªå 床ã®é«ãæœèšã§æ§æããããã®æ§æããã¹ããã©ã€ããŒã圢æããŸãã
å転éã¯1ã€ä»¥äžã®ãã©ã³ã¶ã¯ã·ã§ã³ã§æ§æãããŸãã
åãã©ã³ã¶ã¯ã·ã§ã³ã¯ãã±ããã§æ§æãããŸã ã
åãã±ããã¯ããã±ããèå¥åãããŒã¿ïŒååšããå ŽåïŒãããã³ãã§ãã¯ãµã ã§æ§æãããŸãã
ãã¹ãŠãæ£ããæãããŠããããã«èŠããŸããã質åãèªãã«ã€ããŠãããã¯ãŸããŸãå€ããªããŸãã ãã¹äžã§éä¿¡ãããæå°ããŒã¿æ§é ã¯ãã¬ãŒã ã§ããããããšããã±ããã§ããïŒ äžè¬ã«ãäžããäžããŸãã¯ãã®éãèŠãå¿ èŠããããŸããïŒ ãããŠã NRZIæ¹åŒã䜿çšããŠãšã³ã³ãŒããããŠãããã®ã¯äœã§ããïŒãã¬ãŒã ããã±ããããŸãã¯ãã¹äžã®ãããã¹ããªãŒã å šäœã ãã§ããïŒ ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãéä¿¡ã転éããŸãã¯ããããäœã®è²Žéãªå°å ã§æ§æãããŠããŸããïŒ
ãªãã ãã§ã¯ãªãã®ãïŒ ãã¹ãã¯ããã±ããããã©ã³ã¶ã¯ã·ã§ã³ã«ã°ã«ãŒãåããçŸåšã®ãã¹åž¯åå¹ ã«åºã¥ããŠã¿ã€ã ã¯ãªãã£ã«ã«ãªããŒã¿ïŒãããªããªãŒãã£ãªïŒãåªå ããããã«ããã¬ãŒã ãšåŒã°ããã¿ã€ã ã¹ã©ã€ã¹ã«åŸã£ãŠãã±ãããé ä¿¡ããŸããïŒ ã¯ããUSBã«ã¯ãã±ãã転éã®ã¹ã±ãžã¥ãŒãªã³ã°ã«é¢ãããã¥ã¢ã³ã¹ããããŸããããŸã 觊ããŠããŸããã
USBã¹ã¿ãã¯ã®ç§ã®ããžã§ã³
ããã§èšåãããŠããNutShellã®USBãã ïŒä¹Ÿæ¯ã 翻蚳 ïŒããã³USB Made Simpleãè¯ãããã¥ã¡ã³ããšèŠãªããŸãã ãããã䜿çšããŠãUSBã¹ã¿ãã¯ã®ããŒãžã§ã³ãåéããå床æç»ããŸãã
身äœã¬ãã«
ç©çã¬ãã«ã§ã¯ãå°äœã®å·®åãã¢ã®é»æ°ã¢ãŒãã®ã»ããïŒã°ã©ã³ããšäžç·ã«ïŒã䜿çšããŠã ãããã¹ã¿ããã£ã³ã°ã䜿çšããNRZIã¡ãœããã䜿çšããŠãããã¹ããªãŒã ããšã³ã³ãŒãããç¶æ ã瀺ããŸããããã§ã¯ã6ã€ã®é£ç¶ããã1ãïŒ ã0xffffïŒã0ããæ¿å ¥ããããããã¬ã·ãŒããŒã¯1ã€ã®ç¶æ ã§é·æéåºå®ãããŸããã ã¬ã·ãŒããŒã¯æ¿å ¥ãããã0ããèªèããããŒã¿ãã«ãŠã³ããããªããããããã¯åšæ³¢æ°èª¿æŽãæ¹åããããã®ããªãäžè¬çãªãšã³ã³ãŒãææ³ã§ãã äžå¯Ÿã®ã¯ã€ã€ãšã°ã©ã³ãã䜿çšãããšãå°ãªããšã4ã€ã®éçç¶æ ã圢æã§ããŸãïŒJãKãSE0ãSE1ã§è¡šãããŸãïŒã USB 2.0ã§ã¯ãSE1ã¯äœ¿çšããããæ®ãã®3ã€ããã€ããã¯ã¹ïŒã¯ããã¯ããã³ãã©ã³ãžã·ã§ã³ïŒã§ããã«åçãããããã«ããã€ãã®å¶åŸ¡æåïŒãã±ããå¢çããªã»ãããæ¥ç¶/åæãçé»å/åºåïŒãéä¿¡ãããŸãã é©åãªã€ã©ã¹ãã¯ã USB Made SimpleãPart 3-Data Flowã«ãããŸãã
ã€ãŸã ãã®çµæãããŒã¿ã¯0ãš1ã®åœ¢åŒã§éä¿¡ãããããã«å¶åŸ¡æåãè¿œå ãããããããã®ãã¹ãŠã®é»æ°ååŠçãªãããã³ããéåžžã®ããŒã¿ãã±ãããæºåã§ããŸãã
ïŒèªè ã®èŠæã«å¿ããŠè£è¶³ïŒ
ãããã¬ãã«
ãã±ããã¬ãã«ã§ã¯ãã¢ãã¬ã¹ã¬ã¹ãã±ããããã¹ããšããã€ã¹éã§éä¿¡ãããŸãïŒåäºéåç·äžã®ããã€ã¹ã®ãã¢ã¯ãã¢ãã¬ã¹æå®ãªãã§å®è¡ã§ããŸãïŒã ããã±ãŒãžã¯ãã¬ã·ãŒãã¯ããã¯ããã€ãã·ãŒã±ã³ã¹ãããã³EOPæåãåæããSYNCããŒã¯ã³ã§æ§æãããŠããŸãã ãã±ããã®é·ãã¯å¯å€ã§ãããã¹ã¿ãã¯ã®äžäœã¬ãã«ã§ããŽã·ãšãŒããããŸãã æåã®ãã€ãã¯ãã±ããèå¥åïŒPIDïŒãšåŒã°ãããã€ãºèæ§ã®ããã®åçŽãªåé·ãã©ãŒããããæã¡ã次ã®ã¬ãã«ã®ãã·ã³ïŒãã±ãããããã©ã³ã¶ã¯ã·ã§ã³ãçµã¿ç«ãŠãïŒã«äŸçµŠããã®ã«é©ããŠããŸãã ã¹ã¿ããã£ã³ã°ïŒ1 PIDãã€ãããé·ãïŒã®ãããã±ããã«ã¯ããã§ãã¯ãµã ïŒãã±ããã®ã¿ã€ãã«å¿ããŠãçãCRC5ãŸãã¯é·ãCRC16ïŒãæäŸãããŸãã ãããã³ã«ã¢ãã©ã€ã¶ãŒã¯ãå°ãªããšããã±ããã衚瀺ããå¿ èŠããããŸãã
ååŒã¬ãŒã
次ã®ã¬ãã«ã§ã¯ã ãã©ã³ã¶ã¯ã·ã§ã³ãããã±ãŒãžããåéãããŸã ã ãã©ã³ã¶ã¯ã·ã§ã³ãšã¯ãïŒåäºéã¢ãŒãã§ïŒãã¹ãããšã³ããã€ã³ããš1ã€ã ããšäº€æãããå³å¯ã«é£ç¶ããå°ããªãã±ããã»ããïŒãã«ã¹ããŒãUSB 1ã2ããŸãã¯3ïŒã§ãã ãã¹ãã®ã¿ããã©ã³ã¶ã¯ã·ã§ã³ãéãããšãéåžžã«éèŠã§ããããã¯USBã®ç¹ç°æ§ã§ãïŒMKãã¡ãŒã ãŠã§ã¢ã§ã¯åé¡ãå°ãªãïŒã ãã©ã³ã¶ã¯ã·ã§ã³ã¬ãã«ã§ã¯ããã¹ããšããã€ã¹ãšã³ããã€ã³ãã®1ã€ãšã®éã®ãã€ãã«ã€ããŠè©±ãããšãã§ããŸãããOSIã¢ãã«ã§ã¯ãããŒã¿ãªã³ã¯ããšããçšèªãæå³çã«é¿ããŠããŸãã ãããã³ã«ã¢ãã©ã€ã¶ãŒã¯ãå°ãªããšããã©ã³ã¶ã¯ã·ã§ã³ããã³ãŒãããå¿ èŠããããŸãã
ã®ã¢ã¬ãã«
ãã©ã³ã¶ã¯ã·ã§ã³ã®äžã«ã転éã¬ãã«ãé 眮ããŸãã USBã«ã¯ããšã³ããã€ã³ãNo. 0ã«ããå¶åŸ¡ïŒå¶åŸ¡è»¢éïŒãå²ã蟌ã¿è»¢éãã¢ã€ãœã¯ããã¹è»¢éããã«ã¯è»¢éã®4ã€ã®ã¿ã€ãããããŸãã æåŸã®3ã€ã¯ãã¹ããªãŒã ãã€ãã®ãªãã·ã§ã³ã§ããããã«ã€ããŠãå°ã説æããŸãã ãã®ã¬ãã«ã«ã¯ãé©åãªãããã³ã«ã¢ãã©ã€ã¶ãŒã衚瀺ãããŸãã
ã¢ããªã±ãŒã·ã§ã³ã¬ãã«
ãã€ãã®ããã«ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã¹ã¿ãã¯ãå ããŸãã ããã§ã¯ããã¹ãã«ããããã€ã¹ã®ã¢ãã¬ã¹ã®èšå®ãèšè¿°åèšèªã§ã®ããã€ã¹èªäœã®éç¥ãæ§æãéžæãããã¹ãã³ãã³ãïŒå¶åŸ¡éä¿¡ïŒãHIDããã€ã¹ãšã®ããŒã¿äº€æïŒäŸã§å²ã蟌ã¿éä¿¡ãèŠã€ãã£ããå¶åŸ¡ãè©ŠãããïŒãããªã³ã¿ãŒãžã®å°å·ã¹ãã£ã³ãUSBãã©ã€ããžã®ã¢ã¯ã»ã¹ïŒå€§ããªãããã¯ïŒããããã»ãããšWebã«ã¡ã©ãä»ããéä¿¡ïŒã¢ã€ãœã¯ããã¹ïŒããã®ä»ã®å€ãã®ãã°ãããããšã
æåŸã®ã¿ãã
ã¬ãã«ã1ç§éäžããåŸããã¹ããå®æçã«ãã¹äžã«åããã¬ãŒã éå§ïŒSOFïŒãã±ãããã¹ããŒããæéãçééã«åå²ããããšãè¿œå ã§ããŸããããã©ã³ã¶ã¯ã·ã§ã³èªäœã¯äžæããŸããã ãããã£ãŠãSOFãã±ããã¯ç¬ç«ãããã©ã³ã¶ã¯ã·ã§ã³ãšèŠãªãããšãã§ããŸãã USBãã¬ãŒã ïŒãã¬ãŒã ïŒãšãªã³ã¯å±€ã®OSIã¢ãã«ãæ··åããªãã§ãã ããã ãªãŒãã£ãªCDã®ãã¬ãŒã ïŒãã¬ãŒã ïŒãæãåºãæ¹ãããã§ããããããã¯ã»ãã®ããããªæéã§ãããã¹ãã¯SOFãã±ããã§ãã¹ããããã¯ãããæ¥ç¶ãããããã€ã¹ããããã ããŒã¿ã®ã¹ããªãŒã ããªã¢ã«ã¿ã€ã ã§è¿œè·¡ããçææ§äŒé ã ãŸãããŸãã¯ãã®ããã«ïŒãã©ã³ã¶ã¯ã·ã§ã³ã°ã«ãŒãã¯ããã¬ãŒã ãšåŒã°ããæéééã§ãã¹ãã«ãã£ãŠèšç»ãããŸãã ãã¬ãŒã ã¯ãã«ã¹ããŒãã§1msããã€ã¹ããŒãUSBã§125mksã§ããããã€ã¹ããŒãã¯ããè€éãªæšæºã§ãããããåå¥ã«åŠç¿ããããšããå§ãããŸãã
UPDïŒ
èªè ã¯è¯ã質åãããŸããïŒæçåã¯ã©ãã§ããïŒ USB 2.0ã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã¬ãã«ä»¥äžã§ãã©ã°ã¡ã³ããŒã·ã§ã³ã®å åã¯èŠã€ãããŸããã§ããã ãã®ããã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯å®å šã«è»¢éãããŸãã å Žåã«ãã£ãŠã¯ãç¹ã«ã¢ã€ãœã¯ããã¹ã¢ãŒããèæ ®ããŠã転éãããã€ãã®ãã©ã³ã¶ã¯ã·ã§ã³ã«åå²ããããšãã§ããŸãã ãããŠããããŸã§ã®ãšããããã¹ãããã¹ãŠã®èšç»ãæ åœããŠããããšãç¹°ãè¿ããŸãïŒMKåŽã§ã¯ããŸãèããªãã§ãã ããïŒã
USBãã©ãã£ãã¯ãèŠã
å³ã®é©åãªéžæã¯ãåè¿°ã®USB Made Simpleæ¬ã®ç¬¬5ç« ã«ãããŸããwww.usbmadesimple.co.uk / ums_5.htm
ããã«ãããã®äžã€ããããŸã
ãã®ããããã©ã³ã¶ã¯ã·ã§ã³ã¯åžžã«ããã€ã¹äžã®éžæããã1ã€ã®ãšã³ããã€ã³ãã«é¢é£ããŠãã¹ãã«ãã£ãŠéå§ãããŸãïŒçªå·0ã®ç¹å¥ãªãã€ã³ãã«å ããŠãããŠã¹ã枩床èšããã©ãã·ã¥ãã©ã€ããã³ãŒããŒã¡ãŒã«ãŒ
ãã¹ããããã€ã¹ããããŒã¿ãåä¿¡ããå Žåãããã€ã¹ã¯ãã©ã³ã¶ã¯ã·ã§ã³èªäœãéãããšã¯ã§ããŸãããã é©åãªç¬éãåŸ ã£ãŠåå ããããšããã§ããŸããã ãã¹ãã¯PID = INïŒããŒã¯ã³ã°ã«ãŒãïŒã®ãã±ããã§ããã€ã¹ãžã®ãã©ã³ã¶ã¯ã·ã§ã³ãéããé©åãªæéã«ãã¹ã®èªç±ãä¿èšŒããŸããããã€ã¹ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®ã¿ã€ãã«å¿ããŠããŒã¿ã°ã«ãŒããããã±ãããã¹ããŒãããã¹ãã¯ãã³ãã·ã§ã€ã¯ã°ã«ãŒãããã®3çªç®ã®ãã±ããïŒACKãNAKãSTALLãNYET ïŒããã©ã³ã¶ã¯ã·ã§ã³ã¯éããããŸãã
ããã€ã¹ã«ããŒã¿ãéä¿¡ãããšãïŒPID = OUTãããŒã¯ã³ã°ã«ãŒãïŒããã¹ãã¯ãã©ã³ã¶ã¯ã·ã§ã³ãéããããŒã¿ïŒããŒã¿ïŒãå«ããã±ãããéä¿¡ããã¢ãŒãã«å¿ããŠããã©ã³ã¶ã¯ã·ã§ã³ã®æåã確èªãããã³ãã·ã§ã€ã¯ãã±ãããåä¿¡ã§ããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ã®çµäºæã«ããã¹ãŠãéåžžã«æ»ããããã€ã¹ã¯åã³ãã¹ãããã®å¶åŸ¡ãã±ãããåŸ ã¡ãŸãã
STM32 USB FSã®USB転éã¢ãŒãã®äŸ
ãªãŒãã£ãªãšãããªã®ã¹ããªãŒã ãããŠã¹ãžã§ã¹ãã£ãããã³é«éãªã·ãã¹ã³ãŒãä¿¡å·ãšåæã«1ãã¢ã®ã¯ã€ã€ã§ãã£ã¹ã¯ããã®ã³ããŒãé§åã§ããããã«ãããŸããŸãªã¿ã€ãã®ã¡ãã»ãŒãžãšéä¿¡ããããŸãã
äžèšã®ããã«ããã¹ããšãšã³ããã€ã³ãéã®åçŽãªã¹ããªãŒã ãã£ãã« ïŒã¹ããªãŒã ãã€ãïŒã«ã€ããŠèª¬æããŸãããããã§ã¯ãå å¡«ããããã±ããïŒããŒã¿ã°ã«ãŒãïŒãUSBãµãã·ã¹ãã èªäœã«ç¹å¥ãªæ å ±ãå¶åŸ¡æ å ±ãäŒããŸããã éä¿¡ã®å®å šãªèªç±ãã³ã³ãããŒã©ã©ã€ãã©ãªã¯ãMKã¡ã¢ãªãããã¹ããžããŸãã¯ãã®éã«ãä»»æã®ãµã€ãºã®ãããã¡ãããŠã³ããŒãããããã®ããªããã£ããæäŸããå¿ èŠããããŸãã ãã±ããã®åæã転éãããã³ãããã©ã°ãã«ãããMKã©ã€ãã©ãªããã¹ããã©ã€ããŒãšãã¢ã«ã§ããŸãã STM32ã§ã¯ããããã¯UM0424ã§èª¬æãããŠããUSB_SIL_WriteïŒïŒããã³USB_SIL_ReadïŒïŒã§ãã ãããã¯éåžžã«è«ççãªæœè±¡åã¬ãã«ã§ãã ãã¹ãåŽã§ã¯ã察å¿ãããã©ã€ããŒã®èª¬æãåç §ããŠãã ããïŒããšãã°ãFreeBSDã§ã¯ugenïŒ4ïŒ ïŒã
ãã ããUSBãªã©ã®éãåšèŸºæ©åšã䜿çšããŠãåçŽãªã¹ããªãŒãã³ã°ãã£ãã«åaspãæŽçããããšãæ€èšããŸãïŒäžæè°ãªããšã«ãUSARTã¯äœãåã°ãªãã£ãã®ã§ããããïŒïŒã ããããç¶æ³ã¯ãã¡ããããããçš®é¡ã®ãã®ã§ãã
ãããã«ãããUSBãµãã·ã¹ãã ãæ©èœããããã€ã¹ã決å®ãããããã«ã¯ãå¶åŸ¡ãã©ã³ã¶ã¯ã·ã§ã³ã®äº€æãå¿ èŠã§ãã
å 責äºé
STMicroelectronicsã®Full Speed USBã䜿çšããããã®åãUM0424ã©ã€ãã©ãªããããã«äŸãæããŸããããããã¯ãã€ãã£ããã¢ããŒãçšã«èšèšãããŠããŸãã Rajaã®èè ããäŸãæããŠããã¢æ¯æãã«ãããžã§ã¯ããé©å¿ãããããšã«ç²ŸéããŠãã ããã
ãœãããŠã§ã¢ã®ãã¹ãŠã¯æ確ã§ãïŒãããã¯ç£æ¥çšã§ã¯ãªãäŸã§ããããã°ãããå¯èœæ§ããããäžéšã®ããŒãïŒå€§å®¹éèšæ¶è£ 眮ã®äŸã®ãªã³ã¯ããŒãã«ãªã©ïŒã¯ç¹èš±ã«ãã£ãŠä¿è·ãããŠãããåçšãããžã§ã¯ãã§äœ¿çšããæš©å©ã¯ãããŸããã ããããããã¯äœã§ããããŸããããã®åŸãäžåœäººã¯ãåžå Žã§USB補åã販売ããããšã«æåããŸããã
éã«ã€ããŠã¯ãç§ãç解ããŠããããã«ãç³è±ããå§ããªããã°ãªããŸããã 12 MHzã¯ãªãŒãã®ãã§ãªã£ãã³ã¹ã¯PinBoard IIïŒãã¹ãŠã®ã©ã€ãã©ãªã¯8 MHzæªæºã«ã·ã£ãŒãåãããŠããŸãïŒãPLLä¹ç®åšã9ãã6ã«å€æŽããŸããïŒèª¬æãšãªã³ã¯ ïŒ USBãã¹ãã£ãã€ããŒã1.5ãã1ã«å€æŽããããšã«ãããMKé床ã48 MHzã«äžããããšãã§ããŸãã ã¹ãã·ã£ãªã¹ãã¯å éšMK HSIãžã§ãã¬ãŒã¿ãŒã®äœ¿çšã奜ã¿ãŸãã ãåšæ³¢æ°ã¯å ç±ãããããã«é¢ããå¯èœæ§ããããããUSBã®çµæãäºæž¬ããããšã¯å°é£ã§ãã ãã¡ãããåšèŸºãå¿ããªãã§ãã ããã 倧容éèšæ¶è£ 眮ã®äŸã«ããSPI / SDIOãã©ãã·ã¥ã¡ã¢ãªããªãå Žåã/ dev / nullã®ã¢ããã°ã®ã¿ãå®è¡ã§ããŸããããããå®å šã«ãã©ãŒãããããŸã:-)
éä¿¡ããã³ã¡ãã»ãŒãžãã£ãã«ããã¹ããã
USBã«ã€ããŠèãããšã LCP ã IPCP ã CCPãããã³ãã®ä»ã®xcCPãåããå€ãè¯ãPPPãããã³ã«ãæãåºããŸãã ç¹å¥ãªçš®é¡ã®ã¡ãã»ãŒãžã®ãšã³ããã€ã³ãNo. 0ãšã®ãã¹ãã®äº€æã¯ãxCPãšããŒã«ã«ã§åçã§ãã
å¶åŸ¡éä¿¡ã«ãããããã€ã¹ã¯åæåãããã¢ãã¬ã¹ãåä¿¡ãããã¹ãã«èšè¿°åèšèªã§ããèªäœãäŒããŸãïŒãã®ãããç®çã®ãã©ã€ããŒãèŠã€ããŠã¢ã¯ãã£ãã«ããŸãïŒã å¶åŸ¡æäœããªããšãåçŽãªã¹ããªãŒãã³ã°ã¯ãé²è¡ãããŸãããããã€ã¹ããã©ãŒã ã§å¿çããªãå Žåããã¹ãã¯ããã«ããŒããã·ã£ããããŠã³ããŸãããããã³ã«ãç£èŠããå¿ èŠããããŸãã
ååãšããŠããããã³ã«ã¯ãå²ã蟌ã¿ã¢ãŒããšåæ§ã«ãå¶åŸ¡ç¹0ã§ã®ããŒã¿ã®äº€æãçŠæ¢ããŸããã åæã«ãèããŠã¿ãŠãã ãããããã°ãçŸå Žã§MKãã¡ãŒã ãŠã§ã¢ãã©ã®ããã«æŽæ°ããŸããïŒ ããã°ã©ããç¶æããæºåã¯ã§ããŸãããïŒ å¥ã®è§£æ±ºçããããŸãã
äŸïŒ ããã€ã¹ãã¡ãŒã ãŠã§ã¢ã®ã¢ããã°ã¬ãŒã
å²ã蟌ã¿éä¿¡
ãã®çš®ã®ïŒ å²ã蟌ã¿è»¢é ïŒã¯ãå¶åŸ¡ãã©ã³ã¶ã¯ã·ã§ã³ãšåæ§ã«ãå°ããªãã©ã³ã¶ã¯ã·ã§ã³ã®äº€æãç®çãšããŠããŸãã ããããããã€ã¹ã¯ãã¹ãã«å²ã蟌ãããšãã§ãããããŒãªã³ã°ãåŸ æ©ããŠããŸãããã®é »åºŠãšãã±ãããµã€ãºã¯ãããã€ã¹èšè¿°åã§äºåã«æå®ãããŠããŸãã ããããçš®é¡ã®ãªã¢ãŒããã»ã³ãµãŒãã»ã³ãµãŒãããŠã¹ãLEDããã®ä»ã®HIDã³ãŒããŒã¡ãŒã«ãŒã«æé©ã§ãã åãã€ã³ãã®äžæããããã£ãã«ã¯åæ¹åã§ãã
äŸïŒ ã«ã¹ã¿ã HID ã ãžã§ã€ã¹ãã£ãã¯ããŠã¹ ã ä»®æ³COMããŒã
ã¢ã€ãœã¯ããã¹äŒé
ã®ãªã·ã£èªã§Î§ÏÏΜοÏã¯ãæéããæå³ããŸãã ã¢ã€ãœã¯ããã¹è»¢éã¯ããªã¢ã«ã¿ã€ã ã§ããŒã¿ã¹ããªãŒã ãå¶åŸ¡ã§ããããŒã«ã«ãã€ãã¯ã§ãã QoSãåããUDPã®ããã«ãä¿èšŒãããïŒå¿ ãããåºããšã¯éããªãïŒåž¯åå¹ ãšç¢ºèªãã©ã³ã¶ã¯ã·ã§ã³ããªãããšãç¹åŸŽãšããŠããŸãã ããã±ãŒãžãå£ããŠããŸããïŒ ããã¯ã¯ããã¹ç¥ãMKã足ã«æŒã蟌ãã ç¥ã§ãã ããäžåºŠãã±ãããéãããšããªãã§ãã ãããããããªããšãç¥ãæã£ãŠããŸããŸãã ãã ãããã§ãã¯ãµã ã¯Chronosããéãã«ãã§ãã¯ããŸãã ã¢ã€ãœã¯ããã¹äŒéã¯ããªã¢ã«ã¿ã€ã ã®ãªãŒãã£ãªãããªããã³æž¬å®ã·ã¹ãã ãããã³ãã®ä»ã®ãã¥ã¢ã«ãŠãŒã¹ç©å ·ã«é©ããŠããŸã ã ãããã®ããã€ã㯠USARTãŸãã¯SPIã䜿çšããŠAVRãARMã«æ¥ç¶ããããšã«ãããããçš®ã®AVRãåãäžããæ¹ãããèå³æ·±ãã§ãã ã¢ã€ãœã¯ããã¹æäœã¯ãã¬ãŒã ã·ã°ããªã³ã°ã«é¢ä¿ããŸãïŒãã£ãã¯SOFãã±ãããæãåºããŠãã ããïŒã
äŸïŒ USBé³å£°ã¹ããŒã«ãŒ
倧ãããã¯äŒé
ããããã»ã¡ã³ãã®è¢ã¯æã¡éã³ãŸããã 誰ããããããçš®é¡ã®USBãã©ã€ãã®åäœã¢ãŒããåŠãã ãšæããŸãã ãã«ã¯è»¢ééä¿¡ã¯ãåžžã«ç Žæãããã±ããã®è»¢éã䌎ããã垯åå¹ ã®ä¿èšŒãªãã§ãå¯èœãªéãé«éã§ããŒã¿ãéä¿¡ããããšãç®çãšããŠããŸãïŒå¿ èŠã«å¿ããŠãQoSã®ãªãTCPã®ããã«ïŒçææ§éä¿¡ã«éãè²ããŸãã USBãã©ãã·ã¥ãã©ã€ãã®å éšããã€ã¹ã«ã€ããŠã¯æ¢ã«èª¬æããŸããããçŸåšã®ãããã¿ã€ããããŠã³ããŒãããŠå®è¡ã§ããŸãã ç§ã¯èªåã§è©Šããããšã¯ãããŸããããäŸã®èª¬æã«ããSCSIã³ãã³ãã®è¡šã¯ïŒå®éã¯ããã§ãã£ãããã«ïŒããªã象城çã§ãã NANDã¡ã¢ãªã®æ©èå¶åŸ¡ã¢ã«ãŽãªãºã ã®å åã¯èŠã€ãããŸããã§ãã:-)
泚æïŒäžéšã®å°åã§ã¯ãç¹èš±ä¿è·STMãé©çšãããŸãã
äŸïŒ 倧容éã¹ãã¬ãŒãž
æªè§£æ±ºã®ãŸãŸ
ç§ã¯å¥ã®USBãã¥ãŒããªã¢ã«ãäœæããããšãç®æšãšããŠããŸããããç§ãªãã§ååãªãã®ããããé»æ°éšåããããã³ã«ã®è©³çŽ°ããããšã®é£æºãèšè¿°åèšèªãšHIDæœè±¡åã¬ãã«ãVID / PIDã®äžææ§ã®åé¡ãUSB 3.0ãªã©USBãã¹ã®ãã®ä»ã®åªããæ©èœã¯ãç§ãã¡ã«ãšã£ãŠã䟿å©ã§ããããŸããã ITæ åœè ã¯ãç¹ã«ãæµã®ããã€ã¹ïŒæãããšãããåœè£ HIDããŒããŒããåãããã©ãã·ã¥ãã©ã€ãïŒã®æŠèŠã説æããããŒã¯ãµã€ããžã®é 足ããå§ãããŸãã
åç §è³æ
ç¡æã®Em :: Blocksç°å¢ããã³LC-Tech補ã®äœã³ã¹ããã¢ããŒãSTM32F103C8T6ãžã®ã«ã¹ã¿ã HIDãµã³ãã«ã®é©å¿ïŒ habrahabr.ru/post/208026
UPSã®æŠãïŒ habrahabr.ru/post/233391 UPSã®å¥ã®æŠãïŒ habrahabr.ru/post/233391/#comment_7944489
ããŒã¯ãµã€ããžã®é 足ïŒAVRããã®ã¹ãã€ããã€ã¹ïŒïŒ habrahabr.ru/post/153571
Windowsããã³Linuxçšã®Wireshark USBåææé ïŒ wiki.wireshark.org/CaptureSetup/USB
NutShellã®USBããã¯ïŒ www.beyondlogic.org/usbnutshell/usb1.shtml
NutShell翻蚳ã®USBïŒ microsin.ru/content/view/1107/44
USB Made Simple BookïŒæ¬åœã«ç°¡ç¥åãããïŒïŒ www.usbmadesimple.co.uk
STSW-STM32121ãSTMicroelectronics USBãã«ã¹ããŒãããã€ã¹ã©ã€ãã©ãªããã³èšèŒãããŠãããã¹ãŠã®äŸïŒUM0424ïŒ www.st.com/web/en/catalog/tools/PF258157
PS
ããçšåºŠã®ãã€ã¯ããšã¬ã¯ãããã¯ã¹ã«ç¹åããHabrirã®åºçç©ãèªãã§ãç§ã¯2ã€ã®å·¥åŠã«ãŒã¹ããèå¥ããŸãã ãããããæ¡ä»¶ä»ãã§åŒã³åºããŸãïŒ PromelektronshchikiãšAishishniki ã ããã¯äžçš®ã®å·¥åŠçãªé°éœã§ãããç§ãã¡äžäººäžäººã«äž¡æ¹ã®ã·ã§ã¢ããããŸãã
å·¥æ¥æè¡è ã¯ãéã«é¢ããåªããç¥èãšã¹ãã«ãæã¡ãç®ãéããŠå·Šæã§ã©ãžãªããŒãã髪ã®åãã«ã¯ãã ä»ãããŸãïŒãããŠããããæ©èœããŸãïŒã é»ååè·¯ãèŠããšãã»ãšãã©ãã¹ãŠã®é»æµãæœåšçã«æç¥ãå§ããŸãããŸããé»æºåè·¯ãïŒå€§åãé«éãå±éºãªïŒå·¥æ¥è£œåã§ãåäœããŸãã MKããã°ã©ãã³ã°ã¢ãããŒãã¯é©åã§ããé©åãªã¿ã€ãã³ã°ã§é©åãªããžãã¯ã¬ãã«ãé©åãªã¬ãã°ã«æäŸããå¿ èŠãããã ãã§ãã©ã®ãããªæå³ã§ãããã»ã©éèŠã§ã¯ãããŸããã ä¿å®çãªãã¯ãããžãŒïŒé©åããªã-æ©èœããïŒãMKã®éãåšèŸºæ©åšã¯ç¹ã«å¥œãŸããŸããã ãªããžã§ã¯ãæåããã°ã©ãã³ã°ãæ å ±ã»ãã¥ãªãã£ãæ°çŸäžè¡ã®ã³ãŒããå«ã巚倧ãªãããžã§ã¯ããããããçš®é¡ã®æŽç·Žãããã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã«ã€ããŠè°è«ãããšãã¯éå±ããŸãããã±ããæåã®USBãã¹ã®ä»£ããã«ã䜿ãæ £ããRS-232ãŸãã¯ããéé ·ãªRS-485ïŒ15mã§æ倧10Mbit / sã1200mã§æ倧100kBit / sãæ倧32ããã€ã¹ïŒã®ããããã«ãã£ãŠåŒ·åãããUSARTã¹ããªãŒãã³ã°ã¢ãŒããæšå¥šãããŸãã
ITæ åœè ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããããã¯ãŒã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ãè€éãªçžäºäœçšã«ã€ããŠç解ãããšãªãŒãã¯æ å ±ã»ãã¥ãªãã£ã«ç²ŸéããŠãããä»ã®äººã®ã·ã¹ãã ã«äŸµå ¥ããããããçš®é¡ã®ç®ã«èŠããªãæ¹æ³ã«ç²ŸéããŠããŸããåæã«ãç«ããšãŠãæããŠãã人ãããŸãïŒã©ãããŠããªãã¯ç«ãæããªãã®ã§ããïŒç§ã¯æ¬åœã«æ±ãããããç¹æ®ããŸããããæçãããŸãã:-)ãå€ãã®äººã¯æ å ±ã®èªç±ã奜ã¿ãäŒæ¥ãæ¿åºãscããææ³ã®åã§èªç¶ã®åãæã¡è² ãããŸããç çåŠçã«æ zyã§ããã圌ãã¯æ°ããæè¡ãšé«äŸ¡ãªããã¡ãïŒã§ããã°ãœãããŠã§ã¢ã¬ãã«ã§ããŸãã¯æ¥µç«¯ãªå Žåã¯ãžã£ã³ããŒã§è§£æ±ºããïŒã§ãããããšã³ãžãã¢ãªã³ã°ããºã«ãåŽæããŸããã¯ãã ããŠãšã®é¢ä¿ã¯æ éã§ããã¯ãã ããŠã奜ããã©ãããITå°é家ã«å°ããªãã§ãã ããã圌ãé»ååè·¯ãã¯ãã ä»ãããã®ã奜ããã©ããå°ããŠãã ããã
ãªãã§ïŒãã®äžçãããŸããŸãªæ¹æ³ã§èŠãã ãã§ã...çµå±ã®ãšãããLinuxã«ãŒãã«ã¯ãç¹å®ã®ãã©ãããã©ãŒã çšã®Cã¢ãžã¥ãŒã«ããã³ã¢ã»ã³ãã©ãŒã€ã³ãµãŒããããåãç·ã«ãã£ãŠæ§ç¯ãããããªããŒãªãã§å®è¡ãããããã«èŠããŸãããçã«çå£ãªãããžã§ã¯ãã¯ãææ°ã®MKãšéãåšèŸºæ©åšãçµã¿åããããã«ãã³ã¢ã·ã¹ãã ã§ãããšèããŠããŸãããAVRãªã©ã®å€å žçãªã¢ãã«ãšã®ãªã³ã¯ãé€å€ããããšã¯ã§ããŸãããã³ãŒããé·å¹Žã«ããã£ãŠãã¹ããããŠããå Žåããªãããã§ã¯ãªãã®ã§ããïŒ