How to change the file Davinci_vpfe.c for capturing the Raw Data in my DM6446 platform?
Hi, all My platform have the FPGA modules as the video source, and I could get the video stream as the BT 656 format, and It works very well. Now I want to capturing the video stream as the Raw Data format from the FPGA modules, but I do not know how to change the davinci_vpfe.c to set the ccdc registers and the ipipe registers. could anyone tell how to do that for get the raw data from video source? Thank you ~~ -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
How to use VPFE as YUV interface in DM6446?
Hi, all, I want to use the VPFE as generic YUV configration format in DM6446, and my program is running in Linux, So could anyone tell me how to append the davinci_vpfe.c or other files in Linux driver? Thank you~~ -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Problems About thttpd 2.25b
Hi,All, I am using the webserver thttpd 2.25b on my DM6446 board, and I found that a problem abouth it: When I use the configuration file like this: */thttpd -c /opt/dvevm/thttpd.conf * but the webserver could not use the config file thttpd.conf and the web page dir could not be set in the config file my config file is : *# This section overrides defaults* *dir=/opt/Network_Demo/web* *chroot* *user=root* *logfile=/opt/Network_Demo/web/thttpd.log* *pidfile=/opt/Network_Demo/web/thttpd.pid* *# This section _documents_ defaults in effect* *# port=80* *# nosymlink# default = !chroot* *# novhost* *# nocgipat* *# nothrottles* *# host=0.0.0.0* *# charset=iso-8859-1* When I use the command : */thttpd -d /opt/Network_Demo/web* It seems like the webdir could not be set correctly! Could anyone tell me how to set the webdir for thttpd 2.25b? what use of the scrips file thttpd_wrapper? *#!/bin/sh* *DVEVMDIR=/opt/dvevm* *while true ; do* *cd $DVEVMDIR/web* *./thttpd -c /cgi-bin/* -l /dev/null* *sleep 10* *done* -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Why can not I ping several cameras for the same time?
Hi, all I developed several Network Cameras base on DaVinci DM6446 platform, but I found that when I connect them on the same network,such as 192.168.0.xxx When I power on them, I found that I can not ping them at the same time. That means when I make only one Camera working, I could ping it well, but two or more cameras works on, I could not ping them at the same time! Anyone could tell me about some problems about that? Such as,the conflict between MAC addr, the network heavy load, or some other hardware faults! Thank you~ -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
How to use JRTPLIB in the Davinci encode project?
Hi,all I want to use the JRTPLIB in my encode project base on DM6446 platform, but I donot know how to use the c++ library in the C project, could anyone give me some information about how to use the cpp file in the c project? how to use the jrtplib in the encode project? Now I have the *.h files and the *.so files, but these files are the cpp project, how can I use them in the C project like the encode project in the TI demos? Thank you very much~~ -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: About Input/output error when using tcgetattr
There is a solution that is mentioned by the year of 2007: http://linux.omap.com/pipermail/davinci-linux-open-source/2007-April/003097.html That will help the UART1 drivers. 2010/3/25 shaofeng zhang ipc...@gmail.com Hi, everyone, I use the function tcgetattr to access /dev/ttyS1, the messages is above: *SetupSerial 1: Input/output error* ** When I change to access /dev/ttyS0, there is no error that will be displayed. Could anyone tell me some tips about that? Thank you~ PS: My platform is Davinci DM6446. and my linux kernel version is Linux version 2.6.10_mvl401-davinci_evm. My programme is mainly above : * * * int fd; int nread; int i; char buff[512]; char *dev = /dev/ttyS1; fd = OpenDev(dev); if (fd0) set_speed(fd,115200); else { printf(Can't Open Serial Port!\n); return 0; } * ** *{* *...* * struct termios options; if ( tcgetattr( fd,options) != 0) { perror(SetupSerial 1); return(FALSE); }* ***...* *}* -- Best Regards! zhangshaofeng @Xi'an JiaoTong University -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About Input/output error when using tcgetattr
Hi, everyone, I use the function tcgetattr to access /dev/ttyS1, the messages is above: *SetupSerial 1: Input/output error* ** When I change to access /dev/ttyS0, there is no error that will be displayed. Could anyone tell me some tips about that? Thank you~ PS: My platform is Davinci DM6446. and my linux kernel version is Linux version 2.6.10_mvl401-davinci_evm. My programme is mainly above : * * * int fd; int nread; int i; char buff[512]; char *dev = /dev/ttyS1; fd = OpenDev(dev); if (fd0) set_speed(fd,115200); else { printf(Can't Open Serial Port!\n); return 0; } * ** *{* *...* * struct termios options; if ( tcgetattr( fd,options) != 0) { perror(SetupSerial 1); return(FALSE); }* ***...* *}* -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Could anyone meet this problem about Davinci DM6446?
Hi,all, I found a problem about the Encode Demos of the DM6446, that is the H.264 video only have the even fields from the VPFE source, because if I set the Y Factors as Zeros of the even fields of the VPFE video source, the encoded videos will have all the black frames, but the LCD srceen from the VPBE is not. So could anyone tell me if the encode demo only process the even fields of the VPFE source, or I have some errors about the setting of the encode demos? Thank you~ -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Could the video encoder of TI Encode Demo only process even fields of the video stream from VPFE?
Hi, all, I am afraid that the last letter can not discribe the problem detaily? My problem is: the video encoder only process the even fields of Line 0,2,4,etc. from DDR, but the display thread could process the odd fields of Line 1,3,5,etc. from DDR, and the writer only write the even fields to the local file. Both the encoder and the writer combine the even fields to the all fields, that is they copy the even fields as the odd fields so they could have both the odd and the even fields. Could anyone tell me if the problem is true about the TI encode Demo, or I get some mistakes? and Please let me know about my error. Thank you~~ -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the YUV datas for the functions encodeVideoBuffer of the TI demo
Hi, all, I want to know the structure of the YUV raw data for the function encodeVideoBuffer in the TI demos, such as: /* the folloing codes is from \dvevm_1_20\demos\encodedecode\video.c(Line 571~577)*/ */* Encode the buffer using H.264 */ DBG(Begin Encode the buffer using H.264\n); if (encodeVideoBuffer(hEncode, ce.virtBuf, ce.bufSize, encBuf, encBufSize, frameSize) == FAILURE) { DBG(Encode Failed\n); breakLoop(THREAD_FAILURE); }* my DVEVM is DM6446 EVM, if the imagesize is 720x576, the ce.virBuf is point to a 720x576 buf, and the ce.bufSize is 720x576x2, Could anyone tell me the structure of the ce.virBuf array? that is to say I want to know the order of the YUV datas for encoding in the array ce.virBuf -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About Webserver on Davinci DM6446
Hi, All, I want to build a kind of webserver on the platform DM6446, so that the users could view the video of the DVEVM by the internet explorer or FireFox, could anyone give me some tips about the project? such as the best webserver name, or some other tips. Thank you! -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
anyone knows about the networked encode and decode demo?
Hi, Does anyone knows abouth the networked encode and decode demo? That is the infomation about it: http://wiki.davincidsp.com/index.php?title=Networked_encode_and_decode_demos#Changes_in_control_thread_.28_optional.29 : Could some one give me some helps about that? or share your source code about the project? Thank you~~ -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the Networked encode and decode demos
Hi,All, I want to develop the Networked encode and decode demos on the platform DVEVM dm6446, and I have some problems about it: 1. I get the tar file Network_utils.tar.gz from the wiki.davincidsp.comwebsite, but I cannot found the debug.h metioned by the file network_utils.c, could anyone give me some helps? 2. Network_utils.tar.gz gives the Networked encode and decode on the platform DVEVM dm6446, and if I want to use the pc to decode the netwoked H.264 video from the platfom DVEVM, could anyone give some tips about the problem? Thanks -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the Crontab in the MV Linux
Hi, How can I start the crontab service in the MV linux? and I cannot find the crond command in the directory /usr/sbin/ could anyone tell me about this problem? thank you -- Best Regards! zhangshaofeng @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Some questions about MontaVista Linux
Hi, Daniel, I am facing some probelms when I use the MontaVista Linux on my DM6446 EVM. 1. I am use the LargePage Nand Flash (ST's NAND01GR3B2B NAND Flash ) on my DM6446 EVM, When I use the MVL4.0 kernel on my board, I found that the kernel would scan all the blocks of the whole nand flash as bad blocks. However, When I use the MVL 5.0 Kernel on my board, the kernel would find no bad blocks of the whole nand flash. So I want to know how to update the MTD drivers for the nand flash from MVL 4.0 to MVL 5.0? could you give me some advies about that situation? 2. If the above problem would not be sovled correctly, I have to change my kernel from MVL 4.0 to MVL 5.0. While I found that the MVL 5.0 kernel could not mount the NFS correctly, the kernel would halt mounting the NFS for ever, the following is the messages: *===* *IP-Config: Complete: device=eth0, addr=192.168.0.125, mask=255.255.255.0, gw=192.168.0.1, host=XJTUIPCEVM, domain=, nis-domain=(none), bootserver=192.168.0.238, rootserver=192.168.0.238, rootpath= Looking up port of RPC 13/2 on 192.168.0.238 portmap: server 192.168.0.238 not responding, timed out Root-NFS: Unable to get nfsd port number from server, using default Looking up port of RPC 15/1 on 192.168.0.238* ** But When I use the MVL 4.0 kernel, I found that the kernel woud correctly mount the NFS with no errors. Between the two situations my u-boot ENV is the same configurations: *bootargs=mem=120M console=ttyS0,115200n8 root=/dev/nfs noinitrd rw ip=192.168.0.125:192.168.0.238:192.168.0.1:255.255.255.0:XJTUIPCEVM nfsroot=192.168.0.238:/home/workdir/rootfs,nolock video=dm64xxfb:output=pal* So I want to know whether there are some necessary differences about the kernel configurations between the MVL 4.0 and MVL 5.0 or not. Such as make menuconfig, u-boot env setting (bootargs, etc.) Thand you, Hope for your reply. Zhang * *** ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
NFS can not be mounted automaticly
Hi, All, When my board use the MVL Pro 4.0(linux 2.6.10), it can mount the NFS automaticly, but then I test the MVL Pro 5.0(linux 2.6.18), it can not mount the NFS automaticlly. because my u-boot ENV (bootargs, mem, etc) use the same configuration. that is the error infomation: *IP-Config: Complete: device=eth0, addr=192.168.0.125, mask=255.255.255.0, gw=192.168.0.1, host=XJTUIPCEVM, domain=, nis-domain=(none), bootserver=192.168.0.238, rootserver=192.168.0.238, rootpath= Looking up port of RPC 13/2 on 192.168.0.238 portmap: server 192.168.0.238 not responding, timed out Root-NFS: Unable to get nfsd port number from server, using default Looking up port of RPC 15/1 on 192.168.0.238 portmap: server 192.168.0.238 not responding, timed out Root-NFS: Unable to get mountd port number from server, using default mount: server 192.168.0.238 not responding, timed out Root-NFS: Server returned error -5 while mounting /home/workdir/filesys VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device nfs or unknown-block(2,0) Please append a correct root= boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)* ** could anyone tell me some infomation about the message? Thanks! Zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the NFS file system
Hi John, My board use the kernel Linux version 2.6.18_pro500-davinci_evm(MVL Pro 5.0), but it cannot mount the NFS file system, that is the ERROR message: *IP-Config: Complete: device=eth0, addr=192.168.0.125, mask=255.255.255.0, gw=192.168.0.1, host=XJTUIPCEVM, domain=, nis-domain=(none), bootserver=192.168.0.238, rootserver=192.168.0.238, rootpath= Looking up port of RPC 13/2 on 192.168.0.238 portmap: server 192.168.0.238 not responding, timed out Root-NFS: Unable to get nfsd port number from server, using default Looking up port of RPC 15/1 on 192.168.0.238 portmap: server 192.168.0.238 not responding, timed out Root-NFS: Unable to get mountd port number from server, using default mount: server 192.168.0.238 not responding, timed out Root-NFS: Server returned error -5 while mounting /home/workdir/filesys VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device nfs or unknown-block(2,0) Please append a correct root= boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)* and I am sure that the NFS server computer is working well. Could you tell me some info about that message? Thank you ~~ Zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: Problem with YAFFS2 on LargePage NAND
Hello, I tried to test the linux-2.6.28-davinci1 (download from the http://source.mvista.com/git/) on my platform board. (my nand flash is NAND01GR3B2B: Manufacturer ID= 0x20,Device ID= 0xA1,Pages Per Block= 0x40.Number of Blocks= 0x400,Bytes Per Page= 0x800) and I found that the kernel scan nand flash rightly: = *davinci_nand davinci_nand.0: Warning: MUX config for NAND: Set PINMUX0 reg to 0x8000c01f, was 0x801f, should be done by bootloader. NAND device: Manufacturer ID: 0x20, Chip ID: 0xa1 (ST Micro NAND 128MiB 1,8V 8-bit) davinci_nand davinci_nand.0: Bad block scan: 0 out of 1024 blocks are bad. Creating 1 MTD partitions on davinci_nand.0: 0x00a0-0x0800 : NAND filesystem* = but when I test the MVL Pro V4.0(linux-2.6.10) on my board, the kernel treat all the blocks of my nand flash as bad: = *NAND device: Manufacturer ID: 0x20, Chip ID: 0xa1 (ST Micro NAND 128MiB 1,8V 8-bit) Scanning device for bad blocks Bad eraseblock 0 at 0x Bad eraseblock 1 at 0x0002 Bad eraseblock 2 at 0x0004 Bad eraseblock 3 at 0x0006 Bad eraseblock 4 at 0x0008 Bad eraseblock 5 at 0x000a Bad eraseblock 6 at 0x000c Bad eraseblock 7 at 0x000e Bad eraseblock 8 at 0x0010 Bad eraseblock 9 at 0x0012 Bad eraseblock 10 at 0x0014 ……* *Bad eraseblock 1016 at 0x07f0 Bad eraseblock 1017 at 0x07f2 Bad eraseblock 1018 at 0x07f4 Bad eraseblock 1019 at 0x07f6 Bad eraseblock 1020 at 0x07f8 Bad eraseblock 1021 at 0x07fa Bad eraseblock 1022 at 0x07fc Bad eraseblock 1023 at 0x07fe* = So could you tell me how to update the nand driver from linux-2.6.10 (MVL Pro4.0) to linux-2.6.28-davinci1? Maybe I could use the linux-2.6.28-davinci1 directly, but the linux2.6.28-davinci1 net driver is not suit for my MAC chip(Broadcom BCM5221): == *.. davinci_init_emac: using random MAC addr: 2e:c0:34:3e:26:73 emac-mii: probed eth0: no PHY found IP-Config: Failed to open eth0 IP-Config: No network devices available. ...* === and I set the phy driver for my emac chip(Broadcom BCM5221)(use *make* * menuconfig* command): Device Drivers - Network Device Support - PHY Device support and infrastructure-Drivers for Broadcom PHYs and could you give me some suggestions to modified the source code of the net dirver of the linux-2.6.28-davinci1 for my MAC chip? Thank you! Zhang 2009/4/13 Philby John pj...@in.mvista.com Hello Zhang, I think you need to change the option in struct nand_davinci_platform_data nand_data, .ecc_mode = NAND_ECC_SOFT, to use s/w ECC. Regards, Philby On Thu, 2009-04-09 at 10:33 +0800, shaofeng zhang wrote: Hi Johns, I had read your message from the email list, and I want to ask you some questions. Which version is your linux kernel? my linux kernel is MVL Pro V4.0(linux 2.6.10), and is yours same with me? How can I ensure my driver use the Software ECC? Should I set some tags or make some changes in the source code? Thank you! Zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: Problem with YAFFS2 on LargePage NAND
Hi, Philby, I tried several steps as you suggested before, but the problem was not solved by now. and when I mount the jffs2, there are some errors printed by the kernel. and I want to know if the MV Linux Professional Edition 4.0 does match the LargePage NAND flash or not. You know, when I use the original source code of the MV Linux, the linux kernel scanned the nand flash as all the blocks was bad blocks. and my NAND flash info is the following: TI UBL Version: 1.14, Flash type: NAND Booting PSP Boot Loader PSPBootMode = NAND Starting NAND Copy... Initializing NAND flash... Manufacturer ID = 0x0020 Device ID= 0x00A1 Pages Per Block = 0x0040 Number of Blocks = 0x0400 Bytes Per Page = 0x0800 Valid MagicNum found. NAND Boot success. DONE So I want to find the reasons from this place, maybe there are some mistake in the configration of the MV linux kernel. So, WIll you give me some tips about the NAND configration in the MV linux? Such as the kernel configration, the NAND OOB info, the NAND ECC info, or the process of the BBT building. Thank you. Best Wishes, Zhang 2009/3/23 Philby John pj...@in.mvista.com Zhang, Please keep the mailing list in the loop, someone might have a solution or could use your solution. On Mon, 2009-03-23 at 11:18 +0800, shaofeng zhang wrote: Dear Sir, Sorry, let me introduce myself, my name is Philby. I am sorry to reply your email lately. Because we were rendering our lab's wall these days. And I try to define the YAFFS_IGNORE_TAGS_ECC in the fs/yaffs2/yaffs_ecc.h but there is still the error message: r...@xjtuipcevm:~# df -h FilesystemSize Used Avail Use% Mounted on rootfs 38G 28G 8.0G 78% / /dev/root 38G 28G 8.0G 78% / none 10M 2.5M 7.6M 25% /dev tmpfs 59M 0 59M 0% /tmp none 10M 2.5M 7.6M 25% /dev tmpfs 59M 0 59M 0% /dev/shm /dev/mtdblock4120M 120M 0 100% /mnt/nand And I should tell you that before I modified the /drivers/mtd/nand/nand_bbt.c, there is a mistake when the linux kernel is starting: my board can automaticly boots from the NAND flash througth TI UBL and U-boot 1.2.0. But when starting the linux kernel, there will be the warning messages like this: Starting kernel ... Uncompressing Linux.done. Booting the kernel. (the pre-messages is omitted) NAND device: Manufacturer ID: 0x20, Chip ID: 0xa1 (ST Micro NAND 128MiB 1,8V 8-bit) Scanning device for bad blocks Bad eraseblock 0 at 0x Bad eraseblock 1 at 0x0002 Bad eraseblock 2 at 0x0004 ... Bad eraseblock 1020 at 0x07f8 Bad eraseblock 1021 at 0x07fa Bad eraseblock 1022 at 0x07fc Bad eraseblock 1023 at 0x07fe ... and My Nand Flash is STMICRO's product: NAND01GR3B2B, whose infomation is the following tips: Manufacturer ID = 0x20, Device ID = 0xA1,Pages Per Block = 0x40,Number of Blocks = 0x400,Bytes Per Page = 0x800. I now that the UBL and U-boot can boot from the NAND flash, so I changed the nand_bbt.c(/drivers/mtd/nand/nand_bbt.c) the same as the u-boot/drives/nand/nand_bbt.c,and the kernel mesage shows that there are few bad blocks in the nand flash. What modifications have you done in nand_bbt.c ? After your modifications, yaffs2 reports lesser error? How few are the reported bad blocks? All NAND based flash devices contain some bad blocks at manufacture, so if its really few then it shouldn't be a cause of worry. So what is your advice when you are facing this problem? I guess there may be some faults in the nand_bbt.c(driveis/mtd/nand)? Is it? I have no idea. But here are some steps you could do to narrow the cause of your problem. 1) Switch to jffs2 to see if the problem goes away. If yes, you could use jffs2 or start debugging the yaffs2 fs code. Turn on debugging using echo all /proc/yaffs before mounting the fs. 2) Switch to using btt on RAM instead of flash and see if the problem exists? You could so this by changing to this-options |= (NAND_USE_DATA_ADJACENT_OOB); in function nand_davinci_probe() - case NAND_ECC_HW_SYNDROME: ie: get rid of the NAND_USE_FLASH_BBT option. 3)Erase mtdblock4 partition from Uboot specifying the offset to the start of your nand fs and the size of your fs (mtdblock4) eg: nand erase 0x240 0x5e0 This will clear all your previous factory marked bbt entries, so use this at your discretion. Regards, Philby 2009/3/19 Philby John pj...@in.mvista.com Zhang, You could try defining YAFFS_IGNORE_TAGS_ECC in fs/yaffs2/yaffs_ecc.h and give it a shot. If this works it would mean
Re: Problem with YAFFS2 on LargePage NAND
Philby, I modified the nand_bbt.c like u-boot 1.2.0. the modification is only just about the function create_bbt() : *=Partition line===* *the Italic is the Original and the bold is the modifictaion : * static int create_bbt (struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *bd, int chip) { struct nand_chip *this = mtd-priv; int i, j, numblocks, len, scanlen; int startblock; loff_t from; size_t readlen, ooblen; printk (KERN_INFO Scanning device for bad blocks\n); if (bd-options NAND_BBT_SCANALLPAGES) len = 1 (this-bbt_erase_shift - this-page_shift); else { if (bd-options NAND_BBT_SCAN2NDPAGE) len = 2; else len = 1; } *#if 0 /*the Orininal; modified by zsf*/ if (!(bd-options NAND_BBT_SCANEMPTY)) { /* We need only read few bytes from the OOB area */ scanlen = ooblen = 0; readlen = bd-len; } else { /* Full page content should be read */ scanlen = mtd-oobblock + mtd-oobsize; readlen = len * mtd-oobblock; ooblen = len * mtd-oobsize; } #endif* * scanlen = mtd-oobblock + mtd-oobsize; readlen = len * mtd-oobblock; ooblen = len * mtd-oobsize;* if (chip == -1) { /* Note that numblocks is 2 * (real numblocks) here, see i+=2 below as it * makes shifting and masking less painful */ numblocks = mtd-size (this-bbt_erase_shift - 1); startblock = 0; from = 0; } else { if (chip = this-numchips) { printk (KERN_WARNING create_bbt(): chipnr (%d) available chips (%d)\n, chip + 1, this-numchips); return -EINVAL; } numblocks = this-chipsize (this-bbt_erase_shift - 1); startblock = chip * numblocks; numblocks += startblock; from = startblock (this-bbt_erase_shift - 1); } *#if 0 /*the Orininal; modified by zsf*/ for (i = startblock; i numblocks;) { int ret; if (bd-options NAND_BBT_SCANEMPTY) if ((ret = nand_read_raw (mtd, buf, from, readlen, ooblen))) return ret;* * for (j = 0; j len; j++) { if (!(bd-options NAND_BBT_SCANEMPTY)) { size_t retlen; /* Read the full oob until read_oob is fixed to * handle single byte reads for 16 bit buswidth */ ret = mtd-read_oob(mtd, from + j * mtd-oobblock, mtd-oobsize, retlen, buf); if (ret) return ret;* *if (check_short_pattern (buf, bd)) { this-bbt[i 3] |= 0x03 (i 0x6); printk (KERN_WARNING check_short_pattern:Bad eraseblock %d at 0x%08x\n, i 1, (unsigned int) from); break; } } else { if (check_pattern (buf[j * scanlen], scanlen, mtd-oobblock, bd)) { this-bbt[i 3] |= 0x03 (i 0x6); printk (KERN_WARNING check_short_pattern: Bad eraseblock %d at 0x%08x\n, i 1, (unsigned int) from); break; } } } i += 2; from += (1 this-bbt_erase_shift); } *#endif *#if 1 /*the modification; modified by zsf*/ for (i = startblock; i numblocks;) { nand_read_raw (mtd, buf, from, readlen, ooblen); for (j = 0; j len; j++) { if (check_pattern (buf[j * scanlen], scanlen, mtd-oobblock, bd)) { this-bbt[i 3] |= 0x03 (i 0x6); printk (KERN_WARNING Bad eraseblock %d at 0x%08x\n, i 1, (unsigned int) from); break; } } i += 2; from += (1 this-bbt_erase_shift); } #endif * return 0; } *=Partition line===* when I modified like the above, the kernel found out the few bad blocks: *=Partition line===* NAND device: Manufacturer ID: 0x20, Chip ID: 0xa1 (ST Micro NAND 128MiB 1,8V 8-bit) Scanning device for bad blocks Bad eraseblock 1 at 0x0002 Bad eraseblock 2 at 0x0004 Bad eraseblock 6 at 0x000c Bad eraseblock 7 at 0x000e Bad eraseblock 35 at 0x0046 Bad eraseblock 36 at 0x0048 Bad eraseblock 37 at 0x004a Bad eraseblock 38 at 0x004c Bad eraseblock 39 at 0x004e Bad eraseblock 40 at 0x0050 Bad eraseblock 41 at 0x0052 Creating 5 MTD partitions on nand_davinci.0: 0x-0x0004 : bootloader 0x0004-0x0006 : params 0x0006-0x0046 : kernel 0x0046-0x0086 : FPGA-Config Image 0x0086-0x0800 : filesystem nand_davinci: hardware revision: 2.1 *=Partition line===* and I will try as your advices later. If you have any new idea, please connect with me freely. Thank you very much! Best Wishes, Zhang 2009/3/23 Philby John pj...@in.mvista.com Zhang, Please keep the mailing list in the loop, someone might have a solution or could use your solution. On Mon, 2009-03-23 at 11:18 +0800, shaofeng zhang wrote: Dear Sir, Sorry, let me introduce myself, my name is Philby. I am sorry to reply your email lately. Because we were rendering our lab's wall these days. And I try to define the YAFFS_IGNORE_TAGS_ECC in the fs/yaffs2/yaffs_ecc.h but there is still the error message: r...@xjtuipcevm:~# df -h FilesystemSize Used Avail Use% Mounted on rootfs 38G 28G 8.0G 78% / /dev/root 38G 28G 8.0G 78% / none 10M 2.5M
About the NAND flash use 100% on DVEVM6446
Hi,all I use ST's NAND01GR3B2B, which is largepage block nand. and I use 'mount -t yaffs2 /dev/mtdblock4 /mnt/nand', then I use 'df -hl' to check the percent useage the message is that: FilesystemSize Used Avail Use% Mounted on /dev/mtdblock4120M 120M 0 100% /mnt/nand but my nand flash is empty. Can any one tell me some tips about that situation? Thanks, Best Wishes, zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Problem with YAFFS2 on LargePage NAND
Hi, All, I am using a 128MB LargePage Nand Flash on my DVEVM board (DM6446), and when I mount the /dev/mtdblock4 throught YAFFS2 fs type, I found that the use% of my nand is 100% as the following: FilesystemSize Used Avail Use% Mounted on rootfs 38G 28G 8.0G 78% / /dev/root 38G 28G 8.0G 78% / none 10M 2.5M 7.6M 25% /dev tmpfs 59M 0 59M 0% /tmp none 10M 2.5M 7.6M 25% /dev tmpfs 59M 0 59M 0% /dev/shm */dev/mtdblock4120M 120M 0 100% /mnt/nand* But I first use flash_eraseall to erase the /dev/mtd4 before mounting the /dev/mtdblock4 with YAFFS2 Could anyone tell me some info about the message? Thank you! Best Wishes, Zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About MCP NAND for Davinci DM6446
Hi,All, I want to know if the Davinci DM6446 support the MCP NAND for booting from the nand flash or not. For my first version board, my nand flash is ST 's NAND01GR3B2B, which has the 8-Bit width organization. and my boss tell me that he want to use the Numonyx 's nand flash NAND01GR4B2C in my second version board, which has the 16-Bit width organization. But I found that the Numonyx's Nand Flash whose width is 16-bit width is only available for MCP products. So the question is: Does the dm6446 support the MCP Nand flash for booting from the nand flash? (the MCP nand flash device id is included by the list of IDs supported by ROM boot loader of DM6446) Could anyone tell me some info about that? Thanks~~ Best Wishes, zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About NAND bad blocks
Hi, all, My board can boot from my nand flash NAND01GR3B2B (ST 's product) using U-boot 1.2.0, but When the board is starting linux kernel, the kernel should scan the bad block and the kernel print the messages: NAND device: Manufacturer ID: 0x20, Chip ID: 0xa1 (ST Micro NAND 128MiB 1,8V 8-bit) Scanning device for bad blocks Bad eraseblock 0 at 0x Bad eraseblock 1 at 0x0002 Bad eraseblock 2 at 0x0004 Bad eraseblock 3 at 0x0006 Bad eraseblock 4 at 0x0008 Bad eraseblock 5 at 0x000a Bad eraseblock 6 at 0x000c Bad eraseblock 7 at 0x000e Bad eraseblock 8 at 0x0010 Bad eraseblock 9 at 0x0012 Bad eraseblock 10 at 0x0014 …… Bad eraseblock 1016 at 0x07f0 Bad eraseblock 1017 at 0x07f2 Bad eraseblock 1018 at 0x07f4 Bad eraseblock 1019 at 0x07f6 Bad eraseblock 1020 at 0x07f8 Bad eraseblock 1021 at 0x07fa Bad eraseblock 1022 at 0x07fc Bad eraseblock 1023 at 0x07fe But I use the u-boot command nand bad, the system said that it has no bad blocks. could anyone give me some helps or give me some info? Thank you~~ Best Wishes, zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the usage of malloc in the U-boot
Hi,all, Could anyone know about the usage of malloc in the u-boot, I found that when I try to require a space for nearly 800K using the malloc function, the return value of the malloc function is always zero. That means failure of the malloc funcion. I know that in the Linux Kernel the max required space of malloc is 128K, could the max space of malloc in the U-boot be less than 128K? My U-boot version is 1.2.0. If anyone have some info about that, please contact with me. Thank you ~~ Best Wishes, Zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the bad blocks of NAND flash
Hi, I was wrong to use the u-boot command nand markbad to mark the block 0 as bad. How can I recover the block 0 as what it was originally. Another question, I want to know where the environment were saved. and I found these in the davnici.h(include\configs): define CFG_ENV_OFFSET 0x0 /* Block 0--not used by bootcode */ Was the environment saved in the block 0 of nand flash? could anyone tell me the truth? Thank you~~ zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the NAND Flash NAND01GR3B2B
Hi, I have a little problem with my board, and my NAND chip is NAND01GR3B2B which is ST corp.'s product. When the u-boot start running from the NAND flash, there will be a warning called *** Warning - bad CRC or NAND, using default environment , and When I use the command saveenv to save the enviroment of the u-boot, it will be printed by: SEED_DVS6446_v1.2 # saveenv Saving Environment to NAND... Erasing Nand...SEED_DVS6446_v1.2 # But the right message should be SEED_DVS6446_v1.2 # saveenv Saving Environment to NAND... Erasing Nand...Writing to Nand... done SEED_DVS6446_v1.2 # my U-boot version is 1.2.0, could anyone tell me something about the error? Thank you~~ ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the Chip 6467
Hi, Does anyone know some details about the chip 6467, this chip seems like that it could encode two seperate videos at the same time。 Could anyone tells me the details? thank you~~ And does TI have a new stronger DSP called 638 (I am not sure)? My boss tells me that TI have a new DSP called 638 which is stronger than DM642. Could anyone tell me the details? Thanks zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
UBL NOR NAND
Hello, Can some one tell me why my board could not boot from Nor Flash or NAND Flash with UBL and U-boot. my UBL version is 1.0, and U-boot version is 1.1.3 That is the message from the Serial: TI UBL Version: 1.00, Flash type: NOR Booting PSP Boot Loader PSPBootMode = NOR Starting NOR Copy... NOR Initialization: Command Set: AMD Manufacturer: AMD Size (in bytes): 0x0100 NOR Boot success. DONE When the message is printed, the system is halting for ever. So Can anyone tell me some helps? Regards, zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the NAND boot mode for DM6446
Hi, all, I have got two different ways to set NAND user boot loader descriptor format, one is: *Offset * *32-Bits * *Description * 0 0xA1ACEDxx Magic number 4 Entry Point Address of UBL Entry point address for the user boot-loader (absolute address) 8 Number of pages in UBL Number of pages (size of user boot-loader in number of pages) 12 Starting Block # of UBL Block number where user boot-loader is present 16 Starting Page # of UBL Page number where user boot-loader is present 20 Load Address Application load address, usually 0x20 the other way is : NAND UBL Header 0x00 0xA1ACEDXX A valid magic number of the nand boot mode 0x04 UBL entry point32-bit absolute entry-point address for UBL address 0x08 numpages the number of pages the UBL occupies 0x0c startBlock the starting block in NAND where the UBL can be found 0x10startPage the starting page within the starting block where the UBL can be found could anyone tell me the right way to set the Descriptor of the NAND UBL thank you. and when I make the UBL in linux command line, I found that there is a string The entry point of the binary is 0x2398 outputed, so what is it means? please help me~~ if I use the UBL header static Uint32 ublheader[6]={0xA1ACED00,0x2398,0x001c,0x0001,0x0001,0x0020};,is it right? Thank you~~ Best Regards, shaofeng,zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the NAND flash boot
Hi, ALL, I have some problems about the NAND flash boot the UBoot, could anyone give me some advice about it? I make the UBL from the TI, and I conig the u-boot-1.1.3 source code for the NAND flash, and then I write them to the NAND flash by CCS, but when I set the btsel[1..0]=00 and set the EM_Width pin by the value Zero(Low), the NAND flash boot is failure and the chip autoly start boot from the UART, at that time the Chip is always sending the string BOOTME. Could anyone share the success version UBL with me or tell me the ways to resolve the problems, thank you. And I don't understand the linux code tree about the MTD, in the /include/mtd/nand/Nand_davinci.c, there is the codes during the line 173 and the line 174, #define MASK_CLE 0x10 #define MASK_ALE 0x0A But the ALE pin and the CLE pin of the NAND chip is connected to the address pin A1 and A2, I think the MASK_CLE and MASK_ALE shoud be set by the value (12) and the value (11), is it right? Although the MASK_CLE and MASK_ALE is set by the value (0x10) and the value (0x0A), but when I boot the kernel, the NAND flash is working well, why? Am I wrong?Can Anyone tell me? Thanks~ Best Regards, Shaofeng,Zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
RE:serial flash problem
Hi, Canibek, I think that you should read the documents to ensure if your NAND Flash is surpported by the NAND driver file,nand.c(SPRAAI4,page 26, table D-1), if not, you should appended your NAND ID to the nand.c Dirver. about the second question, you should set the kernel address and the file systems to the bootargs,such as bootcmd=boot 0x bootargs=mem=***,root=/dev/mtdblock3 noinitrd rw,** or bootargs=mem=***,root=/dev/mtd3 noinitrd rw,** Best Regards, shaofeng,zhang Date: Mon, 22 Dec 2008 14:47:04 +0200 From: canibek sa??n csa...@gmail.com Subject: serial flash problem To: davinci-linux-open-source@linux.davincidsp.com Message-ID: !!aaayaa4l0lqedzhahch6gvr1g7fcgaaaejliixvluxpciedish3q9ceba...@gmail.com Content-Type: text/plain; charset=iso-8859-9 Hi all, I am trying to load UBL and U-boot to my nandflash via sfh_DM35x.exe. But I didn't get some points. I think it is not usefull for dm355 command like this mono sfh_DM35x.exe -nandflash ubl.bin u-boot.bin After that it seems programming but when I changed the SW7 switch on my DVEVM board to nand boot mode, It gives some errors. UBL:NANDBoot() failed this is MT29F16G08QAA device. I think some addresses are wrong form y nand flash but I couldn't get them. Can you give some advices? And the other question is after loading ubl and u-boot, how can I load kernel Image and File system to mtd3? Best Regards Canibek ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
How to boot the chip from norflash with omitting booting from the USB HDD via DFU(Device Firmware Upgrade)?
Hi, everyone, I found that when I inserted the USB HDD to the usb port of the DVEVM 6446, the platform would not boot from the norflash, it would halt there for ever. but if I removed the USB HDD, I saw that the platform would boot from the norflash freely and start the kernel.Can anyone tell the reasons? I know that the AT91RM9200(ARM920T, ATMEL corp.) chip will start from USB port via DFU(Device Firmware Upgrade) protocol when it finished the DBGU and the USB device port initialization. Would the dm6446 chip firstly start from the USB device port via DFU yet? Please do me a favor. Thanks very much! shaofeng,zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Some questions about the MMC/SD Card Detect Pin and the USB Storage with DVEVM dm6446
Hello, Everyone, Now I have two qustions about DM6446 EVM. the First is:I want to know how the OS can detect the MMC/SD when the system is working. We know that the MMC/SD Card Detect pin is connected to the MSP430 P2.1/INCLK pin. So I want to know the reasons about it. Because on our board we directly connect the MMC/SD card-detect pin to the DM6446 GPIO pin. the following is our infomation when detecting the MMC/SD card: probe: mmcblk0: mmc0:11d4 SD02G 1921024KiB (ro) devfs_mk_dir: invalid argument.6 mmcblk0: p1 remove: _devfs_find_entry(): too short devfs_remove: /part1 not found, cannot remove _devfs_find_entry(): too short devfs_remove: /disc not found, cannot remove The second question is: We control the USB power on or power off with the GPIO pin of DM6446. So there is our information about the USB Storage: when usb storage probe: usb 1-1: new full speed USB device using musb_hdrc and address 2 scsi0 : SCSI emulation for USB Mass Storage devices kobject_register failed for scsi_mod (-17) kobject_register failed for usb_storage (-17) Vendor: USB NAND Model: FLASH DISKRev: 0.20 Type: Direct-Access ANSI SCSI revision: 02 kobject_register failed for scsi_mod (-17) SCSI device sda: 256000 512-byte hdwr sectors (131 MB) sda: assuming Write Enabled sda: assuming drive cache: write through SCSI device sda: 256000 512-byte hdwr sectors (131 MB) sda: assuming Write Enabled sda: assuming drive cache: write through /dev/scsi/host0/bus0/target0/lun0: p1 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 when usb storage remove: usb 1-1: USB disconnect, address 2 Both of the SD card and the USB storage could be used welly, but there are some errors above. could anyone help me? Thanks. ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Some questions about the MMC/SD Card Detect Pin and the USB Storage with DVEVM dm6446
Hello, Everyone, Now I have two qustions about DM6446 EVM. the First is:I want to know how the OS can detect the MMC/SD when the system is working. We know that the MMC/SD Card Detect pin is connected to the MSP430 P2.1/INCLK pin. So I want to know the reasons about it. Because on our board we directly connect the MMC/SD card-detect pin to the DM6446 GPIO pin. the following is our infomation when detecting the MMC/SD card: probe: mmcblk0: mmc0:11d4 SD02G 1921024KiB (ro) devfs_mk_dir: invalid argument.6 mmcblk0: p1 remove: _devfs_find_entry(): too short devfs_remove: /part1 not found, cannot remove _devfs_find_entry(): too short devfs_remove: /disc not found, cannot remove The second question is: We control the USB power on or power off with the GPIO pin of DM6446. So there is our information about the USB Storage: when usb storage probe: usb 1-1: new full speed USB device using musb_hdrc and address 2 scsi0 : SCSI emulation for USB Mass Storage devices kobject_register failed for scsi_mod (-17) kobject_register failed for usb_storage (-17) Vendor: USB NAND Model: FLASH DISKRev: 0.20 Type: Direct-Access ANSI SCSI revision: 02 kobject_register failed for scsi_mod (-17) SCSI device sda: 256000 512-byte hdwr sectors (131 MB) sda: assuming Write Enabled sda: assuming drive cache: write through SCSI device sda: 256000 512-byte hdwr sectors (131 MB) sda: assuming Write Enabled sda: assuming drive cache: write through /dev/scsi/host0/bus0/target0/lun0: p1 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 when usb storage remove: usb 1-1: USB disconnect, address 2 Both of the SD card and the USB storage could be used welly, but there are some errors above. could anyone help me? Thanks. -- Best Regards! zhangshaofeng shaofeng...@gmail.com shaofeng...@hotmail.com @Xi'an JiaoTong University ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source