³ÉΪһ¸öÕýʽµÄǶÈëʽ¿ª·¢¹¤³Ìʦ¡£ËüÊÇÒ»¸ö¼èÐÁµÄ¹ý³Ì£¬ÐèÒª¿ª·¢ÈËԱά»¤ºÍ¹ÜÀíϵͳµÄÿ¸ö±ÈÌغÍ×Ö½Ú¡£´Ó¹æ·¶ÍêÉƵĿª·¢ÖÜÆÚµ½ÑϸñÖ´ÐкÍϵͳ¼ì²é£¬¿ª·¢¸ß¿É¿¿ÐÔǶÈëʽϵͳµÄ¼¼ÊõÓÐÐí¶àÖÖ¡£½ñÌì¸ø´ó¼Ò½éÉÜ7¸öÒײÙ×÷ÇÒ¿ÉÒÔ³¤¾ÃʹÓõļ¼ÇÉ£¬ËüÃǶÔÓÚÈ·±£ÏµÍ³¸ü¼Ó¿É¿¿µØÔËÐв¢²¶»ñÒì³£ÐÐΪ´óÓаïÖú¡£
¼¼ÇÉ1¡ª¡ªÓÃÒÑÖªÖµÌî³äROM
Èí¼þ¿ª·¢ÈËÔ±ÍùÍù¶¼ÊǷdz£ÀÖ¹ÛµÄһȺÈË£¬Ö»ÒªÈÃËûÃǵĴúÂëÖÒʵµØ³¤Ê±¼äµØÔËÐоͿÉÒÔÁË£¬½ö´Ë¶øÒÑ¡£Î¢¿ØÖÆÆ÷Ìø³öÓ¦ÓóÌÐò¿Õ¼ä²¢ÔÚ·ÇÔ¤ÏëµÄ´úÂë¿Õ¼äÖÐÖ´ÐÐÕâÖÖÇé¿öËƺõÊÇÏ൱ÉÙÓеġ£È»¶ø£¬ÕâÖÖÇé¿ö·¢ÉúµÄ»ú»á²¢²»±È»º´æÒç³ö»ò´íÎóÖ¸ÕëʧȥÒýÓÃÉÙ¡£Ëüȷʵ»á·¢Éú!·¢ÉúÕâÖÖÇé¿öºóµÄϵͳÐÐΪ½«ÊDz»È·¶¨µÄ£¬ÒòΪĬÈÏÇé¿öÏÂÄÚ´æ¿Õ¼ä¶¼ÊÇ0xFF£¬»òÕßÓÉÓÚÄÚ´æÇøͨ³£Ã»ÓÐд¹ý£¬ÆäÖеÄÖµ¿ÉÄÜÖ»ÓÐÉϵ۲ÅÖªµÀ¡£
²»¹ýÓÐÏ൱Í걸µÄlinker»òIDE¼¼ÇÉ¿ÉÒÔÓÃÀ´°ïÖúʶ±ðÕâÑùµÄʼþ²¢´ÓÖлָ´ÏµÍ³¡£¼¼ÇɾÍÊÇʹÓÃFILLÃüÁî¶ÔδÓÃROMÌî³äÒÑÖªµÄλģʽ¡£ÒªÌî³äδʹÓõÄÄڴ棬Óкܶ಻ͬµÄ¿ÉÄÜ×éºÏ¿ÉÒÔʹÓ㬵«Èç¹ûÊÇÏ뽨Á¢¸ü¼Ó¿É¿¿µÄϵͳ£¬×îÃ÷ÏÔµÄÑ¡ÔñÊÇÔÚÕâЩλÖ÷ÅÖÃISR fault handler¡£Èç¹ûϵͳ³öÁËijЩ²î´í£¬´¦ÀíÆ÷¿ªÊ¼Ö´ÐгÌÐò¿Õ¼äÒÔÍâµÄ´úÂ룬¾Í»á´¥·¢ISR£¬²¢ÔÚ¾ö¶¨Ð£ÕýÐж¯Ö®Ç°Ìṩ´¢´æ´¦ÀíÆ÷¡¢¼Ä´æÆ÷ºÍϵͳ״̬µÄ»ú»á¡£
¼¼ÇÉ2¡ª¡ª¼ì²éÓ¦ÓóÌÐòµÄCRC
¶ÔǶÈëʽ¹¤³ÌʦÀ´ËµÒ»¸öºÜ´óµÄºÃ´¦ÊÇ£¬ÎÒÃǵÄIDEºÍ¹¤¾ßÁ´¿ÉÒÔ×Ô¶¯²úÉúÓ¦ÓóÌÐò»òÄÚ´æ¿Õ¼äУÑéºÍ(Checksum)£¬´Ó¶ø¸ù¾ÝÕâ¸öУÑéºÍÑéÖ¤Ó¦ÓóÌÐòÊÇ·ñÍêºÃ¡£ÓÐȤµÄÊÇ£¬ÔÚÐí¶àÕâЩ°¸ÀýÖУ¬Ö»ÓÐÔÚ½«³ÌÐò´úÂë¼ÓÔص½É豸ʱ£¬²Å»áÓõ½Ð£ÑéºÍ¡£
È»¶ø£¬Èç¹ûCRC»òУÑéºÍ±£³ÖÔÚÄÚ´æÖУ¬ÄÇôÑéÖ¤Ó¦ÓóÌÐòÔÚÆô¶¯Ê±(»òÉõÖÁ¶Ô³¤Ê±¼äÔËÐеÄϵͳ¶¨ÆÚÑéÖ¤)ÊÇ·ñÈÔÈ»ÍêºÃÊÇÈ·±£ÒâÍâ֮ʲ»»á·¢ÉúµÄ¼«ºÃ;¾¶¡£ÏÖÔÚÒ»¸ö±à³Ì¹ýµÄÓ¦ÓóÌÐò·¢Éú¸Ä±äµÄ¸ÅÂÊÊǺÜСµÄ£¬µ«¿¼ÂÇÿÄê½»¸¶µÄÊýÊ®ÒÚ¸ö΢¿ØÖÆÆ÷ÒÔ¼°¿ÉÄܶñÁӵŤ×÷»·¾³£¬Ó¦ÓóÌÐò±ÀÀ£µÄ»ú»á²¢²»ÊÇÁã¡£¸üÓпÉÄܵÄÊÇ£¬ÏµÍ³ÖеÄÒ»¸öȱÏÝ¿ÉÄܵ¼ÖÂijһÉÈÇø·¢ÉúÉÁ´æдÈë»òÉÁ´æ²Á³ý£¬´Ó¶øÆÆ»µÓ¦ÓóÌÐòµÄÍêÕûÐÔ¡£
¼¼ÇÉ3¡ª¡ªÔÚÆô¶¯Ê±Ö´ÐÐRAM¼ì²é
ΪÁ˽¨Á¢Ò»¸ö¸ü¼Ó¿É¿¿ºÍÔúʵµÄϵͳ£¬È·±£ÏµÍ³Ó²¼þÕý³£¹¤×÷·Ç³£ÖØÒª¡£±Ï¾¹Ó²¼þ»á·¢Éú¹ÊÕÏ¡£(ÐÒÔ˵ÄÊÇÈí¼þÓÀÔ¶²»»á·¢Éú¹ÊÕÏ£¬Èí¼þÖ»»á×ö´úÂëÒªËü×öµÄÊ£¬²»¹ÜÊÇÕýÈ·µÄ»¹ÊÇ´íÎóµÄ)¡£ÔÚÆô¶¯Ê±ÑéÖ¤RAMµÄÄÚ²¿»òÍⲿûÓÐÎÊÌ⣬ÊÇÈ·±£Ó²¼þ¿ÉÒÔÈçÔ¤ÆÚ°ãÔË×÷µÄÒ»¸öºÃ·½·¨¡£
ÓÐÐí¶à²»Í¬µÄ·½·¨¿ÉÓÃÓÚÖ´ÐÐRAM¼ì²é£¬µ«³£Óõķ½·¨ÊÇдÈëÒ»¸öÒÑÖªµÄģʽ£¬È»ºóµÈÉÏһС¶Îʱ¼äÔٻضÁ¡£½á¹ûÓ¦¸ÃÊÇËù¶Á¾ÍÊÇËùд¡£ÕæÏàÊÇ£¬ÔÚ´ó¶àÊýÇé¿öÏ RAM¼ì²éÊÇͨ¹ýµÄ£¬ÕâÒ²ÊÇÎÒÃÇÏëÒªµÄ½á¹û¡£µ«Ò²Óм«Ð¡µÄ¿ÉÄÜÐÔ¼ì²é²»Í¨¹ý£¬Õâʱ¾ÍΪϵͳ±êʾ³öÓ²¼þÎÊÌâÌṩÁ˼«ºÃµÄ»ú»á¡£
¼¼ÇÉ4¡ª¡ªÊ¹ÓöÑÕ»¼àÊÓÆ÷
¶ÔÐí¶àµÄǶÈëʽ¿ª·¢Õ߶øÑÔ£¬¶ÑÕ»ËƺõÊÇÒ»¹ÉÏ൱ÉñÃصÄÁ¦Á¿¡£µ±Ææ¹ÖµÄÊÂÇ鿪ʼ·¢Éú£¬¹¤³ÌʦÖÕÓÚ±»Äѵ¹ÁË£¬ËûÃÇ¿ªÊ¼Ë¼¿¼£¬Ò²Ðí¶ÑÕ»Öз¢ÉúÁËʲôÊ¡£½á¹ûÊÇäĿµØµ÷Õû¶ÑÕ»µÄ´óСºÍλÖõȵȡ£µ«¸Ã´íÎóÍùÍùÊÇÓë¶ÑÕ»Î޹صģ¬µ«ÔõÄÜÈç´ËÈ·¶¨?±Ï¾¹£¬ÓжàÉÙ¹¤³ÌʦÕæµÄʵ¼ÊÖ´Ðйý×Çé¿öϵĶÑÕ»´óС·ÖÎö?
¶ÑÕ»´óСÊÇÔÚ±àÒëʱ¾Í¾²Ì¬·ÖÅäºÃµÄ£¬µ«¶ÑÕ»ÊÇÒÔ¶¯Ì¬µÄ·½Ê½Ê¹Óõġ£Ëæ×Å´úÂëµÄÖ´ÐУ¬Ó¦ÓóÌÐòÐèÒªµÄ±äÁ¿¡¢·µ»ØµÄµØÖ·ºÍÆäËüÐÅÏ¢±»²»¶Ï´æ´¢ÔÚ¶ÑÕ»ÖС£ÕâÖÖ»úÖƵ¼Ö¶ÑÕ»ÔÚÆä·ÖÅäµÄÄÚ´æÖ⻶ÏÔö³¤¡£È»¶ø£¬ÕâÖÖÔö³¤ÓÐʱ»á³¬³ö±àÒëʱȷ¶¨µÄÈÝÁ¿¼«ÏÞ£¬µ¼Ö¶ÑÕ»ÆÆ»µÏàÁÚÄÚ´æÇøÓòµÄÊý¾Ý¡£
¾ø¶ÔÈ·±£¶ÑÕ»Õý³£¹¤×÷µÄÒ»ÖÖ·½·¨ÊÇʵÏÖ¶ÑÕ»¼àÊÓÆ÷£¬½«Ëü×÷Ϊϵͳ¡°±£½¡¡±´úÂëµÄÒ»²¿·Ö(ÓжàÉÙ¹¤³Ìʦ»áÕâÑù×ö?)¡£¶ÑÕ»¼àÊÓÆ÷»áÔÚ¶ÑÕ»ºÍ¡°ÆäËü¡±ÄÚ´æÇøÓòÖ®¼ä´´½¨Ò»¸ö»º³åÇøÓò£¬²¢Ìî³äÒÑÖªµÄλģʽ¡£È»ºó¼àÊÓÆ÷»á²»¶ÏµÄ¼àÊÓͼ°¸ÊÇ·ñÓÐÈκα仯¡£Èç¹û¸Ãλģʽ·¢ÉúÁ˸ı䣬ÄǾÍÒâζ×ŶÑÕ»Ôö³¤µÃÌ«´óÁË£¬¼´½«Òª°ÑϵͳÍÆÏòºÚ°µµØÓü!´Ëʱ¼àÊÓÆ÷¿ÉÒԼǼʼþµÄ·¢Éú¡¢ÏµÍ³×´Ì¬ÒÔ¼°ÈκÎÆäËüÓÐÓõÄÊý¾Ý£¬¹©ÈÕºóÓÃÓÚÎÊÌâµÄÕï¶Ï¡£
´ó¶àÊýʵʱ²Ù×÷ϵͳ(RTOS)»òʵÏÖÁËÄÚ´æ±£»¤µ¥Ôª(MPU)µÄ΢¿ØÖÆÆ÷ϵͳÖж¼ÌṩÓжÑÕ»¼àÊÓÆ÷¡£¿ÉŵÄÊÇ£¬ÕâЩ¹¦ÄÜĬÈ϶¼ÊǹرÕ״̬£¬»òÕß¾³£±»¿ª·¢ÈËÔ±ÓÐÒâ¹Ø±Õ¡£ÔÚÍøÂçÉÏ¿ìËÙËÑѰһϿÉÒÔ·¢ÏÖ£¬ºÜ¶àÈ˽¨Òé¹Ø±Õʵʱ²Ù×÷ϵͳÖеĶÑÕ»¼àÊÓÆ÷ÒÔ½ÚÊ¡56×Ö½ÚµÄÉÁ´æ¿Õ¼äµÈµÈ£¬Õâ¿ÉÊǵò»³¥Ê§µÄ×ö·¨!
¼¼ÇÉ5 - ʹÓÃMPU
ÔÚ¹ýÈ¥£¬ÊǺÜÄÑÔÚÒ»¸öС¶øÁ®¼ÛµÄ΢¿ØÖÆÆ÷ÖÐÕÒµ½ÄÚ´æ±£»¤µ¥Ôª(MPU)µÄ£¬µ«ÕâÖÖÇé¿öÒѾ¿ªÊ¼¸Ä±ä¡£ÏÖÔڴӸ߶˵½µÍ¶ËµÄ΢¿ØÖÆÆ÷¶¼ÒѾÓÐMPU£¬¶øÕâЩ MPUΪǶÈëʽÈí¼þ¿ª·¢ÈËÔ±ÌṩÁËÒ»¸ö¿ÉÒÔ´ó·ùÌá¸ßÆä¹Ì¼þ(firmware)³°ôÐÔ(robustness)µÄ»ú»á¡£
MPU ÒÑÖð½¥Óë²Ù×÷ϵͳñîºÏ£¬ÒԱ㽨Á¢ÄÚ´æ¿Õ¼ä£¬ÆäÖеĴ¦Àí¶¼·Ö¿ª£¬»òÈÎÎñ¿ÉÖ´ÐÐÆä´úÂ룬¶ø²»Óõ£Ðı»stomped on¡£ÌÈÈôÕæÓÐÊÂÇé·¢Éú£¬²»ÊÜ¿ØÖƵĴ¦Àí»á±»È¡Ïû£¬Ò²»áÖ´ÐÐÆäËûµÄ±£»¤´ëÊ©¡£ÇëÁôÒâ´øÓÐÕâÖÖ×é¼þµÄ΢¿ØÖÆÆ÷£¬Èç¹ûÓУ¬Çë¶à¼ÓÀûÓÃËüµÄÕâÖÖÌØÐÔ¡£
¼¼ÇÉ6 - ½¨Á¢Ò»¸öÇ¿´óµÄ¿´ÃŹ·ÏµÍ³
Äã¾³£»á·¢ÏÖµÄÒ»ÖÖ×ÜÊÇ×îÊÜϲ°®µÄ¿´ÃŹ·(watchdog)ʵÏÖÊÇ£¬ÔÚ¿´ÃŹ·±»ÆôÓÃÖ®´¦(ÕâÊÇÒ»¸öºÜºÃµÄ¿ªÊ¼)£¬µ«Ò²ÊÇ¿ÉÒÔÓÃÖÜÆÚÐÔ¶¨Ê±Æ÷½«¸Ã¿´ÃŹ·ÇåÁãÖ®´¦;¶¨Ê±Æ÷µÄÆôÓÃÊÇÍêÈ«Óë³ÌÐòÖгöÏÖµÄÈκÎÇé¿ö¸ôÀëµÄ¡£Ê¹Óÿ´ÃŹ·µÄÄ¿µÄÊÇÐÖúÈ·±£Èç¹û³öÏÖ´íÎ󣬿´ÃŹ·²»»á±»ÇåÁ㣬¼´µ±¹¤×÷ÔÝÍ££¬ÏµÍ³»á±»ÆÈÈ¥Ö´ÐÐÓ²¼þÖØÉ趨(hardware reset)£¬ÒÔ±ã»Ö¸´¡£Ê¹ÓÃÓëϵͳ»î¶¯¶ÀÁ¢µÄ¶¨Ê±Æ÷¿ÉÒÔÈÿ´ÃŹ·±£³ÖÇåÁ㣬¼´Ê¹ÏµÍ³ÒÑʧЧ¡£
¶ÔÓ¦ÓÃÈÎÎñÈçºÎÕûºÏµ½¿´ÃŹ·ÏµÍ³ÖУ¬Ç¶Èëʽ¿ª·¢ÈËÔ±ÐèÒª×Ðϸ¿¼ÂǺÍÉè¼Æ¡£ÀýÈ磬ÓÐÖÖ¼¼Êõ¿ÉÄÜ¿ÉÒÔÈÃÿ¸öÔÚÒ»¶¨Ê±ÆÚÄÚÔËÐеÄÈÎÎñ±êʾËüÃÇ¿ÉÒԳɹ¦µØÍê³ÉÆäÈÎ Îñ¡£ÔÚ´ËʼþÖУ¬¿´ÃŹ·²»±»ÇåÁ㣬ǿÖƱ»¸´Î»¡£»¹ÓÐһЩ±È½ÏÏȽøµÄ¼¼Êõ£¬ÏñÊÇʹÓÃÍⲿ¿´ÃŹ·´¦ÀíÆ÷£¬Ëü¿ÉÓÃÀ´¼àÊÓÖ÷´¦ÀíÆ÷ÈçºÎ±íÏÖ£¬·´Ö®ÒàÈ»¡£¶ÔÒ»¸ö¿É¿¿µÄϵͳ¶øÑÔ£¬½¨Á¢Ò»¸öÇ¿´óµÄ¿´ÃŹ·ÏµÍ³ÊǺÜÖØÒªµÄ¡£
¼¼ÇÉ7 - ±ÜÃâÒ×ʧ´æ´¢Æ÷·ÖÅä
²»Ï°¹ßÔÚ×ÊÔ´ÓÐÏÞ»·¾³Ï¹¤×÷µÄ¹¤³Ìʦ£¬¿ÉÄÜ»áÊÔͼʹÓÃÆä±à³ÌÓïÑÔµÄÌØÐÔ£¬ÕâÖÖÓïÑÔÈÃËûÃÇ¿ÉÒÔʹÓÃÒ×ʧ´æ´¢Æ÷·ÖÅä¡£±Ï¾¹£¬ÕâÊÇÒ»ÖÖ³£ÔÚ¼ÆËãÆ÷ϵͳÖÐʹÓõļ¼Êõ£¬ÔÚ¼ÆËãÆ÷ϵͳÖУ¬Ö»ÓÐÔÚÓбØҪʱ£¬ÄÚ´æ²Å»á±»·ÖÅä¡£ÀýÈ磬ÒÔC¿ª·¢Ê±£¬¹¤³Ìʦ¿ÉÄÜÇãÏòÓÚʹÓÃmallocÀ´·ÖÅäÔÚ¶Ñ(heap)ÉϵĿռ䡣ÓÐÒ»¸ö²Ù ×÷»áÖ´ÐУ¬Ò»µ©Íê³É£¬¿ÉÒÔʹÓÃfree½«±»·ÖÅäµÄÄÚ´æ·µ»Ø£¬ÒÔ±ã¶ÑµÄʹÓá£
ÔÚ×ÊÔ´ÊÜÏÞµÄϵͳ£¬Õâ¿É ÄÜÊÇÒ»³¡ÔÖÄÑ!ʹÓÃÒ×ʧ´æ´¢Æ÷·ÖÅäµÄÆäÖÐÒ»¸öÎÊÌâÊÇ£¬´íÎó»ò²»µ±µÄ¼¼Êõ¿ÉÄܻᵼÖÂÄÚ´æй©»òÄÚ´æËéƬ¡£Èç¹û³öÏÖÕâЩÎÊÌâʱ£¬´ó¶àÊýµÄǶÈëʽϵͳ²¢Ã»ÓÐ ×ÊÔ´»ò֪ʶÀ´¼àÊӶѻòÍ×ÉƵش¦ÀíËü¡£¶øµ±ËüÃÇ·¢Éúʱ£¬Èç¹ûÓ¦ÓóÌÐòÌá³ö¶Ô¿Õ¼äµÄÒªÇ󣬵«È´Ã»ÓÐËùÇëÇóµÄ¿Õ¼ä¿ÉÒÔʹÓ㬻ᷢÉúʲôÊÂÄØ?
ʹÓÃÒ×ʧ´æ´¢Æ÷·ÖÅäËù²úÉúµÄÎÊÌâÊǺܸ´Ôӵģ¬ÒªÍ×ÉÆ´¦ÀíÕâЩÎÊÌ⣬¿ÉÒÔ˵ÊÇÒ»¸öجÃÎ!Ò»ÖÖÌæ´úµÄ·½·¨ÊÇ£¬Ö±½ÓÒÔ¾²Ì¬µÄ·½Ê½£¬¼ò»¯ÄÚ´æµÄ·ÖÅä¡£ÀýÈ磬ֻҪÔÚ ³ÌÐòÖмòµ¥µØ½¨Á¢Ò»¸ö´óСΪ256×Ö½Ú³¤µÄ»º³åÇø£¬¶ø²»ÊǾÓÉmallocÇëÇóÕâÑù´óСµÄÄڴ滺³åÇø¡£´ËÒ»·ÖÅäµÄÄÚ´æ¿ÉÔÚÕû¸öÓ¦ÓóÌÐòµÄÉúÃüÖÜÆÚÆÚ ¼ä±£³Ö£¬ÇÒ²»»áÓжѻòÄÚ´æËéƬÎÊÌâ·½ÃæµÄ¹ËÂÇ¡£
ÒÔÉÏǶÈëʽ¿ª·¢µÄ½Ì³Ì¿ÉÒÔÈÿª·¢¼¼ÊõµÄÈËÔ±»ñÈ¡¸üºÃǶÈëʽϵͳµÄ°ì·¨¡£ËùÓÐÕâЩ¼¼Êõ¶¼ÊÇÈÃÉè¼ÆÕß¿ÉÒÔ¿ª·¢³ö¿É¿¿ÐÔ¸ü¸ßǶÈëʽϵͳµÄÃؾ÷¡£