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

s3c2440»ùÓÚlinuxµÄgpio led×Ö·ûÉ豸Çý¶¯Êµ¼ù

 ½ñÌìÍê³ÉÁËǶÈëʽlinuxµÄµÚÒ»¸öÇý¶¯µÄ±àдºÍ²âÊÔ£¬ËäÈ»ÊǸö¼òµ¥µÄ³ÌÐò£¬µ«ÊÇÂéȸËäС£¬ÎåÔà¾ãÈ«£¬Ï£Íû¿ÉÒÔ¸ø¸Õ¿ªÊ¼½Ó´¥Çý¶¯±àдµÄÈËһЩÌáʾ£¬¹²Í¬½ø²½¡£
Ô´´úÂ룺
·ÖÎöÈçÏ£º
      ÏÂÃæÊÇÎÒµÄÇý¶¯³ÌÐò£º
#include <linux/config.h>//ÅäÖÃÍ·Îļþ
#include <linux/kernel.h>//ÄÚºËÍ·Îļþ
#include <linux/sched.h>
#include <linux/timer.h>//ʱÖÓÍ·Îļþ
#include <linux/init.h>//Óû§¶¨ÒåÄ£¿é³õʼº¯ÊýÃûÐèÒýÓõÄÍ·Îļþ
#include <linux/module.h>//Ä£¿é¼ÓÔØµÄÍ·Îļþ
#include <asm/hardware.h>
#include <asm/arch/S3C2440.h> //Õâ¸öÊÇ2440µÄ¼Ä´æÆ÷Í·Îļþ£¬asm/srchÖ»ÊǸöÁ´½Ó
//ʵ¼Ê¸ù¾Ý×Ô¼ºµÄÇé¿ö²éÕÒ,Ò»°ãÊÇ../../linux2.*.*/include/asm/arch-s3c2440Àï ±àÒëÆ÷
//×Ô¼º»á²éѯÁ´½Ó,ÒÔǰ²»ÖªµÀ£¬ÕÒÁ˰ëÌì
// GPIO_LED DEVICE MAJOR
#define GPIO_LED_MAJOR 97    //¶¨ÒåÖ÷É豸ºÅ
//define LED STATUS  Îҵİå×Ó LEDÔÚGPB0 ÓëGPB1 ´¦ ´ó¼Ò¸ù¾Ý×Ô¼ºÇé¿ö¸Ä 
#define LED_ON  0 //¶¨ÒåLEDµÆµÄ״̬ ¿ª
#define LED_OFF 1 //
// ------------------- READ ------------------------  Õâ¸öÇ°ÃæÒª¼Óstatic ·ñÔò¾¯¸æ
static ssize_t GPIO_LED_read (struct file * file ,char * buf, size_t count, loff_t * f_ops)
{
 return count;

// ------------------- WRITE -----------------------
static ssize_t GPIO_LED_write (struct file * file ,const char * buf, size_t count, loff_t * f_ops)
{
 return count;

// ------------------- IOCTL -----------------------
static ssize_t GPIO_LED_ioctl (struct inode * inode ,struct file * file, unsigned int cmd, long data)         //Õâ¸öº¯ÊýʵÏÖÁËledµÆÁÁÃðµÄ½Ó¿Ú
{
 switch (cmd)
        {
  case LED_ON : { GPBDAT =0x01; break;}  //¸ù¾Ý×Ô¼ºÇé¿öÐÞ¸Ä Ò»¸öÁÁ Ò»¸öÃð
  case LED_OFF: { GPBDAT =0x02; break;}  //½»ÌæÉÁ˸
                default :
      &n


Ïà¹ØÎĵµ£º

linux ÄÚºËÔ´´úÂëĿ¼½á¹¹¸ÅÊö

 ½øÈëlinuxÔ´´úÂëĿ¼£¬»á¿´µ½Èô¸É×ÓĿ¼ºÍÎļþ¡£ÏÖ´ú²Ù×÷ϵͳһ°ãÓɽø³Ì¹ÜÀí£¬ÄÚ´æ¹ÜÀí£¬Îļþϵͳ£¬Çý¶¯³ÌÐòºÍÍøÂçЭÒéÕ»×é³É¡£
  arch : °üº¬ÁËËùÓкÍÌåϵ½á¹¹Ïà¹ØµÄºËÐÄ´úÂë¡£ËüÏÂÃæµÄÿ¸ö×ÓĿ¼´ú±íÒ»ÖÖlinuxÖ§³ÖµÄÌåϵ½á¹¹¡£ÈçarmĿ¼¾ÍÊÇÓëARMÌåϵ½á¹¹¼æÈݵÄCPUµÄ×ÓĿ¼£»/arch/i386ÔòÊÇintel CPU¼°Æä¼æÈÝ ......

[linux]

ÅäÖãº
ͨ¹ýÎļþÃû²éÕÒ·¨£º
Õâ¸ö·½·¨ËµÆðÀ´¾ÍºÍÔÚWINDOWSϲéÕÒÎļþÒ»ÑùÈÝÒ×Àí½âÁË¡£Èç¹ûÄã°ÑÕâ¸öÎļþ·ÅÔÚµ¥¸öµÄÎļþ¼Ð
ÀïÃæ£¬Ö»ÒªÊ¹Óó£¼ûµÄ“ls"ÃüÁî¾ÍÄÜ·½±ãµÄ²éÕÒ³öÀ´£¬ÄÇôʹÓÓfind”ÃüÁîÀ´²éÕÒËü¾Í²»Äܸø
ÄãÁôÏÂÉî¿ÌµÄÓ¡Ï󣬱Ͼ¹“find”ÃüÁîµÄÇ¿´ó¹¦Äܲ»Ö¹Õâ¸ö¡£Èç¹ûÖªµÀÁËij¸ö ......

LinuxÖ®Makefile (¶þ)

¾Å¡¢Ä£Ê½±äÁ¿
ÔÚGNUµÄmakeÖУ¬»¹Ö§³Öģʽ±äÁ¿£¨Pattern-specific Variable£©£¬Í¨¹ýÉÏÃæµÄÄ¿±ê±äÁ¿ÖУ¬ÎÒÃÇÖªµÀ£¬±äÁ¿¿ÉÒÔ¶¨ÒåÔÚij¸öÄ¿±êÉÏ¡£Ä£Ê½±äÁ¿µÄºÃ´¦¾ÍÊÇ£¬ÎÒÃÇ¿ÉÒÔ¸ø¶¨Ò»Ö֓ģʽ”£¬¿ÉÒ԰ѱäÁ¿¶¨ÒåÔÚ·ûºÏÕâÖÖģʽµÄËùÓÐÄ¿±êÉÏ¡£
ÎÒÃÇÖªµÀ£¬makeµÄ“ģʽ”Ò»°ãÊÇÖÁÉÙº¬ÓÐÒ»¸ö“%&rdquo ......

LinuxÖ®Makefile (Èý)

make µÄÔËÐÐ
——————
Ò»°ãÀ´Ëµ£¬×î¼òµ¥µÄ¾ÍÊÇÖ±½ÓÔÚÃüÁîÐÐÏÂÊäÈëmakeÃüÁmakeÃüÁî»áÕÒµ±Ç°Ä¿Â¼µÄmakefileÀ´Ö´ÐУ¬Ò»Çж¼ÊÇ×Ô¶¯µÄ¡£µ«Ò²ÓÐʱÄãÒ²ÐíÖ»ÏëÈÃmakeÖØ±àÒëijЩÎļþ£¬¶ø²»ÊÇÕû¸ö¹¤³Ì£¬¶øÓÖÓеÄʱºòÄãÓм¸Ì×±àÒë¹æÔò£¬ÄãÏëÔÚ²»Í¬µÄʱºòʹÓò»Í¬µÄ±àÒë¹æÔò£¬µÈµÈ¡£±¾Õ½ھÍÊ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