|ARM Technical Support Knowledge Articles|
Applies to: RTX51 Real-time Kernel
Information in this article applies to:
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 .
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.
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.
This problem is currently unresolved in RTX51 Version 7.00.
Article last edited on: 2005-09-06 05:16:09
Did you find this article helpful? Yes No
How can we improve this article?