ARM Technical Support Knowledge Articles

COMPATIBILITY WITH CYGNAL SFR PAGING

Applies to: RTX51 Real-time Kernel

Answer


Information in this article applies to:


SYMPTOM

Some customers have inquired about the compatibility of the RTX51 Real-Time Kernel with the SFR Paging scheme used on the Cygnal F124 and similar devices.

There are issues in RTX51 that must be addressed when using devices that offer SFR paging .

CAUSE

The problems that may arise are caused by the RTX51 Kernel accessing certain SFRs that may not be available on the current SFR page. RTX51 is unaware of this and may corrupt different SFRs.

RESOLUTION

The current resolution is offered by Cygnal and has not been confirmed by Keil Software.

In the file RTXCLK.A51, there are 7 occurrences of direct manipulation (reads or writes) to TCON (called '?RTX_TCON' in the source file) or the TR0 bit (called 'RTX_TCONTROL'). Before each of these reads and writes, SFRPAGE must be explicitly set to 0x00, which is the page in which TCON is located. The number in parenthesis is the line number of the RTX-51 source file:

RTXCLK.A51(132): CLR   ?RTX_TCONTROL
RTXCLK.A51(149): SETB  ?RTX_TCONTROL              ; Enable counting
RTXCLK.A51(165): CLR   ?RTX_TCONTROL              ; Stop timer 0
RTXCLK.A51(175): MOV   A, ?RTX_TCON               ; Set initial values
RTXCLK.A51(176): ANL   A, #?RTX_TCON_AND_MASK     ; for TCON register
RTXCLK.A51(177): ORL   A, #?RTX_TCON_OR_MASK      ; (if required)
RTXCLK.A51(178): MOV   ?RTX_TCON, A
RTXCLK.A51(185): SETB  ?RTX_TCONTROL              ; Enable counting

If SFRPAGE is not properly set prior to the above operations, then Comparator0 or Comparator1 registers may be targeted instead, which will cause undesirable behavior.

STATUS

This problem is currently unresolved in RTX51 Version 7.00.

SEE ALSO

Article last edited on: 2005-09-06 05:16:09

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential