Linux NAND FLASHÇý¶¯´úÂë·ÖÎö
FLASHÇý¶¯ÔÚǶÈëʽϵͳÖÐÓÐמÙ×ãÇáÖØµÄλÖ㬶øÄ¿Ç°Êг¡ÉÏNAND FLASHµÄ¼Û¸ñÓÖÒª±ãÒËÓëNOR
FLASH,Ëæ×ÅÔ½À´Ô½¶àµÄƽ̨֧³Ö´ÓNAND FLASHÖÐÆô¶¯£¬ÕÆÎÕNAND
flashµÄÇý¶¯±àдÓÐ×ÅÖØÒªµÄÏÖʵÒâÒ壬ÓÉÓÚÄÚºËÒѾÍê³ÉÁ˴󲿷ֵŤ×÷£¬Êµ¼Ê¹¤×÷Öд󲿷ֹ¤³Ìʦ¶ÔNAND
FLASHÇý¶¯Ö»ÊǼòµ¥µÄÐ޸ģ¬¶ÔÆä¹¤×÷ÔÀí²¢²»Ì«Çå³þ£¬ÏÂÃæÎÒÃÇÀ´·ÖÎöÒ»ÏÂNAND FLASHµÄ´úÂëÁ÷³Ì£¬´ÓÖÐÌå»á¿éÉ豸µÄ´úÂëÖ®ÃÀ¡£
ÔÚѧϰNAND FLASHÇý¶¯Ö®Ç°£¬ÎÒÃÇÐèÒª¶Ô¿éÉ豸ÖÐÏÂÃæµÄÖØÒª2µãÓиöÈÏʶ£º
1.gendisk: ÃèÊö¿éÉ豸ʵÌå(Ò»Õû¸önandflashоƬ)µÄ½á¹¹Ìå
Õû¸ö¿éÉ豸µÄ×¢²á¹ý³Ì¶¼ÊÇÎ§ÈÆgendiskÀ´¿ªÕ¹µÄ
2. add_disk() //
½«Ò»¸ö·ÖÇøÐÅÏ¢(Èç/dev/mtdblock3)×¢²áµ½ÄÚºËÁбíÖÐ
ÏÂÃæÎÒÃÇÀ´·ÖÎö¾ßÌåµÄÇý¶¯£º
Ò»¡¢s3c2410nandflash¿ØÖÆÆ÷³õʼ»¯²½Öè:
s3c2410_nand_init(&s3c2410_nand_driver)
->
driver_register->bus_add_driver()->driver_attach->bus_for_each_dev(__driver_attach)->driver_probe_device()->dev->probe()
[×îºóÕâ¸öº¯ÊýʵÖÊÊÇs3c2410_nand_probe()]
-> s3c2410_nand_probe()
-> s3c24xx_nand_probe()
->
s3c2410_nand_inithw() // ³õʼ»¯nandflash¿ØÖÆÆ÷
->
s3c2410_nand_init_chip()// ³õʼ»¯s3c2410 nandflashÇý¶¯×îµ×²ãµÄ·ÃÎÊ¿ØÖƺ¯Êý
&nb
Ïà¹ØÎĵµ£º
µÚÒ»²½
1¡¢Ð½¨flashÎĵµ
2¡¢Îļþ--µ¼Èë--µ¼Èëµ½¿â£¬µ¼Èë5ÕÅͼƬ
3¡¢ÔÚͼ²ãÒ»µÚ1Ö¡£¬´Ó¿âÀïÀÈëÒ»ÕÅͼƬµ½Îę̀£¬µ÷Õûµ½Êʵ±´óС£¬ÓÒ¼üת»»ÎªÔª¼þ---Ôª¼þÀàÐÍѡӰƬ¼ô¼£¬Ãû³ÆÎªpic1£»
ÔÚͼ²ãÒ»µÚ30Ö¡²åÈë¿Õ°×¹Ø¼üÖ¡£¬´Ó¿âÀïÀÈëµÚ¶þÕÅͼƬµ½Îę̀£¬µ÷Õûµ½Êʵ±´óС£¬ÓÒ¼üת»»ÎªÔª¼þ---Ôª¼þÀàÐÍѡӰƬ¼ô¼£¬Ãû³ÆÎªpic2£»
......
ÒÔTMS320VC5402ΪÀý£¬Ì½ÌÖÒ»ÖÖ×ÛºÏÔËÓÃCÓïÑÔ¡¢Êý¾ÝÎļþ¼°GELÓïÑÔµÄFlash±à³Ìз½·¨¡£
¡¡¡¡¸Ã·½·¨ÍêÈ«²ÉÓÃCÓïÑÔ±àдÉÕд³ÌÐò£¬½â¾öÁËÖ¸Õë²»ÄÜ·ÃÎʸ߶ËFlashµÄÎÊÌâ;°ÑÒýµ¼±í×÷³ÉÊý¾ÝÎļþ£¬¿ÉʵÏÖ´óÒýµ¼±íµÄ·ÖÅú´Î¼ÓÔØ;ͨ¹ýGEL³ÌÐò¿ØÖÆC³ÌÐòÖ´ÐУ¬½ÏºÃµØÌåÏÖÁËFlash±à³ÌµÄÁ÷³Ì¡£
¡¡¡¡ÒýÑÔ
¡¡¡¡ÔÚDSPÓ¦ÓÃϵͳ¿ª·¢µÄºóÆÚ£¬Ò»° ......
linux²¢²»ÊÇʵʱ²Ù×÷ϵͳ£¬°ÑÏÂÃæµÄ´úÂëÔËÐÐÒ»±é¾ÍÄܹ»Àí½âÁË£¬´úÂëÓкÜÏêϸµÄ×¢ÊÍ¡£
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <signal.h>
#include <string.h>
void * thr_fun(void *arg)
{
int policy, ret;
str ......
¸ãÁËÈýÌìµÄOpenCVÖÕÓÚ°ÑÕâ¸öÀà¿â¼ÓÉÏÈ¥ÁË¡£Ô±¾ÊÇʹÓÃRed Hat Linux 9£¬µ«ÊÇÇ¿ÁÒ²»ÍƼö£¬ÒòΪ»ù±¾ÉϺܶàºÜ¶àµÄÈí¼þ¶¼ÒªÖØÐÂÉý¼¶¸üС£gcc±ØÐëÉý¼¶µ½4.x£¬ÔògmpºÍmpfrÒ²Òª¸üУ¬makeÒ²Òªµ½3.8°æ±¾£¬²¢ÇÒglibcÒ²±ØÐëÔÚ2.6°æ±¾¡£±àÒëgccʵÔÚÊÇ̫ʹ¿àÁË£¬ÎÞ±ÈÎޱȵÄÍ´¿à£¬ºÄʱ3¸ö¶àhours£¬»¹ÊÇÀ´Á˸öerror£¨glibc±ØÐëÉý¼¶£©¡£±à ......
PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component
Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½é
ÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£ÎÒÃÇ¿ÉÒÔͨ¹ýlspci
²é¿´PCIÉ豸¡£
[roo ......