-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I 12/5 ·s®Ñ¨ì¡I 11/30 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

Xilinx Zynq SoC»P´O¤J¦¡Linux³]­p¹ê¾Ô«ü«n¡X¡X­Ý®eARM Cortex-A9ªº³]­p¤èªk

( ²Åé ¦r)
§@ªÌ¡G³°±Ò«Ó ³°«Û´@ ¤ý¦aÃþ§O¡G1. -> ¹q¸£²Õ´»PÅé¨tµ²ºc -> ´O¤J¦¡¨t²Î -> Cortex
ĶªÌ¡G
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀXilinx Zynq SoC»P´O¤J¦¡Linux³]­p¹ê¾Ô«ü«n¡X¡X­Ý®eARM Cortex-A9ªº³]­p¤èªk 3dWoo®Ñ¸¹¡G 39999
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 295 ¤¸

¥Xª©¤é¡G10/28/2014
­¶¼Æ¡G328
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787302373445
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

§Ç

§Ú­Ì¥Í¬¡¦b¤@­Ó§Ö³t³s±µªº¥@¬É¤¤¡X¡X¥þ²y¦³¶W¹L60»õ»O²¾°Ê­pºâ³]³Æ¬Û¤¬³s±µ¡A¦}¥B¨C¤Ñ³£«ùÄò¼W¥[¬ù100¸U»O²¾°Ê­pºâ³]³Æ¡C¹w­p¨ì2020¦~¡A¥þ²y²¾°Ê­pºâ³]³ÆÁ`¼Æ±N¹F¨ì300»õ»O¡CÀHµÛª«Ápºô(IoT)¥H¤Î¸UÁpºô(IoE)ªºµo®i¡A®ü¶q¤j¼Æ¾Úªº¦sÀx¡B¶Ç¿é¡B³B²z¡B«õ±¸§Þ³N¥X²{¤F·¥¤jªº¬D¾Ô¡C±q³B²zÅTÀ³³t«×¨Ó¬Ý¡A­pºâªº³B²zÅTÀ³³t«×±q¤å¦r®É¥Nªº¬í¯Å¡A¨ì¦h´CÅé®É¥Nªº¦Ê²@¬í¯Å¡BµøÀW®É¥Nªº¤Q²@¬í¯Å¡A·|¨³³t±À¶i¨ì5G®É¥Nªº1²@¬í¯Å¡C¹ï®ü¶q¼Æ¾Ú¦b1²@¬í¤º§¹¦¨³B²z¡A±N¬O¥¼¨Ó¼Æ¤Q¦~Â\¦b¹q¤l«H®§¨t²Î³]­p¤uµ{®v­±«eªº¥¨¤jÃøÃD¡C
ÀHµÛ¼¯º¸©w«ß¨«¦V²`¯Ç¦Ì®É¥N¡A¦b20nm¥H¤Uªº¤uÃÀ¸`ÂI¡A¨C­Ó¸`ÂIªº©Ê»ù¤ñ´£°ª´T«×·|¤ñ¤W¤@¥N³vº¥´î¤Ö¡A¦Ó«e´Áªº¤@¦¸©Ê¤uµ{¶O¥Î¡]NRE¡^§ë¤J¥¨¤j¡AªA°È«È¤á¼Æ¶qµ}¤Ö¡A¨Ï±o±M¥Î¶°¦¨¹q¸ô¡]ASIC¡^¤Î±M¥Î¼Ð·Ç¶°¦¨¹q¸ô¡]ASSP¡^¦b°Ó·~¼Ò¦¡¤W¨B¤Jµ´¹Ò¡AŧQªº¤½¥q¼Æ¶q¾U´îª½¦Ü³Ì¦Z®ø¤`¡A©|¯à¦s¬¡ªº±N¬O¥i½sµ{¾¹¥ó¡C
­±¹ï®ü¶qªº­pºâ¥ô°È¡A¦h®Ö¦}¦æ´¿¬O¸Ñ¨M¤è®×¤§¤@¡A¦ý¨ü¨î¤_ºâªk¥i¦}¦æ³¡¤Àªº§½­­¡A§ó¦hªº®Ö¦}¤£¯à±a¨Ó§ó°ªªº®Ä²v¡A¥[³t®Ä¯à¤]³vº¥¨«¨ì¤FºÉÀY¡C¦¹¥~¡A¨ü³æÁûªä¤ùµo¼ö¶q±K«×­­¨î¡A§Y¨Ïªä¤ù¤W¶°¦¨ªº´¹ÅéºÞ¶V¨Ó¶V¦h¡A¦ý¥i¦P®É¹B¦æªº´¹ÅéºÞ¼Æ¥Ø«oÁͤ_ùÚ©w¡A¦h§Eªº´¹ÅéºÞ±N²_¬°·tÖº (Dark Silicon)¡C ¦]¦¹¡A³]­pªÌ¤£±o¤£±N¥Ø¥úÂà¦V¶¾¡P¿Õ¨Ì°Ò¬[ºc¤§¥~ªº­pºâºc¬[¡A¨Ò¦p»â°ì©w¨î¤Æ­pºâ¡]Domain Specific Computing¡^¡A¥¦¥i¦b«O«ùÆF¬¡©Êªº¦P®É¡Aµo´§¨C¤@­Ó´¹ÅéºÞªº­pºâ¯à¤O¡A·íµM³o¤]Â÷¤£¶}¥i½sµ{¾¹¥ó§Þ³Nªºªø¨¬µo®i¡C
¦b¨t²Î¯Å§O¡A¤j¼Æ¾Ú»P³n¥ó©w¸q¤@¤Á¡AµêÀÀ¤Æ¤@¤ÁªºÁͶաA¨Ï±o¨t²Îºc¬[¤uµ{®v¤£±o¤£´M¨D§óÆF¬¡¡B§ó´¼¼z¡B§ó§Ö³t¡B§óºñ¦âªº¸Ñ¨M¤è®×¡C¦Ó³o¨Ç¸Ñ¨M¤è®×ªº®Ö¤ß©¹©¹»P³n¥ó¡Bµw¥ó¤ÎI/O§¡¥i½sµ{ªºªä¤ù¡X¡XÁÉÆF«ä¤½¥qªºAll Programmableªä¤ù¬ÛÃö¡C
¦b±Ð¨|»â°ì¡A°£¤F»Ý­n°ö¾i¯à°÷À³¹ï¥¼¨Ó¼Æ¤Q¦~§Þ³N¬D¾Ôªº¹q¤l«H®§¨t²Î¤uµ{®v¤§¥~¡A±Ð¾Ç¥»¨­¤]¥Rº¡¤FÅÜ­²©M¾÷¹J¡CÀHµÛ¤j«¬¶}©ñ¦¡ºôµ¸½Òµ{¡]MOOC¡^ªº¿³°_¡A¦b²Î¤@¥­»O¤U³q¹L¤¬Ápºô¡A¥H½Âà½Ò°óªº¤è¦¡¡A¥´¯}·~¬É»P±Ð¨|¬Éªº¾ÀÂS¡A§¹¦¨³n¥ó»Pµw¥ó¡B²z½×»P¹êÅç¡B¦~¯Å»P°|¨tªº¥þ­±³e³q¡A±N¬O«Ü¦h¹q¤l«H®§Ãþ¾Ç¬ì±Ð¨|¤u§@ªÌªº§ó°ª°l¨D¡C
ÁÉÆF«ä¤j¾Ç­p¹º±N¤£¿ò§E¤O¦aÀ°§U±Ð¨|¤u§@ªÌÀ³¹ï³o¨ÇÅÜ­²¡A»P²MµØ¥Xª©ªÀ¦X§@±NAll Programmable¥þ­±¥i½sµ{§Þ³N¨t²Î¦a¤Þ¤J¨ì·s«¬ª¾ÃѶǼ½Åé¨t¤¤¥h¡A°ö¾i¯à°÷À³¹ï¤U¤@¥N¹q¤l¨t²Î³]­p¬D¾Ôªº¨ô¶V¤uµ{®v¡A¬°¹ê²{±N¡§¤¤°ê¨î³y¡¨Åܦ¨¡§¤¤°ê´¼³y¡¨ªº¹Ú·Q¡A´£¨Ñ¥R¨¬ªº´¼¤O©M¤H¤~«O»Ù¡C

Á³ͦ~
Xilinx¤j¾Ç­p¹º¤j¤¤µØ°Ï¸g²z


«e¨¥



2012¦~7¤ë¡A§@ªÌ¦³©¯©M¥_¨Ê¤Æ¤u¤j¾Ç¦ó»«¦Ñ®v¶i¦æ¶µ¥Ø¦X§@¡A¦b¬ÛÃö¶µ¥ØªºÀ³¥Î¤¤¡A¤F¸Ñ¨ìÁÉÆF«ä¤½¥q(Xilinx)ªºZynqªä¤ù¡A³Q¨ä¥þ·s³]­p²z©À©Ò§l¤Þ¡CZynq¬OÁÉÆF«ä¤½¥q±À¥Xªº¦æ·~²Ä¤@­Ó¥iÂX®i³B²z¥­»O¡A¦®¦b¬°µøÀWºÊµø¡B¨T¨®¾r¾p»²§U¥H¤Î¤u¼t¦Û°Ê¤Æµ¥°ªºÝ´O¤J¦¡À³¥Î´£¨Ñ©Ò»Ýªº³B²z¡C
§@ªÌ±q¨Æ¤Ñ¤å±æ»·Ãè±±¨î¬ã¨s¬ÛÃö¤u§@¡A¦b³¡¤À¤Ñ¤å»ö¾¹²×ºÝ³]³Æ¤¤¡A»Ý­n¨Ï¥ÎARM³B²z¾¹¹B¦æLinux¾Þ§@¨t²Î¡A¥H¤è«Kºôµ¸³q«H©M¹Ï¦æ¬É­±³]­p¡C¥«³õ¤WªºARM³B²z¾¹¥~³]¤ñ¸û©T©w¡A¦Ó¤Ñ¤å»ö¾¹³]³Æ¤Wªº¬Y¨Ç¥~³]¥«³õ¤W¤ñ¸û¤Ö¨£¡A³q±`»Ý­n¥t¥~³]­pÂX®i¹q¸ô¨Ó¹ê²{¡A³o´Nµ¹¬ãµo©P´Á¡BÃø«×©Mí©w©Ê±a¨Ó¤@©wªº³Â·Ð¡CZynq±NÂù®ÖARM´O¤JFPGA¤º¡A¥i¥H§Q¥Î¨äÂù®ÖARM¹B¦æ¾Þ§@¨t²Î¡A¶i¦æ¬É­±©M³q«H³]­p¡A§Q¥ÎZynqªºFPGA³¡¤À¶i¦æ¦}¦æ¹Bºâ©M±µ¤fÂX®i³]­p¡A±q¦Ó²¤Æ¤F³]­pÃø«×©M´_Âø«×¡C±q§@ªÌÀ³¥ÎZynq³]­p¸gÅç¨Ó¬Ý¡Aºî¦X¦Ò¼{³]­pÃø«×¡Bí©w©Ê©M»ù®æµ¥¦]¯À¡CZynq«D±`¾A¦X°ªºÝ»ö¾¹»öªíµ¥´O¤J¦¡À³¥Î³õ¦X¡A¤]¾A¦X°ªµ¥¾Ç®Õ§@¬°ARM©MFPGAªº±Ð¾Ç¥­»O¡C
¥»®Ñ¤¶²ÐXilinx ZynqúQ7000 SoC ARM CortexúQA9±`¥Î¥~³]±µ¤f­ì²z¥H¤Î´O¤J¦¡Linux­ì²z¡C¥þ®Ñ¥HZynq PS(ARM CortexúQA9)¬°®Ö¤ß¡A¥HZynq PL(FPGA)³¡¤À¬°¥i½sµ{¥~³]¡A¸Ô²ÓÁ¿¸Ñ¤F±q©³¼hµw¥ó¨t²Î¨ì¤W¼h¾Þ§@¨t²Î¤ÎGUI­ì²z¡A³]­p¹ê²{¤F©³¼h¥~³]±µ¤f±±¨îµ{§Ç¡B´O¤J¦¡Linux¾Þ§@¨t²Î²¾´Ó¥H¤ÎÀ³¥Îµ{§Ç¡C¥þ®Ñ¦@¤À14³¹¡A¤º®e¥]¬AZynqªìÅéÅç¡BZynq¶°¦¨¶}µoÀô¹Ò¡BZynq±Ò°Ê¬yµ{¤ÎÃè¹³¨î§@¡BGPIO­ì²z¤Î¹ê²{¡B¤¤Â_­ì²z¤Î¹ê²{¡B©w®É¾¹­ì²z¤Î¹ê²{¡B³q¥Î²§¨B¦¬µo¾¹­ì²z¤Î¹ê²{¡BOLED­ì²z¤Î¹ê²{¡BZynqÂù®Ö¹B¦æ­ì²z¤Î¹ê²{¡B´O¤J¦¡Linux¨t²Îºc«Ø¡B´O¤J¦¡Linux¨t²Î¹ê²{¡BuúQboot­ì²z¤Î²¾´Ó¡BLinux¤º®Ö­ì²z¤Î²¾´Ó©M´O¤J¦¡ºôµ¸µøÀW³]­p¤Î¹ê²{¡C¨C³¹¤º®e­nÂI¦p¤U¡C
²Ä1³¹¥D­n¤¶²ÐZynqªº¨â­Ó¥D­n²Õ¦¨³¡¤ÀPL©MPSªº¹ê¨Ò¡C
²Ä2³¹¥D­n¤¶²ÐZynqªºµw¥ó¥­»O©M³n¥ó¶°¦¨¶}µoÀô¹Ò¡C
²Ä3³¹¥D­n¤¶²ÐZynqªº±Ò°Ê¬yµ{©M±Ò°ÊÃè¹³¤å¥ó¨î§@¤èªk¡C
²Ä4³¹¥D­n¤¶²ÐZynqªºGPIO³]­p¡A¥]¬AGPIO­ì²z¡BZynq GPIOªº¬ÛÃö±H¦s¾¹°t¸m©MGPIO½sµ{¹ê¨Ò¡C
²Ä5³¹¥D­n¤¶²ÐARM¤¤Â_­ì²z¡A¥]¬AZynq¤¤Â_Åé¨t¬[ºc¡B¤¤Â_Ãþ«¬©M¤¤Â_±H¦s¾¹¡A³Ì¦Z³]­p¹ê²{¤@­Ó¤¤Â_¹ê¨Ò¡C
²Ä6³¹¥D­n¤¶²ÐZynq©w®É¾¹­ì²z¡A¥]¬A¨p¦³©w®É¾¹¡B¨p¦³¬Ýªùª¯©w®É¾¹©M¥þ§½©w®É¾¹¡A¦}³]­p¹ê²{3­Ó©w®É¾¹¹ê¨Ò¡C
²Ä7³¹¥D­n¤¶²Ð³q¥Î²§¨B¦¬µo¾¹­ì²z¡A¥]¬A±H¦s¾¹°t¸m©M³]­p¹ê²{¤èªk¡C
²Ä8³¹¥D­n¤¶²ÐOLEDªºµw¥óIP®Ö³]­p©MOLEDªº³n¥óÅX°Ê³]­p¡C
²Ä9³¹¥D­n¤¶²ÐZynqÂù®Ö¹B¦æ­ì²z¤Î¹ê²{¤èªk¡C
²Ä10³¹¥D­n¤¶²Ð´O¤J¦¡LinuxÀô¹Ò·f«Ø¡A¥]¬AÀô¹Ò³]­p¡B¥æ¤e½sĶ¾¹¦w¸Ë©M´O¤J¦¡QT²¾´Ó¡C
²Ä11³¹¥D­n¤¶²Ð¦bZynq¹B¦æLinux¨t²Î¡A¥D­n¥]¬Aµw¥ó¥­»O³]­p¡B±Ò°Ê¤å¥ó³]­p¡B¤º®Ö½sĶ©M²K¥[¦Û©w¸q³]³Æµ¥¡C
²Ä12³¹¥D­n¤¶²ÐuúQboot­ì²z¤Î²¾´Ó¤èªk¡C
²Ä13³¹¥D­n¤¶²ÐLinux¤º®Öªº­ì²z¤Î²¾´Ó¤èªk¡C
²Ä14³¹¥D­n¤¶²Ð°ò¤_Zynq¡B´O¤J¦¡Linux©MQtªººôµ¸µøÀW³]­p¤Î¹ê²{¤èªk¡C
´x´¤Xilinx Zynq´O¤J¦¡¨t²Î³]­p§Þ³N¡A­«­nªº¬O¦b¾Ç²ß¥»®Ñ°ò¥»³]­p¤èªkªº°ò¦¤W¡A¦h¦bµw¥ó¥­»O¤W¶i¦æ¹ê»Ú½m²ß©M¾Þ§@¡A¦}¦b§@ªÌ´£¨Ñªº¹ê¨Ò°ò¦¤W¶i¦æ­×§ïÅçÃÒ¡C³o¼ËŪªÌ´N¯à°÷¿W¥ß¦a±q¨ÆXilinx Zynq´O¤J¦¡¨t²Îªº³]­p©M¶}µo¤u§@¡C
·PÁ§@ªÌªº¦P¨Æ³°«Û´@³Õ¤h¡B¤ý¦a³Õ¤h¡B¾G¥ü·ë³Õ¤h©M¤ý¦ö°ª¯Å¤uµ{®v¡A¥L­Ì°Ñ»P¤F¥»®Ñ³¡¤À³¹¸`ªº½s¼g©ÎªÌ¹ï¬ÛÃöªº³]­p®×¨Ò¶i¦æ¤F´ú¸Õ¡A¦¹¥~ÁÙÀ°§U§¹¦¨¤F®Ñ¤¤¤@³¡¤Àªí®æ©M´¡¹ÏªºÃ¸¨î¤u§@¡A¤]­n·PÁÂ¥_¨Ê¤Æ¤u¤j¾Ç¦ó»«¦Ñ®v¡A¥L¬°§@ªÌ´£¨Ñ¤F¤@®Mµw¥ó¥­»O¡A¦}¥B¹ï¥þ®Ñªº²Õ´³]­p´£¥X¤F«Øij¡C
¦P®É¡AÁÙ­n·PÁ¤¤°ê¬ì¾Ç°|«n¨Ê¤Ñ¤å¥ú¾Ç§Þ³N¬ã¨s©Ò¦Û¾AÀ³¥ú¾Ç½ÒÃD²Õ¦b³n¥ó©Mµw¥ó¥­»O¤è­±µ¹¤©ªº¤j¤O¤ä«ù©MÀ°§U¡C¯S§O·PÁ½ÒÃD²Õ­t³d¤H±i«ä¬³¬ã¨s­û¡A¥¿¦]¬°¦³¥Lªº¤j¤O¤ä«ù¡A¤~¯à¨Ï§@ªÌ±NXilinx Zynq´O¤J¦¡¨t²Î³Ì·sªº§Þ³N¤Î®É¦a¤¶²Ðµ¹¼s¤jŪªÌ¡C³Ì¦Z¡A¹ï²MµØ¤j¾Ç¥Xª©ªÀªº½s¿è©M»â¾Éªº¨¯¶Ô¤u§@ªí¥Ü·PÁ¡C¥¿¬O¥Ñ¤_¥L­Ìªº¤ä«ù©MÀ°§U¡A¨Ï±o§@ªÌ¯à¦bµu®É¶¡¤º§¹¦¨¸Ó®Ñªº½s¼g©M©w½Z¤u§@¡C
ÁöµM§@ªÌªá¶O¤F¤j¶qªººë¤O©M®É¶¡¥Î¤_¸Ó®Ñªº½s¼g¡A¦ý¬O¥Ñ¤_§@ªÌªº¯à¤O¦³­­¡A®Ñ¤¤¤@©w·|¦s¦b¤£¨¬¤§³B¡C¦b¦¹¡A¤]Àµ½Ð¼s¤jŪªÌ¡B¦P¤¯¹ï¥»®Ñ´£¥XÄ_¶Qªº­×§ï·N¨£¡C

³°±Ò«Ó
2014¦~10¤ë
¤º®e²¤¶¡G

¥»®Ñ¨t²Î¤¶²Ð¤FXilinx ZynqúQ7000 SoC»P´O¤J¦¡Linux³]­p¤èªk»P¹ê½î¡C¥þ®Ñ¥HZynq PS¡]ARM CortexúQA9¡^¬°®Ö¤ß¡A¥HZynq PL¡]FPGA¡^¬°¥i½sµ{¥~³]¡A¸Ô²Ó¤¶²Ð¤F±q©³¼hµw¥ó¨t²Î¨ì¤W¼h¾Þ§@¨t²Î¤ÎGUI³]­p­ì²z©M¤èªk¡A¸Ô²ÓÁ¿¸Ñ¤F©³¼h¥~³]±µ¤f±±¨îµ{§Ç¡B´O¤J¦¡Linux¾Þ§@¨t²Î²¾´Ó¥H¤ÎÀ³¥Îµ{§Ç¡C¥þ®Ñ¦@¤À14³¹¡A¤º®e¥]¬AZynqªìÅéÅç¡BZynq¶°¦¨¶}µoÀô¹Ò¡BZynq±Ò°Ê¬yµ{¤ÎÃè¹³¨î§@¡BGPIO­ì²z¤Î¹ê²{¡B¤¤Â_­ì²z¤Î¹ê²{¡B©w®É¾¹­ì²z¤Î¹ê²{¡B³q¥Î²§¨B¦¬µo¾¹­ì²z¤Î¹ê²{¡BOLED­ì²z¤Î¹ê²{¡BZynqÂù®Ö¹B¦æ­ì²z¤Î¹ê²{¡B´O¤J¦¡Linux¨t²Îºc«Ø¡B´O¤J¦¡Linux¨t²Î¹ê²{¡BuúQboot­ì²z¤Î²¾´Ó¡BLinux¤º®Ö­ì²z¤Î²¾´Ó©M´O¤J¦¡ºôµ¸µøÀW³]­p¤Î¹ê²{¡C
¥»®Ñ¥Ñ²L¤J²`¡A±q³Ì²³æªº¬y¤ô¿O¡BHello World¶}©l¡A¨ÏŪªÌ¥i¥H§¹¦¨»r¾÷±±¨îµ{§Ç³]­p¡B´O¤J¦¡LinuxÀô¹Ò·f«Ø¡B´O¤J¦¡¾Þ§@¨t²Î²¾´Ó¥H¤ÎÀ³¥Îµ{§Ç³]­pµ¥¡C
¥»®Ñ²z½×»P¹ê½î¬Ûµ²¦X¡A¥i¥H§@¬°«H®§Ãþ±M·~¤j¾Ç¥»¬ì°ª¦~¯Å©M¬ã¨s¥Íªº±Ð¾Ç°Ñ¦Ò¥Î®Ñ¡A¤]¥i§@¬°±q¨Æ´O¤J¦¡¨t²Î³]­pªº¤uµ{§Þ³N¤H­û°Ñ¦Ò¥Î®Ñ¡C  

¥Ø¿ý¡G

²Ä¤@½gZynq¶}µo°ò¦

