Why do I get the error "Unsupported custom storage class 'Default' for symbolic dimension"?
40 views (last 30 days)
Show older comments
MathWorks Support Team
on 18 Mar 2020
Edited: MathWorks Support Team
on 17 Dec 2024 at 18:11
When I generate code for my model with Embedded Coder, I see the following error in the diagnostic viewer during the build:
Unsupported custom storage class 'Default' for symbolic dimension A. Specify one of the following custom storage classes:
- Define or ImportedDefine with header file specified
- CompilerFlag - SystemConstant (AUTOSAR.Parameter)
- User-defined custom storage class that defines data as a macro in a specified header fileTo disable symbolic dimension propagation, search for 'Allow symbolic dimension specification' in the Configuration Parameters dialog box and clear the checkbox.
Accepted Answer
MathWorks Support Team
on 17 Dec 2024 at 0:00
Edited: MathWorks Support Team
on 17 Dec 2024 at 18:11
Simulink.Parameter is used to define the port dimension of a signal. Symbolic dimensions appear as compile time macros in the code, e.g. my_vector [my_dim], when my_dim is defined as a compiler flag or macro. Therefore, they have to be associated with a Storage Class that generates such constants in the code, and the error message is clear what Storage Classes need to be used. See following doc for more details:
If you do not want your size to be compile time tunable, then disable "symbolic dimension propagation" as the error message suggests.
0 Comments
More Answers (0)
See Also
Categories
Find more on Integrate External C/C++ Code Using C Function Blocks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!