2¡¢ARMоƬµÄÄÚºËÒ»°ã°üÀ¨ÒÔϼ¸¸öµ¥Ôª£ºARM9TDMI32RISC´¦ÀíÆ÷¡¢Êý¾Ý»º´æÆ÷£¨Data Cache£©¡¢Ö¸Á´æ£¨Instruction Cache£©¡¢Ö¸Áî´æ´¢¹ÜÀíµ¥Ôª£¨Instruction MMU£©¡¢Êý¾Ý´æ´¢¹ÜÀíµ¥Ôª£¨Data MMU£©¡¢Ð´»º³å£¨Write Buffer£©ºÍ»ØÐ´´æ´¢µ¥Ôª£¨Write Back PA TAG RAM£©¡£
3¡¢ARM´¦ÀíÆ÷¹²ÓÐ37¸ö¼Ä´æÆ÷£¬ÆäÖÐ31ΪͨÓüĴæÆ÷£¬6¸ö״̬¼Ä´æÆ÷£¬ÕâЩ¼Ä´æÆ÷¶¼ÊÇ32λ¡£
4¡¢ARMϵͳÖÐѰַ·½Ê½Ö÷ÒªÓÐÁ¢¼´Ñ°Ö·¡¢¼Ä´æÆ÷Ѱַ¡¢¼Ä´æÆ÷¼ä½ÓѰַ¡¢»ùÖ·±äַѰַ¡¢¶à¼Ä´æÆ÷Ѱַ¡¢Ïà¶ÔѰַºÍ¶ÑջѰַ¡£
5¡¢ARM΢´¦ÀíÆ÷µÄÖ¸Á¿ÉÒÔ·ÖΪÒÔÏÂÁù´óÀà£ºÌø×ªÖ¸Áî¡¢Êý¾Ý´¦ÀíÖ¸Áî¡¢³ÌÐò״̬¼Ä´æÆ÷£¨PSR£©´¦ÀíÖ¸Áî¡¢¼ÓÔØ/´æ´¢£¨Load/Store£©Ö¸Áд¦ÀíÆ÷Ö¸ÁîºÍÒì³£ÖжϲúÉúÖ¸Áî¡£
¶þ¡¢Ñ¡ÔñÌâ
1£®Ö¸ÁîADD R0£¬R0£¬#1µÚÈý¸ö²Ù×÷ÊýµÃѰַ·½Ê½ÊÇ£¨A£©
A£®Á¢¼´Ñ°Ö· B. ¼Ä´æÆ÷Ѱַ C. ¼Ä´æÆ÷¼ä½ÓѰַ D. »ùÖ·±äַѰַ 2£®Ö¸ÁîLER R3£¬[R4]µÚ¶þ¸ö²Ù×÷ÊýµÄѰַ·½Ê½ÊÇ£¨C£©
A. Á¢¼´Ñ°Ö· B. ¼Ä´æÆ÷Ѱַ C. ¼Ä´æÆ÷¼ä½ÓѰַD. »ùÖ·±äַѰַ 3.LDR R0£¬[R1£¬#4] µÚ¶þ¸ö²Ù×÷ÊýµÄѰַ·½Ê½ÊÇ(D)
A. Á¢¼´Ñ°Ö· B. ¼Ä´æÆ÷Ѱַ C. ¼Ä´æÆ÷¼ä½ÓѰַD. »ùÖ·±äַѰַ 4.¼ÙÉèR0ºÍR1¼Ä´æÆ÷ÖеÄÖµ·Ö±ðΪ8ºÍ6£¬Ö´ÐÐÖ¸ÁLDR R0£¬[R1£¬#8]!,Ôò¼Ä´æÆ÷R0ºÍR1ÖеÄÖµ·Ö±ðΪ£¨B£©
A. 8£¬6 B. 14£¬6 C. 14£¬14 D. 16£¬14
5.Õ»ÊÇÒ»ÖÖÊý¾Ý½á¹¹£¬±¾ÖÊÉÏÊÇÄÚ´æÖÐÒ»¶ÎÁ¬ÐøµÄµØÖ·£¬¶ÔÆä×î³£¼ûµÄ²Ù×÷Ϊ¡°Ñ¹Õ»¡±£¨PUSH£©ºÍ¡°³öÕ»¡±£¨POP£©,ÒÔÁÙʱ±£´æÊý¾Ý¡£Æä³öÈëÕ»¹æÔòÊÇ£¨B£©¡£
A. ÏȽøÏȳö B. ÏȽøºó³ö C. Ö»½ø²»³öD. Ö»³ö²»½ø Èý¡¢ÐðÊöÌâ
1¡¢ARM´¦ÀíÆ÷µÄÔËÐÐģʽÓÐÄļ¸ÖÖ£¬¸÷ÓÐÊ²Ã´ÌØµã£¿
ARM΢´¦ÀíÆ÷µÄÔËÐÐģʽÓÐ7ÖÖ£¬·Ö±ðΪ£º
Óû§Ä£Ê½£¨User£¬usr£©£ºÕý³£³ÌÐòÖ´ÐÐʱ£¬ARM´¦ÀíÆ÷Ëù´¦µÄ״̬¡£ ¿ìËÙÖжÏģʽ£¨FIQ£¬fiq£©£ºÓÃÓÚ¿ìËÙÊý¾Ý´«ÊäºÍͨµÀ´¦Àí¡£ ÍⲿÖжÏģʽ£¨IRQ£¬irq£©£ºÓÃÓÚͨ³£µÄÖжϴ¦Àí¡£
ÌØÈ¨Ä£Ê½£¨Supervisor£¬sve£©£º¹©²Ù×÷ϵͳʹÓõÄÒ»ÖÖ±£»¤Ä£Ê½¡£ Êý¾Ý·ÃÎÊÖÐֹģʽ£¨Abort£¬abt£©£ºµ±Êý¾Ý»òÖ¸ÁîԤȡÖÕֹʱ½øÈë¸Ãģʽ£¬ÓÃÓÚÐéÄâ´æ´¢¼°´æ´¢±£»¤¡£
䶨ÒåÖ¸ÁîÖÕֹģʽ£¨Undefined£¬und£©£ºÓÃÓÚÖ§³ÖÓ²¼þд¦ÀíÆ÷Èí¼þ·ÂÕæ¡£
ϵͳģʽ£¨System£¬sys£©£ºÓÃÓÚÔËÐÐÌØÈ¨¼¶µÄ²Ù×÷ϵͳÈÎÎñ¡£
? 6 ?
2¡¢ARM´æ´¢Æ÷µÄ×éÖ¯Ö÷ÒªÓÐÄÄЩÀàÐÍ£¬¸÷ÓÐÊ²Ã´ÌØµã£¿
ARM´¢´æÆ÷µÄ×éÖ¯×îÒªÓÐ2´óÀàÐÍ£¬·Ö±ðΪС¶Ë¸ñʽºÍ´ó¶Ë¸ñʽ£¬Ò²³ÆÎªÐ¡¶Ë´ÎÐò(Little endian)ºÍ´ó¶Ë´ÎÐò(Big endian)µÄ×Ö½ÚÐò£¨byte order£©¡£Á½ÖÖ´¢´æÀàµÄÇø±ðÔÚÓÚÒ»¸ö32λµÄÊý¾Ý´æ·Åµ½´¢´æÆ÷ÖеÄʱºò£¬µ½µ×ÊǸßλ×Ö½Ú·ÅÔڸߵØÖ·»¹Êǵ͵ØÖ·µÄÇø±ð¡£
3¡¢ARM΢´¦ÀíÆ÷Ñ¡ÐÍʱӦעÒ⣺
1¡¢ARM΢´¦ÀíÆ÷Äں˵ÄÑ¡Ôñ 2¡¢ÏµÍ³µÄ¹¤×÷ƵÂÊ
3¡¢Ð¾Æ¬ÄÚ´æ´¢Æ÷µÄÈÝÁ¿ 4¡¢Æ¬ÄÚÍâΧµç·µÄÑ¡Ôñ µÚËÄÕÂ0
Ò»¡¢Ìî¿ÕÌâ¡£
1¡¢ÔÚARM/Thumb»ã±àÓïÑÔ³ÌÐòÖУ¬³ÌÐòÊÇÒÔ³ÌÐò¶ÎµÄÐÎʽ³ÊÏֵġ£³ÌÐò¶ÎÊǾßÓÐÌØÓÐÃû³ÆµÄÏà¶Ô¶ÀÁ¢µÄÖ¸Áî»òÊý¾ÝÐòºÅ¡£³ÌÐò¶ÎÓÐÁ½´óÀàÐÍ´úÂë¶Î¡¢Êý¾Ý¶Î¡£ 2¡¢»ùÓÚlinuxÏÂGCC»ã±àÓïÑÔ£¬´úÂë±íºÅ±ØÐëÔÚÒ»ÐеĶ¥¶Ë£¬ºóÃæÒª¼ÓÉÏ £º£¬×¢Ê͵ÄÄÚÈÝ¿ÉÒÔÔÚÇ°Ãæ¼ÓÉÏ@¡£
3¡¢ÔÚARMµÄ»ã±à³ÌÐòÖУ¬Î±Ö¸ÁîÖÖÀà·±¶à£¬¿ÉÒÔϸ·ÖΪÒÔϼ¸ÖÖαָÁ·ûºÅ¶¨ÒåαָÁSymbol Definition£©¡¢Êý¾Ý¶¨ÒåαָÁData Definition£©¡¢»ã±à¿ØÖÆÎ±Ö¸ÁAssembly Control£©¡¢ºêÖ¸Áî
4¡¢linuxϵÄǶÈëʽ³ÌÐò¿ª·¢£¬Ö÷ÒªÐèÒªµÄ´úÂë±à¼Æ÷£¬ÈçviºÍgedit£¬ÁíÍ⻹ÐèÒª±àÒëÆ÷gcc¡¢µ÷ÊÔÆ÷gdbÒÔ¼°ÏîÄ¿¹ÜÀíÆ÷make¡£
5¡¢Vi±à¼Æ÷»ù±¾ÉÏÓÐÈýÖÖ»ù±¾×´Ì¬£¬·Ö±ðÊÇ£ºÃüÁîģʽ£¨command mode£©¡¢²åÈëģʽ£¨insert mode£©ºÍµ×ÐÐģʽ£¨last line mode£©¡£ 6¡¢Ê¹ÓÃgcc±àÒëÎļþÉú³É¿ÉÖ´ÐÐÎļþÒª¾ÀúËĸöÏ໥¹ØÁªµÄ²½Ö裺Ԥ´¦Àí(Ò²³ÆÔ¤±àÒ룬Preprocessing)¡¢±àÒë(Compilation)¡¢»ã±à(Assembly)ºÍÁ¬½Ó(Linking)¡£ ¶þ¡¢Ñ¡ÔñÌâ
1¡¢1.¼ÙÈçʹÓÃαָÁÒåÒ»¸ö¾Ö²¿µÄÊý¾ÝÁ¿£¬±äÁ¿ÃûΪtemp£¬È»ºó¸øÆä¸³ÖµÎª8£¬»ã±à´úÂëΪ£¨A£©
A. LCLA temp;temp SETA 0x08; B. LCLA temp;temp SETL 0x08; C. GBLA temp;temp SETA 0x08; D. GBLA temp;temp SETL 0x08;
2¡¢ÔÚvi´¦ÓÚÃüÁîÐÐģʽʱ£¬Èç¹ûÐèÒª¶ÔÎı¾½øÐÐÐ޸ģ¬ÓûÔÚ¹â±êËùÔÚλÖõÄÏÂÒ»¸öλÖÿªÊ¼ÊäÈëÎÄ×Ö£¬Ôò£¨B£©
A¡¢°´ÏÂ×Öĸ¡°i¡±½øÈë²åÈëģʽ B¡¢°´ÏÂ×Öĸ¡°a¡±½øÈë²åÈëģʽ C¡¢°´ÏÂ×Öĸ¡°o¡±½øÈë²åÈëģʽ D¡¢°´ÏÂ×Öĸ¡°n¡±½øÈë²åÈëģʽ
3¡¢µ±Ç°vi´¦ÓÚ²åÈëģʽ£¬ÏÈ·ÅÆú¶ÔÎı¾µÄÐ޸쬼´²»±£´æÍ˳övi£¬Ôò£¨C£©¡£ A¡¢Ê¹Óá°£ºq£¡¡±ÃüÁî B¡¢Ê¹Óá°£ºwq£¡¡±ÃüÁî
C¡¢ÏȰ´Ï¡°ESC¡±ºó£¬ÔÙʹÓá°£ºq£¡¡±ÃüÁî D¡¢ÏȰ´¡°ESC¡±ºó£¬ÔÙʹÓá°£ºwq£¡¡±ÃüÁî
4¡¢¾¹ý»ã±àÖ®ºó£¬Éú³ÉµÄÄ¿±êÎļþµÄºó׺ÃûΪ£¨C£©¡£ A¡¢.c B¡¢.s C¡¢.o D¡¢.exe
5¡¢¶Ô´úÂëÎļþcode.c½øÐе÷ÊÔµÄÃüÁîΪ£¨A£©¡£
A¡¢$gcc ¨Cg code.c ¨Co code B¡¢$gcc code.c ¨Co code C¡¢$gcc ¨Cg code.c code D¡¢$gcc ¨Cg code
Èý¡¢ÐðÊöÌâ
1¡¢»ã±àÓïÑÔºÍCµÄ»ìºÏ±à³Ìͨ³£ÓÐÒÔϼ¸ÖÖ·½Ê½£¬¸÷ÓÐÊ²Ã´ÌØµã£¿
»ã±àÓïÑÔÓëCµÄ»ìºÏ±à³Ìͨ³£ÓÐÒÔϼ¸ÖÖ·½Ê½£ºÔÚC´úÂëÖÐǶÈë»ã±àÖ¸ÁÔÚ»ã±à³ÌÐòºÍCµÄ³ÌÐòÖ®¼ä½øÐбäÁ¿µÄ»¥·Ã£»»ã±à³ÌÐò¡¢C³ÌÐò¼äµÄÏ໥µ÷Óá£
2¡¢ÈçºÎʹÓõ÷ÊÔÆ÷gdb½øÐдúÂëµ÷ÊÔ£¬¾ßÌåµÄµ÷ÊÔ·½·¨ÓÐÄÄЩ£¿
²é¿´Îļþ¡¢ÉèÖúͲ鿴¶Ïµã¡¢ÔËÐдúÂë¡¢²é¿´±äÁ¿Öµ¡¢µ¥²½ÔËÐС¢»Ö¸´³ÌÐòÔËÐС£
3¡¢ÏîÄ¿¹ÜÀíÆ÷µÄ×÷ÓÃÖ÷ÒªÊÇʲô£¿
make¾ÍÊÇʵÏÖÕâÑùµÄ¹¦ÄÜ£ºËü¶ÁÈëÒ»¸öÎļþ£¬½Ðmakefile£¬Õâ¸öÎļþ²»½ö¾ö¶¨ÁËÔ´ÎļþÖ®¼äµÄÒÀÀµ¹ØÏµ£¬¶øÇÒ»¹¾ö¶¨ÁËÔ´Îļþʲôʱºò¸Ã±àÒëʲôʱºò²»Ó¦¸Ã±àÒë¡£
µÚÎåÕÂ
Ò»¡¢Ìî¿ÕÌâ¡£
1¡¢SMDK2440ƽ̨µÄ¿ª·¢°å²ÉÓõĴ¦ÀíÆ÷ÊÇS3C2440£¬ÆäÖ÷Ƶһ°ãΪ400M¡£ 2¡¢windowsÈí¼þ»·¾³µÄÉèÖÃÒ»°ã°üÀ¨ÒÔϼ¸²¿·Ö£º³¬¼¶Öն˵ÄÉèÖá¢DNWÉèÖá¢GIVEIOÇý¶¯µÄÉèÖúÍUSBÇý¶¯ 3¡¢ÔÚwindowsϵͳÉϽ¨Á¢»ùÓÚlinuxǶÈëʽ¿ª·¢»·¾³Ò»°ãÓÐÈýÖÖ·½°¸¿ÉÒÔÑ¡Ôñ·Ö±ðÊÇWindowsϵͳϰ²×°ÐéÄâ»úVmware¡¢Windows+Linux˫ϵͳ°²×°¡¢»ùÓÚWindows²Ù×÷ϵͳϵÄCygwin
4¡¢UBUNTUµÄÍøÂçÉèÖÿÉÒÔ²ÉÓÃÃüÁîÐз½Ê½¡¢Ò²¿ÉÒÔ²ÉÓÃͼÐνçÃæ²Ù×÷·½Ê½À´ÅäÖá£5¡¢¿ª·¢°åÓ²¼þƽ̨ÊÇ»ùÓÚÈýÐÇS3C2440µÄSMDK2440ƽ̨µÄÄ¿±ê°å£¬Ê¹ÓõĿ̼Èí¼þΪSJF2440¡£ ¶þ¡¢Ñ¡ÔñÌâ
1¡¢ÎªÁËͨ¹ýPCµÄ´®¿ÚºÍ¿ª·¢°å½øÐн»»¥£¬ÐèҪʹÓã¨C£©¡£
? 8 ?
A¡¢USBÉèÖà B¡¢Í¬²½
C¡¢³¬¼¶ÖÕ¶Ë D¡¢ÍøÂçÁ¬½Ó
2¡¢ÔÚǶÈëʽlinuxµÄ¿ª·¢ÖУ¬ÄÜʵÏÖÉÏ´«ÏÂÔØÎļþ¡¢¿Ì¼Îļþ¡¢ÔËÐÐÓ³ÏñµÈ¹¦Äܹ¤¾ßÊÇ£¨D£©¡£
A¡¢DNS B¡¢FTP C¡¢Telnet D¡¢DNW
3¡¢ÓÉÆÕͨÓû§ÕË»§×ªÎª¹ÜÀíÔ±ÕË»§µÇ¼£¬Ê¹ÓõÄÃüÁîΪ£¨D£©¡£ A¡¢$sudo root B¡¢$sudo administrator C¡¢$su administrator D¡¢$su root 4¡¢°²×°FTP·þÎñÆ÷ʱ£¬ÔÚÖÕ¶ËÊäÈëµÄÃüÁîΪ£¨B£©¡£
A¡¢$apt-get install vsftpd B¡¢$sudo apt-get install vsftpd C¡¢$apt-get install ftp D¡¢$sudo apt-get install ftp 5¡¢°²×°Telnet·þÎñʱ£¬ÔÚÖÕ¶ËÊäÈëµÄÃüÁîΪ£¨A£©¡£
A¡¢$sudo apt-get install xinetd telnetd B¡¢$apt-get install xinetd telnetd C¡¢$apt-get install telnetd D¡¢$sudo apt-get install telnetd
Èý¡¢ÐðÊöÌâ 1¡¢½¨Á¢»ùÓÚLinuxǶÈëʽ¿ª·¢»·¾³Ò»°ãÓÐÈýÖÖ·½°¸¿ÉÒÔÑ¡Ôñ£ºÒ»ÊÇÔÚWindowsϵͳϰ²×°ÐéÄâ»úVmware¡£¶þÊÇWindowsϵͳºÍLinuxϵͳͬʱ°²×°¡£ÈýÊÇ»ùÓÚWindows²Ù×÷ϵͳϵÄCygwin¡£ 2¡¢²Î¿´½Ì²Ä5.3¡£ 3¡¢²Î¿´½Ì²Ä5.4¡£ µÚÁùÕÂ
Ò»¡¢Ìî¿ÕÌâ¡££¨£©
1¡¢½»²æ¿ª·¢¹¤¾ßÁ´¾ÍÊÇΪÁ˱àÒë¡¢Á´½Ó¡¢´¦ÀíºÍµ÷ÊÔ¿çÆ½Ì¨Ìåϵ½á¹¹µÄ³ÌÐò´úÂ롣ÿ´ÎÖ´Ðй¤¾ßÁ´Èí¼þ£¬Í¨¹ý´øÓв»Í¬µÄ²ÎÊý£¬¿ÉÒÔʵÏÖ±àÒë¡¢Á´½Ó¡¢´¦Àí¡¢µ÷ÊԵȲ»Í¬µÄ¹¦ÄÜ¡£
2¡¢linux¾³£Ê¹ÓõŤ¾ßÁ´Èí¼þÓÐBinutils¡¢Gcc¡¢GlibcºÍGdb¡£
3¡¢·Ö²¼¹¹½¨½»²æ±àÒ빤¾ßÁ´µÄÖÆ×÷¹ý³ÌÐèÒªÒÔϼ¸²½£º±àÒëbinutils¡¢±àÒ븨Öúgcc±àÒëÆ÷¡¢±àÒëglibc¿â¡¢ÖØÐ±àÒëÍêÕûµÄgcc¡£ 4¡¢Ê¹ÓÃcrosstool¹¹½¨½»²æ±àÒ빤¾ßÁ´µÄÖÆ×÷¹ý³ÌÐèÒªÒÔϼ¸²½£º×¼±¸¹¤×÷¡¢½¨Á¢½Å±¾Îļþ¡¢½¨Á¢ÅäÖÃÎļþ¡¢Ö´Ðнű¾ÎļþºÍ±àÒëgdbµ÷ÊÔÆ÷¡£
5¡¢Ê¹ÓÃcrosstool¹¹½¨½»²æ±àÒ빤¾ßÁ´µÄÖÆ×÷¹ý³ÌÖÐÐèÒªµÄÅäÖÃÎļþ£¬ÆäÖ÷Òª×÷ÓÃÊǶ¨ÒåÅäÖÃÎļþ¡¢¶¨ÒåÉú³É±àÒ빤¾ßÁ´µÄÃû³Æ¡¢¶¨Òå±àÒëÑ¡ÏîµÈ¡£
¶þ¡¢Ñ¡ÔñÌâ