You should use qt statically linked. I would like to see the final boot chart . Bye
2010/7/30, Nicolas Luna <[email protected]>: > Hi, > > Thanks guys for your advices, I applied few of them and I save a lot of > time, I'm at 3.9 seconds now. I'll also apply the deferred init calls > concept > later. > > I have two other questions. > > I'm not sure to understand how to use EDMA to copy from NOR to RAM in uboot. > Every post that I found it is never explain the procedure to apply this > patch. Do you guys have a piece of code or something to get started with > that? > > In the same way, after the kernel boot, I have to start an application with > QT and it takes 10 seconds to transfert QT lib (libQtCore, libQtGui, > libQtNetwork, fonts) from NOR to RAM and start the application. QT stuff is > ~20MB, I removed every useless lib to reduce the amount of data to > transfert. I also optimised the EMIFA CS2 (I changed EMIFA clock to 150 Mhz > and changed CS timing to be at the maximum of my NOR). I probed the NOR chip > select and there are big delays between read access. I suppose that is > because it is not using EDMA and the CPU is not able to feed the NOR... I > would like to reduce this transfert time to ~4 secondes or less and I think > that EDMA could maybe help to do it. Do you have any idea how to apply it, > or any other ideas? > > Thanks for your time. > > Regards, > > Nicolas > > > On Thu, Jul 29, 2010 at 10:42 PM, rohan tabish > <[email protected]>wrote: > >> set verify=n this will ignore checksum >> >> Regard's >> RT >> >> --- On *Thu, 29/7/10, Nicolas Luna <[email protected]>* wrote: >> >> >> From: Nicolas Luna <[email protected]> >> Subject: Boot time >> To: [email protected] >> Date: Thursday, 29 July, 2010, 0:59 >> >> >> Hi guys, >> >> I'm trying to make by board boot as quick as possible. I did some >> optimisation with the "All This For 1 Second Boot" wiki and other website. >> I >> would like to reduce a little bit more the boot time and I wonder if you >> guys could give me some clues. >> >> I copied my boot log below. For sure I'll remove the uboot autoboot delay >> and probably build a new kernel with modules. I putted in bold part that I >> think it is possible to do more optimisation. >> >> 1- See bullet #3. >> 2- The verifying Checksum is about 400 msec is it possible to skip it? >> 3- It takes ~1 sec to start booting the kernel and there is a other ~1 sec >> delay between the starting kernel and the beginning of the uncompressing. >> Why it's so long? Ok maybe there is the copy from NOR to RAM but it should >> not take more than few msec. >> 4- It takes ~1 sec to the kernel to free 120K memory... I got enought RAM >> is it possible to remove it? >> >> I got custom hardware based on OMAP-L138 with FS (jffs2) and compressed >> kernel in NOR Flash. >> >> Thanks a lot >> >> Nicolas >> >> >> ------------------------------------------------------------------------------------- >> >> 0.000 0.000: OMAP-L138 initialization passed! >> 0.000 0.000: Booting TI User Boot Loader >> 0.004 0.004: UBL Version: 1.65 >> 0.004 0.000: UBL Flashtype: NOR >> 0.008 0.004: Starting NOR Copy... >> 0.008 0.000: CFI Query...passed. >> 0.012 0.004: NOR Initialization: >> 0.012 0.000: Command Set: Intel >> 0.012 0.000: Manufacturer: INTEL >> 0.016 0.004: Size: 0x00000020 MB >> 0.020 0.004: Valid magicnum, 0x55424CBB, found.. >> 0.184 0.164: DONE >> 0.188 0.004: Jumping to entry point at 0xC1080000. >> 0.504 0.316: >> 1.548 1.044: Hit any key to stop autoboot: 0 >> *2.372 0.824: ## Booting kernel from Legacy Image at c0007fc0 ...* >> 2.372 0.000: Image Name: Linux-2.6.34 >> 2.380 0.008: Image Type: ARM Linux Kernel Image (uncompressed) >> 2.380 0.000: Data Size: 1505956 Bytes = 1.4 MB >> 2.384 0.004: Load Address: c0008000 >> 2.388 0.004: Entry Point: c0008000 >> *2.808 0.420: Verifying Checksum ... OK* >> 2.808 0.000: Loading Kernel Image ... OK >> 2.808 0.000: OK >> 2.808 0.000: >> *2.812 0.004: Starting kernel ...* >> *2.812 0.000:* >> *3.860 1.048: Uncompressing Linux... done, booting the kernel.* >> 4.264 0.404: Linux version 2.6.34 (i...@idt-ubuntu-linux) (gcc version 4.3.3 >> (Sourcery G++ Lite 2009q1-203) ) #89 PREEMPT Thu Jul 22 15:24:03 EDT 2010 >> 4.268 0.004: CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 >> 4.272 0.004: CPU: VIVT data cache, VIVT instruction cache >> 4.276 0.004: Machine: DaVinci DA850/OMAP-L138 EVM >> 4.280 0.004: Memory policy: ECC disabled, Data cache writeback >> 4.284 0.004: DaVinci da850/omap-l138 variant 0x0 >> 4.288 0.004: Built 1 zonelists in Zone order, mobility grouping on. Total >> pages: 32512 >> 4.300 0.012: Kernel command line: lpj=747520 mem=128M >> console=ttyS2,115200n8 root=/dev/mtdblock2 rootfstype=jffs2 rw ip=off >> 4.304 0.004: PID hash table entries: 512 (order: -1, 2048 bytes) >> 4.308 0.004: Dentry cache hash table entries: 16384 (order: 4, 65536 >> bytes) >> 4.316 0.008: Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) >> 4.316 0.000: Memory: 128MB = 128MB total >> 4.324 0.008: Memory: 126752k/126752k available, 4320k reserved, 0K highmem >> 4.324 0.000: Virtual kernel memory layout: >> 4.332 0.008: vector : 0xffff0000 - 0xffff1000 ( 4 kB) >> 4.336 0.004: fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) >> 4.340 0.004: DMA : 0xff000000 - 0xffe00000 ( 14 MB) >> 4.344 0.004: vmalloc : 0xc8800000 - 0xfea00000 ( 866 MB) >> 4.348 0.004: lowmem : 0xc0000000 - 0xc8000000 ( 128 MB) >> 4.352 0.004: modules : 0xbf000000 - 0xc0000000 ( 16 MB) >> 4.356 0.004: .init : 0xc0008000 - 0xc0026000 ( 120 kB) >> 4.360 0.004: .text : 0xc0026000 - 0xc02e8000 (2824 kB) >> 4.364 0.004: .data : 0xc02e8000 - 0xc0307a60 ( 127 kB) >> 4.372 0.008: SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, >> CPUs=1, Nodes=1 >> 4.376 0.004: Hierarchical RCU implementation. >> 4.376 0.000: NR_IRQS:245 >> 4.380 0.004: Console: colour dummy device 80x30 >> 4.384 0.004: Calibrating delay loop (skipped) preset value.. 149.50 >> BogoMIPS (lpj=747520) >> 4.388 0.004: Mount-cache hash table entries: 512 >> 4.392 0.004: CPU: Testing write buffer coherency: ok >> 4.396 0.004: DaVinci: 144 gpio irqs >> 4.396 0.000: NET: Registered protocol family 16 >> 4.400 0.004: bio: create slab <bio-0> at 0 >> 4.404 0.004: SCSI subsystem initialized >> 4.408 0.004: usbcore: registered new interface driver usbfs >> 4.412 0.004: usbcore: registered new interface driver hub >> 4.416 0.004: usbcore: registered new device driver usb >> 4.416 0.000: Switching to clocksource timer0_1 >> 4.420 0.004: musb_hdrc: version 6.0, pio, host, debug=0 >> 4.424 0.004: Waiting for USB PHY clock good... >> 4.428 0.004: musb_hdrc musb_hdrc: MUSB HDRC host driver >> 4.432 0.004: musb_hdrc musb_hdrc: new USB bus registered, assigned bus >> number 1 >> 4.436 0.004: hub 1-0:1.0: USB hub found >> 4.440 0.004: hub 1-0:1.0: 1 port detected >> 4.444 0.004: musb_hdrc musb_hdrc: USB Host mode controller at fee00000 >> using PIO, IRQ 58 >> 4.448 0.004: NET: Registered protocol family 2 >> 4.456 0.008: IP route cache hash table entries: 1024 (order: 0, 4096 >> bytes) >> 4.460 0.004: TCP established hash table entries: 4096 (order: 3, 32768 >> bytes) >> 4.464 0.004: TCP bind hash table entries: 4096 (order: 2, 16384 bytes) >> 4.468 0.004: TCP: Hash tables configured (established 4096 bind 4096) >> 4.472 0.004: TCP reno registered >> 4.476 0.004: UDP hash table entries: 256 (order: 0, 4096 bytes) >> 4.480 0.004: UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) >> 4.484 0.004: NET: Registered protocol family 1 >> 4.488 0.004: RPC: Registered udp transport module. >> 4.492 0.004: RPC: Registered tcp transport module. >> 4.496 0.004: RPC: Registered tcp NFSv4.1 backchannel transport module. >> 4.500 0.004: JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. >> 4.504 0.004: msgmni has been set to 247 >> 4.508 0.004: io scheduler noop registered (default) >> 4.512 0.004: da8xx_lcdc da8xx_lcdc.0: GLCD: Found Sharp_LK043T1DG01 panel >> 4.516 0.004: Console: switching to colour frame buffer device 60x34 >> 4.520 0.004: Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled >> 4.528 0.008: serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a 16550A >> 4.532 0.004: serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a 16550A >> 4.540 0.008: serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a 16550A >> 4.540 0.000: console [ttyS2] enabled >> 4.548 0.008: brd: module loaded >> 4.556 0.008: physmap platform flash device: 02000000 at 60000000 >> 4.564 0.008: physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank >> 4.568 0.004: Intel/Sharp Extended Query Table at 0x010A >> 4.572 0.004: Intel/Sharp Extended Query Table at 0x010A >> 4.576 0.004: Intel/Sharp Extended Query Table at 0x010A >> 4.580 0.004: Intel/Sharp Extended Query Table at 0x010A >> 4.584 0.004: Intel/Sharp Extended Query Table at 0x010A >> 4.588 0.004: Using buffer write method >> 4.588 0.000: Using auto-unlock on power-up/resume >> 4.592 0.004: cfi_cmdset_0001: Erase suspend on write enabled >> 4.596 0.004: RedBoot partition parsing not available >> 4.600 0.004: Using physmap partition information >> 4.604 0.004: Creating 3 MTD partitions on "physmap-flash.0": >> 4.608 0.004: 0x000000000000-0x000000080000 : "bootloaders + env" >> 4.620 0.012: 0x000000080000-0x000000280000 : "kernel" >> 4.628 0.008: 0x000000280000-0x000002000000 : "filesystem" >> 4.636 0.008: physmap-flash.0: failed to claim resource 0 >> 4.644 0.008: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron >> NAND >> 512MiB 3,3V 8-bit) >> 4.652 0.008: Creating 2 MTD partitions on "davinci_nand.1": >> 4.656 0.004: 0x000000000000-0x000001900000 : "data" >> 4.664 0.008: 0x000001900000-0x000020000000 : "else" >> 4.672 0.008: davinci_nand davinci_nand.1: controller rev. 2.5 >> 4.680 0.008: spi_davinci spi_davinci.1: Controller at 0xfef0e000 >> 4.692 0.012: tun: Universal TUN/TAP device driver, 1.6 >> 4.696 0.004: tun: (C) 1999-2004 Max Krasnyansky >> <[email protected]<http://mc/[email protected]> >> > >> 4.704 0.008: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver >> 4.708 0.004: ohci ohci.0: DA8xx OHCI >> 4.712 0.004: ohci ohci.0: new USB bus registered, assigned bus number 2 >> 4.716 0.004: Waiting for USB PHY clock good... >> 4.720 0.004: ohci ohci.0: irq 59, io mem 0x01e25000 >> 4.788 0.068: hub 2-0:1.0: USB hub found >> 4.788 0.000: hub 2-0:1.0: 1 port detected >> 4.796 0.008: Initializing USB Mass Storage driver... >> 4.804 0.008: usbcore: registered new interface driver usb-storage >> 4.804 0.000: USB Mass Storage support registered. >> 5.804 1.000: i2c_davinci i2c_davinci.1: controller timed out >> 5.808 0.004: i2c_davinci i2c_davinci.1: initiating i2c bus recovery >> 5.812 0.004: tps6507x-ts: probe of tps6507x-ts failed with error -110 >> 5.820 0.008: omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0 >> 5.824 0.004: omap_rtc: RTC power up reset detected >> 5.824 0.000: omap_rtc: already running >> 5.828 0.004: i2c /dev entries driver >> 5.832 0.004: TCP cubic registered >> 5.836 0.004: Clocks: disable unused i2c1 >> 5.840 0.004: Clocks: disable unused emac >> 5.848 0.008: davinci_emac_probe: using random MAC addr: 72:93:72:ad:15:13 >> 5.852 0.004: emac-mii: probed >> 5.860 0.008: omap_rtc omap_rtc: setting system clock to 2000-01-01 >> 01:34:03 >> UTC (946690443) >> 6.136 0.276: VFS: Mounted root (jffs2 filesystem) on device 31:2. >> *6.140 0.004: Freeing init memory: 120K* >> *7.356 1.216: Mounting proc* >> >> -----Inline Attachment Follows----- >> >> >> _______________________________________________ >> Davinci-linux-open-source mailing list >> [email protected]<http://mc/[email protected]> >> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source >> >> >> > -- www.opensurf.it _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
