ÍøÂçÅäÖÃ:
¡¡¡¡VMware°²×°ºó»áÓм¸¸öĬÈÏÍø¿¨£¬·Ö±ðÊÇVmnet0£¬Vmnet1ºÍVmnet8£¬³£ÓÃHOST-ONLY£¬BridgeºÍNATÁªÍø·½Ê½¡£±¾ÎĽéÉÜNAT·½Ê½¡£
VmwareÉèÖãº
ÔÚVmwareÉèÖúÃUbuntuµÄÍøÂçÁ¬½Ó·½Ê½£¬Ñ¡ÔñNAT
IPµØÖ·¿ÉÒÔͨ¹ývmware>edit>virtual networking settings ²é¿´£¬ÈçÏÂͼ£º
NATÉèÖãº
DHCPÉèÖãº
UbuntuÉèÖãº
¡¡¡¡ÐÞ¸ÄUbuntuµÄÍøÂçÅäÖãº
system>network>Ñ¡Ôñetho£¬Í¬Ê±ÉèÖÃIPΪ×Ô¶¯»ñÈ¡¡£Ôö¼ÓDNS£¬Ôö¼ÓvmwareÖÐnat»ñÈ¡µÄ¶¯Ì¬DNS
¡¡¡¡1) ÉèÖþ²Ì¬IP¡¢Íø¹Ø¡¢ÑÚÂëµÈ¡£vi /etc/network/interfaces£¬Ìí¼ÓÒÔÏÂÄÚÈÝ£º
¡¡¡¡iface eth0 inet static
¡¡¡¡address 192.168.0.149
¡¡¡¡netmask 255.255.255.0
¡¡¡¡gateway 192.168.0.2
¡¡¡¡auto eth0
µ±È»¿ÉÒÔʹÓö¯Ì¬IP£¬Ö»ÒªXPÖеÄVmware DHCPºÍVmware NAT·þÎñ³É¹¦Æô¶¯£º
È»ºóÅäÖÃÈçÏ£º
# The loopback network interface£¨ÅäÖû·»Ø¿Ú£©
¡¡¡¡auto lo &nbs ......
ÆäʵÕâ²ÅÓ¦¸ÃÊÇÕâһϵÁÐÎÄÕµĵÚÒ»½Ú£¬ÒòΪÕâÆªÎÄÕ½²µÄÊÇÅ̹ſªÌìµØµÄÊ¡£»°ËµMr.
ProcessÊÇÒ»¸öÏÖ´úÈË£¬µ«ÊÇ£¬Ö»ÒªÊÇÈË£¬×ܸÃÓиö׿ÏÈ¡£ÈËÃÇ×ÜÏëÖªµÀ×Ô¼º´ÓÄÄÀ´£¬È»ºó²Å¿ÉÒÔ¹ÀÃþËãÒ»ÏÂ×Ô¼º½«È¥ÏòºÎ·½¡£ËùÒÔÔÛÒ²ÒªÁ˽âÒ»ÏÂ
LinuxµÄÊÀ½çÀïÈËÀàµÄÆðÔ´¡£
ͼ1£º´ÓÉϵ絽BIOS
°´ÏµçÔ´¿ª¹ØµÄÄǸöÕæÊµµÄÈ˾ÍÊÇLinuxÊÀ½çÀïµÄÉϵۣ¬Ëû´´ÔìÁËLinuxÊÀ½çµÄÒ»ÇС£µ±Ëû°´Ï»úÏäÉϵĵçÔ´¿ª¹ØÊ±£¬Ö÷°å¿ªÊ¼¹©µç£¬CPUÉϵÄ
Reset
Pin±»À¸ß£¬Õâ»áÒýÆðCPUµÄһϵÁж¯×÷£¬ÕâЩ¶¯×÷ÊÇоƬÉè¼ÆÊ±¾Í¾ö¶¨µÄ¡£CPUÖеÄһЩ¼Ä´æÆ÷±»ÖÃΪ¹Ì¶¨µÄÖµ£¬ÒòΪÕâЩ¼Ä´æÆ÷¿ÉÄÜÔÚÆô¶¯µÄ¹ý³ÌÖÐҪʹ
Ó㬱ÈÈçCS£¨´úÂë¶Î¼Ä´æÆ÷£©ºÍEIP£¨Ö¸ÕëÖ¸Áî¼Ä´æÆ÷£©¡£ÕâÒ»²½Íê³ÉÖ®ºó£¬CPU¾Í¿É¿ªÖ´ÐеØÖ·Îª0xfffffff0ÀïµÄROMÖеijÌÐò¡£Õâ¶Î³ÌÐò¾Í
ÊÇBIOS(Basic Input Output System)¡£
BIOSÍê³ÉÏÂÃæµÄ¹¦ÄÜ£º
1.POST£¨Power-On Self Test£©£º¹ËÃû˼Ãû£¬¾ÍÊDzé²éÓÐʲôÉ豸£¬ÕâЩÉ豸ÊDz»ÊÇÕý³£¡£ÒªÊÇCPUÓÐAdvanced
Configuration and Power Interface(ACPI
)µÄÖ§³Ö£¬Ò²ÔÚÕâ¸öʱºò½øÐС£ACPIÊÇÓÃÀ´¶ÔµçÔ´½øÐйÜÀíµÄ£¬ÓÃÀ´½ÚµçÖ®ÀàµÄ¡£
2.³õʼ»¯É豸£ºÈ·±£Ã»ÓÐIRQºÍIO³åÍ»¡£
3.ѰÕÒOS/Bootloader¡£ÕâÒ»²½ºóÃæµãÔÙÏ¸Ë ......
LinuxϵͳϵĶàÏß³Ì×ñÑPOSIXÏ߳̽ӿڣ¬³ÆÎª pthread¡£±àдLinuxϵĶàÏ̳߳ÌÐò£¬ÐèҪʹÓÃÍ·Îļþpthread.h£¬Á¬½ÓʱÐèҪʹÓÿâlibpthread.a¡£Ë³±ã˵һÏ£¬Linux ÏÂpthreadµÄʵÏÖÊÇͨ¹ýϵͳµ÷ÓÃclone£¨£©À´ÊµÏֵġ£clone£¨£©ÊÇ LinuxËùÌØÓеÄϵͳµ÷Óã¬ËüµÄʹÓ÷½Ê½ÀàËÆfork£¬¹ØÓÚclone£¨£©µÄÏêϸÇé¿ö£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÈ¥²é¿´ÓйØÎĵµËµÃ÷¡£ÏÂÃæÎÒÃÇչʾһ¸ö×î¼òµ¥µÄ¶àÏ̳߳ÌÐò pthread_create.c¡£
Ò»¸öÖØÒªµÄÏ̴߳´½¨º¯ÊýÔÐÍ£º
#include <pthread.h>
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void *(*start_rtn)(void),void *restrict arg);
·µ»ØÖµ£ºÈôÊdzɹ¦½¨Á¢Ï̷߳µ»Ø0,·ñÔò·µ»Ø´íÎóµÄ±àºÅ
ÐÎʽ²ÎÊý£º
pthread_t *restrict tidp Òª´´½¨µÄÏ̵߳ÄÏß³ÌidÖ¸Õë
const pthread_attr_t *restrict attr ´´½¨Ïß³ÌʱµÄÏß³ÌÊôÐÔ
&nbs ......
ÔPDF£º ¡¶縮減 LinuxǶÈëʽϵ統軟體: ·½·¨與實Àý ¡·
×÷ÕߣºÁºÔª±ë ÁÖÓ¯´ï
Áõ½¨ÎÄÕûÀí£¨http://blog.csdn.net/keminlau £©
KEY£ºÇ¶Èëʽ²Ù×÷ϵͳ ²Ã¼õ linux embedded
¹úÁ¢½»Í¨´óѧ×ÊѶ¿ÆÑ§Ïµ
300 ÐÂÖñÊдóѧ· 1001 ºÅ
Tel: 03-5712121 ext. 56667 Fax: 03-5712121 ext. 59263 {upleong £¬ ydlin}@cis.nctu.edu.tw ÁªÂçÈË : ÁºÔª±ë
ÕªÒª
¿ªÔ´£¨¿ª·ÅÔ´´úÂ룩µÄѸËÙ·¢Õ¹£¬ÕýÖð²½ÉøÍ¸ÖÁǶÈëʽÁìÓò£¬Á½ÕߵĽáºÏ½«³ÉΪºó¸öÈ˵çÄÔʱ´úÖм«ÎªÖØÒªµÄÒ»»·¡£Ê×ÏÈÎÒÃÇÔÚ´Ë̽ÌÖʹÓà Linux ×÷ΪǶÈëʽ²Ù×÷ϵͳµÄ·½·¨£¬Í¸¹ýÈçºÎ¶ÔÄÚºË (kernel) £¬ÊØ»¤½ø³Ì (daemons) £¬³ÌÐò¿â (libraries) ºÍÓ¦ÓóÌÐò (applications / utilities) µÈËĸöÖ÷Òª²¿·Ý£¬½øÐвüõÆä´óСºó£¬ÒÔ±ãÅäÖÃÔÚÒÔÉÁ´æÎª´¢´æÉ豸µÄǶÈëʽϵͳÖС£½Ó×ÅÒÔÌṩ VPN ¡¢·À»ðǽ¡¢ÈëÇÖÕì²âϵͳ (IDS) µÈ¹¦Äܵİ²È«Íø¹Ø [1] ×÷ΪÀý×Ó£¬ËµÃ÷ÈçºÎ½¨Á¢Ò»¸öÍêÕûµÄǶÈëʽ Linux ϵͳ¡£×îºóÎÒÃǰÑÓµÓÐÒÔÉÏËùÓй¦Äܵİ²È«Íø¹Ø£¬´ÓʹÓà Redhat µÄϵͳ ( Ô¼ 1.3 GBytes) ÒÔ¼°¶îÍâµÄ RPM Èí¼þ°ü ( Ô¼ 15 Mbytes) £¬³É¹¦²Ã¼õϵͳ ÖÁ 19 Mbytes ¡£¾Ñ¹ËõΪ 7 Mbytes ºó£¬ÖÃÓÚÅ䱸 64M ......
I2CÊÇPhillips¿ª·¢µÄ2ÏߵĴ®ÐÐ×ÜÏßÐÒ顣ͨ³£Ó¦ÓÃÔÚǶÈëʽϵͳÖÐÈò»Í¬µÄ×é¼þͨÐÅ£¬PCÖ÷°å¿ÉÒÔͨ¹ýI2CÀ´Ó벻ͬµÄ´«¸ÐÆ÷ͨÐÅ¡£ÕâЩ´«¸ÐÆ÷ͨ³£±¨¸æ·çÉÈËÙ¶È£¬´¦ÀíÆ÷ζȺÍÕû¸öÓ²¼þϵͳµÄÐÅÏ¢£¬Õâ¸öÐÒéÒ²¿ÉÒÔÓÃÔÚRAM chipsÉÏ£¬Ïò²Ù×÷ϵͳÌṩDIMMµÄÐÅÏ¢¡£
ÔÚ2.0ʱI2CµÄkernelÔ´Âë²»ÔÚÄÚºËÀïµÄ£¬2.4Äں˰üÀ¨ÁËÒ»µã¶ÔI2CµÄÖ§³Ö£¬Ö÷ÒªÊÇÊÓÆµÇý¶¯¡£
ÔÚ2.6ÄÚºËÀ´óÁ¿µÄI2C´úÂë¼ÓÈëµ½ÁËÄÚºËÀï¡£¸ÐлºÜ¶àÄں˿ª·¢ÕßµÄŬÁ¦£¬ËûÃÇÈýӿڸüÈÝÒ×±»ÄÚºËÉçÇø½ÓÊÜ¡£ÓÐЩÇý¶¯ÈÔÔÚÍⲿµÄCVSÊ÷ÀûÓзÅÈëkernel.orgÀµ«ÊÇËûÃDZ»ÒÆÖ²Ö»ÊÇʱ¼äµÄÎÊÌâ¡£
I2CµÄkernelÔ´Âë±»·Ö³É¼¸¸ö²¿·Ö£ºthe I2C core, I2C bus drivers£¬I2C algorithm drivers and I2C chip drivers¡£ÎÒÃǽ«ºöÂÔI2C core²¿·Ö£¬¶øÊǹØ×¢ÈçºÎ±àдa bus and algorithm Çý¶¯¡£
I2C Bus Drivers ×ÜÏßÇý¶¯
I2C×ÜÏßÇý¶¯ÓÃÒ»¸ö½á¹¹i2c_adapterÀ´ÃèÊö£¬¸Ã½á¹¹ÔÚÎļþinclude/linux/i2c.hÀﶨÒå¡£
ÒÔϵÄ×Ö¶ÎÐèÒªÔÚ×ÜÏßÇý¶¯ÀïÉèÖãº
struct module *owner; -set to the value (THIS_MODULE) that allows the proper module reference counting.
unsigned int clas ......
I2CÊÇPhillips¿ª·¢µÄ2ÏߵĴ®ÐÐ×ÜÏßÐÒ顣ͨ³£Ó¦ÓÃÔÚǶÈëʽϵͳÖÐÈò»Í¬µÄ×é¼þͨÐÅ£¬PCÖ÷°å¿ÉÒÔͨ¹ýI2CÀ´Ó벻ͬµÄ´«¸ÐÆ÷ͨÐÅ¡£ÕâЩ´«¸ÐÆ÷ͨ³£±¨¸æ·çÉÈËÙ¶È£¬´¦ÀíÆ÷ζȺÍÕû¸öÓ²¼þϵͳµÄÐÅÏ¢£¬Õâ¸öÐÒéÒ²¿ÉÒÔÓÃÔÚRAM chipsÉÏ£¬Ïò²Ù×÷ϵͳÌṩDIMMµÄÐÅÏ¢¡£
ÔÚ2.0ʱI2CµÄkernelÔ´Âë²»ÔÚÄÚºËÀïµÄ£¬2.4Äں˰üÀ¨ÁËÒ»µã¶ÔI2CµÄÖ§³Ö£¬Ö÷ÒªÊÇÊÓÆµÇý¶¯¡£
ÔÚ2.6ÄÚºËÀ´óÁ¿µÄI2C´úÂë¼ÓÈëµ½ÁËÄÚºËÀï¡£¸ÐлºÜ¶àÄں˿ª·¢ÕßµÄŬÁ¦£¬ËûÃÇÈýӿڸüÈÝÒ×±»ÄÚºËÉçÇø½ÓÊÜ¡£ÓÐЩÇý¶¯ÈÔÔÚÍⲿµÄCVSÊ÷ÀûÓзÅÈëkernel.orgÀµ«ÊÇËûÃDZ»ÒÆÖ²Ö»ÊÇʱ¼äµÄÎÊÌâ¡£
I2CµÄkernelÔ´Âë±»·Ö³É¼¸¸ö²¿·Ö£ºthe I2C core, I2C bus drivers£¬I2C algorithm drivers and I2C chip drivers¡£ÎÒÃǽ«ºöÂÔI2C core²¿·Ö£¬¶øÊǹØ×¢ÈçºÎ±àдa bus and algorithm Çý¶¯¡£
I2C Bus Drivers ×ÜÏßÇý¶¯
I2C×ÜÏßÇý¶¯ÓÃÒ»¸ö½á¹¹i2c_adapterÀ´ÃèÊö£¬¸Ã½á¹¹ÔÚÎļþinclude/linux/i2c.hÀﶨÒå¡£
ÒÔϵÄ×Ö¶ÎÐèÒªÔÚ×ÜÏßÇý¶¯ÀïÉèÖãº
struct module *owner; -set to the value (THIS_MODULE) that allows the proper module reference counting.
unsigned int clas ......
¡¡ÒýÑÔ
¡¡¡¡I2C×ÜÏßÊÇPHILIPS¹«Ë¾ÍƳöµÄÁ½Ïßʽ´®ÐÐ×ÜÏߣ¬ÓÃÓÚÁ¬½Ó΢¿ØÖÆÆ÷¼°ÆäÍâΧÉ豸£¬¾ßÓмòµ¥¡¢¸ßЧµÈÌØµã¡£ÓÉÓÚÆä½Ó¿ÚÖ±½ÓÔÚ×é¼þÖ®ÉÏ£¬Òò´ËI2C×ÜÏßÕ¼ÓõĿռä·Ç³£Ð¡£¬¼õÉÙÁ˵ç·°åµÄ¿Õ¼äºÍоƬÒý½ÅµÄÊýÁ¿£¬½µµÍÁË»¥Áª³É±¾£¬ÌرðÊÊÓÃÓÚǶÈëʽ²úÆ·¡£
¡¡¡¡¶øLinuxϵͳ¾ßÓпªÔ´¡¢Ãâ·Ñ¡¢ÍøÉÏ×ÊÔ´·á¸»µÈÓŵ㣬ĿǰÒѳÉΪǶÈëʽϵͳµÄÖ÷Á÷Ñ¡Ôñ¡£Òò´ËÈçºÎÔÚǶÈëʽLinuxϵͳÖÐʵÏÖI2C¹¦ÄܳÉΪʵ¼Ê¿ª·¢ÖеÄÎÊÌâ¡£
¡¡¡¡I2C×ÜÏß
¡¡¡¡I2C ×ÜÏßͨ¹ý´®ÐÐÊý¾ÝSDA ºÍ´®ÐÐʱÖÓSCLÏßÔÚÁ¬½Óµ½×ÜÏߵį÷¼þ¼ä´«µÝÐÅÏ¢£¬Ã¿¸öÆ÷¼þ¶¼ÓÐÒ»¸öΨһµÄµØÖ·Ê¶±ð¡£¸ù¾ÝÊý¾Ý´«ÊäʱµÄ¹¦Äܲ»Í¬£¬°ÑÆ÷¼þ·ÖΪÖ÷»úºÍ´Ó»ú¡£Ö÷»úÊdzõʼ»¯×ÜÏßµÄÊý¾Ý´«Êä²¢²úÉúÔÊÐí´«ÊäµÄʱÖÓÐÅºÅµÄÆ÷¼þ£¬Í¨³£ÊÇ΢¿ØÖÆÆ÷¡£´Ëʱ£¬Èκα»Ñ°Ö·µÄÆ÷¼þ¶¼±»ÈÏΪÊÇ´Ó»ú£¬ÀýÈçLCDÇý¶¯Æ÷¡¢E2PROMµÈ¡£
¡¡¡¡I2C×ÜÏßÐÒ鹿¶¨£¬¸÷Ö÷»ú½øÐÐͨÐÅʱ¶¼ÒªÓÐÆðʼ¡¢½áÊø¡¢·¢ËÍÊý¾ÝºÍÓ¦´ðÐźš£ÕâЩÐźŶ¼ÊÇͨÐŹý³ÌÖеĻù±¾µ¥Ôª¡£ÆðʼÐźžÍÊÇÔÚSCLÏßΪ¸ßʱSDAÏߴӸ߱仯µ½µÍ£»Í£Ö¹ÐźžÍÊÇÔÚSCLÏßΪ¸ßʱSDAÏߴӵͱ仯µ½¸ß£»Ó¦´ðÐźÅÊÇÔÚSCLΪ¸ßʱSD
AΪµÍ£»·ÇÓ¦´ðÐźÅÏà·´£¬ÊÇÔÚSCLΪ¸ßʱSDAΪ¸ß¡£
¡¡¡¡×ÜÏß´«Ë͵Äÿ1Ö¡Êý¾Ý¾ùÊÇ1¸ ......
¡¡ÒýÑÔ
¡¡¡¡I2C×ÜÏßÊÇPHILIPS¹«Ë¾ÍƳöµÄÁ½Ïßʽ´®ÐÐ×ÜÏߣ¬ÓÃÓÚÁ¬½Ó΢¿ØÖÆÆ÷¼°ÆäÍâΧÉ豸£¬¾ßÓмòµ¥¡¢¸ßЧµÈÌØµã¡£ÓÉÓÚÆä½Ó¿ÚÖ±½ÓÔÚ×é¼þÖ®ÉÏ£¬Òò´ËI2C×ÜÏßÕ¼ÓõĿռä·Ç³£Ð¡£¬¼õÉÙÁ˵ç·°åµÄ¿Õ¼äºÍоƬÒý½ÅµÄÊýÁ¿£¬½µµÍÁË»¥Áª³É±¾£¬ÌرðÊÊÓÃÓÚǶÈëʽ²úÆ·¡£
¡¡¡¡¶øLinuxϵͳ¾ßÓпªÔ´¡¢Ãâ·Ñ¡¢ÍøÉÏ×ÊÔ´·á¸»µÈÓŵ㣬ĿǰÒѳÉΪǶÈëʽϵͳµÄÖ÷Á÷Ñ¡Ôñ¡£Òò´ËÈçºÎÔÚǶÈëʽLinuxϵͳÖÐʵÏÖI2C¹¦ÄܳÉΪʵ¼Ê¿ª·¢ÖеÄÎÊÌâ¡£
¡¡¡¡I2C×ÜÏß
¡¡¡¡I2C ×ÜÏßͨ¹ý´®ÐÐÊý¾ÝSDA ºÍ´®ÐÐʱÖÓSCLÏßÔÚÁ¬½Óµ½×ÜÏߵį÷¼þ¼ä´«µÝÐÅÏ¢£¬Ã¿¸öÆ÷¼þ¶¼ÓÐÒ»¸öΨһµÄµØÖ·Ê¶±ð¡£¸ù¾ÝÊý¾Ý´«ÊäʱµÄ¹¦Äܲ»Í¬£¬°ÑÆ÷¼þ·ÖΪÖ÷»úºÍ´Ó»ú¡£Ö÷»úÊdzõʼ»¯×ÜÏßµÄÊý¾Ý´«Êä²¢²úÉúÔÊÐí´«ÊäµÄʱÖÓÐÅºÅµÄÆ÷¼þ£¬Í¨³£ÊÇ΢¿ØÖÆÆ÷¡£´Ëʱ£¬Èκα»Ñ°Ö·µÄÆ÷¼þ¶¼±»ÈÏΪÊÇ´Ó»ú£¬ÀýÈçLCDÇý¶¯Æ÷¡¢E2PROMµÈ¡£
¡¡¡¡I2C×ÜÏßÐÒ鹿¶¨£¬¸÷Ö÷»ú½øÐÐͨÐÅʱ¶¼ÒªÓÐÆðʼ¡¢½áÊø¡¢·¢ËÍÊý¾ÝºÍÓ¦´ðÐźš£ÕâЩÐźŶ¼ÊÇͨÐŹý³ÌÖеĻù±¾µ¥Ôª¡£ÆðʼÐźžÍÊÇÔÚSCLÏßΪ¸ßʱSDAÏߴӸ߱仯µ½µÍ£»Í£Ö¹ÐźžÍÊÇÔÚSCLÏßΪ¸ßʱSDAÏߴӵͱ仯µ½¸ß£»Ó¦´ðÐźÅÊÇÔÚSCLΪ¸ßʱSD
AΪµÍ£»·ÇÓ¦´ðÐźÅÏà·´£¬ÊÇÔÚSCLΪ¸ßʱSDAΪ¸ß¡£
¡¡¡¡×ÜÏß´«Ë͵Äÿ1Ö¡Êý¾Ý¾ùÊÇ1¸ ......