[U-Boot-Users] Uncompression of image takes time.
Jerry Van Baren
gerald.vanbaren at smiths-aerospace.com
Thu Mar 1 19:22:20 CET 2007
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
More information about the U-Boot
mailing list