Hi,
I want to test the srio DirectIO transfer speed, and the project I used is TI supplied in the boards/dsk6455/example/srio directory, I want to test the speed of transfer. My test method is letting the data transfer 500ms to acquire how many times the data transfer from master to slave, so bandwidth = data_size*transfer_cnt / time. I used a array to store the transfer count each 500ms and to get the average count. My program is shown in the below picture.
TMR_GetTime() is to get the start of time and the paramter Bandwidth_time_pass in TMR_Delta() can get the time pass of function body, The theroy speed is 1.25G, and the speed I test is 0.98Gbps, the result looks like right, but when I mask the NREAD function, The speed is 2.4Gbps, it is wrong, and when I mask the NWRITE function, the speed is 0.5Gbps. The difference between the NREAD and NWRITE is so large, could you tell me why this happen and how to test the speed of DirectIO correctly?
Thank you so much.