How do I save MATLAB data for a C/C++ based embedded system?

Say that I have used MATLAB coder to create multiple C codes that I shall apply on an STM32.
The C codes take a lot of parameters as input, and I do not want to write data as header files, nor do I want to write a program to do that, not if there are existing solutions, or better alternatives.
The application does not call for the need of a single board computer, and STM32 cannot store nor read .mat files (I think).
What are my options?

 Respuesta aceptada

Sumit Ghosh
Sumit Ghosh el 7 de Feb. de 2024
You can achieve this using coder.read and coder.write.
In short, coder.write(fileName,data) stores the argument data in a file with the name fileName.coderdata in your current directory. You can use this function in your host machine to sae the paraleters in a file.
dataFromFile = coder.read(fileName) reads from the fileName.coderdata storage file and returns the data stored within the file. You can use this function in your MATLAB® code for which you want to generate C/C++ code. The generated code performs the data read at run time.

2 comentarios

The thing is, this still creates a separate data file that the host program has to read.
But I am unsure if this data can be compiled to the embedded system, embedded systems are not computers, I cannot just copy the data in, it has to be compiled in.
I will test this and see if it works.
In principle, if the data is just expressed in the form of an array in a c source file as a const, I know that will be compiled inside. So something like this will surely work.
coder.read reads data at run time, which also needs a directory, which means it is meant for some some form of operating system, but an embedded system does not have that. I am highly uncertain whether this can work.

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2023b

Preguntada:

el 6 de Feb. de 2024

Comentada:

el 7 de Feb. de 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by