Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Honored Contributor I
694 Views

Read float values from file stored on SD Card

Hello all, 

 

I have a matrix with float values which I will be saving in a file from Matlab. I have to copy this file to SD Card and read these values using NIOS 2 while running my program. What is the best method to do this?  

 

Should I simply store the values using fprintf in Matlab? Will I be able to read these values using fscanf in NIOS? 

 

I am using the FAT file functions from the SD Card Audio Demo program but I think those functions read one byte at time. It will be difficult to re-format my data after reading because my values will be stored as float. 

 

Any ideas on how I can implement this? 

 

Thanks
0 Kudos
3 Replies
Highlighted
Honored Contributor I
22 Views

Solved the problem myself using fwrite(fid,A,'float32'); in Matlab and using a union of char[4] and float in NIOS, thanks to stackoverflow.com 

 

union { 

char chars[4]; 

float f; 

} u; 

 

Read 4 bytes in u.char and use u.f, it will be exactly what's needed.
0 Kudos
Highlighted
Honored Contributor I
22 Views

can u send me copies of your NIOS coding.. just for references for my project

0 Kudos
Highlighted
Honored Contributor I
22 Views

 

--- Quote Start ---  

Solved the problem myself using fwrite(fid,A,'float32'); in Matlab and using a union of char[4] and float in NIOS, thanks to stackoverflow.com 

 

union { 

char chars[4]; 

float f; 

} u; 

 

Read 4 bytes in u.char and use u.f, it will be exactly what's needed. 

--- Quote End ---  

 

 

If the endianess stored in the file by Matlab is the same as NIOS II endianess (it probably it is), you don't need the char[4] array, you can just read and write 4 bytes to and from the address of the float. 

 

BillA
0 Kudos