Ê×Ò³ Ê«´Ê ×Öµä °å±¨ ¾ä×Ó ÃûÑÔ ÓÑ´ð ÀøÖ¾ ѧУ ÍøÕ¾µØÍ¼
µ±Ç°Î»ÖÃ: Ê×Ò³ > ½Ì³ÌƵµÀ > ÒÆ¶¯¿ª·¢ > ÒÆ¶¯¿ª·¢ >

armѧϰС֪ʶµã¼¯½õ

2013-11-04 
armѧϰС֪ʶµã»ã×ÜÓÐʲô´íÎóÏ£Íû´ó¼ÒÖ¸³öÀ´£¬Ò»Æðѧϰ£» 1.Ïêϸ˵Ã÷armÓÐÄļ¸ÖÖ¹¤×÷ģʽ£¬²¢ËµÃ÷ʲôÇé¿ö

armѧϰС֪ʶµã»ã×Ü

ÓÐʲô´íÎóÏ£Íû´ó¼ÒÖ¸³öÀ´£¬Ò»Æðѧϰ£»


1.Ïêϸ˵Ã÷armÓÐÄļ¸ÖÖ¹¤×÷ģʽ£¬²¢ËµÃ÷ʲôÇé¿öϽøÈëÏàÓ¦µÄ¹¤×÷ģʽÔËÐС£
´ð£º
 arm Ò»¹²ÓÐ 7 ÖÖ¹¤×÷ģʽ£º
 user£¨Óû§£©£º
  Mode number :0b10000
  Õý³£³ÌÐòÖ´ÐеÄģʽ£»²»ÄÜÇл»µ½ÆäËüģʽ
 system£¨ÏµÍ³£©£º
  Mode number :0b11111
  ÊôÓÚÌØÈ¨Ä£Ê½£»ÌØÈ¨Ä£Ê½¼ä¿Éͨ¹ý¼Ä´æÆ÷CPSRÇл»Ä£Ê½
  ÔËÐоßÓÐÌØÈ¨²Ù×÷µÄϵͳÈÎÎñ£¨»ùÓÚARMV4¼Ü¹¹¼°ÒÔÉÏ£©
 supervisor£¨<svc> ¹ÜÀí£©£º
  Mode number :0b10011
  ÊôÓÚÌØÈ¨Ä£Ê½£¬Ò²ÊôÓÚÒ쳣ģʽ£»ÌØÈ¨Ä£Ê½¼ä¿Éͨ¹ý¼Ä´æÆ÷CPSRÇл»Ä£Ê½
  Ò»ÖÖ¶Ôµ±Ç°¹¤×÷ϵͳµÄ±£»¤Ä£Ê½
 abort(ÖÐÖ¹)£º
  Mode number :0b10111
  ÊôÓÚÌØÈ¨Ä£Ê½£¬Ò²ÊôÓÚÒ쳣ģʽ£»ÌØÈ¨Ä£Ê½¼ä¿Éͨ¹ý¼Ä´æÆ÷CPSRÇл»Ä£Ê½
  Êý¾ÝÖÐÖ¹£º¶Î´íÎóµÄ×îµÍ²ã
  Ö¸ÁîԤȡÖÐÖ¹£ºÊÇÈ¡µ½·Ç·¨Ö¸Áîʱ£¬ÔÚÖ´Ðн׶η¢ÏÖÖ¸Áî±»±ê¼Ç£¬Ö´ÐÐÖ¸ÁîÖÐÖ¹
 undefined£¨Î´¶¨Ò壩£º
  Mode number :0b11011
  ÊôÓÚÌØÈ¨Ä£Ê½£¬Ò²ÊôÓÚÒ쳣ģʽ£»ÌØÈ¨Ä£Ê½¼ä¿Éͨ¹ý¼Ä´æÆ÷CPSRÇл»Ä£Ê½
  Ö§³ÖÓ²¼þЭ´¦ÀíÆ÷µÄÈí¼þ·ÂÕæ
 interrupt£¨Öжϣ©£º
  Mode number :0b10010
  ÊôÓÚÌØÈ¨Ä£Ê½£¬Ò²ÊôÓÚÒ쳣ģʽ£»ÌØÈ¨Ä£Ê½¼ä¿Éͨ¹ý¼Ä´æÆ÷CPSRÇл»Ä£Ê½
  ±»Ê¹ÓÃÓÚ¸÷ÖÖÖжÏÏàÓ¦
 fast interrupt£¨¿ìËÙÖжϣ©£º
  Mode number :0b10001
  ÊôÓÚÌØÈ¨Ä£Ê½£¬Ò²ÊôÓÚÒ쳣ģʽ£»ÌØÈ¨Ä£Ê½¼ä¿Éͨ¹ý¼Ä´æÆ÷CPSRÇл»Ä£Ê½
  Ö§³Ö¸æËßÊý¾Ý´«Êä³ÌÐò»ò¸æËßͨµÀ³ÌÐòµÄÖ´ÐУ»
 
2.¼òÊöarmÖ¸ÁîºÍThumbÖ¸ÁîµÄÇø±ð¡£
´ð£º
 £¨1£©.armÖ¸Áî¶¼ÊÇ32룬ThumbÖ¸Áî¶¼ÊÇ16λµÄ
 £¨2£©.armÖ¸ÁÄÜÇ¿´ó£¬¾ø´ó¶àÊýµÄÖ¸ÁîÖ§³ÖÌõ¼þÖ´ÐУ¬eg£ºmcr£»ThumbÖ¸Áî³ýÁËÌø×ªÖ¸ÁîÖ§³ÖÌõ¼þÖ´ÐУ¬ÆäËü¶¼²»Ö§³Ö
 £¨3£©.armÖ¸ÁîÄÜ·ÃÎÊÄ³Ð©ÌØÊâ¼Ä´æÆ÷£¨cpsr£©;ThumbÖ¸Áî²»ÄÜ·ÃÎÊ

3.¼òÊö¼Ä´æÆ÷R13£¬R14£¬R15µÄÓÃ;¡£
´ð£º
 R13£¨sp£©£º¶ÑÕ»Ö¸Õë¼Ä´æÆ÷£»ÓÃÓÚÕ»Ïà¹Ø²Ù×÷
 R14£¨lr£©£ºÁ¬½Ó¼Ä´æÆ÷£»µ±Ö´ÐÐbl×Ó³ÌÐòµ÷ÓÃÖ¸Áîʱ£¬lrÖеõ½pcµÄ±¸·Ý
 R15£¨pc£©£º³ÌÐò¼ÆÊýÆ÷£»ÓÃÓÚ¿ØÖƳÌÐòÖÐÖ¸ÁîµÄÖ´ÐÐ˳Ðò£¬ÆäÖ¸ÏòÏÂÏÂÌõÖ¸Áî

ÈȵãÅÅÐÐ