Ó봫ͳµÄ4£¯8λµ¥Æ¬»úÏà±È£¬ARMµÄÐÔÄܺʹ¦ÀíÄÜÁ¦ÊÇÒ£Ò£ÁìÏȵġ£µ«ÓëÖ®ÏàÓ¦£¬ARMµÄϵͳÉè¼Æ¸´ÔӶȺÍÄѶȣ¬½ÏÖ®´«Í³µÄÉè¼Æ·½·¨Ò²´ó´óÌáÉýÁË£¬Í¬Ê±Ò²´ó´óÍØÕ¹ÁËÕë¶ÔARMÐ¾Æ¬ÌØÐÔ½øÐÐÓÅ»¯µÄ¿Õ¼ä£¬ÀýÈçÕë¶ÔÖ¸ÁîÁ÷Ë®ÏßµÄÓÅ»¯¡¢Õë¶Ô¼Ä´æÆ÷·ÖÅä½øÐеÄÓÅ»¯µÈ¡£

 
   
ARM
ÔÚÓ²¼þÉϲ»Ö§³Ö³ý·¨Ö¸Á±àÒëÆ÷ÊÇͨ¹ýµ÷ÓÃC¿âº¯ÊýÀ´ÊµÏÖ³ý·¨ÔËËãµÄ£¬ÓÐÐí¶à²»Í¬ÀàÐ͵ijý·¨³ÌÐòÀ´ÊÊÓ¦²»Í¬µÄ³ýÊýºÍ±»³ýÊý¡£µ«Ö±½ÓÀûÓÃC¿âº¯ÊýÖеıê×¼ÕûÊý³ý·¨³ÌÐò£¬¸ù¾ÝÖ´ÐÐÇé¿öºÍÊäÈë²Ù×÷ÊýµÄ·¶Î§£¬Òª»¨·Ñ20¡«100¸öÖÜÆÚ£¬ÏûºÄ½Ï¶àµÄÈí¼þÔËÐÐʱ¼ä¡£ÔÚʵʱǶÈëʽӦÓÃÖУ¬¶Ôʱ¼ä²ÎÊý½ÏΪÃô¸Ð£¬¹Ê¿ÉÒÔ¿¼ÂÇÈçºÎÓÅ»¯±ÜÃâ³ý·¨ÏûºÄ¹ý¶àµÄCPUÔËÐÐʱ¼ä¡£


    ³ý·¨ºÍÄ£ÔËËã
(£¯ºÍ£¥)Ö´ÐÐÆðÀ´±È½ÏÂý£¬ËùÒÔÓ¦¾¡Á¿±ÜÃâʹÓᣵ«ÊÇ£¬³ýÊýÊdz£ÊýµÄ³ý·¨ÔËËãºÍÓÃͬһ¸ö³ýÊýµÄÖØ¸´³ý·¨£¬Ö´ÐÐЧÂÊ»á±È½Ï¸ß¡£ÔÚARMÖУ¬¿ÉÒÔÀûÓõ¥ÌõMULÖ¸ÁîʵÏֳ˷¨²Ù×÷¡£±¾ÎĽ«²ûÊöÈçºÎÓó˷¨ÔËËã´úÌæ³ý·¨ÔËË㣬ÒÔ¼°ÈçºÎʹ³ý·¨µÄ´ÎÊý×îÉÙ»¯¡£

¡¡

1

 

  ±ÜÃâ³ý·¨ÔËËã

    ÔÚ·ÇǶÈëʽÁìÓò£¬ÒòΪCPUÔËËãËٶȿ졢´æ´¢Æ÷ÈÝÁ¿´ó£¬³ý·¨²Ù×÷ͨ³£¶¼ÊDz»¼Ó¿¼ÂÇÖ±½ÓʹÓõġ£µ«ÔÚǶÈëʽÁìÓò£¬Ê×ÏÈÐèÒª¿¼ÂǵÄÊÇÕâЩ³ý·¨²Ù×÷ÊÇ·ñÊDZØÐëµÄ¡£ÒÔ¶Ô»·Ðλº³åÇø²Ù×÷ΪÀý£¬¾­³£ÒªÓõ½³ý·¨£¬ÆäʵÍêÈ«¿ÉÒÔ±ÜÃâÕâЩ³ý·¨ÔËËã¡£


    ¼Ù¶¨ÓÐÒ»¸öbuffer_size´óСµÄ»·Ðλº³åÇø£¬Èçͼ1Ëùʾ£¬0ffsetÖ¸¶¨Ä¿Ç°ËùÔÚµÄλÖá£Í¨¹ýincrement×Ö½ÚÀ´Ôö¼ÓoffsetµÄÖµ£¬Ò»°ãÊÇÕâÑùдµÄ£º

0ffset=(Offset+increment)£¥buffer_size£»


ЧÂʸü¸ßµÄд·¨ÊÇ£º

offset+=increment£»

if(offset>=buffer_size){

    offsetÒ»=buffer_size£»

}


    µÚÒ»ÖÖд·¨Òª»¨·Ñ50¸öÖÜÆÚ£¬¶øµÚ¶þÖÖÒòΪûÓгý·¨ÔËË㣬ֻÐ뻨·Ñ3¸öÖÜÆÚ¡£ÕâÀï¼Ù¶¨increment<buff_er_size£¬ÔÚʵ¼ÊÓ¦ÓÃÖÐÕâµãÓ¦¸ÃÊDZ£Ö¤µÄ¡£


    Èç¹û²»ÄܱÜÃâ³ý·¨ÔËË㣬ÄÇô¾ÍÓ¦¾¡Á¿Ê¹³ýÊýºÍ±»³ýÊýÊÇÎÞ·ûºÅµÄÕûÊý¡£ÓзûºÅµÄ³ý·¨³ÌÐòÖ´ÐÐÆðÀ´¸ü¼ÓÂý£¬ÒòΪËüÃÇÏÈҪȡµÃ³ýÊýºÍ±»³ýÊýµÄ¾ø¶ÔÖµ£¬ÔÙµ÷ÓÃÎÞ·ûºÅ³ý·¨ÔËË㣬×îºóÔÙÈ·¶¨½á¹ûµÄ·ûºÅ¡£

¡¡

2

 

  ³ä·ÖÀûÓÃÉ̺ÍÓàÊý

    Ðí¶àCÓïÑÔ¿âÖеijý·¨º¯Êý·µ»ØÉ̺ÍÓàÊý¡£»»¾ä»°Ëµ£¬Ã¿Ò»¸ö³ý·¨ÔËË㣬ÓàÊýÊÇ¿ÉÒÔÎÞ³¥µÃµ½µÄ£¬·´Ö®ÒàÈ»¡£ÀýÈ磬ҪÔÚÆÁÄ»»º³åÇøÕÒµ½Æ«ÒÆÁ¿ÎªoffsetµÄÆÁĻλÖÃ(x£¬y)£¬¿ÉÒÔÕâÑùд£º

typeclef struct{

  int  x£»

  int y£