ã¯ããã«
äžéšã®äººã ã«ãšã£ãŠãFPGA SoCã¯ç解ãè¶ ãããã®ã§ããããã®èšäºã§ã¯ãã®èª€è§£ãä¿®æ£ããå¿ èŠããããŸãã 空ã®ãããžã§ã¯ãããçããLEDãŸã§ãããã°ã©ã ã®äœæããŒãããåæããŸãããã ããããããããžã§ã¯ãã¯DE1-SoCãããã°ããŒãã§å®è¡ããããã®ã§ããããã®ããã¥ã¢ã«ãæ±ã£ãŠããã°ãã¢ã«ãã©ããŒãã䜿çšããŠä»ã®ããŒãã«ç°¡åã«é©åãããããšãã§ããŸãã ããå§ããŸãããïŒ
FPGAãã¡ãŒã ãŠã§ã¢ã®äœæ
ãã¡ãŒã ãŠã§ã¢ãäœæããã«ã¯ãæããã«Quartusãããžã§ã¯ããå¿ èŠã§ãã ãã ãããã®ãããžã§ã¯ãã¯æšæºçãªæ¹æ³ïŒãããžã§ã¯ããŠã£ã¶ãŒãã䜿çšïŒã§ã¯ãªããDE1-SoCããŒãã«ä»å±ã®ãŠãŒãã£ãªãã£ã䜿çšããŠäœæããŸãã
ãã®ãŠãŒãã£ãªãã£ã¯ãVerilogã§èšè¿°ãããæäžäœãã¡ã€ã«ãçæããéžæããèŠçŽ ã®å®£èšãå«ããŸãã CLOCKãHPSïŒSoCïŒããã¿ã³ãLEDãå¿ èŠã§ãã [çæ]ãã¯ãªãã¯ãããšãQuartusãããžã§ã¯ããååŸãããŸãã ãã®æ¹æ³ã§ãããžã§ã¯ããäœæããäž»ãªå©ç¹ã¯ããŠãŒãã£ãªãã£ãç§ãã¡ã®ããã«ãããè¡ã£ããããFPGAãã³ãPin Plannerã«å²ãåœãŠãå¿ èŠããªããããã«ããå€ãã®æéãç¯çŽã§ããããšã§ãã
çæããããã¡ã€ã«ããããžã§ã¯ãã«è¿œå ããŸãã
次ã®ã¹ãããã¯ãQSYSã§ã·ã¹ãã ãäœæããããšã§ãã 念ã®ããã«ãç§ã¯äœãèµ·ãã£ãŠãããã®æ¬è³ªãç°¡åã«èª¬æããŸãã Cyclone V SoCã¯åãªãFPGAã§ã¯ãªãããã®æ§é å ã«ãUSBããŒããã€ãŒãµããããSPIãSD / MMCãªã©ã®ããŸããŸãªã¢ãžã¥ãŒã«ãåãããã¥ã¢ã«ã³ã¢Cortex-A9ããã»ããµããããŸãã ç°¡åãªæ¹æ³ã§ãããã¯FPGAå ã®ãã€ã¯ãã³ã³ãããŒã©ãŒãšããŠæ³åã§ããŸãã QSYSã§ã·ã¹ãã ãäœæããHPSïŒããŒãããã»ããµã·ã¹ãã ïŒã·ã¹ãã ãæ¢è£œã®ã«ãŒãã«ïŒIPã³ã¢ïŒã䜿çšããŠFPGAã§åæãããèŠçŽ ã«æ¥ç¶ããŸãã QSYSã§ã¯ãäžå¿ èŠãªå¿é ãªãã«Avalon-MMãŸãã¯AMBA AXIãã¹ãä»ããŠç°ãªãã³ã¢ãæ¥ç¶ã§ããŸããæåã§ã³ãŒããèšè¿°ããå¿ èŠã¯ãªããQSYSãçæããŸãã QSYSã«ç§»åãã[IPã³ã¢]ã¿ãã§HPSã·ã¹ãã ãéžæããŸãã ã·ã¹ãã èšå®ã§ã¯ãFPGAã€ã³ã¿ãŒãã§ã€ã¹ã¿ãã«ããLightweight H2F Bridgeã®ã¿ãå¿ èŠã§ãã
[Peripheral Pins]ã¿ãã§ãSD / MMCïŒããã°ã©ã ããèªã¿èŸŒãã«ãŒãããïŒããã³UARTãéžæããŸãã ããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãã
[HPSã¯ããã¯]ã¿ãã§ã¯ãããã©ã«ãã§ãã¹ãŠãæ®ããŠããŸãã [SDRAM]ã¿ãã§ããã¹ãŠã®ãã£ãŒã«ãã«ã¹ãã¥ãŒå€ãªã©ãå ¥åããå¿ èŠããããŸãã ç§ã®ç¥ãéãããããã¯ãã€ã¯ããµãŒãããããSDRAMãŸã§ã®ç·ã®ãã¬ãŒã¹ã«äŸåããŠããŸãã DE1-SoCã®ãã®ããŒã¿ãå«ãããã¥ã¡ã³ããèŠã€ããããšãã§ããªãã£ããããããŒãã®å®æãããããžã§ã¯ãããååŸããŸããïŒã¢ã«ãã©å€§åŠããã°ã©ã ã®äŸã§ã¯SOC-Computerã§ããïŒã ãããã®èšå®ãããŒã»ãããšããŠä¿åããã®ã§ãããå ¥åããå¿ èŠã¯ãããŸãããå³ã®åã§ç¢ºèªã§ããŸãã 次ã«IPã³ã¢ã§PIOãèŠã€ããŸãããããã¯LEDãšãã¿ã³ã«ãªããŸãã
ãã¿ã³ã®èšå®ã«ã¯ã[å ¥å]ãéžæããåèš4ã€ã®ãã¿ã³ããããããå¹ ã4ãããã«ããŸã
LEDã®å Žåãããããåºåãšå¹ 10ã
çµæã®ã·ã¹ãã ãå³ã«ç€ºãããã«æ¥ç¶ããŸãã PIOã®ååãå€æŽããŠãããããããããçŸãããã®ã«ããããšãã§ããŸãã PIOã¯FPGAãã¡ããªãã¯ã§å®è¡ãããèŠçŽ ã§ãããããLWH2Fããªããžã¯HPSãšFPGAïŒHPSãã¹ã¿ãŒãšãåŒã°ããïŒéã®ãªã³ã¯ã§ãã ã·ã¹ãã ããPIO LEDãšãã¿ã³ãåºåããããã«ãå€éšæ¥ç¶ã®å察åŽã®ç¢æããšã¯ã¹ããŒãçšã®ããã«ã¯ãªãã¯ããããã«ã¯ãªãã¯ããŸãã åŸã§ãçæãããã·ã¹ãã ãã¡ã€ã«ã®æäžäœã³ãŒãã«ãããã®çµæã衚瀺ãããŸãã HPSã®PIOããã³ä»ã®ãã¹ãŠã®ã³ã¢ãžã®ã¢ã¯ã»ã¹ã¯ã¢ãã¬ã¹ã§è¡ããããããããããå²ãåœãŠãå¿ èŠããããŸãã ããã¯ã[ããŒã¹ã¢ãã¬ã¹ã®å²ãåœãŠ]ãã¯ãªãã¯ããŠèªåçã«å®è¡ã§ããŸãã
ãã®åŸãã·ã¹ãã ã³ãŒããçæã§ããŸãã
ãã¹ãšç®çã®ã³ãŒãèšèªãæå®ããŸãã Verilogã奜ãã§ãã ãã®åŸãQSYSãéããããšãã§ããŸãã QuartusãŠã£ã³ããŠã«æ¬¡ã®ã¡ãã»ãŒãžã衚瀺ãããŸãã
æ±ããããŠããããšãããŸãããã
[ãã¡ã€ã«]ãŠã£ã³ããŠã«ãhps_system.qipã衚瀺ãããŸãã éããŠãã·ã¹ãã ã®æäžäœãã¡ã€ã«ã確èªããŸãã
QSYSã·ã¹ãã ã§éžæãããã®ã¯ãã¹ãŠãã®ãã¡ã€ã«ã«å«ãŸããŠããŸãã ãã®ã¢ãžã¥ãŒã«ãå ã®ãã¡ã€ã«ã«æ¿å ¥ããã ãã§ãã ãããFPGAãã¡ãŒã ãŠã§ã¢ã®æäžäœãã¡ã€ã«ã«ãªããŸãã
ãã®äžã§ãHPSã·ã¹ãã ã®çµè«ã¯ããã®ãã¡ã€ã«ã®åæI / Oãã³ã«èµ·å ããŸãã Pin Plannerã«äœãå²ãåœãŠãå¿ èŠã¯ãªãããšãæãåºããŠãã ããããŠãŒãã£ãªãã£ã䜿çšããŠãããžã§ã¯ããäœæãããšãã«ãã¹ãŠããã§ã«è¡ãããŠããŸãã ãã ããHPSãã³ãå²ãåœãŠãå¿ èŠããããŸããããã¯æ¬¡ã®ããã«è¡ãããŸãã
ãããå®äºãããããã¡ãŒã ãŠã§ã¢ãã³ã³ãã€ã«ã§ããŸãã ãšã©ãŒãçºçããå ŽåïŒããšãã°ãclk_clkããã³hps_io_hps_io_ã®é£ã«ããhps_system宣èšãçµäºããã®ãå¿ããå Žå...ïŒãtclã¹ã¯ãªãããå床å®è¡ããå¿ èŠãããããšã«æ³šæããããšãéèŠã§ãã ãã¹ãŠãæ£ããèšè¿°ãããŠããŠãtclã¹ã¯ãªãããå®è¡ããŠããã³ã³ãã€ã«ãéå§ãããšãšã©ãŒãçºçããå Žåã§ããã³ãŒããå€æŽããã«ã¹ã¯ãªãããåå®è¡ãã䟡å€ããããŸãã å©ããŠãããŸããããã®æ©èœã®èª¬ææ¹æ³ãããããŸããã
ãããŠããã¡ãŒã ãŠã§ã¢ãå®æããŸããïŒ ããã§ã¯ãããªããŒããŒã®äœæãå§ããŸãããã
ããªããŒããŒãäœæãã
HPSããŒãããã»ã¹ã«ã¯ããã€ãã®æ®µéããããŸããããããç解ããŠã¿ãŸãããã Cortex-A9ã¯ã¢ããªã±ãŒã·ã§ã³çšã®ããã»ããµã§ãããååã®æåãAãã¯ã¢ããªã±ãŒã·ã§ã³ãæå³ããäž»ã«Linuxãªã©ã®OSã䜿çšããŠåäœããããã«èšèšãããŠããããšã«æ³šæããŠãã ããã ãããã£ãŠãå³å¯ã«èšãã°ããã¢ã¡ã¿ã«ããã°ã©ã ãèµ·åãããšããèãæ¹ã¯å¥åŠã«æãããããããŸããããå Žåã«ãã£ãŠã¯å¿ èŠã«ãªããŸãã ããã«ããã¡ããããã®ãããªæ©äŒããããŸãããéçºè ã¯å°ãªããšãåºæ¬çãªã¬ãã«ã§èªã¿èŸŒã¿ããã»ã¹ãç解ããå¿ èŠããããŸãã
ã¹ã€ããããªã³ã«ããçŽåŸã«ãBootRomãšåŒã°ããCortex-A9ãã©ãã·ã¥ã¡ã¢ãªã«çŽæ¥é 眮ãããã³ãŒããå®è¡ãããŸãã å€æŽãããããã®å 容ãèŠãããšãã§ããŸããã ããã¯äžæ¬¡åæåã«äœ¿çšããã次ã®ã¹ãããã§ããŒãããã»ã¹ãSSBLïŒSecond Stage Boot Loaderãç¥ç§°PreloaderïŒã«è»¢éããŸãã ãã®ããã»ã¹ãç解ããããã«ç¥ã£ãŠããå¿ èŠãããã®ã¯ããŸãBootRomã³ãŒããPreloaderããŠã³ããŒããœãŒã¹ãéžæããå€éšã®ç©çBSELãã³ã«çŠç¹ãåœãŠãããšã§ãã DE1-SoCã§ã¯ãSDã«ãŒãããããŒãããããã®ãã³ã®åæèšå®ãæåã«éžæãããŸãããè¿œå ã®ã¹ã€ãããšæµæã®ãã¢ãã¯ãã ä»ãããã«ãããšãã°QSPIãŸãã¯NANDãã©ãã·ã¥ã«å€æŽããããšã¯ã§ããŸããã ãããã£ãŠãQSYSã§ã¯ã[Peripheral Pins]ã¿ãã§SDã«ãŒãã®ãã³ãéžæããŸããã ãŸããå€éšãœãŒã¹ããã§ã¯ãªããFPGAã§äœæãããã¡ã¢ãªããã®ããŒããªãã·ã§ã³ããããããã«ã³ãŒããããªããŒããããŠããŸãã
ãããã£ãŠãBootRomã³ãŒããå®è¡ãããåŸãã¯ããã¯ãSDRAMãªã©ã®èšå®ã«å¿ èŠãªããªããŒããŒãããŒããéå§ããŸãã ããã°ã©ã ãå®è¡ãéå§ããåŸã
ããªããŒããŒãäœæããã«ã¯ãSoC EDSãå¿ èŠã§ããIntelFPGA Webãµã€ãããæ¢ã«ããŠã³ããŒããããŠããã¯ãã§ãã
ããã°ã©ã ã¯ã³ãã³ãã©ã€ã³ããæ©èœããŸãã ãŸããé©åãªãbsp-editorãã³ãã³ããäœæããŠBSPãäœæããŸãã
ãã®ãŠã£ã³ããŠã§ã[æ°èŠHPS BSP]ãã¯ãªãã¯ããŸãã
{Project directory} / hps_isw_handoff /ãžã®ãã¹ãæå®ãã[OK]ãã¯ãªãã¯ããå¿ èŠããããŸããä»ã®ãã©ã¡ãŒã¿ãŒãå€æŽããå¿ èŠã¯ãããŸããã
ããªããŒããŒã®ããŒãå ã®ãœãŒã¹ãæå®ããspl.bootèšå®ãéžæããŸãã ç§ãã¡ã®å Žåãããã¯SDã«ãŒããªã®ã§ãBOOT_FROM_SDMMCãéžæããŸãã Preloaderãšããã©ãã·ã¥ãã©ã€ãã«å°ãªããšã2ã€ã®ããŒãã£ã·ã§ã³ãããããã°ã©ã ã®ããŠã³ããŒããªãã·ã§ã³ã䜿çšããŸããããŒãã£ã·ã§ã³ã¯ãPreloaderã®id = A2ãããã³ããã°ã©ã ã®FAT32ã·ã¹ãã ã®ããŒãã£ã·ã§ã³ã§ãã©ãŒããããããŠããŸããã ãã©ãã·ã¥ãã©ã€ããããŒãã£ã·ã§ã³ã«åå²ããªãå¥ã®ãªãã·ã§ã³ãããããRAW圢åŒããããŸãããç§èŠã§ã¯ããã®ãªãã·ã§ã³ã®æ¹ãç°¡åã§ãã ãã®æ¹æ³ã§ãä»»æã®ããã°ã©ã ã§USBãã©ãã·ã¥ãã©ã€ãããã©ãŒãããã§ããŸãïŒããããŒãã£ã·ã§ã³ããŒã«9.2ã䜿çšããŸããïŒã ãŸãã¯ã... \ embedded \ embeddedsw \ socfpga \ prebuilt_images \ sd_card_linux_boot_image.tar.gzãã©ã«ããŒã§æ¢ã«ã¢ã»ã³ãã«ãããã€ã¡ãŒãžã䜿çšããWin32DiskImagerãä»ããŠUSBãã©ãã·ã¥ãã©ã€ãã«æžã蟌ãããšãã§ããŸãã
FAT_SUPPORTãFAT_BOOT_PARTITION 1ãFAT_LOAD_PAYLOAD_NAME .imgãéžæããŸãã WATCHDOG_ENABLEãšEXE_ON_FPGAã¯äœ¿çšããŸããïŒFPGAããPreloaderãããŠã³ããŒãããŸããïŒã
SoCã«ç²ŸéããŠãããšãã«åé¡ãæ¢ããŠ1ãæéèœã¡ãéåžžã«ç¹çŽ°ãªç¬éã§ãã ã·ãªã¢ã«ãµããŒããšã¯ããã§ã«PreloaderãUARTã¢ãžã¥ãŒã«ã䜿çšããŠãèµ·åæã«èšºæã¡ãã»ãŒãžã衚瀺ããããšãæå³ããŸãã ã»ããã¹ãã£ã³ã°ãšã¯ããããã®èšºæã¡ãã»ãŒãžã®åºåäžã«ããããã°äžã«ãããã¬ãŠã£ã³ããŠã«èªåçã«è¡šç€ºãããããšãæå³ããŸãã ããã°ã©ã èªäœã§ãã®é¢æ°ã䜿çšããããšã¯éåžžã«äŸ¿å©ã§ããããã«ãããprintfé¢æ°ã§èšè¿°ããããã¹ãŠããè¿œå ã®ã³ãŒããèšè¿°ããã«ãããã¬ãŒãŠã£ã³ããŠã«è¡šç€ºã§ããŸãã HPSã®QSYSèšå®ã§UARTã®äœ¿çšãæå®ãããBSPã®[ã·ãªã¢ã«ãµããŒã]ãã§ãã¯ããã¯ã¹ããªã³ã«ãããšããã®ããªããŒããŒã¯æ©èœããŸããã ã»ããã¹ãã£ã³ã°ãçµäºããŠããéã«ã·ãªã¢ã«ãµããŒããåé€ãããšãäœãæ©èœããªããªããŸããå°ãªããšãç§ã¯ãããæã£ãŠããŸããã ãã¹ãŠãæ©èœãããã«ã¯ãå®éšãããããã§ãã¯ããã¯ã¹ããªã³ã«ããŸãã [çæ]ã[çµäº]ã®é ã«ã¯ãªãã¯ããŸãã
cdã³ãã³ãã§SoC EDSã®äœæ¥ãã©ã«ããŒãå€æŽããŸããã<çæãããBSPãã¡ã€ã«ãžã®ãã«ãã¹ãæå®ããŸãïŒããã©ã«ãã§ã¯... software / spl-bspïŒ>ãPreloaderããã«ãããã«ã¯ãmakeã³ãã³ããå®è¡ããŸãã åŸ ã£ãŠããŸãã ããã±ãŒãžã®ããã»ã¹ã®æåŸã«ãç®çã®ãã¡ã€ã«preloader-mkpimage.binãååŸããŸãã
ããã¯ã4ã€ã®åäžã®ããªããŒããŒã€ã¡ãŒãžãããã³ã³ãã€ã«æžã¿ãã¡ã€ã«ã§ãã SoC EDSã§å®è¡ãããmkpimageã³ãã³ãã䜿çšããŠããã®ãã¡ã€ã«ããã®ã³ã³ããŒãã³ãïŒåå¥ã®ã€ã¡ãŒãžïŒã«è§£æããä»ã®æ§æïŒç°ãªãããªããŒããŒã€ã¡ãŒãžïŒããã¢ã»ã³ãã«ã§ããŸãã ä»ã®æ§æã¯å®å šã«ç°ãªãå ŽåããããŸãïŒQSYSã®ç°ãªãã·ã¹ãã ïŒãã€ãŸãã4ã€ã®åäžã®ã€ã¡ãŒãžïŒãããã64kbïŒãæã€åå¥ã®preloader-mkpimage.binãã¡ã€ã«ãååŸããããããã³ã³ããŒãã³ãã«å解ããŸãã ïŒããšãã°ãç°ãªãããŠã³ããŒããœãŒã¹ã䜿çšïŒã ããã¯ä¿¡é Œæ§ã®ããã«è¡ãããŸãã ããçš®ã®åãæåã®è©Šè¡ãããæåã®ã€ã¡ãŒãžããã®èµ·åãèš±å¯ããªãã£ããšä»®å®ããŸãã 次ã«ã2çªç®ã®ç»åã®èªã¿èŸŒã¿ãéå§ãããŸããããšãã°ãç·æ¥äºæ ã®å Žåãããã¯ãããã«ç°ãªããŸãã ãããããŒãã«å€±æããå Žåã3çªç®ãªã©ã«é²ã¿ãŸãã ããããããã¯ãã¯ãç§ãã¡ã®ä»äºã®äž»é¡ã§ã¯ãªãã話é¡ããã®åæ çãªäœè«ãªã®ã§ãç¶ããŠãã ããïŒ
æºåæžã¿ã®ã»ã¯ã·ã§ã³A2ãåããUSBãã©ãã·ã¥ãã©ã€ããæ¿å ¥ãããalt-boot-disk-util -p -a write -dãã³ãã³ãã䜿çšããŠpreloader-mkpimage.binã«æžã蟌ã¿ãŸãã SoC EDSã¯ãããªããŒããŒãã¡ã€ã«ããããã©ã«ããŒãžã®ãã¹ãæãå¿ èŠããããŸãã ããã°ã©ã ãäœæããæºåãã»ãŒãã¹ãŠæŽããŸããïŒ äŸ¿å®äžãQSYSèŠçŽ å®çŸ©ã§ããããŒãã¡ã€ã«ãäœæããã ãã§ãã ãã¡ãŒã ãŠã§ã¢ãã¡ã€ã«ãæãSoC EDSã®ãã¹ãå€æŽããã³ãã³ãsopc-create-header-files .sopcinfoãå®è¡ããŸãã åºåã§ã¯ãããã€ãã®ãã¡ã€ã«ãååŸãããã®å 容ã調ã¹ãŠããããã®ãã¡ã€ã«ã®çç±ãæããã«ããŸãã
ããã°ã©ã
ããã°ã©ã ãäœæããŠãããã°ããã«ã¯ãã¡ãŒã«ãŒã¯DS-5 Eclipseç°å¢ã®äœ¿çšãæšå¥šããŸãã ãeclipseïŒãã³ãã³ãã䜿çšããŠãSoC EDSãä»ããŠEclipseãèµ·åããããšããå§ãããŸãïŒEclipseãéããåŸãSoC EDSãŠã£ã³ããŠãã¢ã¯ãã£ãã«ãªãããã«ãã³ãã³ãã®æåŸã«ãïŒãèšå·ãé 眮ããŸãïŒã
ãã§ã«ARMã«ç²ŸéããŠããããã®ãããªã¢ãŒããã¯ãã£çšã®ããã°ã©ã ãäœæããããšããã人ã«ãšã£ãŠã¯ãå°é£ã¯çµãããŸãã ARMã«äžæ £ããªäººã«ãšã£ãŠã¯ãå°é£ãç¶ããŸãã
空ã®ãCããããžã§ã¯ããäœæããŸãã ã³ã³ãã€ã©éžæãŠã£ã³ããŠã衚瀺ãããŸããããã§ã¯ã誰ããèªåã«æé©ãªãã®ãèªç±ã«éžæããŠç解ã§ããŸãã ARMã®æ°äººãšããŠãäž»ã«ããã°ã©ã ã®ããŸããŸãªéšåã«èšè¿°ãããããã°ã©ã ãé 眮ããããã«äœ¿çšãããã¹ãã£ãã¿ãã¡ã€ã«ã®æ¯èŒçåçŽãªæ§æã®ããã«ãArm Compiler 5ã奜ãã§ããïŒGCCãªã³ã«ã¹ã¯ãªããæ§æã®åãªãå€èŠ³ã¯ç§ãæããããŸãïŒã ãããžã§ã¯ãã®èšå®ã§ã¯ããã¹ãŠãç°¡åã«èŠããŸãã ãã®ã³ãã³ãã®ã¿ãææããŸãã
åãããšãããŸãã ããã«ãããaxf圢åŒãbin圢åŒã«å€æãããŸãã åŸã§ããã°ã©ã ãUSBãã©ãã·ã¥ãã©ã€ãã«èšé²ããããã«å¿ èŠã«ãªããŸãã æçµçã«ãããæžããŸãã
ããã§ã¯ãstdio.hããå¿ èŠãããŸããã ãã®ããã°ã©ã ã¯ãã¡ã¢ãªå ã®å 容ãã¢ãã¬ã¹LEDS_BASEã®ã¢ãã¬ã¹KEYS_BASEã«å²ãåœãŠãã ãã§ãã ããŒãäžã®ãã¿ã³ãæŒããšããã®æéã«LEDãæ¶ç¯ããŸãã
ã¹ãã£ãã¿ãã¡ã€ã«ã®å 容ã
ãããã°ããã«ã¯ããããã¬ãŒã§ã¹ã¯ãªãããäœæããå¿ èŠããããŸãã ããªããæãåºãããã«ãããŠã³ããŒãããã»ã¹ã¯ç°¡åã§ã¯ãããŸããã ã¹ã¯ãªããã¯ããœãŒã¹ããã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒããã段éã§ããªããŒããŒã®å®è¡ãåæ¢ãããã®ã¿ã¹ã¯ãã³ã³ãã¥ãŒã¿ãŒã«è»¢éããŸãã
ããã°ã©ã ãããŠã³ããŒãããŠãããã°ããåã«ãããŒãããã©ãã·ã¥ããããšãå¿ããªãã§ãã ããïŒ
ãããã°ãŠã£ã³ããŠã§ãæ°ããã¿ã¹ã¯ãäœæããå¿ èŠããããŸããããã¯ããããã°ã³ã³ãããŒã«ã§è¡ããŸãã ãã®æ®µéã§ã¹ã¯ãªãŒã³ã·ã§ãããæ®ãã®ãå¿ããŠããã®ã§ãåããŸããã 以äžã®åçã®èšå®ãšåæ§ã®èšå®ãé©çšããŸãã
ã³ã³ãã€ã«åŸãããã°ã©ã ããããã°ããã¬ãžã¹ã¿ã®å 容ãèŠãŠãå€ãã®èå³æ·±ãããšãè¡ãããšãã§ããŸãã
ããã°ã©ã ãæ£åžžã«åäœããŠããããšã確èªããããã»ã«ãããŒãã£ã³ã°çšã®ããã°ã©ã ã®ã€ã¡ãŒãžãäœæã§ããŸãã ãããè¡ãã«ã¯ãDS-5ãããžã§ã¯ãã®Debugãã©ã«ããŒãã<prj_name> .binãã¡ã€ã«ãååŸããSoC EDSãä»ããŠ.img圢åŒã«å€æããŸãã ããã¯ãã³ãã³ããmkimage -A arm -O u-boot -T standalone -C none -a 0x00100000 -e 0x00100000 -nâ baremetal imageã-d .bin .imgãã§å®è¡ãããŸããã-aãã¯ããŒãå ã®ã¢ãã¬ã¹ã -e "ããã°ã©ã ã®ãšã³ããªãã€ã³ãã
ãšã³ããªãã€ã³ãã¯ãããžã§ã¯ãèªäœã§èšå®ããããšãã§ããŸããå²ã蟌ã¿ãã¯ã¿ãŒã䜿çšãããŠããå Žåãå²ã蟌ã¿ãã¯ã¿ãŒã¯äœ¿çšãããªããããèšå®ããŸããã ã¹ãã£ãã¿ãã¡ã€ã«ã«èšå®ããã¢ãã¬ã¹ã«ã¬ã€ãããããã®ã³ãã³ãã«åãã¢ãã¬ã¹ãèšè¿°ããŸãã å®è¡ããåã«ãcdã³ãã³ãã<file folder>ãã§SoC EDSã®binãã¡ã€ã«ãžã®ãã¹ãæå®ããããšãå¿ããªãã§ãã ããã imgãã¡ã€ã«ã®ååã¯ãFAT_LOAD_PAYLOAD_NAMEã®BSPãšãã£ã¿ãŒã§æå®ããååãšäžèŽããå¿ èŠããããŸãã
éåžžã®ãã¡ã€ã«ã®ããã«ããã¡ããã»ã¯ã·ã§ã³ã®USBãã©ãã·ã¥ãã©ã€ãã«ãã¡ã€ã«ãã³ããŒããŸãã DE1-SoCã«USBãã©ãã·ã¥ãã©ã€ããæ¿å ¥ãããšãããã°ã©ã ã®å®è¡ã確èªã§ããŸãã
ãããã«
ãã®èšäºã§ã¯ã説æãããŠããããã»ã¹ã«ã¯å€ãã®æ®µéããããããããã«å®è£ ã®ä»£æ¿ãªãã·ã§ã³ãšç¬èªã®ç¹æ§ããããããå€ãã®ãã€ã³ãããã詳现ã«æ€èšã§ããŸãã ããããä»ã®ãã¹ãŠã®è³ªåã«ã€ããŠã¯ãåèæç®ã®ãªã¹ããå®å šã«çãããšæããŸãã 次ã®èšäºãã芧ãã ããCyclone V SoCã§ã®AMPã¢ããªã±ãŒã·ã§ã³ã®èµ·å