Include variables from External sources in A2L file

5 views (last 30 days)
hello, I am using codegen to create a function that I am integrating into some legacy code. So For example lets say I have some Global Variable 'A" that is used in some Legacy Function.
When I generate my .ELF file for a2l address replacement the resulting a2L file does not have the variable A (it is not used in the codegen function)
is there an easy way to tell simulink this Variable exists for the purpose of a2l generation?

Accepted Answer

AKennedy
AKennedy on 13 Feb 2024
Hi Jake,
When generating code with Simulink and its code generation features, global variables that are not used directly in the Simulink model will not automatically appear in the generated A2L file. To include an external global variable "A" in the A2L file during code generation with Simulink, follow these steps:
1. Define the Global Variable in MATLAB: Create a “Simulink.Parameter” object for “A” and set its properties, including storage class as “Custom” and “Global”.
A = Simulink.Parameter;
A.Value = initialValue;
A.CoderInfo.StorageClass = 'Custom';
A.CoderInfo.CustomStorageClass = 'Global';
A.CoderInfo.CustomAttributes.HeaderFile = 'legacy_header.h';
A.Description = 'Global variable A for legacy code integration';
2. Link to Simulink Model: Link the parameter to your Simulink model via the model workspace or data dictionary.
3. Configure Code Generation Settings: In the Simulink model settings, configure code generation to include custom storage class information.
4. Generate Code and A2L File: Use “slbuild('your_model')” to generate code and ensure the A2L file is created with the global variable included.
5. Check the A2L File: Verify that “A” is correctly listed in the A2L file after generation.
You can consult the Embedded Coder documentation for more information: https://www.mathworks.com/help/ecoder/
Hope this helps!
  2 Comments
Jake Gareau
Jake Gareau on 13 Feb 2024
Thanks! this sounds like it will work, I will try it
Jake Gareau
Jake Gareau on 26 Nov 2024
This variable still seems to not show up in code Gen, The variable is unused in the model so it gets optimized out and I dont see any settings to change this.

Sign in to comment.

More Answers (0)

Categories

Find more on Deployment, Integration, and Supported Hardware in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!