²Ä1³¹ZynqªìÅéÅç

1.1PL³¡¤À³]­p¹ê²{

1.1.1³Ð«Ø¤uµ{

1.1.2³]­p¿é¤J

1.1.3³]­pºî¦X

1.1.4³]­p¹ê²{

1.1.5¤U¸ü°õ¦æ

1.2PS³¡¤À³]­p¹ê²{

1.2.1«Ø¥ßZynqµw¥ó¨t²Î

1.2.2¦bPS¤¤³]­pHello Worldµ{§Ç

1.2.3¤U¸ü°õ¦æµ{§Ç



²Ä2³¹Zynq¶°¦¨¶}µoÀô¹Ò

2.1Zynqµw¥ó¥­»O

2.1.1Zynq XC7Z020ªä¤ùµw¥ó¸ê·½

2.1.2ZedBoardµw¥ó¸ê·½

2.2Zynq³n¥ó¥­»O

2.2.1´O¤J¦¡µw¥ó¶}µo¤u¨ãXPS

2.2.2´O¤J¦¡³n¥ó¶}µo¤u¨ãSDK



²Ä3³¹Zynq±Ò°Ê¬yµ{¤ÎÃè¹³¨î§@

3.1BootROM

3.2Zynq¾¹¥óªº±Ò°Ê°t¸m

3.3¨Ï¥ÎBootGen

3.3.1BootGen¤¶²Ð

3.3.2BIF¤å¥ó»yªk

3.3.3BootGen¹ê¨Ò



²Ä¤G½gZynq©³¼hµw¥ó³]­p

