dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì
ÀÁµÃдÁË£¬ ת¼¸Æª¹ýÀ´£º
ÔÌûµØÖ·£º
http://blog.chinaunix.net/u1/38994/showart_1130025.html
dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì
¡¾Ç³ÎölinuxÏÂÊó±êÇý¶¯µÄʵÏÖ¡¿
input_init(
)
=
>
=
>
class_register(
&
input_class)
;
×¢²áinputÀà
input_proc_init(
)
;
´´½¨procϵÄĿ¼ºÍÎļþ
register_chrdev(
INPUT_MAJOR,
"input"
,
&
input_fops)
;
×¢²áÇý¶¯³ÌÐòµ½cdev_mapÉÏ,
ÒÔ´ýÇý¶¯É豸.
drivers\input\keyboard\pxa3xx_keypad.
cΪÎÒÃǵÄkeyboardÉ豸,
pxa3xx_keypad_probe=
>
request_irq(
IRQ_ENHROT,
&
enhanced_rotary_interrupt,
IRQF_DISABLED,
"Enhanced Rotary"
,
(
void
*
)
keypad)
;
×¢²á¿ì½Ý¼üÖжÏ
request_irq(
IRQ_KEYPAD,
pxa3xx_keypad_interrupt,
IRQF_DISABLED,
pdev-
>
name,
keypad)
;
×¢²áÖжÏ
static
irqreturn_t pxa3xx_keypad_interrupt(
int
irq,
void
*
dev_id)
{
struct
pxa3xx_keypad *
keypad =
dev_id;
uint32_t
kpc =
keypad_readl(
KPC)
;
if
(
kpc &
KPC_MI)
pxa3xx_keypad_scan_matrix(
keypad)
;
if
(
kpc &
KPC_DI)
pxa3xx_keypad_scan_direct(
keypad)
;
return
IRQ_HANDLED;
}
ÔÚirqÖÐÈç¹û¶Áµ½ÁËkey,
ÄÇô»áÖ±½Óµ÷ÓÃ
input_report_key(
keypad-
>
input_dev,
lookup_matrix_keycode(
keypad,
row,
col)
,
new_state[
col]
&
(
1 <
<
row)
)
;
static
inline
unsigned
int
lookup_matrix_keycode(
struct
pxa3xx_keypad *
keypad,
int
row,
int
col)
{
return
keypad-
>
matrix_keycodes[
(
row <
<
3)
+
col]
;
}
input_report_key(
struct
Ïà¹ØÎĵµ£º
¼Ç¼ÔÚlinuxÏ¿ª·¢Óöµ½µÄ¸÷ÖÖÎÊÌ⣬·½±ãÒÔºó²éÕÒ¡£
1.¹ØÓÚshellÖнű¾µÄÖ´Ðз½Ê½£ºÔÚµ±Ç°½Å±¾Ö´Ðл¹ÊÇÆô¶¯Ò»¸öеÄshell½ø³ÌÀ´Ö´Ðнű¾¡£
¼ÙÉ赱ǰĿ¼ÏÂÓнű¾script.sh¡£
Æô¶¯Ò»¸öеÄshell½ø³ÌÀ´Ö´ÐУº
ÕâÊÇshellÖÐĬÈϵÄÖ´Ðз½Ê½ÊÇÆô¶¯Ò»¸öеÄshell½ø³Ì£¨×Ó½ø³Ì£©À´Ö´Ðнű¾£¬¼´sh script.sh»òÕ߸³Ó ......
1. »ù±¾¸ÅÄî
˵µ½ÍøÂç±à³Ì,²»µÃ²»ÏÈÌáµ½OSI²Î¿¼Ä£ÐÍ,ÆäÆß²ãÄ£ÐÍ´Óϵ½ÉÏ·Ö±ðΪ
1.ÎïÀí²ã(Physical Layer,PH)
2.Êý¾ÝÁ´Â·²ã(Data Link Layer,DL)
3.ÍøÂç²ã(Network Layer,N)
4.ÔËÊä²ã(Transport Layer,T)
5.»á»°²ã(Session Layer,S)
6.±íʾ²ã(Presentation Layer, ......
http://www.chineselinuxuniversity.net/articles/30602.shtml
Linux½ø³Ìµ÷¶È³ÌÐòËäÈ»
Ìرð
ÖØÒª
£¬µ«Ëü²»¹ýÊÇÒ»¸ö´æÔÚÓÚÄں˿ռäÖеĺ¯Êý¶øÒÑ£¬²¢²»ÉñÃØ¡£LinuxµÄµ÷¶È³ÌÐòÊÇÒ»¸ö½ÐSchedule£¨£©µÄº¯Êý£¬Õâ¸öº¯Êý±»µ÷ÓõÄƵÂʺܸߣ¬ÓÉËüÀ´¾ö¶¨ÊÇ·ñ
Òª½øÐнø³ÌµÄÇл»£¬Èç¹ûÒªÇл»µÄ»°£¬Çл»µ½Äĸö½ø³ÌµÈµÈ¡£ÎÒÃÇ
ÏÈÀ´ ......
¾¹ýÒ»¶Îʱ¼äµÄѧϰ֮ºó£¬Ò²¿ª·¢ÁËһЩСÐ͵ÄÇý¶¯£¬ÕýÈçÎÒ֮ǰһƪÖÐдµ½µÃ£¬ÏÖÔÚÎÒ¾ÍÀ´Ð´Ò»ÏÂÔÚARMǶÈëʽLINUXÏÂÈçºÎÉè¼ÆÇý¶¯µÄ¿ò¼Ü¡£
ÔÚÕâÀïÎÒÓõİå×ÓÊÇmicro2440°å×Ó£¬°å×ÓÉϵÄlinux°æ±¾ÊÇ2.6.13¡£ÒòΪÎÒÔÚǰһƪ½éÉÜÁËÇý¶¯±à³ÌµÄÁ½ÖÖ¿ò¼ÜÉè¼Æ£¬ËùÒÔÏÖÔÚÎÒ¾ÍÀ´·Ö±ð ......
linuxÍøÂç±à³Ì
1. »ù±¾¸ÅÄî
˵µ½ÍøÂç±à³Ì,²»µÃ²»ÏÈÌáµ½OSI²Î¿¼Ä£ÐÍ,ÆäÆß²ãÄ£ÐÍ´Óϵ½ÉÏ·Ö±ðΪ
1.ÎïÀí²ã(Physical Layer,PH)
2.Êý¾ÝÁ´Â·²ã(Data Link Layer,DL)
3.ÍøÂç²ã(Network Layer,N)
4.ÔËÊä²ã(Transport Layer,T)
5.»á»°²ã(Session Layer,S)
......