ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

LinuxϱàÒëLDDµÄµÚ¶þ¸öÀý×Óscull¼°¼òµ¥ÔËÐвâÊÔ
2014-11-24 08:20:34 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:0´Î
Tags£ºLinux ±àÒë LDD µÚ¶þ Àý×Ó scull ¼òµ¥ ÔËÐÐ ²âÊÔ

1. LDD3ÊéÉϵÄftpλÖÃûÓÐLDD3µÄÀý×Ó£¬Ö»ÓÐLDD1ºÍLDD2µÄÀý×Ó£¬µ«ÊÇÔÚexamplesĿ¼ÏÂÓиölinuxdriver3Ŀ¼£¬ÀïÃæ·ÅÁËLDD3µÄÀý×Ó...º¹


2. ±àÒëÒ»ÉÏÀ´¾Í±¨´í£¬Ëµlinux/config.hûÓÐÁË£¬Ò»²égoogle£¬·¢ÏÖÕâ¸öÍ·ÎļþÔÚеÄÄÚºËÖÐÒѾ­É¾³ý²»ÓÃÁË£¬·Ö±ðÔÚaccess.cºÍpipe.cÖмÓÈëÁËlinux/sched.h£¬È»ºó°Ñlinux/config¸øÉ¾³ýÁË£¬ok£¬Í·ÎļþÎÊÌâ½â¾ö£¬ÔÙ¼ÌÐø±àÒë.


3. ÔÚaccess.cÖУ¬·¢ÏÖuidºÍeuidÕâÁ½¸ö±äÁ¿²»ÊôÓÚcurrent½á¹¹ÁË£¬ÐèÒª´Ócurrent->uid¸Ä³Écurrent-cred->uidÁË¡£¸ÄÍêÔٱ࣬ÖÕÓÚ¹ýÁË...


Linux»¹ÕæÊÇÓëʱ¾ã½ø°¢£¬ÕâÄں˽ṹ¸ÄµÄÕæ¿ì°¢...


SCULL¼òµ¥ÔËÐвâÊÔ


°ÑSCULL±àÒëºÍÁ´½Ó¶¼Íê³ÉÁË£¬ºóÀ´Ò»Ö±Ã»ÓÐʱ¼ä×Ðϸ¿´´úÂëºÍʹÓÃһϣ¬½ñÌì³é³öʱ¼äÀ´ÓÃÁËÒ»°Ñ£¬ÓÐЩСÐĵã¬×Ô¼º¼Ç¼һÏ£º


1. °²×°scull¿ÉÒÔͨ¹ýinsmod»òÕß×Ô´øµÄÄǸöscull_load½Å±¾£¬½Å±¾Ä¬ÈÏûÓÐÖ´ÐÐȨÏÞ£¬ËùÒÔÐèÒªchmod +xÒ»°Ñ


2. °²×°ÍêÖ®ºó£¬ÔÚϵͳÖпÉÒÔÓÃls -l /dev/scull¿´µ½¶àÁ˺ܶà¸öscullÉ豸£¬»¹¿ÉÒÔÓÃcat /proc/devices¿´µ½scullÉ豸£¬ÓÃlsmodÃüÁîÒ²Ò»Ñù


3. ÎÒÔÚʹÓÃls -l > /dev/scull0µÄʱºò×ÜÊÇÓöµ½ Permission deniedµÄÇé¿ö£¬¼ÓSUDO¶¼Ã»ÓÐÓã¬scull0µÄÊôÐÔÓ¦¸ÃҲûÓÐÎÊÌâ


ÍøÉÏÓÐÐֵܺÍÎÒÒ»ÑùµÄÇé¿ö£¬²»¹ýҲûÓнâ¾ö£¬ÈƹýÈ¥µÄ°ì·¨ÊÇʹÓÃcpÃüÁî...º¹


ºÃ£¬»ØÍ·ÔÙÀ´¿´¿´´úÂë°Ñ£¬kscope±ÈÆðsource insightÀ´Ëµ£¬»¹ÊDzîµÄºÜÔ¶µÄ....


Á½ÖÖº¯ÊýµÄÇø±ð£ºregister_chrdev_region£¨alloc_chrdev_region£©Ö»ÊÇÏòϵͳע²áÒ»¸öÉ豸ºÅ£¬½Ó×Å»¹ÊÇÐèҪʹÓÃcdev_add°ÑÕâ¸öÉ豸ºÅ¶ÔÓ¦µÄÄں˽ṹÏò²Ù×÷ϵͳע²á¡£


struct cdev {


struct kobject kobj;


struct module *owner;


const struct file_operations *ops; // Ïòϵͳע²áʱ£¬¸øÏµÍ³Äܹ»µ÷ÓõIJÙ×÷Ö¸Õë


struct list_head list;


dev_t dev; // É豸ºÅ£¬Í¨¹ýÕâ¸öÖµ£¬²Ù×÷ϵͳ¾Í¿ÉÒÔ°Ñij¸öÌØ¶¨µÄÉ豸ºÅºÍÄں˵Äij¸öÊý¾Ý½á¹¹ÁªÏµÔÚÒ»Æð


unsigned int count;


};


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºLinuxÉ豸Çý¶¯³ÌÐòѧϰ ÏÂһƪ£ºLinux Shell Ñ­»·¼ÆÊý

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Spring Boot Java£º (2025-12-26 16:20:19)
¡¤Spring Boot¤ÇHello (2025-12-26 16:20:15)
¡¤Spring ¤Î»ù±¾¤«¤éŒ (2025-12-26 16:20:12)
¡¤C++Ä£°å (template) (2025-12-26 15:49:49)
¡¤C ÓïÑÔÖÐÄ£°åµÄ¼¸ÖÖ (2025-12-26 15:49:47)