|
ÔÚÇý¶¯³ÌÐò²ãÃæ£¬Äã¿Ï¶¨Òª°Ñ²»¹æ·¶µÄÄÚǶʽRTOS´úÂëת»¯ÎªºÏÊʵÄÇý¶¯³ÌÐò¡£Èç¹ûÄãµÄ¾ÉÓ¦ÓóÌÐòÒѾºÜºÃ±»»®·Ö£¬»òÕßʹÓÃRTOS I/OÓ¦ÓóÌÐò½Ó¿Ú£¬»òÕß·Ö¸ôÔÚ²»Í¬µÄ²ãÃæ¡£ÄãµÄ¹¤×÷°Ñ·Ç³£ÈÝÒס£Èç¹ûÌØÊâµÄI/O´úÂë·Ç³£·ÖÉ¢ÓÚÕû¸öÄãµÄ¾ÉÓ¦ÓóÌÐò£¬Äã»áÃæÁÙ¾Þ´óÎޱȵŤ×÷Á¿ÁË¡£
»ùÓÚAPIµÄ·½·¨¶ÔÓÚ¼±ÓÚ°ÚÍѾÉRTOSµÄ¿ª·¢Õߣ¬»òÕß³¢ÊÔ°ÑÔÐÍ×ÛºÏÔÚÒ»ÆðµÄÈË,¸ü¿ÉÄÜÊÔͼ°ÑºÜ¶àRTOS APIÓ³Éä»òÕßת»¯µ½LinuxÏ൱µÄλÖᣠ³ÌÐòÌåÒ»°ãµÄ½Ó¿Ú¼¸ºõÊÇ͸Ã÷µÄ£¨¼æÈݵÄAPI,IPC,ϵͳÊý¾ÝÀàÐ͵ȣ©¡£ÆäÓಿ·Ö¿ÉÒÔͨ¹ýÓÃ#define ÖØÐ¶¨ÒåºÍʹÓúêÀ´½â¾ö¡£Ê£ÏµIJ¿·ÖÐèÒªÖØÐ±àÂ룬×÷ΪÍêÕûµÄ³éÏó²ãµÄÒ»²¿·Ö¡£
ͨ¹ýʹÓ÷ÂÕæ¿â£ºÜ¶àÉÌҵǶÈëʽLinux¶¼´øÓУ¨±ÈÈçÎÒÃǹ«Ë¾µÄÕë¶ÔWind River VxWorks ºÍ pSOSµÄ·ÂÕæ¿â£©£¬»òÕßʹÓõÚÈý·½¹«Ë¾ÌṩµÄAPIÓ³Éä°ü£¬±ÈÈçMapuSoft£¬Äܹ»Ê¹ÄãÔÚÒÆÖ²»ùÓÚAPIµÄ³ÌÐòʱÓÐÁ¼ºÃµÄ¿ª¶Ë¡£
ÒÆÖ²RTOS´úÂëºÍAPI µ½LinuxµÄ¶à²æ·½·¨
´ó¶àÊýÏîÄ¿²ÉÓûìºÏµÄ·½·¨£¬Ó³ÉäËùÓмæÈݵĻòÕßÈÝÒ×ת»¯µÄAPI,ÖØÐÂÅäÖÃÄÇЩ¶ÔÔËÐÐËÙ¶ÈÓÐÒªÇóµÄ²¿·Ö£¬ºÍ“Ïñ÷úÊóÄÇÑù´ò¶´”ÖØÐ±àÂëÊ£ÓàµÄ²¿·ÖÖ±µ½±àÒëͨ¹ýºÍÔËÐС£
ÔÚÄں˺ÍÓû§¿Õ¼äÄܹ»ÊÊÓõÄAPI¶ÔÓÚ¼±ÐèÖØ½¨ºÍ“¸ü¿ìÓÖ¸üÔà”µÄAPI·½·¨£¬Äã²»µÃ²»ÖØÐ·ÖÅäRTOSÓ¦ÓóÌÐòºÍI/O´úÂëÒÔLinuxÄں˺ÍÓû§¿ÕµÄ·¶Àý¡£
Linux·Ö²ã´ÎÌØÈ¨·ÃÎʵĽá¹ûÊÇ£¬Í¨³£½ö½öÄں˴úÂ루Çý¶¯³ÌÐò£©Äܹ»·ÃÎÊÎïÀíÄڴ棬ÆäËüµÄÓû§´úÂë±ØÐëÓиùÓû§È¨ÏÞ²ÅÄÜ·ÃÎÊ¡£
Ò»°ãÇé¿öÏ£¬Óû§¿Õ¼ä´úÂëÓëLinuxÄÚºËÏà¸ôÀ룬ֻÓе±Äں˵ijö¿ÚÐÅÏ¢³öÏÖÔÚ/proc/ksyms ʱ²ÅÄܱ»ËüÖ±½Ó“¿´¼û”¡£¸ü½øÒ»²½½²£¬¶ÔÓÚÄÚºËÏÔʾµÄϵͳµ÷Óò»Äܹ»±»Ö±½Óµ÷Ó㬵«ÊÇ¿ÉÒÔͨ¹ýÓû§¿âµ÷Óá£ÔÚLinuxÀïÃæÕâÖÖ·Ö¸ôÊÇÓÐÒâÀ´¼ÓÇ¿Îȶ¨ÐԺͰ²È«ÐÔ¡£
Ïà·´µÄÇé¿ö´æÔÚÔÚдÇý¶¯³ÌÐòµÄʱºò¡£¾²Ì¬Á´½ÓµÄÇý¶¯³ÌÐòרÊôÓÚÕû¸öÄÚºËÃû×ֿռ䣨²»Êdzö¿Ú£©£¬µ«ÊǶÔÓÚÓû§¿Õ¼ä»ùÓÚ½ø³ÌµÄ·ûºÅºÍÈë¿ÚµãÍêÈ«²»¿É¼û¡£²¢ÇÒ£¬µ±Äã°ÑÇý¶¯³ÌÐò·â×°³É¿É¶¯Ì¬¼ÓÔØµÄÄ£¿éʱ£¬ÄãµÄ³ÌÐòÔÚÄÚºËÀïÃæÍ¨¹ýEXPORT_SYMBOL ºêʹÓÃÏÔʾµÄ½Ó¿Ú¡£
ÍøÂçÇý¶¯³ÌÐòÒÆÖ²
ÕýÈçÉÏÃæÖ¸³öµÄ£¬°Ñ×Ö·ûºÍ¿éÇý¶¯³ÌÐòÒÆÖ²µ½LinuxÊÇÖ±½ØÁ˵±µÄʵ¼ù»î¶¯¡£ÒÆÖ²ÍøÂçÇý¶¯³ÌÐò£¬ÒªÀ§ÄѵöàÁË»ØÏëLinux°éËæTCP/IPÒ»Æð³É³¤£¬¶ø´ó¶àÊýµÄRTOS µ½90Äê´úÍíÆÚ²Å°ÑÍøÂ翼ÂǽøÈ¥¡£¼´Ê¹Èç´Ë£¬¾ÉµÄÍøÂç´æ´¢³£³£½öÓлù±¾µÄ¹¦ÄÜ£¬±ÈÈçÖ»ÄÜ´¦Àíµ¥¸öµÄ»á»°»òÕßͬʱֻÄÜ·ÃÎÊÒ»¸ö¶Ë¿Ú£¬»òÕßÖ»ÄÜÖ§³Öµ¥Ò»ÍøÂçýÖʵÄÎïÀí½Ó¿Ú¡£ÔÚijЩÇé¿öÏÂÍøÂç½á¹¹£¬ÔÚÔÊÐí¶àÖØ½Ó¿ÚºÍÎïÀíÀàÐÍÁ¬½Óºó£¬²ÅÄÜʵÏÖ£¨±ÈÈçWind River VxWorks MUX´úÂ룩¡£»µÏûÏ¢ÊÇ£¬Äã²»µÃ²»ÖØÐÂд´ó²¿·Ö»òÕßÈ«²¿µÄÏÖ³ÉÍøÂç½Ó¿Ú¡£ºÃÏûÏ¢ÊÇ£¬¶ÔÓÚLinuxÖØÐ»®·Ö²»ÊÇÌ«À§ÄÑ£¬¶øÇÒÓдóÁ¿µÄ¿ªÔ´ÍøÂçÉ豸Çý¶¯Àý×Ó³ÌÐò¿É¹©Ñ¡Ôñ¡£
Linux ÍøÂçÇý¶¯³ÌÐò¿òͼ
Ð´ÍøÂçÇý¶¯³ÌÐò²»ÊdzõѧÕßµÄÊ£¬ÒòΪÐí¶àRTOSÍøÂçÇý¶¯³ÌÐòʵ¼ÊÉÏÊÇ´ÓGPLµÄLinux½Ó¿Ú³ÌÐòÑÝ±ä¶øÀ´£¬ÄãÒ²Ðíͨ¹ý´úÂë±¾Éí·¢ÏÖ³ÌÐòÒ×ÓÃÐÔ¡£¸ü½øÒ»²½½²£¬ÓдóÁ¿µÄ£¬²¢ÇÒÒ»Ö±ÔÚÔö³¤µÄϵͳ¼¯³ÉºÍ×ÉѯÉçÇø£¬ÒÔºÏÀíµÄÊÕ·ÑרעÓÚ°ïÖúǶÈëʽ¿ª·¢Õß°ÑËûÃǵÄÓ¦ÓÃÒÆÖ²µ½Linux¡£
×ܽá
ÕâÆªÎÄÕÂÉîÈë·ÖÎöÁË£¬°ÑÕûÌåÈí¼þ´Ó¾ÉµÄRTOS×ªÒÆµ½Linux¹ý³ÌÖУ¬Ç¶Èëʽ¿ª·¢ÕßÃæÁÙµÄÌôÕ½ºÍ°ÑµÃµ½µÄºÃ´¦¡£ÁÈÁÈ2800×Ö»òÕ߸ü¶àµÄÄÚÈݶÔÓÚÉîÈëÑо¿Ðí¶àÇý¶¯³ÌÐòÒÆÖ²µÄϸ½ÚÀ´ËµÌ«¹ýÓÚ¼òµ¥£¨×ÜÏß½Ó¿ÚµÄÇý¶¯³ÌÐòAPI,µØÖ·×ª»»µÈ£©£¬µ«ÊǷḻµÄÏֳɵĿªÔ´GPLÇý¶¯³ÌÐò´úÂ룬¿ÉÒÔ×÷ΪÄãÒÆÖ²¹ý³ÌµÄÎĵµºÍÄ£°å¡£±¾ÎÄ×÷Ϊµ¼Òý¿Ï¶¨¶ÔÄãµÄÍŶÓÔÚÒÆÖ²RTOSµ½LinuxµÄʱºòÓаïÖú£¬²¢Îª×î¼ÑÊʺÏÓÚǶÈëʽLinux¶øÖØÐ¹滮´úÂëÓÐÆô·¢¡£
¹²3Ò³: ÉÏÒ»Ò³ [1] [2] 3 ÏÂÒ»Ò³
|