[U-Boot-Users] Uncompression of image takes time.

Adarsh Babu adarshrbpin at yahoo.co.in
Thu Mar 1 17:37:25 CET 2007


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.








More information about the U-Boot mailing list