RAM variables, occupying part of the RAM area 0xF8-0xFF, are corrupted by the SSC instruction when using the ImageCraft compiler

Question: RAM variables, occupying part of the RAM area 0xF8-0xFF, are corrupted by the SSC instruction when using the ImageCraft compiler. How can I work around this?

 

Answer:

The -bSSCParmBlk:0x00F8.0x00FF switch does not actually reserve an area of RAM space. The new ImageCraft compiler directives -rwh/-roh were implemented in PD5.0 SP6 (ImageCraft standard compiler version 7.0.2/ImageCraft Professional version 8.04.02) in order to properly reserve an area of RAM or ROM. Applying these directives to SSCParmBlk, using the custom.lkp project file, will properly reserve the area for SSC operations.

If custom.lkp does not exist in the project folder at the same location as the project's .soc file, create one. Then in custom.lkp place the following line:

-rwh:SSCParmBlk:0x00F8.0x00FF

This issue will be resolved in PSoC Designer 5.1 SP3.