LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç1 LinuxÉ豸Çý¶¯ÈëÃÅ
ʲôÊÇÇý¶¯£¿
×îͨË׵ĽâÊ;ÍÊÇ“ÇýʹӲ¼þÉ豸Ðж¯”
×÷Óã¿
É豸Çý¶¯Óëµ×²ãÓ²¼þÖ±½Ó´ò½»µÀ£¬°´ÕÕÓ²¼þÉ豸µÄ¾ßÌ幤×÷·½Ê½¶ÁдÉ豸¼Ä´æÆ÷£¬Íê³ÉÉ豸µÄÂÖѯ¡¢Öжϴ¦Àí¡¢DMAͨÐÅ£¬½øÐÐÎïÀíÄÚ´æÏòÐéÄâÄÚ´æµÄÓ³É䣬×îÖÕʹͨÐÅÉ豸Äܹ»ÊÕ·¢Êý¾Ý£¬Ê¹ÏÔʾÉ豸Äܹ»ÏÔʾÎÄ×ÖºÍ»Ãæ£¬Ê¹´æ´¢É豸Äܹ»¼Ç¼ÎļþºÅÊý¾Ý
¼ÆËã»úϵͳµÄÓ²¼þÖ÷ÒªÓÐcpu¡¢´æ´¢Æ÷¡¢ÍâÉè×é³É¡£µ«ÊÇËæ×ÅICÖÆÔ칤Òյķ¢Õ¹£¬Ä¿Ç°£¬Ð¾Æ¬µÄ¼¯³É¶ÈÔ½À´Ô½¸ß£¬ÍùÍùcpuÄÚ²¿¾Í¼¯³ÉÁË´æ´¢Æ÷ºÍÍâÉèÊÊÅäÆ÷¡£ARM´¦ÀíÆ÷¼¯³ÉÁËUART¡¢I2C¿ØÖÆÆ÷£¨2==ƽ·½£©¡¢USB¿ØÖÆÆ÷¡¢SDRAM¿ØÖÆÆ÷µÈ
Çý¶¯Õë¶ÔµÄ¶ÔÏóÊÇ´æ´¢Æ÷ºÍÍâÉ裨°üÀ¨cpuÄÚ²¿¼¯³ÉµÄ´æ´¢Æ÷ºÍÍâÉ裩£¬¶ø²»ÊÇÕë¶ÔcpuºË¡£Linux½«´æ´¢Æ÷ºÍÍâÉè·ÖΪ3¸ö»ù´¡´óÀࣺ×Ö·ûÉ豸¡¢¿éÉ豸¡¢ÍøÂçÉ豸
×Ö·ûÉ豸֮ÄÇЩ±ØÐëÒÔ´®ÐÐ˳ÐòÒÀ´Î½øÐзÃÎʵÄÉ豸£¬Èç´¥ÃþÆÁ¡¢´Å´øÇý¶¯Æ÷¡¢Êó±êµÈ¡£¿ÉÉ豸¿ÉÒÔ°´ÕÕÈÎÒâ˳Ðò½øÐзÃÎÊ£¬ÒÔ¿éΪµ¥Î»½øÐвÙ×÷£¬ÈçÓ²ÅÌ¡¢ÈíÇýµÈ¡£×Ö·ûÉ豸²»¾¹ýϵͳµÄ¿ìËÙ»º³å£¬¶ø¿éÉ豸¾¹ýϵͳµÄ¿ìËÙ»º³å¡£µ«ÊÇ£¬×Ö·ûÉ豸ºÍ¿éÉ豸²¢Ã»ÓÐÃ÷ÏԵĽçÏÞ£¬ÈçflashÉ豸·ûºÏ¿éÉ豸µÄÌØµã£¬µ«ÊÇÎÒÃÇÈÔÈ»¿ÉÒÔ°ÑËü×÷Ϊһ¸ö×Ö·ûÉ豸À´·ÃÎÊ
ÔÚLinuxϵͳÖУ¬ÍøÂçÉè±¸ÃæÏòÊý¾Ý°üµÄ½ÓÊպͷ¢ËͶøÉè¼Æ£¬Ëü²¢²»¶ÔÓ¦ÓÚÎļþϵͳµÄ½Úµã¡£ÄÚºËÓëÍøÂçÉ豸µÄͨÐźÍÄÚºËÓë×Ö·ûÉ豸¡¢¿éÉ豸µÄͨÐÅ·½Ê½ÍêÈ«²»Í¬¡£
ÈçÉÏͼËùʾ£¬³ýÍøÂçÉ豸Í⣬×Ö·ûÉ豸Óë¿éÉ豸¶¼±»Ó³Éäµ½LinuxÎļþϵͳµÄÎļþºÍĿ¼£¬Í¨¹ýÎļþϵͳµÄϵͳµ÷ÓýӿÚopen()¡¢write()¡¢read()¡¢close()µÈº¯Êý¼´¿É·ÃÎÊ×Ö·ûÉ豸ºÍ¿éÉ豸¡£¿éÉ豸±È×Ö·ûÉ豸¸´ÔÓ£¬ÔÚËüÉÏÃæ»áÊ×ÏȽ¨Á¢Ò»¸ö´ÅÅÌ/FlashÎļþϵͳ£¬ÈçFAT¡¢Ext3¡¢YAFFS¡¢JFFSµÈFAT¡¢Ext3¡¢YAFFS¡¢JFFS¹æ·¶ÁËÎļþºÍĿ¼ÔÚ´æ´¢½éÖÊÉϵÄ×éÖ¯
Ó¦ÓóÌÐò¿ÉÒÔʹÓÃLinuxµÄϵͳµ÷Óýӿڱà³Ì£¬Ò²¿ÉÓÉʹÓÃc¿âº¯Êý£¬³öÓÚ¿ÉÒÆÖ²ÐԵĿ¼ÂÇ£¬ºóÕ߸üÖµµÃÍÆ¼ö¡£c¿âº¯Êý±¾ÉíÒ²ÊÇͨ¹ýϵͳµ÷ÓýӿڶøÊµÏÖµÄ
ÔÚǶÈëʽϵͳµÄÉè¼ÆÖУ¬LEDÒ»°ãÖ±½ÓÓÉcpuµÄGPIO¿ØÖÆ¡£GPIOÒ»°ãÓÐÁ½×é¼Ä´æÆ÷¿ØÖÆ£¬¼´Ò»×é¿ØÖÆ¼Ä´æÆ÷ºÍÒ»×éÊý¾Ý¼Ä´æÆ÷¡£¿ØÖƼĴæÆ÷¿ÉÉèÖÃGPIO¿ÚµÄ¹¤×÷·½Ê½ÎªÊäÈë»òÊä³ö¡£µ±Òý½ÅÉèÖÃΪÊä³öʱ£¬ÏòÊý¾Ý¼Ä´æÆ÷µÄ¶ÔӦλдÈë1ºÍ0»á·Ö±ðÔÚÒý½ÅÉϲúÉú¸ßµçƽºÍµÍµçƽ£»µ±Òý½ÅÉèÖÃΪÊäÈëʱ£¬¶ÁÈ¡Êý¾Ý¼Ä´æÆ÷µÄ¶ÔӦλ¿É»ñµÃÒý½ÅÉÏÏàÓ¦µÄµçƽÐźÅ
Ïà¹ØÎĵµ£º
Tab Tab Tab
±ÈÈ磺ÓÐÒ»¸öÎļþµÄÃû×Ö½Ð×÷alsa-divers-0.39.tar.gz£¬Õ⻹²»ËãºÜ³¤°É¡£ µ±ÄãÐèҪƵ·±µÄÊäÈëÕâ¸öÎļþµÄÃû×ÖµÄʱºò£¬ÄѵÀÄã²»¾õµÃÕâÊÇÒ»ÖÖÎÞÒÔÃû×´µÄÍ´¿àÂð£¿ÄÇôÎÒÏë¶ÔÄã˵һ¾ä£º²»ÒªÐÄ·³£¬Äã¿ÉÒÔÊÔÒ»ÊÔÔÚÊäÈëalsaºó°´Ò»Ï£ÃapsLock¼üÉÏ·½µÄ£Ôab¼ü¡£ÔõôÑùʹÄãÑÛǰһÁÁ°É£¬linuxÒÑ¾Ææ¼£°ãµÄ×Ô¶¯²¹È«ÁËÎļþÃû¡ ......
1.ʱ¼ä±íʾ
ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û¡£Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý
time_t time(time_t *tloc); //ʱ¼ä¾«¶ÈΪÃë
char *ctime(const time_ ......
Author-------Dansen-----xzd2734@163.com
wait_queue_head_t wait_q;
Ê×ÏÈ¿´¿´
wait_queue_head_tÕâ¸öµÈ´ý¶ÓÁеĽṹ
ÔÚwait.hÖж¨ÒåÁËÕâ¸ö½á¹¹
typedef struct
__wait_queue_head wait_queue_head_t;
struct __wait_queue_head {
wq_lock_t
lock;
struct list_head task_list;
};
# define wq_ ......
´Ówrite()µ÷Ó÷µ»ØÊ±£¬ÄÚºËÒѾ½«»º³åÇøËùÌṩµÄÊý¾Ýµ½Äں˵Ļº³åÇø£¬µ«ÊÇÎÞ·¨±£Ö¤Êý¾ÝÒѾд³öµ½ÆäÔ¤¶¨µÄÄ¿µÄµØ¡£µÄÈ·£¬Ð´Èëµ÷Ó÷µ»ØµÄËÙ¶ÈʵÔÚÌ«¿ìÁË£¬¿ÉÄÜûÓÐʱ¼äÍê³É¸ÃÏîÄ¿µÄ¹¤×÷¡£´¦ÀíÆ÷ºÍÓ²ÅÌÖ®¼äµÄÐÔÄܲîÒìʹµÃ´ËÀàÁîÈËÍ·Í´µÄÐÐΪÏÔ¶øÒ×¼û¡£
ÊÂʵÉÏ£¬Èç¹ûÓû§¿Õ¼äÓ¦ÓóÌÐò·¢³öwrite()ϵͳµ÷Óã¬LinuxÄں˻áÏȽøÐÐÈ ......