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

linux mmapÇý¶¯ÊµÏÖ

ÔÚʵÏÖÇý¶¯³ÌÐòµÄmmapº¯Êýʱ£¬Òª×¢ÒâÓ³É䵨ַµÄת»»ÎÊÌ⣬¼û´úÂë¡£
¶¨ÒåÒ»¸öÉ豸½á¹¹Ì壺
struct leedriver
{
struct cdev cdev;
unsigned char mem[MEMSIZE];
};
ÕâÀïÃæÕâ¸öMEMSIZE£¬×îС¶¼ÒªÊÇ4096£¬ÒòΪÄÚ´æÓ³ÉäÊÇÒÔҳΪµ¥Î»µÄ¡£
ÔÚʵÏÖsimple_remap_mmapº¯Êýʱ£¬´úÂëÈçÏÂ
static int simple_remap_mmap(struct file *filp, struct vm_area_struct *vma)
{
vma->vm_pgoff = ((u32)virt_to_phys(leedriverp->mem)) >> PAGE_SHIFT;
printk("vma->vm_pgoff = %lx\n",vma->vm_pgoff);
if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
return -EAGAIN;
vma->vm_ops = &simple_remap_vm_ops;
simple_vma_open(vma);
return 0;
}

×¢Ò⺯Êý¿ªÍ·µÄvma->vm_pgoff = ((u32)virt_to_phys(leedriverp->mem)) >> PAGE_SHIFT;
leedriverp->memÊǸöÄÚºËÐéÄâµØÖ·£¬Ó¦¸Ãͨ¹ývirt_to_physת»»³ÉÎïÀíµØÖ·£¬ÔÙ½øÐÐ×óÒÆ²Ù×÷£¬¾ÍOKÁË¡£
Ö®ºó¶¨ÒåÒ»ÏÂvm_ops
static struct vm_operations_struct simple_remap_vm_ops = {
.open = simple_vma_open,
.close = simple_vma_close,
};

²¢ÇÒÔÚfile_operationsÖÐÌí¼Ó.mmap£½simple_remap_mmap£¬Õû¸ö¹ý³Ì¾ÍÍê³ÉÁË


Ïà¹ØÎĵµ£º

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

(ת)LinuxϵÄCppUnit µÄHelloWorldÊÖ¼Ç

ת×Ô£ºhttp://blog.csdn.net/panyuequn/archive/2009/12/07/4958454.aspx
°æÈ¨ÉùÃ÷£º±¾ÎİæÈ¨ËùÊô Tx7do@ÉϺ£°ë¶¡£¬¿ÉÒÔËæÒâ¸´ÖÆ´«²¥£¬µ«ÊDZí°Ñ°æÈ¨¸øÈÓÀ²=¡£=
²Ù×÷ϵͳϵͳ£ºUbuntu6£¬g++
Èí¼þ°æ±¾£ºcppunit-1.10.2.tar.gz
£¨1£©»ñµÃÔ´Â룺
    µ½cppunit.sourceforge.netÉÏÏÂÔØÔ´´úÂë¡£½«Æä¸´ÖƵ½µ½l ......

linuxÏÂsvn¿Í»§¶Ë°²×°¼°»·¾³ÅäÖÃ

Ò»¡¢svn¿Í»§¶Ë°²×°¼°»·¾³ÅäÖÃ.
¹ûËùÔÚµÄlinux»úÆ÷ÉÏûÓа²×°svn¿Í»§¶Ë£¬ÔòÊ×ÏȰ²×°svn¿Í»§¶Ë£º
1. subversion-1.4.3.tar.bz2  subversion-deps-1.4.3.tar.bz2
2. ʹÓÃ
tar xvfj subversion-1.4.3.tar.bz2
tar xvfj subversion-deps-1.4.3.tar.bz2
½âѹÕâÁ½¸öÎļþ(²»ÒªÂÒÁË˳Ðò)£¬´ËʱÔÚµ±Ç°Ä¿Â¼Ï»á³öÏÖsubvers ......

Linux²Ù×÷ϵͳÄÚºËÆô¶¯²ÎÊýÏêϸ½âÎö

LinuxÄÚºËÔÚÆô¶¯µÄʱºò£¬ÄܽÓÊÕijЩÃüÁîÐÐÑ¡Ïî»òÆô¶¯Ê±²ÎÊý¡£µ±Äں˲»ÄÜʶ±ðijЩӲ¼þ½ø¶ø²»ÄÜÉèÖÃÓ²¼þ²ÎÊý»òÕßΪÁ˱ÜÃâÄں˸ü¸ÄijЩ²ÎÊýµÄÖµ£¬¿ÉÒÔͨ¹ýÕâÖÖ·½Ê½ÊÖ¶¯½«ÕâЩ²ÎÊý´«µÝ¸øÄںˡ£
Èç¹û²»Ê¹ÓÃÆô¶¯¹ÜÀíÆ÷£¬±ÈÈçÖ±½Ó´ÓBIOS»òÕß°ÑÄÚºËÎļþÓÓcp zImage /dev/fd0”µÈ·½·¨Ö±½Ó´ÓÉ豸Æô¶¯£¬¾Í²»ÄܸøÄں˴«µÝ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