This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F2808: Storing Data to Flash via Simulink/Embedded Coder

Prodigy 250 points

Replies: 8

Views: 267

Part Number: TMS320F2808

Hi everyone,

I am working with f2808 processor in Simulink. As far as I know, it is not possible to program the flash dynamically (storing data) for any purpose via Simulink. Is there any workaround for this issue by using Simulink?

PS: I know about the flash API functions and their related examples, so please do not mention them. Also, it is not possible for me to use an external EEPROM at this case.

8 Replies

  • Cevikalp,

    We've notified the MathWorks about this post; I'll keep tabs on it from the TI side. Their response time is usually within a day typically.

    Best,

    Matthew

    Helpful Links:

    Getting Started     

    Application Specific

    More Resources

    C2000 Training Portal Electric Vehicles All C2000 Reference Designs
    C2000 MCU Development Tools Industrial Drives
    C2000 Home Page Power Control

     

  • In reply to MatthewPate:

    Hi,

    This feature is currently not supported. Usually it is some calibration data that is stored in the flash that needs to be updated. To update one location in the flash we need to erase the entire flash page and re-program the content. But currently this feature is not available. I am not sure if this helps, but we have introduced SD card logging feature from R2019b. Here is the link to the same.

    Venkatesh Chilapur   | MathWorks

  • In reply to venkatesh chilapur:

    Thanks for the reply. Unfortunately I am working with R2017b version, so I won't be able to use the example. I have one question though:

    -Can there be any way to implement the flash API functions in Simulink, somehow using them to manipulate the flash according to our needs?

  • In reply to Çevikalp Sütunç:

    Hi,

    You can create a driver block which would do this update on the inputs passed to it.

    Here is an example on how to create driver block in MATLAB.

    https://in.mathworks.com/help/supportpkg/beaglebone/device-driver-blocks.html

    Venkatesh Chilapur   | MathWorks

  • In reply to venkatesh chilapur:

    Hi,

    I am trying to build a driver block, however I encounter the problem where the Flash_Program and Flash_Erase functions (functions of flash_API) are not recognized by the generated code, it is throwing an error such as Flash_Program and Flash_Erase functions are undefined and they were first referenced in a different obj file. Can you help me about it?

  • In reply to Çevikalp Sütunç:

    Hi,

    You need to add the dependent files to the build.

    Here is a post which talks about it.

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/844147/3123872#3123872

    Please get in touch with our support channel for further help!

    https://www.mathworks.com/support.html

    Venkatesh Chilapur   | MathWorks

  • In reply to venkatesh chilapur:

    Hi,

    I tried to do some manipulations but I ended up damaging the processor( I can neither erase nor program the flash) so I had to replace it with a new value. As far as I understood, flash programming and erasing from Simulink requires more knowledge than which I already have(requires handling .cmd file accordingly). I do not want to spend more time for it because it is meaningless. If you can send me an example of building a device driver block for this purpose, I would be greatful. Otherwise, I will have to wait for you to add this functionality to Simulink in upcoming versions. 

  • In reply to Çevikalp Sütunç:

    Hi,

    Unfortunately, we cannot comment on when a given feature will be supported.
    So right now if you need this feature, as noted earlier, you need to proceed on your own.
    Please contact us for any specific issue at:

    https://www.mathworks.com/support.html

    Venkatesh Chilapur   | MathWorks

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.