public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Adarsh Babu <adarshrbpin@yahoo.co.in>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Uncompression of image takes time.
Date: Thu, 1 Mar 2007 16:37:25 +0000 (UTC)	[thread overview]
Message-ID: <loom.20070301T173340-351@post.gmane.org> (raw)
In-Reply-To: loom.20070301T070547-407@post.gmane.org

Adarsh Babu <adarshrbpin <at> yahoo.co.in> writes:

> 
> Jerry Van Baren <gerald.vanbaren <at> smiths-aerospace.com> writes:
> 
> > 
> > Adarsh Babu wrote:
> > > Hi,
> > > 
> > > I have an image which is 1.5MB in size after compression, thats is done 
> for 
> > > MCF5271. When i try to load this on a MCF5271 eval board using u-boot 
> 1.2.0 it 
> > > takes about 25 secs to just uncompress. I loaded a MCF5272 eval board 
with 
> U-
> > > Boot 1.2.0 and then tried to start the same image(which was done for 
> MCF5271). 
> > > It was very fast. The checksum verification finish off in a second and 
> > > uncompression in 10 seconds ! 
> > > 
> > > The clock configurations for both are provided below:
> > > M5272C3.h
> > > define CFG_HZ			1000
> > > #define CFG_CLK			66000000
> > > 
> > > M5271EVB.h:
> > > define CFG_HZ			1000000
> > > #define CFG_CLK			100000000
> > > 
> > > What should I do to get the image to uncompress faster in the MCF5271 
EVB?
> > > 
> > > Regards,
> > > Adarsh.
> > 
> > 1) Your CFG_HZ looks like a problem: it should be 1000 and your timer 
> > tick interrupt should be running 1000 times per second to match.  If you 
> > are indeed ticking 1,000,000 times per second, you are spending all of 
> > your processor time in your timer ISR.
> > 
> > 2) Why is your image 1.5MB?  I suspect you have large unused areas of 
> > memory (typically due to ISR vectors, followed by a huge unused gap, 
> > followed by the code).  If you fix your image size (assuming it is 
> > broken), the checksum and uncompress will be much faster.
> > 
> > gvb
> > 
> 
> Hi Jerry,
> 
> I tried the same after modifying the CFG_HZ to 1000. But i still get the 
same 
> result. Its as if there is no effect. The image size is 1.5MB becos its just 
> not a kernel image. Its kernel + our application. Could this be a problem 
with 
> the timer initialization and cofiguration?
> 
> Regards,
> Adarsh.
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> 
Hi Jerry,

The MCF5271EVB.h found in u-boot-1.2.0 is something like this.
#ifndef _M5271EVB_H
#define _M5271EVB_H

#define DEBUG
#undef DEBUG

/*
 * High Level Configuration Options (easy to change)
 */
#define CONFIG_MCF52x2		/* define processor family */
#define CONFIG_M5271		/* define processor type */
#define CONFIG_M5271EVB		/* define board type */

#define CONFIG_IPADDR		192.168.30.1
#define CONFIG_SERVERIP		192.168.1.1
#define CONFIG_ETHADDR		00:06:3b:01:41:55

#define CONFIG_BAUDRATE		19200
#define CFG_BAUDRATE_TABLE	{ 9600 , 19200 , 38400 , 57600, 115200 }

#undef CONFIG_WATCHDOG		/* disable watchdog */

#define CONFIG_BOOTDELAY	5

/* Configuration for environment
 * Environment is embedded in u-boot in the second sector of the flash
 */
#ifndef CONFIG_MONITOR_IS_IN_RAM
#define CFG_ENV_OFFSET		0x4000
#define CFG_ENV_SECT_SIZE	0x2000
#define CFG_ENV_IS_IN_FLASH	1
#else
#define CFG_ENV_ADDR		0xffe04000
#define CFG_ENV_SECT_SIZE	0x2000
#define CFG_ENV_IS_IN_FLASH	1
#endif