²Ä4³¹GPIO­ì²z¤Î³]­p¹ê²{

4.1GPIO­ì²z

4.2Zynq XC7Z020 GPIO±H¦s¾¹

4.2.1DATA_RO±H¦s¾¹

4.2.2DATA±H¦s¾¹

4.2.3MASK_DATA_LSW/ MSW±H¦s¾¹

4.2.4DIRM±H¦s¾¹

4.2.5OEN±H¦s¾¹

4.2.6GPIO slcr±H¦s¾¹

4.3GPIO³]­p¹ê²{

4.3.1¶×½s»y¨¥¹ê²{

4.3.2C»y¨¥¹ê²{



²Ä5³¹¤¤Â_­ì²z¤Î¹ê²{

5.1¤¤Â_­ì²z

5.1.1¤¤Â_Ãþ«¬

5.1.2¤¤Â_¦V¶qªí

5.1.3¤¤Â_³B²z¹Lµ{

5.2Zynq¤¤Â_Åé¨tµ²ºc

5.2.1¨p¦³¤¤Â_

5.2.2³n¥ó¤¤Â_

5.2.3¦@¨É¥~³]¤¤Â_

5.2.4¤¤Â_±H¦s¾¹

5.3¤¤Â_µ{§Ç³]­p¹ê²{

5.3.1¤¤Â_¦V¶qªí©M¸ÑªRµ{§Ç

5.3.2¤¤Â_·½°t¸m

5.3.3ICD±H¦s¾¹ªì©l¤Æ

5.3.4ICC±H¦s¾¹²Õªì©l¤Æ

5.3.5ICD±H¦s¾¹²Õ°t¸m

5.3.6ARMµ{§Çª¬ºA±H¦s¾¹(CPSR)°t¸m

5.3.7¤¤Â_ªA°Èµ{§Ç³]­p

5.4³]­pÅçÃÒ



²Ä6³¹©w®É¾¹­ì²z¤Î¹ê²{

6.1Zynq©w®É¾¹·§­z

6.2¨p¦³©w®É¾¹

6.2.1¨p¦³©w®É¾¹±H¦s¾¹

6.2.2¨p¦³©w®É¾¹³]­p¹ê²{

6.3¨p¦³¬Ýªùª¯©w®É¾¹

6.3.1¨p¦³¬Ýªùª¯©w®É¾¹±H¦s¾¹

6.3.2¨p¦³¬Ýªùª¯©w®É¾¹³]­p¹ê²{

6.4¥þ§½©w®É¾¹

6.4.1¥þ§½©w®É¾¹±H¦s¾¹

6.4.2¥þ§½©w®É¾¹³]­p¹ê²{



²Ä7³¹³q¥Î²§¨B¦¬µo¾¹­ì²z¤Î¹ê²{

7.1UART·§­z

7.2UART±H¦s¾¹

7.3UART³]­p¹ê²{

7.3.1UART¤Þ¸}³]¸m

7.3.2UARTªì©l¤Æ

7.3.3UART¦r²Å±µ¦¬©Mµo°e¨ç¼Æ¹ê²{

7.3.4UART¥D¨ç¼Æ¹ê²{

7.3.5UART¨ãÅé¹ê²{¨BÆJ



²Ä8³¹OLED­ì²z¤Î¹ê²{

8.1OLED·§­z

8.2«Ø¥ßOLEDµw¥ó¨t²Î

8.3¥Í¦¨¦Û©w¸qOLED IP¼ÒªO

8.4­×§ïMY_OLED IP³]­p¼ÒªO

8.5OLEDÅX°Êµ{§Ç³]­p¹ê²{

8.5.1OLEDªì©l¤Æ

8.5.2¼g¼Æ¾Ú¬ÛÃö¨ç¼Æ

8.5.3¼gÅã¦s¬ÛÃö¨ç¼Æ¹ê²{

8.6³]­pÅçÃÒ



²Ä9³¹ZynqÂù®Ö¹B¦æ­ì²z¤Î¹ê²{

9.1Âù®Ö¹B¦æ­ì²z

9.2µw¥ó¨t²Î³]­p

9.3³n¥ó³]­p

9.3.1FSBL

9.3.2CPU0À³¥Îµ{§Ç³]­p

9.3.3CPU1À³¥Îµ{§Ç³]­p

9.4³]­pÅçÃÒ

²Ä¤T½g´O¤J¦¡Linux³]­p

²Ä10³¹´O¤J¦¡Linux¨t²Îºc«Ø

10.1Ubuntu 13.10³]¸m

10.1.1rootµn¿ý

10.1.2¦w¸ËFTPªA°È¾¹©MSSHªA°È¾¹

10.2PuTTY©MFileZilla¤u¨ã¨Ï¥Î

10.2.1PuTTY¤u¨ã¨Ï¥Î

10.2.2FileZilla¤u¨ã¨Ï¥Î

10.3¥æ¤e½sĶ¾¹¦w¸Ë

10.3.1Xilinx ARM¥æ¤e½sĶ¾¹¤U¸ü

10.3.2Xilinx ARM¥æ¤e½sĶ¾¹¦w¸Ë

10.4´O¤J¦¡QtÀô¹Òºc«Ø

10.4.1¥D¾÷Àô¹ÒQtºc«Ø

10.4.2¥Ø¼Ð¾÷QtÀô¹Òºc«Ø



²Ä11³¹´O¤J¦¡Linux¨t²Î¹ê²{

11¡D1µw¥ó¥­»Oºc«Ø

11¡D1¡D1¦Û©w¸qGPIO IP®Ö³]­p

11¡D1¡D2²K¥[my_led IP®ÖºÝ¤f

11¡D2my_led IP®ÖÅÞ¿è³]­p

11¡D2¡D1³]¸m¤Þ¸}¤è¦V«H®§

11¡D2¡D2my_led IP®ÖºÝ¤f©M³s±µ³]­p

11¡D2¡D3my_led IP®Ö¥Î¤áÅÞ¿è³]­p

11¡D2¡D4my_led IP®Ö¤Þ¸}¬ù§ô³]­p

