Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÖжÏÓëÒì³£2

¸ß¼¶¿É±à³Ì¿ØÖÆÆ÷
Èç¹ûϵͳֻÓÐÒ»¸öcpu£¬Ö÷picÊä³öÏßÒÔÖ±½ØÁ˵±µÄ·½Ê½Á¬½Óµ½cpuµÄintrÒý½Å¡£Èç¹ûϵͳÖаüº¬Á½¸ö»ò¶à¸öcpu,¾ÍÐèÒª¸ü¼Ó¸´ÔÓµÄpic.
intel´Óp3¿ªÊ¼ÒýÈëi/o¸ß¼¶¿É±ä³É¿ØÖÆÆ÷£¨APIC£©×é¼þ¡£80x86΢´¦ÀíÆ÷µ±Ç°ËùÓеÄcpu¶¼º¬ÓÐÒ»¸ö±¾µØapic¡£Ã¿¸ö±¾µØapic¶¼ÓÐ32λ¼Ä´æÆ÷£¬Ò»¸öÄÚ²¿Ê±ÖÓ£¬Ò»¸ö±¾µØ¶¨ÊÇÉ豸ÒÔ¼°Îª±¾µØapicÖжϱ£ÁôµÄÁ½Ìõ¶îÍâµÄirqÏßlint0ºÍlint1¡£ËùÓб¾µØapic¶¼Á¬½Óµ½Ò»¸öÍⲿi/o apic£¬ÐγÉÒ»¸ö¶àapicϵͳ¡£
i/o apicµÄ×é³É£ºÒ»×é24ÌõirqÏߣ¬Ò»ÕÅ24ÏîµÄÖж϶¨Ïò±í£¨interrupt redirection table£©£¬¿É±à³Ì¼Ä´æÆ÷£¬ÒÔ¼°Í¨¹ýapic×ÜÏß·¢ËͺͽÓÊÕapicÐÅÏ¢µÄÒ»¸öÐÅÏ¢µ¥Ôª£¬ÖжÏÓÅÏȼ¶²¢²»ÓëÒý½ÅºÅÏà¹ØÁª£ºÖжÏÖØ¶¨Ïò±íÖеÄÿһÏî¶¼¿ÉÒÔ±»µ¥¶À±ä³ÉÒÔÖ¸Ã÷ÖжÏÏòÁ¿ºÍÓÅÏȼ¶£¬Ä¿±ê´¦ÀíÆ÷ÒÔ¼°Ñ¡Ôñ´¦ÀíÆ÷µÄ·½Ê½¡£Öض¨Ïò±íÖеÄÐÅÏ¢ÓÃÓÚ°Ñÿ¸öÍⲿirq ÐźÅת»»ÎªÒ»ÌõÏûÏ¢£¬Í¨¹ýapic×ÜÏß°ÑÏûÏ¢·¢Ë͸øÒ»¸ö»òÕß¶à¸ö±¾µØapicµ¥Ôª¡£
À´×ÔÍⲿӲ¼þÉ豸µÄÖжÏÇëÇóÒÔÁ½ÖÖ·½Ê½ÔÚ¿ÉÓÃcpuÖ®¼ä·Ö·¢£º
1¾²Ì¬·Ö·¢£ºirqÐźŴ«µÝ¸øÖض¨Ïò±íÏàÓ¦ÏîÖÐËùÁгöµÄ±¾µØapic¡£ÖжÏÁ¢¼´´«µÝ¸øÒ»¸öÌØ¶¨µÄcpu£¬»òÕßÒ»×écpu,»òÕßËùÓÐcpu.
2¶¯Ì¬·Ö·¢£ºÈç¹û´¦ÀíÆ÷ÕýÔÚÖ´ÐÐ×îµÍÓÅÏȼ¶µÄ½ø³Ì£¬irqÐźžʹ«µÝ¸øÕâÖÖ´¦ÀíÆ÷µÄ±¾µØapic.
ÿ¸ö±¾µØapic¶¼ÓÐÒ»¸ö¿É±à³ÌÈÎÎñÓÅÏȼ¶¼Ä´æÆ÷£¨task priority register£©trrÓÃÀ´¼ÆË㵱ǰÔËÐнø³ÌµÄÓÅÏȼ¶¡£intelÏ£ÍûÔÚ²Ù×÷ϵͳÄÚºËÖÐͨ¹ýÿ´Î½ø³ÌÇл»¶ÔÕâ¸ö¼Ä´æÆ÷½øÐÐÐ޸ġ£
Èç¹ûÁ½¸ö»òÕß¶à¸öcpu¹²Ïí×îµÍÓÅÏȼ¶£¬¾ÍÀûÓÃÖٲü¼ÊõÔÚÕâЩcpuÖ®¼ä·ÖÅ为ºÉ¡£ÔÚ±¾µØapicµÄÖÙ²ÃÓÅÏȼ¶¼Ä´æÆ÷ÖУ¬¸øÃ¿¸öcpu¶¼·ÖÅäÒ»¸ö0£­15·¶Î§ÄÚµÄÊýÖµ¡£
ÿµ±Öжϴ«µÝ¸øÒ»¸öcpuʱ£¬ÆäÏàÓ¦µÄÖÙ²ÃÓÅÏȼ¶¾Í×Ô¶¯ÉèÖÃΪ0£¬¶øÆäËûÿ¸öcpuµÄÖÙ²ÃÓÅÏȼ¶¶¼Ôö¼Ó1.µ±ÖÙ²ÃÓÅÏȼ¶¼Ä´æÆ÷´óÓÚ15ʱ£¬¾Í°ÑËüÉèÖÃΪ»ñʤcpuµÄǰһ¸öÖÙ²ÃÓÅÏȼ¶¼Ó1.Òò´Ë£¬ÖжÏÒÔÂÖת·½Ê½ÔÚcpuÖ®¼ä·Ö·¢£¬ÇÒ¾ßÓÐÏàͬµÄÈÎÎñÓÅÏȼ¶¡£
³ýÁËÔÚ´¦ÀíÆ÷Ö®¼ä·Ö·¢ÖжÏÍ⣬¶àapicϵͳ»¹ÔÊÐícpu²úÉú´¦ÀíÆ÷¼äÖжϡ£µ±Ò»¸öcpuÏ£Íû°ÑÖжϷ¢¸øÁíÒ»¸öcpuʱ£¬¾ÍÔÚ×Ô¼º±¾µØapicµÄÖжÏÖ¸Áî¼Ä´æÆ÷£¨interrupt command register,ICR£©Öдæ·ÅÕâ¸öÖжÏÏòÁ¿ºÍÄ¿±ê±¾µØ APIC±êʶ·û¡£È»ºóͨ¹ýapic×ÜÏßÏòÄ¿±ê±¾µØapic·¢ËÍÒ»ÌõÏûÏ¢£¬´Ó¶øÏò×Ô¼ºµÄcpu·¢³öÒ»¸öÏàÓ¦µÄÖжϡ£
Òì³££º80x86΢´¦ÀíÆ÷·¢²¼ÁË´óÔ¼20ÖÖ²»Í¬µÄÒì³£¡£Äں˱ØÐëΪÿÖÖÒì³£Ìṩһ¸öרÃŵÄÒì³£´¦Àí³ÌÐò¡£
ÖжÏÏòÁ¿±í£¨interrupt descriptor table IDT£©ÊÇÒ»¸ö


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

