* [U-Boot-Users] Uncompression of image takes time.
@ 2007-02-28 16:39 Adarsh Babu
2007-02-28 17:07 ` Jerry Van Baren
0 siblings, 1 reply; 7+ messages in thread
From: Adarsh Babu @ 2007-02-28 16:39 UTC (permalink / raw)
To: u-boot
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Uncompression of image takes time.
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
0 siblings, 1 reply; 7+ messages in thread
From: Jerry Van Baren @ 2007-02-28 17:07 UTC (permalink / raw)
To: u-boot
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Uncompression of image takes time.
2007-02-28 17:07 ` Jerry Van Baren
@ 2007-03-01 6:12 ` Adarsh Babu
2007-03-01 16:37 ` Adarsh Babu
2007-03-01 18:22 ` Jerry Van Baren
0 siblings, 2 replies; 7+ messages in thread
From: Adarsh Babu @ 2007-03-01 6:12 UTC (permalink / raw)
To: u-boot
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Uncompression of image takes time.
2007-03-01 6:12 ` Adarsh Babu
@ 2007-03-01 16:37 ` Adarsh Babu
2007-03-01 18:22 ` Jerry Van Baren
1 sibling, 0 replies; 7+ messages in thread
From: Adarsh Babu @ 2007-03-01 16:37 UTC (permalink / raw)
To: u-boot
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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Uncompression of image takes time.
2007-03-01 6:12 ` Adarsh Babu
2007-03-01 16:37 ` Adarsh Babu
@ 2007-03-01 18:22 ` Jerry Van Baren
1 sibling, 0 replies; 7+ messages in thread
From: Jerry Van Baren @ 2007-03-01 18:22 UTC (permalink / raw)
To: u-boot
Adarsh Babu wrote:
> 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.
Hi Adarsh,
I don't have any M527x experience, so I cannot say anything with detail.
Just changing CFG_HZ quite likely is not sufficient - usually you need
to configure the timers in your hardware initialization routines and
CFG_HZ simply reflects the choices you (or someone) made at
initialization time.
If this is the case, and if you timer is really ticking at 1/100 your
master clock rate, that would cause serious slowing of execution. You
will have to chase down what CFG_HZ is used for and how your hardware
timer is initialized. I simply don't have the knowledge or information.
HTH,
gvb
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Uncompression of image takes time.
2007-03-02 12:11 Jerry Van Baren
@ 2007-03-05 15:09 ` Adarsh Babu
0 siblings, 0 replies; 7+ messages in thread
From: Adarsh Babu @ 2007-03-05 15:09 UTC (permalink / raw)
To: u-boot
Jerry Van Baren <gerald.vanbaren <at> comcast.net> writes:
>
> Hi Adarsh,
>
> Other generic things that can cause slow execution are:
> * Caches disabled (data and/or instruction)
> * Caches are very sharp knives: they can slice and
> dice quickly and finely, or they can turn on
> you and slice your fingers off. For initial board
> bring-up, caches are usually disabled.
> * Memory configuration
> * The memory interface is typically initialized with
> the slowest settings possible on power up: if they
> are not optimized, the CPU will run slower than it
> could run.
>
> Let us know what you find, so the next person down this path will find
> the solution rather than just the problem. (The internet: the worlds
> largest knowledge base hidden in a vast wasteland of ignorance.)
>
> HTH,
> gvb
>
> -------------------------------------------------------------------------
> 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,
I enabled the Instruction cache for MCF5271 and then tried decompressing the
image. I have got the decompression time down to 12 seconds from the earlier
25 seconds with this implementation. Thanx a lot for the suggestion.
Regards,
Adarsh.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot-Users] Uncompression of image takes time.
@ 2007-03-02 12:11 Jerry Van Baren
2007-03-05 15:09 ` Adarsh Babu
0 siblings, 1 reply; 7+ messages in thread
From: Jerry Van Baren @ 2007-03-02 12:11 UTC (permalink / raw)
To: u-boot
> Adarsh Babu wrote:
>> 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.
>
> Hi Adarsh,
>
> I don't have any M527x experience, so I cannot say anything with detail.
> Just changing CFG_HZ quite likely is not sufficient - usually you need
> to configure the timers in your hardware initialization routines and
> CFG_HZ simply reflects the choices you (or someone) made at
> initialization time.
>
> If this is the case, and if you timer is really ticking at 1/100 your
> master clock rate, that would cause serious slowing of execution. You
> will have to chase down what CFG_HZ is used for and how your hardware
> timer is initialized. I simply don't have the knowledge or information.
>
> HTH,
> gvb
Hi Adarsh,
Other generic things that can cause slow execution are:
* Caches disabled (data and/or instruction)
* Caches are very sharp knives: they can slice and
dice quickly and finely, or they can turn on
you and slice your fingers off. For initial board
bring-up, caches are usually disabled.
* Memory configuration
* The memory interface is typically initialized with
the slowest settings possible on power up: if they
are not optimized, the CPU will run slower than it
could run.
Let us know what you find, so the next person down this path will find
the solution rather than just the problem. (The internet: the worlds
largest knowledge base hidden in a vast wasteland of ignorance.)
HTH,
gvb
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-03-05 15:09 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2007-03-01 18:22 ` Jerry Van Baren
2007-03-02 12:11 Jerry Van Baren
2007-03-05 15:09 ` Adarsh Babu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.