
Dear Leon,
in message Pine.CYG.4.55.0310291622220.996@sniper.ultra.si you wrote:
I'm in the process of writting PCMCIA support for WEPEP250 (boards/wepep250). Everything seems to be going smooth except one thing:
When I add a debug function and then execute U-Boot command "pinit on" or "ide reset" U-boot hangs on me. I sometimes get "data abort", sometimes "invalid instruction" and sometimes nothing.
Is there any limits with regards to U-Boot's size and by me putting too much inside U-boot's .text section and hitting some marker/border ?
There is no real limit on the size of the image's segments, but due to the broken memory layout of the ARM you have to be careful where you place your image in RAM, and for other memory mapping details like stack size.
For example, we just fixed a problem in the VFAT filesystem code which would allocate 3 x 64 kB buffers on the stack - this works perfectly fine on PowerPC, but causes a nasty stack overrun situation on most ARM systems.
byte order I wanted to write ident_swap_cpy, but as I wrote the function, re-compiled U-boot, downloaded it and issued "ide reset" I got a hang. I also tried to put just two printf's inside ident_copy() - a hang again.
Well - attach a debugger and check where it's hanging. And check where your stack pointer is pointing to.
Best regards,
Wolfgang Denk