The code is the FreeRTOS that I've built/run on the cpu0 of a twr-ls1021a board. I'm able to copy the code into ram and launch it from u-boot prompt. It works fine.
Then I run another code with cpu 0 to wake up the cpu 1 and put it running the FreeRTOS code. I can trace the execution of cpu 1 until the moment where the first task is to be started. Then I don't know what's happening but the cpu 1 doesn't jump to the right address.
What can cause this bug? It's possible that it comes from the mmu, caches, etc enabled by u-boot on cpu 0 but NOT enabled on cpu 1?