linuxÄÚºËÇý¶¯
ÄÚºËÇý¶¯·ÖÀà
Çý¶¯ÊµÏÖ¹¦ÄÜ£º
¶Á
д
´ò¿ª
ÉèÖÃ
×îÖÕÄ¿µÄ²Ù×÷Ó²¼þÉ豸£ºÊý¾Ý´«ÊäºÍÊý¾Ý¿ØÖÆ
Ó²¼þ²Î¿¼ÊֲᣬÄÚºËÌṩµÄ¹¦ÄÜ£º²Ù×÷ʱÐò£¬×ÜÏßÈçºÎ²Ù×÷£¬ÄÚºËAPI
1.×Ö·ûÉ豸£¨char£©
2.¿éÉ豸£¨block£©
3.ÍøÂçÉ豸£¨net£©
ÄÚºËÄ£¿é²Ù×÷ÃüÁî
make
¼ÓÔØ:sudo modprobe ./ModuleHellowWorld
sudo insmod ./ModuleHellowWorld.ko
²é¿´ÄÚºËÄ£¿é£ºlsmod
dmseg
Ð¶ÔØÄÚºËÄ£¿é£ºrmmod
×Ö·ûÉ豸Çý¶¯¿ª·¢
Ïà¹ØÎĵµ£º
»úÆ÷¼ÓµçÆô¶¯ºó,BIOS¿ªÊ¼¼ì²â²ÎÊý,ÈçÄÚ´æµÄ´óС,ÈÕÆÚºÍʱ¼ä,´ÅÅÌ
É豸ÒÔ¼°ÕâЩ´ÅÅÌÉ豸ÓÃÀ´Òýµ¼µÄ˳Ðò,ͨ³£Çé¿öÏ£¬BIOS¶¼ÊDZ»ÅäÖóÉÊ×Ïȼì²é
ÈíÇý»òÕß¹âÇý£¨»òÁ½Õß¶¼¼ì²é£©£¬È»ºóÔÙ³¢ÊÔ´ÓÓ²ÅÌÒýµ¼¡£Èç¹ûÔÚÕâЩ¿ÉÒÆ¶¯µÄÉè
±¸ÖУ¬Ã»ÓÐÕÒµ½¿ÉÒýµ¼µÄ½éÖÊ£¬ÄÇôBIOSͨ³£ÊÇתÏòµÚÒ»¿éÓ²ÅÌ×î³õµÄ¼¸¸öÉÈÇø£¬
ѰÕÒÓÃÓÚ×°ÔØ²Ù×÷Ï ......
×÷ÕߣºÎ¤¶«É½,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
Ëæ×ÅǶÈëʽÐÐÒµÓ²¼þƽ̨µÄÐÔÄÜÔöÇ¿£¬ÏîÄ¿ÐèÇóºÍ¹¦ÄÜÈÕÒæ¸´ÔÓ£¬ARM¹«Ë¾ÍƳöµÄ CORTEX-M3£¬¸üÊÇÈÃÒÔÍù×öµ¥Æ¬»úµÄ¹¤³ÌʦÔÚоƬºÍ¼¼ÊõÑ¡ÐÍÃæÁÙÁ½ÄÑÑ¡Ôñ£¬±¾×¨Ì⽫´ÓоƬ¼Û¸ñ¡¢Õû¸öϵͳµÄÓ²¼þÈí¼þÉè¼Æ¼°Î¬»¤µÄ³É±¾µÈ¸÷¸ö·½Ãæ¸øÄúÌṩһ¸ö²Î¿¼£¬ ²¢´Ó¼¼Êõ½Ç¶È·ÖÎöµ¥Æ¬»úºÍ´ø²Ù×÷ϵͳµÄÏµÍ ......
ʹÓÃInputStreamºÍOutputStreamÀ´»ñµÃÃüÁîÐÐÔËÐнá¹ûºÍÊäÈëÄÚÈÝÊÇÊ×ÏÈÐèÒª¾ß±¸µÄ.
È»ºóÒª½â¾öSSHÁ¬½ÓÎÊÌâ.
ÔÚOpenSourceÏîÄ¿ÀïÕÒµ½ÁËGanymed SSH-2 for Java .ÏÂÔØºóÓÐÀý×Ó,µ«ÊÇûÓÐÕÒµ½Óйؽ»»¥ÃüÁîµÄÀý×Ó.ËùÒÔ×Ô¼ºÌ½Ë÷ÁËÒ»ÏÂ
ÔÚÍøÉÏ¿´ÓÐÀÏÍâÌÖÂÛÓÃÕâ¸öÈçºÎ¸ÄÃÜÂë,»ù±¾ÉϵÄÎÊÌâ¶¼ÊÇÒòΪÕÒ²»µ½·µ»ØµÄÌáʾ
LinuxÐÞ¸ÄÃÜ ......
¿´Ô´´úÂë¡£
#include <linux/kernel.h>
#include <linux/module.h>
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif
int init_module()
{
printk("Hello, I'm kernel\n");
return 0;
}
void cleanup_module()
{
printk("I'm kernel, bye\n");
} ......
fg¡¢bg¡¢jobs¡¢&¡¢ctrl + z¶¼ÊǸúϵͳÈÎÎñÓйصģ¬ËäÈ»ÏÖÔÚ»ù±¾Éϲ»ÔõôÐèÒªÓõ½ÕâЩÃüÁµ«Ñ§»áÁËÒ²ÊǺÜʵÓõÄ
Ò»¡£& ×î¾³£±»Óõ½
Õâ¸öÓÃÔÚÒ»¸öÃüÁîµÄ×îºó£¬¿ÉÒÔ°ÑÕâ¸öÃüÁî·Åµ½ºǫִ́ÐÐ
¶þ¡£ctrl + z
¿ÉÒÔ½«Ò»¸öÕýÔÚǰִ̨ÐеÄÃüÁî·Åµ½ºǫ́£¬²¢ÇÒÔÝÍ£
Èý¡£jobs
& ......