¢Ú ²Ù×÷ϵͳÏòÓ²¼þ½Ó¿ÚÒÆÖ²µÄÄѶȡ£²Ù×÷ϵͳµ½Ó²¼þµÄÒÆÖ²ÊÇÒ»¸öÖØÒªµÄÎÊÌ⣬ÊǹØÏµµ½Õû¸öϵͳÄÜ·ñ°´ÆÚÍ깤µÄÒ»¸ö¹Ø¼üÒòËØ¡£Òò´Ë,ҪѡÔñÄÇЩ¿ÉÒÆÖ²ÐԳ̶ȸߵIJÙ×÷ϵͳ£¬±ÜÃâ²Ù×÷ϵͳÄÑÒÔÏòÓ²¼þÒÆÖ²¶ø´øÀ´µÄÖÖÖÖÀ§ÄÑ£¬¼ÓËÙϵͳµÄ¿ª·¢½ø¶È¡£
¢Û ²Ù×÷ϵͳµÄÄÚ´æÒªÇó¡£¾ùºâ¿¼ÂÇÊÇ·ñÐèÒª¶îÍ⻨Ǯȥ¹ºÂòRAM»òEEPROMÀ´ÓºÏ²Ù×÷ϵͳ¶ÔÄÚ´æµÄ½Ï´óÒªÇó¡£
¢Ü ¿ª·¢ÈËÔ±ÊÇ·ñÊìϤ´Ë²Ù×÷ϵͳ¼°ÆäÌṩµÄAPI¡£
¢Ý ²Ù×÷ϵͳÊÇ·ñÌṩӲ¼þµÄÇý¶¯³ÌÐò£¬ÈçÍø¿¨µÈ¡£
¢Þ ²Ù×÷ϵͳµÄ¿É¼ô²ÃÐÔ¡£ÓÐЩ²Ù×÷ϵͳ¾ßÓнÏÇ¿µÄ¿É¼ô²ÃÐÔ£¬ÈçǶÈëʽLinux¡¢Tornado/VxWorksµÈµÈ¡£
¢ß ²Ù×÷ϵͳµÄʵʱÐÔÄÜ¡£
¡¡¡¡(2)¼¸ÀàǶÈëʽLinuxϵͳµÄ±È½Ï
ǶÈëʽLinuxϵͳ·½ÃæµÄ²úÆ·Ö÷Òª·ÖΪÈýÀࣺ
¡¡¡¡µÚÒ»ÀàÊÇרÃÅΪLinuxµÄǶÈëʽӦÓöø×öµÄ¡£ÈçºÎÈÃLinux¸üС¡¢¸üÈÝÒ×ǶÈëµ½Ìå»ýÒªÇóºÍ¹¦ÄÜ¡¢ÐÔÄÜÒªÇó¸ü¸ßµÄÓ²¼þÖÐÈ¥£¬ÊÇËûÃǵIJúÆ·¿ª·¢·½Ïò£¬ÈçMontaVistaµÄMontaVista LinuxµÈ¡£µÚ¶þÀàÊÇרÃÅΪLinuxµÄÊµÊ±ÌØÐÔÉè¼ÆµÄ²úÆ·¡£½«Linux¿ª·¢³ÉʵʱϵͳÓÈÆäÊÇӲʵʱϵͳ£¬Ó¦ÓÃÓÚһЩ¹Ø¼üµÄ¿ØÖƳ¡ºÏ(²»½ö½öÊÇÐÅÏ¢µçÆ÷)¡£È磬Fsmlabs¹«Ë¾¿ª·¢³öÀ´µÄRT-Linux²úÆ·ÒѾÓÃÔÚ¹¤Òµ¿ØÖÆµÄºÜ¶à·½Ãæ£»ÆÏÌÑÑÀµÄCoimbra´óѧÒѾÀûÓÃRT-LinuxʵÏÖÁË»¯¹¤Éú²ú¿ØÖƳ§ÀïÓÃÀ´¿ØÖÆ·´Ó¦ºÍ³ÌÐò¿ØÖƵÄϵͳ¡£µÚÈýÀàµÄ²úÆ·Êǽ«ÊµÊ±ÐÔºÍǶÈëʽ·½°¸½áºÏÆðÀ´µÄ·½°¸¡£ºÜ¶à¹«Ë¾¶¼Õâô×ö£¬²¢ÇÒÌṩ¼¯³É»¯µÄ¿ª·¢·½°¸£¬ÈçLineo¡¢TimeSysµÈµÈ¡£
¡¡¡¡Òò´ËÑ¡Ôñ²Ù×÷ϵͳʱ£¬Òª¸ù¾Ý×Ô¼ºµÄǶÈëʽҪÇóºÍʵʱÐÔÒªÇó£¬Ñ¡ÔñÊʺÏ×Ô¼ºµÄǶÈëʽLinux£»Í¬Ê±£¬ºÍÑ¡ÔñÓ²¼þµÄÔÔòÒ»Ñù£¬Èç¹û¿ÉÄÜ£¬¾¡Á¿Ñ¡ÔñʹÓÃÆÕͨµÄǶÈëʽ Linux ϵͳ¡£
¡¡¡¡4.2 ±à³ÌÓïÑÔµÄÑ¡Ôñ
¡¡¡¡±à³ÌÓïÑÔµÄÑ¡ÔñÖ÷Òª¿¼ÂÇÒÔÏÂÒòËØ£º
¢Ù ͨÓÃÐÔ¡£²»Í¬ÖÖÀàµÄ΢´¦ÀíÆ÷¶¼ÓÐ×Ô¼º×¨ÓõĻã±àÓïÑÔ¡£Õâ¾ÍΪϵͳ¿ª·¢ÕßÉèÖÃÁËÒ»¸ö¾Þ´óµÄÕϰ£¬Ê¹µÃϵͳ±à³Ì¸ü¼ÓÀ§ÄÑ£¬Èí¼þÖØÓÃÎÞ·¨ÊµÏÖ¡£¶ø¸ß¼¶ÓïÑÔÒ»°ãºÍ¾ßÌå»úÆ÷µÄÓ²¼þ½á¹¹ÁªÏµ½ÏÉÙ£¬¶àÊý΢´¦ÀíÆ÷¶¼ÓÐÁ¼ºÃµÄÖ§³Ö£¬Í¨ÓÃÐԽϺá£
¢Ú ¿ÉÒÆÖ²ÐԳ̶ȡ£»ã±àÓïÑԺ;ßÌåµÄ΢´¦ÀíÆ÷ÃÜÇÐÏà¹Ø£¬ÎªÄ³¸ö΢´¦ÀíÆ÷Éè¼ÆµÄ³ÌÐò²»ÄÜÖ±½ÓÒÆÖ²µ½ÁíÒ»¸ö²»Í¬ÖÖÀàµÄ΢´¦ÀíÆ÷ÉÏʹÓã¬ÒÆÖ²ÐԲ¶ø¸ß¼¶ÓïÑÔ¶ÔËùÓÐ΢´¦ÀíÆ÷¶¼ÊÇͨÓõ쬳ÌÐò¿ÉÒÔÔÚ²»Í¬µÄ΢´¦ÀíÆ÷ÉÏÔËÐУ¬¿ÉÒÆÖ²ÐԽϺá£
¢Û Ö´ÐÐЧÂÊ¡£Ò»°ãÀ´Ëµ£¬Ô½ÊǸ߼¶µÄÓïÑÔ£¬Æä±àÒëÆ÷ºÍ¿ªÏú¾ÍÔ½´ó£¬Ó¦ÓóÌÐòÒ²¾ÍÔ½´ó¡¢Ô½Âý£»µ«µ¥´¿ÒÀ¿¿µÍ¼¶ÓïÑÔ£¬Èç»ã±àÓïÑÔÀ´½øÐÐÓ¦ÓóÌÐòµÄ¿ª·¢£¬´øÀ´µÄÎÊÌâÊDZà³Ì¸´ÔÓ¡¢¿ª·¢ÖÜÆÚ³¤¡£Òò´Ë£¬´æÔÚÒ»¸ö¿ª·¢Ê±¼äºÍÔËÐÐÐÔÄܼäµÄȨºâÎÊÌâ¡£
¢Ü ¿Éά»¤ÐÔ¡£µÍ¼¶ÓïÑÔÈç»ã±àÓïÑÔ£¬¿Éά»¤ÐÔ²»¸ß¡£¸ß¼¶ÓïÑÔ³ÌÐòÍùÍùÊÇÄ£¿é»¯Éè¼Æ£¬¸÷¸öÄ£¿éÖ®¼äµÄ½Ó¿ÚÊǹ̶¨µÄ¡£µ±ÏµÍ³³öÏÖÎÊÌâʱ£¬¿ÉÒÔºÜ¿ìµØ½«ÎÊÌⶨλµ½Ä³¸öÄ£¿éÄÚ£¬²¢¾¡¿ìµÃµ½½â¾ö¡£ÁíÍ⣬ģ¿é»¯Éè¼ÆÒ²±ãÓÚϵͳ¹¦ÄܵÄÀ©³äºÍÉý¼¶¡£
¡¡¡¡¼¸ÖÖ¿ª·¢ÓïÑԵıȽϣº
¡¡¡¡ÔÚǶÈëʽϵͳ¿ª·¢¹ý³ÌÖÐʹÓõÄÓïÑÔÖÖÀàºÜ¶à£¬±È½Ï¹ã·ºÓ¦Óõĸ߼¶ÓïÑÔÓУºAda¡¢C/C++¡¢Modula-2ºÍJavaµÈ¡£AdaÓïÑÔ¶¨ÒåÑϸñ£¬Ò×¶ÁÒ×¶®£¬ÓнϷḻµÄ¿â³ÌÐòÖ§³Ö£¬Ä¿Ç°ÔÚ¹ú·À¡¢º½¿Õ¡¢º½ÌìµÈÏà¹ØÁìÓòÓ¦ÓñȽϹ㷺£¬Î´À´ÈÔ½«ÔÚÕâЩÁìÓòÕ¼ÓÐÖØÒªµØÎ»¡£CÓïÑÔ¾ßÓй㷺µÄ¿â³ÌÐòÖ§³Ö£¬Ä¿Ç°ÔÚǶÈëʽϵͳÖÐÊÇÓ¦ÓÃ×î¹ã·ºµÄ±à³ÌÓïÑÔ£¬ÔÚ½«À´ºÜ³¤Ò»¶Îʱ¼äÄÚÈÔ½«ÔÚǶÈëʽϵͳӦÓÃÁìÓòÕ¼ÖØÒªµØÎ»¡£C++ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ±à³ÌÓïÑÔ£¬Ä¿Ç°ÔÚǶÈëʽϵͳÉè¼ÆÖÐÒ²µÃµ½Á˹㷺µÄÓ¦Óã¬ÈçGNU C++¡£Visual C++£¬ÊÇÒ»ÖÖ¼¯³É¿ª·¢»·¾³£¬Ö§³Ö¿ÉÊÓ»¯±à³Ì£¬¹ã·ºÓ¦ÓÃÓÚGUI³ÌÐò¿ª·¢¡£µ«CÓëC++Ïà±È£¬C++µÄÄ¿±ê´úÂëÍùÍù±È½ÏÅÓ´óºÍ¸´ÔÓ£¬ÔÚǶÈëʽϵͳӦÓÃÖÐÓ¦³ä·Ö¿¼ÂÇÕâÒ»ÒòËØ¡£Modula-2¶¨ÒåÇåÎú£¬Ö§³Ö·á¸»£¬¾ßÓнϺõÄÄ£¿é»¯½á¹¹£¬ÔÚ½Ìѧ¿ÆÑз½ÃæÓнϹ㷺µÄÓ¦Óá£ËäÈ»¸ÃÓïÑԵĿª·¢Ó¦ÓÃÒ»Ö±±È½Ïƽ»º£¬µ«½üÁ½ÄêÔÚÅ·ÖÞÓÐËù¸´ËÕ¡£JavaÓïÑÔÏà¶ÔÄêÇᣬµ«ÓкÜÇ¿µÄ¿çÆ½Ì¨ÌØÐÔ£¬Ä¿Ç°·¢Õ¹ÊÆÍ·½ÏΪǿ¾¢¡£JavaÓïÑԵġ°Ò»´Î±à³Ì£¬µ½´¦¿ÉÓá±µÄÌØÐÔ£¬Ê¹µÃËüÔںܶàÁìÓò±¸ÊÜ»¶Ó¡£Ëæ×ÅÍøÂç¼¼ÊõºÍǶÈëʽ¼¼ÊõµÄ²»¶Ï·¢Õ¹£¬Java¼°Ç¶ÈëʽJavaµÄÓ¦ÓÃÒ²½«Ô½À´Ô½¹ã·º£¬µ«ÊÇJavaÏûºÄÓ²¼þ×ÊÔ´½Ï´ó¡£
¡¡¡¡4.3 ¼¯³É¿ª·¢»·¾³¿¼ÂǵÄÒòËØ
¡¡¡¡¼¯³É¿ª·¢»·¾³IDE(Integrated Development Environment)Ó¦¿¼ÂÇÒÔÏÂÒòËØ£º
¢Ù ϵͳµ÷ÊÔÆ÷µÄ¹¦ÄÜ¡£ÏµÍ³µ÷ÊÔÌØ±ðÊÇÔ¶³Ìµ÷ÊÔÊÇÒ»¸öÖØÒªµÄ¹¦ÄÜ¡£
¢Ú Ö§³Ö¿âº¯Êý¡£Ðí¶à¿ª·¢ÏµÍ³Ìṩ´óÁ¿Ê¹ÓõĿ⺯ÊýºÍÄ£°å´úÂ룬Èç´ó¼Ò±È½ÏÊìϤµÄC++±àÒëÆ÷¾Í´øÓбê×¼µÄÄ£°å¿â¡£ËüÌṩÁËÒ»Ì×ÓÃÓÚ¶¨Òå¸÷ÖÖÓÐÓõļ¯×°¡¢´æ´¢¡¢ËÑѰ¡¢ÅÅÐò¶ÔÏó¡£ÓëÑ¡ÔñÓ²¼þºÍ²Ù×÷ϵͳµÄÔÔòÒ»Ñù£º³ý·Ç±ØÒª£¬¾¡Á¿²ÉÓñê×¼µÄ glibc¡£
¢Û ±àÒëÆ÷¿ª·¢ÉÌÊÇ·ñ³ÖÐøÉý¼¶±àÒëÆ÷¡£
¢Ü Á¬½Ó³ÌÐòÊÇ·ñÖ§³ÖËùÓеÄÎļþ¸ñʽºÍ·ûºÅ¸ñʽ¡£
4.4 Ó²¼þµ÷ÊÔ¹¤¾ßµÄÑ¡Ôñ
¡¡¡¡ºÃµÄÈí¼þµ÷ÊÔ³ÌÐò¿ÉÒÔÓÐЧµØ·¢ÏÖ´ó¶àÊýµÄ´íÎ󣬵«ÊÇÈç¹ûÔÙÑ¡ÔñÒ»¸öºÃµÄÓ²¼þµ÷ÊԾͻá´ïµ½Ê°빦±¶µÄЧ¹û¡£³£ÓõÄÓ²¼þµ÷ÊÔ¹¤¾ßÓÐÒÔϼ¸ÖÖ£º
¢Ù ʵʱÔÚÏß·ÂÕæÆ÷(ICE£¬In-Circuit Emulator)¡£Óû§´Ó·ÂÕæ²åÍ·ÏòICE¿´£¬ICEÓ¦ÊÇÒ»¸ö¿É±»¿ØÖƵÄMCU¡£ICEÊÇͨ¹ýÒ»¸ù¶ÌµçÀÂÁ¬½Óµ½Ä¿±êϵͳÉϵġ£¸ÃµçÀµÄÒ»¶ËÓÐÒ»¸ö²å¼þ£¬²åµ½´¦ÀíÆ÷µÄ²å×ùÉÏ£¬¶ø´¦ÀíÆ÷Ôò²åµ½Õâ¸ö²å¼þÉÏ¡£ICEÖ§³Ö³£¹æµÄµ÷ÊÔ²Ù×÷£¬Èçµ¥²½ÔËÐС¢¶Ïµã¡¢·´»ã±à¡¢ÄÚ´æ¼ì²é¡¢Ô´³ÌÐò¼¶µÄµ÷ÊԵȵȡ£
¢Ú Âß¼·ÖÎöÒÇ¡£Âß¼·ÖÎöÒÇ×î³£ÓÃÓÚÓ²¼þµ÷ÊÔ£¬µ«Ò²¿ÉÓÃÓÚÈí¼þµ÷ÊÔ¡£ËüÊÇÒ»ÖÖÎÞÔ´Æ÷¼þ£¬Ö÷ÒªÓÃÓÚ¼àÊÓϵͳ×ÜÏßµÄʼþ.
¢Û ROM·ÂÕæÆ÷¡£ROM·ÂÕæÆ÷ÓÃÓÚ²åÈëÄ¿±êÉϵÄROM²å×ùÖÐµÄÆ÷¼þ£¬ÓÃÓÚ·ÂÕæROMоƬ¡£¿ÉÒÔ½«³ÌÐòÏÂÔØµ½ROM·ÂÕæÆ÷ÖУ¬È»ºóµ÷ÊÔÄ¿±êÉϵijÌÐò£¬¾ÍºÃÏñ³ÌÐòÉÕ½áÔÚPROMÖÐÒ»Ñù£¬´Ó¶ø±ÜÃâÁËÿ´ÎÐ޸ijÌÐòºóÖ±½ÓÉÕ½áµÄÂé·³¡£
¢Ü ÔÚÏßµ÷ÊÔOCD»òÔÚÏß·ÂÕæ(on-chip emulator)
ÌØ±ðµÄ¹è»ù²ÄÁÏÒÔ¼°¶¨ÖƺÍCPUÒý½ÅµÄ´®ÐÐÁ¬½Ó£¬ÔÚÕâÖÖÌØÊâµÄCPUоƬÉÏʹÓÃOCD (On-Chip Debugging)£¬²ÅÄÜ·¢»Ó³öOCDµÄÌØµã¡£ÓõͶËÊÊÅäÆ÷¾Í¿ÉÒÔ°ÑOCD¶Ë¿ÚºÍÖ÷¹¤×÷Õ¾ÒÔ¼°Ç°¶Ëµ÷ÊÔÈí¼þÁ¬½ÓÆðÀ´¡£´ÓOCDµÄ»ù±¾ÐÎʽ¿´À´£¬ËüµÄÌØµãºÍµ¥Ò»µÄROM¼à²âÆ÷ÊÇÒ»Öµģ¬µ«ÊDz»ÏñºóÕßÄÇÑù£¬ÐèҪרÃŵijÌÐòÒÔ¼°¶îÍâµÄͨÐŶ˿ڡ£
4.5 Èí¼þ×é¼þµÄÑ¡Ôñ
¡¡¡¡ÓÐЩÈí¼þ×é¼þÊÇÃâ·ÑµÄ£¬ÓÐЩÈí¼þ×é¼þÊÇÊÚȨµÄ¡£ÊÚȨÈí¼þ×é¼þµÄ·ÑÓÃÒ»°ã¶¼ºÜ¸ß£¬µ«´ó¶¼¾¹ýÑϸñµÄ²âÊÔ£¬¿É¿¿ÐԸߣ¬µ÷ÊÔʱ¼ä¶Ì¡£ÏÖÔÚÒ²ÓÐһЩÃâ·ÑµÄ×ÔÓÉÈí¼þ×é¼þ£¬ËüÃǵÄÐÔÄÜ¡¢¿É¿¿ÐÔÒ²ºÜºÃ¡£Òò´Ë¿ª·¢ÈËÔ±ÔÚÑ¡ÔñµÄʱºòÒª¼ÓÒÔȨºâ£¬È·¶¨ÄÄÖÖ·½°¸¸üºÃ¡£
5 Õ¹ Íû
¡¡¡¡¹úÍâµÄ¿ª·¢ÒѾÈç»ðÈçݱ£¬¹úÄڵĿª·¢Ò²²»¸ÊʾÈõ¡£LinuxÔÚǶÈëʽϵͳÖоßÓÐÇ¿´óµÄÉúÃüÁ¦ºÍÀûÓüÛÖµ£¬ºÜ¶à¹«Ë¾ºÍ´óѧ¶¼²»Í¬³Ì¶ÈµØ±íÏÖ³ö¶ÔÕâ¸ö·½ÃæµÄÐËȤ¡£ÓÐÀíÓÉÏàÐÅ£¬Ç¶ÈëʽLinuxµÄ·¢Õ¹½«´øÁìÎÒÃǽøÈëǶÈëʽϵͳµÄÐÂʱ´ú£¡