Model Reference without adding "Target Configuration Block"

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Model Reference without adding "Target Configuration Block"

ソリューションへジャンプ
988件の閲覧回数
cpatel
Contributor I

Hello NXP MBDT Team, 

I am using "NXP's Model-Based Design Toolbox for S32K1xx Toolbox" version 4.1.0 with MATLAB R2019a. 

In my project, I am using model references (model within a model) to manage complexity. While generating code, using one of the example file (flexcan_s32k11x) without any modification, code generation works fine. When I add model reference (Convert flexcan_s32k11x/Rx_Complete/Switch Case Action Subsystem ID 0x3FE/Chart in Model Reference), code generation gives following error:

Error: Index exceeds the number of array elements (0).

After adding "MBD_S32K11x_Config_Information" block to model reference, error goes away. That makes me believe that it is much to add "MBD_S32K11x_Config_Information" block to each model reference at top level. However, in documentation, it suggests otherwise (it seems that adding this block to model is optional) 

If set System Target File Manually, above error comes back. 

In documentation: 

Block Miscellaneous Details:

  • Required System Target File is set automatically by adding Target Configuration Block into the model. If no Target Configuration Block in the model then System Target File should be set manually.

Any suggestion or workaround on how to avoid adding "Target Configuration Block" to each model reference? Is it possible? 

-Chirag

ラベル(1)
0 件の賞賛
返信
1 解決策
843件の閲覧回数
mariuslucianand
NXP Employee
NXP Employee

Hello cpatel@mathworks.com‌,

Thank you for reporting this behaviour. This might be caused by one of our callbacks. I have attached a file that must be replaced under {src\mbdtbx_s32k\mscripts\model}.

Please replace it and test the "Propagate Configuration" button.

Hope this helps,

Marius

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
843件の閲覧回数
mariuslucianand
NXP Employee
NXP Employee

Hello cpatel@mathworks.com‌,

The Config block must be added in all the referenced models. Besides the .tlc file, there are other changes that the Config block performs on the model.

If you need to change something in the Config Block, just change in the main model and just press the "Propagate configuration" button. It will automatically apply the changes to all Config Blocks from the referenced models. 

pastedImage_1.png

Hope this helps,

Marius

0 件の賞賛
返信
843件の閲覧回数
cpatel
Contributor I

Hi mariuslucianandrei

Thank you for your reply. 

When I double click on "Propagate Configuration" as you mentioned above, it also changes some of the model configuration parameters. For example, it changes support for non-finite numbers and complex numbers, among other things. This is reproducible everytime. 

Is there a way to avoid this? 

Also, with Model References, it is recommended to use Configuration References. "Propagate Configuration" doesn't work in that case.  

pastedImage_1.png

0 件の賞賛
返信
844件の閲覧回数
mariuslucianand
NXP Employee
NXP Employee

Hello cpatel@mathworks.com‌,

Thank you for reporting this behaviour. This might be caused by one of our callbacks. I have attached a file that must be replaced under {src\mbdtbx_s32k\mscripts\model}.

Please replace it and test the "Propagate Configuration" button.

Hope this helps,

Marius

0 件の賞賛
返信