ÎÒÔÚ¿´2¡£6¡£26´úÂëµÄʱºò·¢ÏÖÒ»¸öÆæ¹ÖµÄÎÊÌ⣬ÎÒÓõÄarmµÄ°å×Ó at91rm9200dk£¬ËûµÄplatformÉ豸¶¼ÔÚboard-dk.cÀïÓÃplatform_device_register×¢²á£¬µ«ÊÇÏÔʾÉ豸s1d13806Çý¶¯Ã»ÓÐÔÚ board initÀïplatform_device_register×¢²á£¬º¯Êýdk_add_device_video()×¢Ê͵ôÁË£¬¶øÔÚÇý¶¯µÄinitÀïÖ±½Ó µ÷ÓÃplatform_driver_register×¢²áÇý¶¯ÁË£¬Õâ¸öÉ豸ע²áÔÚʲôµØ·½£¬ËѱéÁË´úÂëûÓÐÕÒµ½£¬ºÜÊÇÆæ¹Ö£¬Ï£ÍûÊìϤµÄ¸ßÊÖÖ¸µãһ϶àлÁË
by duzhig - ÄÚºËÔ´Âë - 2009-01-05 19:17:03 ÔĶÁ£¨1467£© »Ø¸´£¨2£©
put_user(),get_user()ΪÁ½¸öºê,µ±¿½±´Êý¾ÝΪ1, 2, 4 ×Ö½Úʱ, ËٶȱȽϿì. int get_user(value, address), int put_user(expression, address), µÚÒ»¸ö²ÎÊýΪÄں˿ռäµÄ±äÁ¿,µÚ¶þ¸öΪһ¸öÖ¸Õë,Ϊһ¸öÓû§¿Õ¼äµØÖ·, ´«Êä´óСÓÉaddress ÀàÐ;ö¶¨. access_ok()ÓÃÓÚ¼ì²é³ÌÐòÊÇ·ñÄÜÒÔÖ¸¶¨µÄ·½Ê½·ÃÎÊÖ¸¶¨µÄµØÖ·Ö¸¶¨³¤¶ÈµÄÄÚ´æ. int access_ok(int type, unsigned long addr, unsigned long size) type Ϊ VERIFY_READ, VERIFY_WRITE...
ƽ̨É豸µÄÒýÈëÊÇΪÁËÄܸüºÃµÄÃèÊöÉ豸µÄ×ÊÔ´ÐÅÏ¢. ÊôÓÚplatform deviceµÄÉ豸µÄ¹²Í¬µãÊÇ: Ö±½Óͨ¹ýcpuµÄ×ÜÏßѰַ. ƽ̨É豸¶ÔÏóÓÉplatform_deviceÃèÊö: struct platform_device { const char * name; u32 id; struct device dev; //¶ÔÓ¦µÄÉ豸 u32 num_resources; //×ÊÔ´µÄÊýÁ¿ struct resource * resource; //×ÊÔ´ÐÅÏ¢ }; Óë´Ë¶ÔÓ¦µÄƽ̨É豸Çý¶¯³ÌÐòÓÉstruct platform_driverÃèÊö: struct platform_driver { ...
1 ƽ̨É豸ºÍÇý¶¯³õʶ platformÊÇÒ»¸öÐéÄâµÄµØÖ·×ÜÏߣ¬Ïà±Èpci£¬usb£¬ËüÖ÷ÒªÓÃÓÚÃèÊöSOCÉÏµÄÆ¬ÉÏ×ÊÔ´£¬±ÈÈçs3c2410Éϼ¯³ÉµÄ¿ØÖÆÆ÷£¨lcd£¬watchdog£¬rtcµÈ£©£¬platformËùÃèÊöµÄ×ÊÔ´ÓÐÒ»¸ö¹²Í¬µã£¬¾ÍÊÇÔÚcpuµÄ×ÜÏßÉÏÖ±½Óȡַ¡£ ƽ̨É豸»á·Öµ½Ò»¸öÃû³Æ(ÓÃÔÚÇý¶¯°ó¶¨ÖÐ)ÒÔ¼°Ò»ÏµÁÐÖîÈçµØÖ·ºÍÖжÏÇëÇóºÅ(IRQ)Ö®ÀàµÄ×ÊÔ´. struct platform_device { const char * name; int id; struct device dev; u32 ...
Eric Fang 2010-01-19 -------------------------------------------------------------- ±¾Õ¾·ÖÎölinuxÄÚºËÔ´Â룬°æ±¾ºÅΪ2.6.32.3 ×ªÔØÇë×¢Ã÷³ö´¦£º http://ericfang.cublog.cn/ -------------------------------------------------------------- ÔĶÁ±¾ÎÄ֮ǰ£¬Èç¹ûÄã¶ÔÉ豸Çý¶¯Ä£ÐÍ»¹²»Á˽⣬ÇëÏÈÔĶÁ±¾Õ¾É豸Çý¶¯Ä£ÐÍÏà¹ØÎÄÕ¡£ platform×ÜÏßÊÇkernelÖеÄÒ»ÖÖÐéÄâ×ÜÏߣ¬2.6°æ±¾ºÜ¶àÇý¶¯¶¼ÓÃËüÀ´ÊµÏÖ¡£ Ò»£®platform³õʼ»¯...
linuxÉ豸Çý¶¯¹éÄÉ×ܽᣨ¾Å£©£º1.platform×ÜÏßµÄÉ豸ºÍÇý¶¯
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
paltformÉ豸ģÐÍ: static int __init ixp4xx_ehci_init(void) { int ret; struct platform_device *device; TRACE; pr_debug ("%s: block sizes: qh %Zd qtd %Zd itd %Zd sitd %Zd\n", ixp4xx_ehci_name, sizeof (struct ehci_qh), sizeof (struct ehci_qtd), sizeof (struct ehci_itd), sizeof (struct ehci_sitd)); /* Register device for usb host0 controller */ ...
ת×ÔËᦻªÀÏʦµÄ²©¿Í¡£Ð´µÄºÜºÃ£¬ÎÒÕûÀíÁËÒ»ÏÂת»»ÎªpdfÎļþ£¬´«ÉÏÀ´ÓÚ´ó¼Ò·ÖÏí¡£ Ô¤ÀÀÔÚÕâÀhttp://www.tek-life.org/2010/09/26/%E8%BD%AC-platform%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8%E5%85%A8%E9%80%8F%E6%9E%90/
------------------------------------------ ±¾ÎÄϵ±¾Õ¾Ô´´,»¶Ó×ªÔØ! ×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/------------------------------------------ st1\:*{behavior:url(#ieooui) } Ò»:ǰÑÔ platform×ÜÏßÊÇkernelÖÐ×î½ü¼ÓÈëµÄÒ»ÖÖÐéÄâ×ÜÏß.ÔÚ½ü°æµÄ2.6kernelÖÐ,ºÜ¶àÇý¶¯¶¼ÓÃplatform¸ÄдÁË.Ö»ÓÐÔÚ·ÖÎöÍêplatform×ÜÏßÖ®ºó,²ÅÄܼÌÐøÉîÈëÏÂÈ¥·ÖÎö.ÔÚ·ÖÎöÍêsysfsºÍÉ豸Çý¶¯Ä£ÐÍÖ®ºó,Õⲿ·ÝÓ¦¸ÃºÜ¼òµ¥ÁË.ÏÐÑÔÉÙÐð.²½Èë...
linux platform Device and Driver ×÷ÕߣºDongas ÈÕÆÚ£º08-06-27 ´Ólinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:platform_deviceºÍplatform_driver¡£ linuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃplatform_device±íʾ£¬Çý¶¯ÓÃplatform_driver½øÐÐ×¢²á¡£ linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔµÄÓÅÊÆÔÚÓÚplatform»úÖÆ½«É豸±¾ÉíµÄ×ÊÔ´×¢²á½øÄÚºË...
------------------------------------------ ±¾ÎÄϵ±¾Õ¾Ô´´,»¶Ó×ªÔØ! ×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/ ------------------------------------------ Normal 0 7.8 °õ 0 2 false false false MicrosoftInternetExplorer4 st1\:*{behavior:url(#ieooui) } /* Style Definitions */ table.MsoNormalTable {mso-style-name...