linuxÄں˺¯Êý±Ê¼Ç(¶þ)

ÐźÅÖ¸¶¨´¦Àíº¯Êý
void (*signal (int signum,void (*handle)(int)))(int);ÉèÖÃij¸öÐźŵĴ¦Àí·½·¨
int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact);ÓÃÓÚ¼ì²é»ò¸Ä±ä½ø³ÌÔÚ½Óµ½ÐźÅʱµÄ¶¯×÷
Ðźż¯²Ù×÷º¯Êý
static inline void sigaddset(sigset_t *set,int _sig);
static inline voi ......

linuxÏÂcÓïÑԹػú³ÌÐò

/* Offtimer.c.For auto halt. */
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#define DELAY 60/* Time of sleeping */
int main()
{
  time_t now;
  struct tm *p;
  
  while(1)
  {
  now = time(NULL);
&n ......

Linux×öÒ»¸ö¹¦ÄÜÍ걸µÄ·ÓÉÆ÷

±¾ÎÄÖ÷Òª½éÉÜÈçºÎÓÃLinux×öÒ»¸ö¹¦ÄÜÍ걸µÄ·ÓÉÆ÷£¬ÕâÀォÖ÷Òª½éÉܾ²Ì¬Â·ÓÉÆ÷ºÍ¶¯Ì¬Â·ÓÉÆ÷µÄÅäÖ㬵«²»°üÀ¨IPαװ»òÕß˵¹«ÓÃÒ»¸öIPµØÖ··ÃÎÊÍâÃæÍøÂçµÈÎÊÌâ¡£ÆäÒѾ­²»ÊôÓÚ±¾Ö÷ÌâÌÖÂ۵ķ¶Î§£¬Çë²Î¿¼ÆäËûÈç·À»ðǽµÄÅäÖõȵÄÄÚÈÝ¡£
LRP(Linux Router Project)ÒѾ­³ÉÁ¢ÁËÓкü¸ÄêµÄʱ¼äÁË¡£Õâ¸ö¼Æ»®µÄÄ¿µÄÊÇÀûÓÃLinux²Ù×÷ϵͳ½«À ......

WinCE EbootÖмÓÈëLinux bootµÄÖ§³Ö

Index: flash.c
===================================================================
--- flash.c    (revision 1804)
+++ flash.c    (working copy)
@@ -26,6 +26,8 @@
#include "ebootnand.h"
#include "ll_nand.h"
#includ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