AnsweredAssumed Answered

handling workarounds

Question asked by cvanbijleveld on Sep 24, 2012
Latest reply on Nov 14, 2017 by pereira



I am developing an application for the SHARC-21469 using VisualDSP++ Update 10.


When building the application, the assembler issues the following info and warnings for some assembly files:


Anomaly Actions

  Detecting: 15000006 15000005 15000011 15000012 15000004

  Working-around: 15000016 15000010


[Warning ea2547] "..\..\Apes\Src\TDC_SHARC.asm":162

Anomaly 09000022/15000004:

    If a write to one of the MODE1, MODE2, MMASK, ASTATX, ASTATY, STKYX, or

    STKYY registers is followed by an external memory access within two

    instructions, the effect latency of that register write may extend from

    one cycle to two cycles. This may lead to unexpected behavior by the

    second instruction following the register write.


[Warning ea2545] "..\..\Apes\Src\memcpy_SHARC.asm":204

PM access instruction may trigger hardware anomaly 15000016 under specific conditions.  For more details and possible workarounds, please refer to the SHARC anomaly list available at


It looks that the first anomaly 15000004 has been detected. Also that the second anomaly 15000016 has been worked around.


My first question is: is it the case that the second anomaly 15000016 has been worked around by the assembler, or do I have to modify the assembly code myself?


Regarding the first anomaly 15000004:

According to the documentation, there are already workarounds implemented for this anomaly (from Updated 7 on):


"Compiler and library workarounds to support ADSP-2137x anomaly 09000022 and ADSP-2146x anomaly 15000004 have been added in VisualDSP++ 5.0 Update 7'

"The compiler has new "-workaround 09000022" and "-workaround 15000004" switches that are enabled automatically when building for parts and revision that are impacted by the anomaly."


I have tried different options I have seen in the documentation:


- the compiler option -workaround 15000004 (via the Compile/Additional options in the Project Options)

- the assembler option -anomaly-workaround 15000004 (via the Assemble/Additional options in the Project Options).

(Here, the assembler issues the following warning:

[Warning ea1225]  15000004: Unable to perform requested action for specified anomaly ID: workaround Defaulting to known action for this anomaly: detect)


but the warning still comes out.


My second question is: how can I direct the assembler to work around this anomaly (in case it has not been automatically worked around)?


My third question is: how can I get rid of these warnings if the anomalies are worked around?



Thank you in advance.