In my project based on smartfusion, I am using UART of cortex M3 to communicate with PC. The problem i am facing is that when Cortex M3 program is running in debug mode i receive correct data in PC, but when i put the same in release mode timings go haywire and it does not work.
Please suggest what may be missing. Please Ask any additional input if required.
I will really appreciate early reply.
Thanks
If I can translate this correctly. It works in the SIMULATOR, and doesn't work in REALITY.
Get a scope or logic analyzer and test your assumptions about actual speeds and bit/symbol timing of the output.
Use a standard baud rate like 115200, instead of some made up one.
Make sure your code programs all the registers and clocks properly. Assume that reality is a more harsh interpretation of the Reference Manual, double check all the register/bit settings, and THINK about how you can TEST each of the steps in the initialization sequence so you can figure out where it's breaking. Perhaps you can use the JTAG debugger to step through the code, checking the output/clock states at each step?