´O¤J¦¡¨t²Î³]p--°ò©óARM»PLinux
¤º®e¤j¿û
¦b²³¦hªº´O¤J¦¡¨t²ÎµwÅé©M³nÅ餤¡A¥»®Ñ¿ï¾Ü¤FÀ³¥Î³Ì¼sªxªºARM´O¤J¦¡³B²z¾¹©M´O¤J¦¡Linux¾Þ§@¨t²ÎªºÀ³¥Î§@¬°Á¿¸Ñ¹ï¶H¡AÀ°§UŪªÌ¶i¤J´O¤J¦¡¶}µo»â°ì¡C
¥»®Ñ±q´O¤J¦¡ªì¾ÇªÌªº¨¤«×¥Xµo¡A²`¤J²L¥X¦a¤¶²Ð¤F´O¤J¦¡¨t²Î¶}µoªº©³¼h²Ó¸`¡A«ÂI¬OÅX°Êµ{§Ç³]p¥H¤Î°ò©óQTªº¬É±¶}µo§Þ³N¡A¨Ã»²¥H¤j¶q°t®M¹ê¨Ò¡A§Æ±æ¯à°÷¤Þ¾Éªì¾ÇªÌ§Ö³t¶i¤J´O¤J¦¡¶}µo»â°ì¡A´x´¤´O¤J¦¡¶}µoªº®Ö¤ß§Þ³N¡C
´O¤J¦¡§Þ³N¯A¤Î±«D±`¼e¡A¥»®Ñ¥ß¨¬©ó¤Þ¾Éªì¾ÇªÌ¤Jªù´O¤J¦¡¶}µo»â°ì³o¤@¥Ø¼Ð¡A¦b¤º®e½s±Æ¤W¿í´`¤Ö¦Óºëªºì«h¡A¦P®Éµ²¦X¤F§@ªÌ¦h¦~ªº±Ð¾Ç¸gÅç¡C¥»®Ñ¥Dn¤º®e¦w±Æ¦p¤U¡C
²Ä1³¹¡G¹ï´O¤J¦¡¨t²Î¶i¦æ¤F¥þ±·§z¡A¤¶²Ð´O¤J¦¡¨t²Îªº°ò¥»·§©À¡C
²Ä2³¹¡G¥þ±¤¶²Ð¤FARM Cortex-A7³B²z¾¹¡C
²Ä3³¹¡G¤¶²ÐARM«ü¥O¶°¤Î·J½s»y¨¥µ{§Ç³]p§Þ³N¡C
²Ä4³¹¡G¤¶²Ð¤F´O¤J¦¡Linux¶}µoÀô¹Òªº·f«Ø¡C¥Dn¥]¬A´O¤J¦¡Linux¾Þ§@¨t²Î¤Î¨Ï¥Î¡BVIM½s¿è¾¹ªº¨Ï¥Î¡B¥æ¤e½s;¹ªº¦w¸Ë¡Bµ{§Çªº½sͬyµ{¥H¤Î¬ÛÃö¤u¨ã³nÅ骺¦w¸Ë¨Ï¥Îµ¥¡C
²Ä5³¹¡G¤¶²Ð¤Fi.MX6U³B²z¾¹ªºµ²ºc¡AGPIO©M±`¨£¥~³]ªº°t¸m¤Î½sµ{¡C
²Ä6³¹¡G¤¶²Ð¤FU-BOOTªº¤u§@ì²z¡B¥Ø¿ýµ²ºc©M¨Ï¥Î¤èªk¡C
²Ä7³¹¡GÁ¿¸Ñ´O¤J¦¡Linux¤U³]³ÆÅX°Êµ{§Çªº½s¼g¡C
²Ä8³¹¡GÁ¿¸ÑQT¹Ï§Î¬É±½sµ{§Þ³N°ò¦¡C
¥»®ÑªºÅªªÌ¹ï¶H¬°´O¤J¦¡¨t²ÎÀ³¥Îµ{§Ç¶}µo¤Hû¡B¤j¤¤±M°|®Õªº¾Ç¥Í¡A¥H¤Î¹ï´O¤J¦¡§Þ³N·P¿³½ìªº¤Hû¡C
§@ªÌ¤¶²Ð
½sªÌ:¤ý«i//¤å¨}µØ|³d½s:¤ý¾W
¥Ø¿ý
²Ä1³¹ ´O¤J¦¡¨t²Î·§z
1.1 ´O¤J¦¡¨t²Î²Õ¦¨·§z
1.2 ´O¤J¦¡¨t²Î¯S¼x
1.3 ´O¤J¦¡¨t²Î³B²z¾¹
²ßÃD1
²Ä2³¹ ARM Cortex-A7·L³B²z¾¹µ²ºc
2.1 ARM Codex-A7·L³B²z¾¹·§z
2.2 Cortex-A7¤u§@¼Ò¦¡
2.3 Codex-A7±H¦s¾¹µ²ºc
2.3.1 ¤£¦P¤u§@¼Ò¦¡¤Uªº±H¦s¾¹¤À²Õ
2.3.2 µ{§Çª¬ºA±H¦s¾¹
2.3.3 ¦sÀx¾¹µ²ºc
2.4 Codex-A7²§±`³B²z
2.4.1 ²§±`¦V¶qªí
2.4.2 ²§±`Àu¥ý¶¶§Ç
2.4.3 ²§±`³B²z¬yµ{
2.5 Codex-A7¦sÀx¼Ò¦¡
²ßÃD2
²Ä3³¹ ARM·J½s»y¨¥
3.1 ARM«ü¥O¨t²Î¤ÀÃþ
3.1.1 ARM«ü¥Oªº¤ÀÃþ
3.1.2 «ü¥O®æ¦¡
3.2 ARM«ü¥O©w§}¤è¦¡
3.3 ARM«ü¥O¶°
3.4 ARM GNU·J½s¾¹°°«ü¥O
3.4.1 ARM GNU½sͤu¨ã¥]
3.4.2 ARM GNU·J½s©R¥O®æ¦¡
3.4.3 ARM GNU·J½s©R¥O®æ¦¡
3.4.4 ARM GNU±`¥Î°°«ü¥O
3.4.5 lds¤å¥ó
3.4.6 Makefile¤å¥ó
3.5 ·J½s»y¨¥µ{§Ç³]p
3.5.1 ¹ê¨Ò1¡G¿é¥Xhello world
3.5.2 ¹ê¨Ò2¡G¸Á»ï¾¹
3.6 C»y¨¥»P·J½s»y¨¥ªº²V¦X½sµ{
3.6.1 ¤º´O·J½s
3.6.2 C»y¨¥»P·J½s»y¨¥¬Û¤¬½Õ¥Î
3.7 µ{§Çªº½sĶ©M¹B¦æ
²ßÃD3
²Ä4³¹ ´O¤J¦¡Linux¶}µoÀô¹Ò·f«Ø
4.1 Linux¤º®Öªº²Õ¦¨©M¤å¥óµ²ºc
4.1.1 Linux¤º®Ö¥\¯à
4.1.2 Linux¤º®Ö·½½X¥Ø¿ýµ²ºc
4.2 ¥æ¤e½sĶÀô¹Òªº·f«Ø
4-3 LinuxÀô¹Ò¤Uªº¾Þ§@
4.3.1 Linuxªº±`¥Î¾Þ§@©R¥O
4.3.2 ¤å¥»½s¿è¾¹vimªº¨Ï¥Î
4.4 Linux C½sµ{¤Jªù
4.4.1 ½s;¹GCC
4.4.2 ½Õ¸Õ¾¹GDB
4.4.3 ¹ê¨Ò¡G¿é¥XHello World
4.5 Makefile°ò¦
4.6 ·f«Ø¥æ¤e½sĶÀô¹Ò
4.7 ´O¤J¦¡Linux¨t²Î¤º®Öªºµô´î©M²¾´Ó
4.8 ®Ú¤å¥ó¨t²Îºc«Ø
4.8.1 ¤U¸ü·½½X
4.8.2 ½sĶBusyBoxºc«Ø®Ú¤å¥ó¨t²Î
4.9 ¨t²Î¿N¼g
4.10 »r¾÷µ{§Ç½sͬyµ{
4.10.1 ¥N½X«©w¦ì
4.10.2 ¥i°õ¦æÃè¹³¤å¥óªº®æ¦¡
4.10.3 ¥i°õ¦æÃè¹³¤å¥óªº¥Í¦¨©M¹B¦æ¨BÆJ
²ßÃD4
²Ä5³¹ i.MX6ULL·§z
5.1 i.MX6ULL³B²z¾¹²Õ¦¨µ²ºc
5.2 GPIO¤¶±ªº³]p
5.2.1 i.MX6UªºGPIO®ÉÄÁ¨Ï¯à
5.2.2 i.MX6U IO´_¥Î¤Î°Ñ¼Æ°t¸m
5.2.3 i.MX6U GPIO°t¸m
5.3 ³q¥Î«D¦P¨B¦¬/µo¾¹¡]UART¡^
5.4 ®×¨Ò³]p
5.4.1 ®×¨Ò1¡GLED¿Oµ{§Ç³]p
5.4.2 ®×¨Ò2¡G¦ê¦C³q«H³]p
²ßÃD5
²Ä6³¹ U-BOOT·§z
6.1 boofloader²¤¶
6.1.1 boodoaderªº§@¥Î
6.1.2 bootloader¾Þ§@¼Ò¦¡
6.2 U-BOOT¥Ø¿ýµ²ºc
6.3 U-BOOT±Ò°Ê¬yµ{¤ÀªR
6.4 U-BOOT¥N½X«©w¦ì
6.4.1 ²Ä¤@¶¥¬q¡]stage1¡^
6.4.2 ²Ä¤G¶¥¬q¡]stage2¡^
6.5 U-BOOT½sĶ
6.6 U-BOOT¿N¼g»P±Ò°Ê
6.7 U-BOOT±`¥Î©R¥O
6.8 U-BOOTªº±`¥ÎÀô¹ÒÅܼÆ
6.8.1 ¦Û°Ê¹B¦æË¼Æ®É¶¡
6.8.2 ºô¸ô³]¸mÅܼÆ
6.8.3 U-BooTµ¹kernel¶Ç°Ñ¼Æ
²ßÃD6
²Ä7³¹ ´O¤J¦¡³]³ÆÅX°Êµ{§Ç³]p
7.1 Linux³]³ÆÅX°Êµ{§Ç·§z
7.1.1 ³]³Æªº¤ÀÃþ
7.1.2 ³]³Æ¸¹
7.1.3 ÅX°Ê¼Ò¶ôªº¸ü¤J©M¨ø¸ü
7.1.4 ¦r¤¸³]³Æªºµù¥U»Pµù¾P
7.2 ¦r¤¸³]³ÆÅ