This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

how to save data into file in keil IDE

hi
I want to save my intermediate data into a file.
I tried to use fopen, fwrite, it can not even read. how should i use rtl.h ?

  int  count[10];
  FILE *fout;

  fout = fopen ("Counter.bin","w");
  if (fout != NULL) {
    fwrite (&count[0], sizeof (int), 10, fout);   // write an item 10 times to the file
    fclose (fout);

my keil version 4.6
ARM core is cortex-M0.
I am using the startup_MPS_CM0.s startup file to do the work.

Thanks for help!

Parents
  • If you skip fopen() etc, then yes. There are support for having Cortex chips "print" debug data to the debugger. Documentation available on this site.

    For other chips, the normal route is to just connect printf() to a serial port and then log all data sent out on that port.

    But then we are talking about strict write of data on a stream. You did also mention "read" in your original post. If you need two-way communication, then it's time to implement a server application and use RS232, USB, Ethernet, ... to communicate between your device and the server. Then you can do whatever you want. Including having the server "tunnel" accesses to the file system of a PC.

Reply
  • If you skip fopen() etc, then yes. There are support for having Cortex chips "print" debug data to the debugger. Documentation available on this site.

    For other chips, the normal route is to just connect printf() to a serial port and then log all data sent out on that port.

    But then we are talking about strict write of data on a stream. You did also mention "read" in your original post. If you need two-way communication, then it's time to implement a server application and use RS232, USB, Ethernet, ... to communicate between your device and the server. Then you can do whatever you want. Including having the server "tunnel" accesses to the file system of a PC.

Children
  • Another thing to consider, is to have the program store the data you want to save into a RAM buffer or known address. Let the debugger retrieve this data and save to file. On another run, load this file and have the debugger send it to the RAM of your device.

    So similar operations as when programming, or reading, the contents of the flash memory.