#define CONFIG_COMMANDS	 ((CONFIG_CMD_DFL | CFG_CMD_PING | CFG_CMD_NET ) & ~
(CFG_CMD_LOADS | CFG_CMD_LOADB))

/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
#include <cmd_confdefs.h>

#define CFG_PROMPT		"=> "
#define CFG_LONGHELP				/* undef to save memory	
	*/

#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
#define CFG_CBSIZE		1024		/* Console I/O Buffer Size
	*/
#else
#define CFG_CBSIZE		256		/* Console I/O Buffer Size
	*/
#endif
#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
#define CFG_MAXARGS		16		/* max number of command args
	*/
#define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size
	*/

#define CFG_LOAD_ADDR		0x00100000

#define CFG_MEMTEST_START	0x400
#define CFG_MEMTEST_END		0x380000

#define CFG_HZ			1000
#define CFG_CLK			100000000

/*
 * Low Level Configuration Settings
 * (address mappings, register initial values, etc.)
 * You should know what you are doing if you make changes here.
 */

#define CFG_MBAR		0x40000000	/* Register Base Addrs */

/* Enable FEC ethernet */
#define FEC_ENET
#define CONFIG_NET_RETRY_COUNT	5
#define CFG_ENET_BD_BASE	0x480000

/*
 * Definitions for initial stack pointer and data area (in DPRAM)
 */
#define CFG_INIT_RAM_ADDR	0x20000000
#define CFG_INIT_RAM_END	0x1000	/* End of used area in internal SRAM
	*/
#define CFG_GBL_DATA_SIZE	64	/* size in bytes reserved for initial 
data */
#define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET

/*
 * Start addresses for the final memory configuration
 * (Set up by the startup code)
 * Please note that CFG_SDRAM_BASE _must_ start at 0
 */
#define CFG_SDRAM_BASE		0x00000000
#define CFG_SDRAM_SIZE		16		/* SDRAM size in MB */
#define CFG_FLASH_BASE		0xffe00000

#ifdef	CONFIG_MONITOR_IS_IN_RAM
#define CFG_MONITOR_BASE	0x20000
#else
#define CFG_MONITOR_BASE	(CFG_FLASH_BASE + 0x400)
#endif

#define CFG_MONITOR_LEN		0x40000
#define CFG_MALLOC_LEN		(256 << 10)
#define CFG_BOOTPARAMS_LEN	(64*1024)

/*
 * For booting Linux, the board info and command line data
 * have to be in the first 8 MB of memory, since this is
 * the maximum mapped by the Linux kernel during initialization ??
 */
#define CFG_BOOTMAPSZ		(8 << 20)	/* Initial Memory map for 
Linux */

/* FLASH organization */
#define CFG_MAX_FLASH_BANKS	1	/* max number of memory banks	
	*/
#define CFG_MAX_FLASH_SECT	11	/* max number of sectors on one chip
	*/
#define CFG_FLASH_ERASE_TOUT	1000

#define CFG_FLASH_CFI		1
#define CFG_FLASH_CFI_DRIVER	1
#define CFG_FLASH_SIZE		0x200000

/* Cache Configuration */
#define CFG_CACHELINE_SIZE	16

/* Port configuration */
#define CFG_FECI2C		0xF0

#endif	/* _M5271EVB_H */

Does anything look odd or our of place in here that might cause the Image 
decompression to be close to 25 seconds??

Reagards,
Adarsh.

  reply	other threads:[~2007-03-01 16:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-28 16:39 [U-Boot-Users] Uncompression of image takes time Adarsh Babu
2007-02-28 17:07 ` Jerry Van Baren
2007-03-01  6:12   ` Adarsh Babu
2007-03-01 16:37     ` Adarsh Babu [this message]
2007-03-01 18:22     ` Jerry Van Baren
  -- strict thread matches above, loose matches on Subject: below --
2007-03-02 12:11 Jerry Van Baren
2007-03-05 15:09 ` Adarsh Babu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=loom.20070301T173340-351@post.gmane.org \
    --to=adarshrbpin@yahoo.co.in \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox