< OpenECU Support

signal attribute specified.. is invalid because individual signals contained in this line are mapped to different memory locations

This occurs when the code generator tries to generate code for a signal when that signal has two names associated with it.

For example, a block output port might assign a name to the signal for code generation purposes, and you may have named that same signal and set the properties to Exported Global. This will cause the error message above.

To fix this situation, insert a Data Type Conversion block between the offending block output port and your signal.

  • The Data Type Conversion block forces the code generator to create a new variable with its own memory location.

  • The Data Type Conversion block can be found in the Signal Attributes library in the Simulink Library browser.

If this is causing a problem

NeedsDataTypeConvert.jpg

Fix it like this

WithDataTypeConvert.jpg

If it's still a problem

It's possible the subsystem input port or something in the subsystem is causing the issue. In that case, add another Data Type Conversion block after your named signal, as shown below.

With2DataTypeConverts.jpg

Copyright © 2022 OpenECU, All rights reserved