[ת]×Ô¼º¶¯ÊÖ´òÔìǶÈëʽLinuxÈíÓ²¼þ¿ª·¢»·¾³
ÔÎĵØÖ·£ºhttp://www.xxlinux.com/linux/article/development/embed/20080227/14047.html
LinuxºÍuClinux
LinuxÕýÖð½¥µØÓ¦ÓÃÓÚǶÈëʽÉ豸£¬uClinuxÕýÊÇÔÚÕâÖÖ·ÕΧϲúÉúµÄ¡£uClinux¾ÍÊÇMicro-Control-Linux£¬ËüÒ²ÊÇÒ»¸ö¿ªÔ´ÏîÄ¿£¬uClinuxµÄÔ´´úÂëºÍ¿ª·¢¹¤¾ß¿ÉÒÔÃâ·Ñ´Óhttp://www.uclinux.orgÉÏÏÂÔصõ½¡£ uClinuxÊÇרΪÄÇЩûÓÐMMU(ÄÚ´æ¹ÜÀíµ¥Ôª)µÄǶÈëʽ´¦ÀíÆ÷¿ª·¢µÄ£¬ºÍÖ÷Á÷µÄLinuxÏà±È£¬uClinuxÓÐÒÔϵÄÌص㣺
1£®¼ò»¯ÁËÄں˼ÓÔØ·½Ê½£¬uClinuxµÄÄں˿ÉÒÔÔÚFlashÉÏÖ±½ÓÔËÐУº¾ÍÊÇ°ÑuClinuxµÄÄں˵ĿÉÖ´ÐÐÓ³ÏóÉÕдµ½flashÉÏ£¬ÏµÍ³Æô¶¯Ê±´Ó FlashµÄij¸öµØÖ·¿ªÊ¼Öð¾äÖ´ÐУ»Ò²¿ÉÒÔ¼ÓÔص½ÄÚ´æÖÐÔËÐУº°ÑÄں˵ÄѹËõÎļþ´æ·ÅÔÚFlashÉÏ£¬ÏµÍ³Æô¶¯Ê±¶ÁȡѹËõÎļþÔÚÄÚ´æÀï½âѹ£¬È»ºó¿ªÊ¼Ö´ÐС£
2£®²ÉÓÃÁËromfsÎļþϵͳ×÷ΪrootÎļþϵͳ£ºÕâÖÖÎļþϵͳÏà¶ÔÓÚÒ»°ãµÄext2ÎļþϵͳҪÇó¸üÉٵĿռ䣬Ê×ÏÈÄÚºËÖ§³ÖromfsÎļþϵͳ±ÈÖ§³Öext2ÎļþϵͳÐèÒª¸üÉٵĴúÂ룬Æä´ÎromfsÎļþϵͳÏà¶Ô¼òµ¥£¬½¨Á¢ÎļþϵͳsuperblockÐèÒª¸üÉٵĴ洢¿Õ¼ä¡£RomfsÎļþϵͳ²»Ö§³Ö¶¯Ì¬²Áд£¬¶ÔÓÚϵͳÐèÒª¶¯Ì¬±£´æµÄÊý¾Ý²ÉÓÃRAMÅ̵ķ½·¨´¦Àí£¬RAMÅ̲ÉÓÃext2Îļþϵͳ¡£
3£®Ê¹ÓÃÁËFlat¿ÉÖ´ÐÐÎļþ¸ñʽ£ºelf¸ñʽÓкܴóµÄÎļþÍ·£¬flatÎļþ¶ÔÎļþÍ·ºÍһЩ¶ÎÐÅÏ¢×öÁ˼ò»¯¡£
4£®ÖØдÁËÓ¦ÓóÌÐò¿â£º uClibc¶Ôlibc×öÁ˾«¼ò£¬uClinux¶ÔÓû§³ÌÐò²ÉÓþ²Ì¬Á¬½ÓµÄÐÎʽ¡£
uClinuxµÄ¿ª·¢»·¾³
www.uclinux.org ΪuClinuxÌṩÁËGNUµÄ½»²æ±àÒëÆ÷£¬°üÀ¨ÒÔÏÂ×é¼þ£º
gcc½»²æ±àÒëÆ÷£¬¼´ÔÚËÞÖ÷»úÉÏ¿ª·¢±àÒëÄ¿±êÉÏ¿ÉÔËÐеĶþ½øÖÆÎļþ£»
binutils¸¨Öú¹¤¾ß£¬°üÀ¨objdump¡¢as¡¢ldµÈ£»
gdbµ÷ÊÔÆ÷¡£
ÒÔÔÚARM7ÉÏ¿ª·¢uClinuxΪÀý£º
1£®»ñµÃ uClinux-distµÄÔ´Âë°ü
www.uclinux.orgÉ϶¨ÆÚΪÐÂÍƳöµÄLinuxÄÚºËÍƳöÏàÓ¦µÄÔ´Âë°ü£¬×îеİ汾ΪKernel-2.4.21,¿ÉÒÔ´Óhttp://www.uclinux.org/pub/uClinux/dist/ ÉÏÃâ·
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
[root@nonamelinux ~]# free
total used free shared buffers cached
Mem: 386024 377116 8908 0 21280 155468
-/+ buffers/cache: 200368 185656
Swap: 393552 0 393552
ÏÂÃæÊǶÔÕâЩÊýÖµµÄ½âÊÍ£º
µÚ¶þÐÐ(mem)£º
total:×ܼÆÎïÀíÄÚ´æµÄ´óС¡£
used:ÒÑʹÓöà´ó¡£
free:¿ÉÓÃÓжàÉÙ¡£
Shared:¶à¸ö½ø³Ì¹²ÏíµÄÄÚ ......
1. ²½ÖèÒ»
·¨Ò»£ºÐÞ¸Äϵͳ±àÒëʱҪÓõ½µÄConfig.in£¬Ôö¼ÓÄãÒªÓõÄÈ«¾Ö±äÁ¿
·¨¶þ£ºÐ´Ò»¸ö×Ô¼ºµÄConfig.in,È»ºóÔÚÆäËû»á±àÒëµ½µÄConfig.inÖаüº¬
2.²½Öè¶þ
make menuconfig
Ö®ºóÔÚÉú³ÉµÄ.configÖУ¬¾Í¿ÉÒÔgrepµ½ÐÂÌí¼ÓµÄ±äÁ¿ÁË
3.²½ÖèÈý
ÔÚMakefileÖоͿÉÒÔÓÃÕâ¸ö±äÁ¿ÁË¡£ ......
Purpose
This examples shows how to create and stop a kernel thread.
The driver is implemented as a loadable module. In the init_module() routine five kernel threads are created. This kernel threads sleep one second, wake up, print a message and fall asleep again. On unload of the module (cle ......