If I open the window "System Control Registers" and my program set IDWx bits (for example IDW1) and than clear these bits that IDWx bits don't clear. If I close the window "System Control Registers" that IDWx bits clear.
Where do this bug describe?
can you provide an example, and details of the update you have applied to VisualDSP++ 5.0. As I mentioned above, the simple assembly code above works as expected in the 21489 Simulator with VisualDSP++ 5.0 Update 10.
In the simulator, are you ensuring that you allow enough cycles for the change to propegate? Note that when you connect in a hardware session, halting (for example, by stepping over this instruction) will drain the pipeline, expending cycles, providing time for the write to take effect.
What processor are you targeting, and what session are you using? e.g. ADSP-21489 Simulator session, or ADSP-21469 via HPUSB-ICE.
What update of VisualDSP++ 5.0 are you using? e.g. Update 10.
With the following simple code section, and the 21489 simulator I saw the IMDW0 bit update correctly in the SYSCTL Register view:
bit set ustat1 IMDW0;
My apologies; I realise now the problem you were reporting was in clearing the bits, not in setting them. Extending the code as below, I saw the bits both set and clear:
My problem happens only in ADSP-21489 ADSP-214xx Simulator. When I connect to my target using emulator it's right
Yes you are right. The instruction "nop" need.
But I don't find the special builtin function which insert "nop"
When I work with system_reg I use the builtin function with nop
In my opinion the compiler MUST have builtin functions of vast processor intructions
would the "sysreg_write_nop" builtin function meet your requirements? This inserts a nop automatically after the write.
pSYSCTL is not system reg and sysreg_write_nop isn't applicable.
As you say sysreg_write_nop inserts a nop automatically after the write.
When I used pSYSCTL I must insert with asm("nop;"). It don't satisfy
Of course, my apologies. Unfortunately there is no builtin for "NOP;" at present, so the only solution we can recommend is to use the inline assembly keyword where you require extra stalls.
Retrieving data ...