Hi, I am currently working on a microblaze v6.00 core on FPGA and am developing an algorithm. This is what I am doing
1) matlab on PC sends data to microblaze (FPGA) via UART. RS232 hardware handshaking is deployed here. 2) the algorithm runs on microblaze to process the input data 3) microblaze sends the data back to matlab on PC.the setup I am working on works perfectly on a previous FPGA board. I have just migrated the setup to another FPGA board for FPGA resource expansion reasons. However, microblaze no longer sends the data back to PC. Here are some other details
1) I have ensured that the board is able to send data back and forth from PC to microblaze via UART in both directions in matlab. thus code like this works: int main() { get_params(); //get data from UART using blocking statements return_result(); //return results back to PC via UART. }2) the C code which doesnt work however looks like this in normal operation unless I am in debug mode. :(
int main(){ get_params(); //get data from UART using blocking statements start_algo(); //to start algo return_result(); //return results back to PC via UART. }
void start_algo(){ // I inserted a breakpoint around here. ...the rest of the algo.... }
when I use a debugger to debug, by inserting a breakpoint somewhere up in the start_algo() function. Whenever I do that, the return_result() function works just fine and returns the expected data correctly.
However, normal operation (without use of a debugger) just fails to work. I have been working on this for quite a while and am clueless how else further to debug.
any suggestions would really help.
thanks in advance! Chris