The model that you are trying to run in External mode does not match the application running on your target. Checksum test (TARGET_DATA_MAP) failed.

134 次查看(过去 30 天)
When I try to simulate in external mode (connecting to a QNX target) I get the following error message (after a rebuild).
The model that you are trying to run in External mode does not match the application running on your target. Checksum test (TARGET_DATA_MAP) failed. The host model's structural checksum is [1038344332, 770696832, 3087214867, 2593530883] and the target application's structural checksum is [2557921303, 471944455, 2932109082, 2461827081]. Rebuild the model, run it on your target, and start External mode simulation again.
Rebuilding doesn't fix the issue. Also removed slprj and other model related files from the host as well as the target.
Also another interesting thing I noticed is that when I ran another Simulink model on the same target, it worked fine. But then I applied the same (custom) system target file (with a few code generation optimizations like inlining and block reduction), then rebuilt and deployed to the target and tried to rerun in external mode, I see the same error about checksum mismatch.?
Is it possible that the code generation settings is optimizing out certain atifacts of the model in the generated code and hence the checksum mismatch?

回答(2 个)

Yu-Ru chien
Yu-Ru chien 2019-8-29
编辑:Yu-Ru chien 2019-8-29
Hi,
I have the same error with my external mode.
Do you have any solution to fix it ?
my error is :
The model that you are trying to run in External mode does not match the application running on your target. Checksum test (TARGET_DATA_MAP) failed. The host model's structural checksum is [3983279142, 1550170329, 848274671, 1688896861] and the target application's structural checksum is [383270811, 1049453704, 876952895, 4117075976]. Rebuild the model, run it on your target, and start External mode simulation again.

Subhadra Mahanti
Subhadra Mahanti 2019-8-29
Hi Yu-Ru
Yes I was able to fix this issue. In our case, we were using our own build framework to generate the code and during the build process, we changed some of the model parameters while building (e.g. in our case in our build settings we had the model parameter EnableParallelModelReferenceBuilds as ON while in our system target (TLC) file, this was off. So with structural changes like these, the source model (from which you run the external mode) and the generated code that you run on the target can end up having different checksums.
An easy way to verify is: check the checksum of your model modelName (say) that you are trying to run in external mode by using the following command Simulink.BlockDiagram.getChecksum('modelName'). Next verify that this matches the checksum in the generated code directory. You can also compare other parameters to see what exact parameter is causing this change in structural checksum. HTH.
  5 个评论

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Manual Performance Optimization 的更多信息

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by