11¡D2¡D5my_led IP®Öµw¥ó¤ñ¯S¬y¥Í¦¨

11¡D3±Ò°Ê¤å¥óBOOT¡DBIN³]­p

11¡D3¡D1²Ä¤@¶¥¬q±Ò°Ê¥N½X³]­p

11¡D3¡D2uúQboot½sĶ

11¡D3¡D3¥Í¦¨BOOT¡DBIN¤å¥ó

11¡D4Linux¤º®Ö½sĶ

11¡D4¡D1¤º®Ö²¤¶

11¡D4¡D2Xilinx Linux¤º®ÖªºÀò¨ú

11¡D4¡D3Xilinx Linux¤º®Ö½sĶ

11¡D5¨t²Î´ú¸Õ

11¡D6²K¥[my_led³]³Æ

11¡D6¡D1my_ledÅX°Êµ{§Ç³]­p

11¡D6¡D2À³¥Îµ{§Ç½Õ¥ÎÅX°Êµ{§Ç´ú¸Õ



²Ä12³¹uúQboot­ì²z¤Î²¾´Ó

12¡D1uúQbootª©¥»¤Î·½½Xµ²ºc

12¡D1¡D1uúQbootª©¥»

12¡D1¡D2uúQboot·½½Xµ²ºc

12¡D2uúQboot°t¸m©M½sĶ¤ÀªR

12¡D2¡D1uúQboot°t¸m¤ÀªR

12¡D2¡D2³»¼hMakefile¤ÀªR

12¡D3uúQboot¹B¦æ¹Lµ{¤ÀªR

12¡D3¡D1start¡DS¤å¥ó¤ÀªR

12¡D3¡D2lowlevel_init¡DS¤ÀªR

12¡D3¡D3board_init_f¤ÀªR

12¡D3¡D4board_init_r¤ÀªR

12¡D3¡D5main_loop¤ÀªR

12¡D4uúQboot²¾´Ó

12¡D4¡D1§R°£µLÃö¤å¥ó

12¡D4¡D2­×§ï¦]§R°£µLÃö·½½X³y¦¨ªº¿ù»~

12¡D4¡D3²K¥[­×§ïZedBoard²¾´Ó¥N½X

12¡D4¡D4uúQboot´ú¸Õ



²Ä13³¹Linux¤º®Ö­ì²z¤Î²¾´Ó

13¡D1Linux¤º®Öª©¥»¤Î·½½Xµ²ºc

13¡D1¡D1Linux¤º®Öª©¥»

13¡D1¡D2Linux¤º®Ö·½½Xµ²ºc

13¡D2Linux¤º®Ö¨t²Î°t¸m

13¡D2¡D1Makefile¤ÀªR

13¡D2¡D2Makefile¤¤ªºÅܶq

13¡D2¡D3¤l¥Ø¿ýMakefile

13¡D2¡D4¤º®Ö°t¸m¤å¥ó

13¡D3Linux¤º®Ö±Ò°Ê¤ÀªR

13¡D3¡D1¤º®Ö±Ò°Ê¤J¤f

13¡D3¡D2zImage¦Û¸ÑÀ£

13¡D3¡D3²Ä¤@¶¥¬q±Ò°Ê¥N½X¤ÀªR

13¡D3¡D4²Ä¤G¶¥¬q±Ò°Ê¥N½X¤ÀªR

13¡D4Linux¤º®Ö²¾´Ó

13¡D4¡D1²K¥[°t¸m¤å¥ó

13¡D4¡D2²K¥[©M­×§ïZedBoard¬ÛÃö¤å¥ó

13¡D4¡D3²K¥[ÅX°Ê¤å¥ó©MÀY¤å¥ó

13¡D4¡D4Linux¤º®Ö´ú¸Õ



²Ä14³¹ºôµ¸µøÀW³]­p¤Î¹ê²{

14¡D1Á`Åé³]­p

14¡D2V4L2ÃöÁä§Þ³N

14¡D2¡D1V4L2°ò¥»­ì²z

14¡D2¡D2¬ÛÃö¼Æ¾Úµ²ºc©M¨ç¼Æ

14¡D2¡D3V4L2¤u§@¬yµ{

14¡D3TCP¤ÎQt¤Uªººôµ¸½sµ{

14¡D3¡D1ªA°È¾¹ºÝµ{§Ç³]­p

14¡D3¡D2«È¤áºÝµ{§Ç³]­p

14¡D4³]­pÅçÃÒ

14¡D4¡D1¥D¾÷³]­pÅçÃÒ

14¡D4¡D2¥Ø¼Ð¾÷³]­pÅçÃÒ
§Ç¡G