Frequently Asked Question

Difference between internal and external memory
Last Updated 2 years ago

As you can see in the following link System Architecture (, within the User CPU column, there are devices that have two options for placing C code.

Devices HIL 402, HIL 602+, and HIL 604 have the option to put C code eighter on internal or external memory. The main difference between internal and external memory is which part of the processor your code is placed in. When it comes to internal memory it is located on OCM which size is 256kB while external memory is on DDR which size is 96MB. So when you have a problem with CPU memory utilization, as is shown in the message below, the recommendation is to check if code is placed on external memory.

Code and data segment is placed in internal memory.
Code and data segment size: 286 kB out of 254.5kB (112.60%)
To resolve this issue try the following:
1) Place code section in external memory, if that's supported by the HIL device, or
2) Reduce the model complexity.

Please, make the needed corrections and restart the compilation.

Compilation process interrupted

In order to do that, you have to go to Model settings--> Signal processing settings and then place code in external memory and place data section in external memory.

The binary file that is executed on one core can be divided into a code section and a data section. The code section represents C functions while the data section represents variables.

 There are no side effects when it comes to the speed of execution code, they have very similar speeds.

In the 4th generation devices (HIL 404 and HIL 606), there is no internal memory, so the C code is automatically placed on external memory.

Please Wait!

Please wait... it will take a second!