| Embedded IDE Link™ TS | ![]() |
Embedded IDE Link™ TS software supports a variety of targets (instruction set simulators and embedded hardware) with a range of capabilities. Some demo models and user-created models may fail to build for certain targets owing to a lack of available target memory. In such cases you see linker errors like the following:
Linking and locating to t_pil_lib_alg_pil.out E 268: relative linear element 'section T_PIL_LIB_ALG_4_NB class CNEAR' cannot be located within 4 pages total errors: 1, warnings: 0 wmk: *** action exited with value 1.
To work around such errors you must do one of the following:
Modify the model to reduce memory requirements (for example, by optimizing the algorithm, or by using smaller datatypes).
Alternatively, modify the target configuration to make more memory available (for example, by using a hardware board with more memory, or changing the memory map to allow extra memory to be used).
In some cases it may not be possible to resolve the problem, because the algorithm represented by the model is too complex for the target.
Under certain circumstances the TASKING EDE may become slow, unresponsive, or even terminate with virtual memory problems. This limitation is an open issue with the TASKING EDE (for all supported tool suites).
To resolve this issue, take one or both of the following actions:
Close the EDE and try building the model again
Try deleting the symbol database file, cwright.sbl, which can be found in the EDE_Executable directory ($TASKINGRootDir\bin)
The following problem has been found with Signal Processing Blockset™ product ("DSP lib") library builds.
With Renesas M16C, building the Signal Processing Blockset library with floating point support enabled results in the following error:
TASKING program builder v3.1r1 Build 076 SN 00100552 Assembling qrdc_z_rt.src asm16c E219: ["qrdc_z_rt.src" 1692] expression out of range (0 and FF hexadecimal)wmk: *** action exited with value 1.
This limitation is a known issue with the Renesas 16C compiler. To resolve this issue, disable floating point support in the model.
Occasionally, when Embedded IDE Link TS software is creating projects in the TASKING EDE, the following error appears: Memory block freed twice. This limitation is a known issue with the TASKING EDE.
To work around the problem, click OK in the error dialog box, and the code generation process continues as normal.
If you encounter this problem, you receive an error message similar to the following:
Assembling tasking_fuel_controller_ert_rtw_pil_cstart.src asm51 E001: tasking_fuel_controller_ert_rtw_pil_cstart.src: line 1: syntax error wmk: *** action exited with value 1.
This message indicates that the full path of the model or subsystem you are trying to build is too long.
To resolve this issue, consider moving the model to a shorter directory name, or renaming the model, subsystem, or both to use shorter names.
The following limitations affect use of the DSP563xx Toolset:
Only 16-bit mode for the DSP563xx Family is supported. Real-Time Workshop® grt.tlc-based targets and the "GRT Compatible Call interface" option in the Real-Time Workshop > Interface settings are not supported. This limitation is because of the non-standard size of single- and double-precision floating-point datatypes on this architecture (tmwtypes.h will not compile)
The DSP5600x Toolset is NOT supported because none of the processors supported by this toolset have 16-bit memory models.
Both 16-bit memory models of the DSP563xx Family produce watch errors (wrong values displayed) in CrossView Pro because of an issue with the TASKING toolset. CrossView Pro does not know that the datatype sizes should be different according to the selected memory model. This issue does not affect the DSP566xx Family.
There are no resolutions for this issues.
Tool Suites: Renesas M16C
With the Renesas M16C tool suite, if you are executing the application project, rather than debugging (via "Create, Build and Debug Application Project"), this does not work correctly. The application does not execute. This issue occurs because the CrossView Pro Simulator does not know the start address when debugging information is not loaded.
To resolve this issue, perform the following steps after CrossView Pro launches:
Stop execution by clicking the Halt button.
Execute the following command in the CrossView Pro command window to determine the application entry point stored at location 0xfffffc:
*((unsigned long *)0xfffffc)/x
Example output for this command is:
0xfffffc = 0x000d0000
Change the execution position to the application entry point by executing the "gi" command, using the output of the previous command. For example, 0xd0000 gi
Resume execution by clicking the Run/Continue button.
Alternatively, use the "Create, Build and Debug Application Project" build action.
When using the C166 toolset you may see warnings similar to the following:
Warning: missing "sdc_lia" or "sdc_lip" lifetime record
This warning is caused by a problem with the TASKING® toolset and has been registered with Altium as PR35043. It is related to debug life time information.
The warning can be ignored safely.
On the C166 and 8051 platforms, a limitation of the TASKING toolset may cause build errors if you build from a root drive location such as c:\ or d:\.
Following is an example error with the C166 toolset:
cc166: E 014: invalid control: Files\MATLAB\R2007a_nortwec\toolbox\rtw\targets\c166\c166demos" -Wcp"-IC:\Program wmk: *** action exited with value 1.
Workaround: Always build from a sub-directory location such as c:\work or d:\MATLAB\work.
Nonfinite values support issues may occur resulting in either linking errors or compilation errors.
If you encounter similar linking errors when building your model:
undeclared identifier "rtMinusInf" undeclared identifier "rtNaN" undeclared identifier "rtInf"
then this means that:
Your model uses nonfinite values, and
You are using a stubbed version of rt_nonfinite.c which does not define rtMinusInf, rtNan, or the other nonfinite identifiers required by Real-Time Workshop software.
To resolve this issue:
Do not use nonfinite values in the model. Such values are not desirable for embedded applications. Nonfinite elements on targets other than TriCore® or ARM® are not supported with Embedded IDE Link TS software.
If you want to use nonfinite values and your target is a TriCore or ARM platform, then you can use the following workaround. You do not need to use a stubbed version of rt_nonfinite.c because the default one should compile correctly on this 32-bit target. In the configuration set, under Real-Time Workshop in TLC Options,
Remove -aCustomNonFinites="genrtnonfinite_stub.tlc".
Delete the generated rt_nonfinite.c file in the build area before attempting to build the model again. This procedure should generate a new rt_nonfinite.c file that correctly defines the undeclared identifiers.
If you encounter compilation errors in rt_nonfinite.c similar to the following:
Compiling and assembling rt_nonfinite.c
..\..\slprj\ert_c167cs_sim\_sharedutils\rt_nonfinite.c:
47: uint32_T fraction : 23;
E 134: bitfield size out of range - set to 1
57: uint32_T fraction1 : 20;
E 134: bitfield size out of range - set to 1
69: (*(LittleEndianIEEESingle*)&rtNaN).fraction = 0x7FFFFF;
W 195: constant expression out of range -- truncated
78: (*(LittleEndianIEEESingle*)&rtNaN).fraction = 0x7FFFFF;
W 195: constant expression out of range -- truncated
89: (*(LittleEndianIEEEDouble*)&rtNaN).wordL.fraction1 = 0xFFFFF;
W 195: constant expression out of range -- truncated
90: (*(LittleEndianIEEEDouble*)&rtNaN).wordH.fraction2 = 0xFFFFFFFF;
W 196: constant expression out of range due to signed/unsigned type mismatch
98: uint32_T fraction : 23;
E 134: bitfield size out of range - set to 1
105: uint32_T fraction1 : 20;
E 134: bitfield size out of range - set to 1
118: (*(BigEndianIEEESingle*)&rtNaN).fraction = 0x7FFFFF;
W 195: constant expression out of range -- truncated
127: (*(BigEndianIEEESingle*)&rtNaN).fraction = 0x7FFFFF;
W 195: constant expression out of range -- truncated
138: (*(BigEndianIEEEDouble*)&rtNaN).wordL.fraction1 = 0xFFFFF;
W 195: constant expression out of range -- truncated
139: (*(BigEndianIEEEDouble*)&rtNaN).wordH.fraction2 = 0xFFFFFFFF;
W 196: constant expression out of range due to signed/unsigned type mismatch
total errors: 4, warnings: 8
wmk: *** action exited with value 1.
wmk: *** action exited with value 1.
then this issue indicates that you are compiling the default Real-Time Workshop rt_nonfinite.c on a target that does not support it. The only targets which can compile the default rt_nonfinite.c are the TriCore and ARM platforms. Nonfinite elements on targets other than TriCore or ARM platforms are not supported with Embedded IDE Link TS software.
To resolve this issue, follow these steps:
Make sure you are using the stubbed out version of this file. In the configuration set, under Real-Time Workshop in TLC Options, add the following: -aCustomNonFinites="genrtnonfinite_stub.tlc"
Delete the rt_nonfinite.c file from the build area before attempting to rebuild the model in the same build area.
Due to a limitation in the TASKING C166 toolset you may see messages similar to the following in the CrossView Pro command window during execution of an application in the instruction set simulator:
GPR registers could not be scheduled to 0xF200 GPR registers could not be scheduled to 0xF220
and
Reading register "R0" (0) failed: memory failure at memory space 0 range 0x00FC00-0x00FC01
These messages occur because the CrossView Pro feature "Use map file for memory map" does not work correctly.
The workaround suggested by Altium is to not use this feature, in which case the debugger assumes that the entire memory range that the processor can address is available to the application.
You can create custom Embedded IDE Link TS template projects and a custom CrossView Pro initialization file to disable this feature. For example, in the custom template application project, uncheck the project option, CrossView Pro > Initialization > Use map file for memory mapping.
C++ code generation is not supported. If you try to use this option, you see an error message like the following:
Embedded IDE Link TS does not support the RTW C++ Target Language option. Please set the "Language" setting to "C" in the Real-Time Workshop configuration parameters of the model.
There is no resolution for this issue.
The Video and Image Processing Blockset Real-Time Workshop library is not supported by Embedded IDE Link TS software. If you include blocks from the Video and Image Processing Blockset library in your model then you may see compilation or link errors.
There is no resolution for this issue.
Noninlined S-functions that use routines in rt_matrx.c are not supported because rt_matrx.c contains functions that can allocate memory dynamically. Embedded IDE Link TS software does not support dynamic memory allocation. You may see errors like the following:
Linking and locating to rt_matrx_test.out
E 222: module _nmalloc.obj (_NMALLOC_C):
symbol '?C166_NHEAP_TOP': unresolved
E 222: module _nmalloc.obj (_NMALLOC_C):
symbol '?C166_NHEAP_BOTTOM':
unresolved
total errors: 2, warnings: 0 There is no resolution for this issue.
When using Embedded IDE Link TS software, the Real-Time Workshop Configuration Parameter Compiler optimization level has no effect on the building of generated code in the TASKING EDE.
The Embedded IDE Link TS template projects specify the compiler and linker settings used for building the generated code. See Template Projects for more information, and Tutorial: Creating New Template Projects for instructions on customizing settings.
![]() | Debugger Issues | Processor-in-the-Loop Issues | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |