
Hi Alexander,
[...]
Ok, let me be more precise on this. We used U-Boot v2010.09 on a custom board running on an I.MX35 (ARM1136). We noticed the following code snippet took relatively long.
From common/console.c in console_init_r(void): /* Setting environment variables */ for (i = 0; i < 3; i++) {
setenv(stdio_names[i], stdio_devices[i]->name);
}
We added PIN toggling around this part of code and measured something
100ms. A collegue said it was ~100ms, I remembered ~500ms. Dunno who is
right.
It doesn't really matter who is right - 100ms is way off for setting these variables. Looking into common/cmd_nvedit.c, these variables have a special handling and there are ifdef's involved, so its not straightforward to read. You should really find out, where in there the time is spent for your board and fix the problem ;)
Our 'fix' was removing the stated lines at all.
That is not a fix but simply ignoring a problem. Maybe if you find out why these lines have such an unexpected run-time, you will solve more problems also.
We have a mantra here on the mailing list, so let me introduce you to it:
Solve the problems one by one in the order that you encounter them. Every ignored problem will come back later and catch you. Really, it will.
Now repeat after me ;)
Cheers Detlev