How to change memory section setting by script?

4 views (last 30 days)
How should i change the below scripts?
i have wrote my code generate script in R2016b, but now it's not working properly.
%% model code/data section settings
set_param(bdroot,'MemSecFuncInitTerm', 'NxpCode'); % 代码分配到ROM
set_param(bdroot,'MemSecFuncExecute', 'NxpCode');
set_param(bdroot,'MemSecFuncSharedUtil', 'NxpCode');
set_param(bdroot,'MemSecDataConstants', 'NxpConst'); % 自动生成的常量分配到ROM
set_param(bdroot,'MemSecDataInternal', 'NxpKam'); % 模块静态变量分配到KAM
  2 Comments
XX
XX on 15 Jun 2022
i'm testing use UI, find that const can't be configrated to ROM.
What's wrong?
Generated code:
/* Kam variables define for NXP-S32K */
__attribute__ ((section(".APP_KAM_DATA")))
const ConstP_testcode_T testcode_ConstP = {
/* Computed Parameter: Constant_Value
* Referenced by: '<S1>/Constant'
*/
{ 1U, 3U, 7U }
};
XX
XX on 16 Jun 2022
PARAMETER's section can't be set to IS CONST, i think it's a bug, because when define Simulink.Parameter, it's section should be set to IS CONST.

Sign in to comment.

Accepted Answer

XX
XX on 16 Jun 2022
cm = coder.mapping.api.get(bdroot);
setDataDefault(cm,'InternalData','MemorySection','MpcKam')
setDataDefault(cm,'Constants','MemorySection','MpcKam') % THERE IS BUG: SHOULD BE MpcConst, BUT DON'T SUPPORT!
setFunctionDefault(cm,'InitializeTerminate','MemorySection','MpcCode')
setFunctionDefault(cm,'Execution','MemorySection','MpcCode')
setFunctionDefault(cm,'SharedUtility','MemorySection','MpcCode')

More Answers (0)

Categories

Find more on 代码生成 in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!