----
 
----
   −
'''Ultibo Platform interface unit for ARMv6'''
+
'''Ultibo Platform Interface unit for ARMv6'''
    
The ARMv6 (ARM11) does not support WFI, WFE, DMB, DSB or ISB instructions, these must be done using MCR operations on the system control processor registers.
 
The ARMv6 (ARM11) does not support WFI, WFE, DMB, DSB or ISB instructions, these must be done using MCR operations on the system control processor registers.
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6Halt; assembler; nostackframe; public name'_haltproc';</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6Halt; assembler; nostackframe; public name '_haltproc';</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' The purpose of the Wait For Interrupt operation is to put the processor in to a low power state</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' The purpose of the Wait For Interrupt operation is to put the processor in to a low power state</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanDataCacheRangeInternal(Address,Size:LongWord); assembler; nostackframe;</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanDataCacheRangeInternal(Address:PtrUInt; Size:LongWord); assembler; nostackframe;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean data cache range operation</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean data cache range operation</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanDataCacheRange(Address,Size:LongWord);</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanDataCacheRange(Address:PtrUInt; Size:LongWord);</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean data cache range, limiting the size for each operation to 4MB because some processors fail to correctly operate with larger ranges</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean data cache range, limiting the size for each operation to 4MB because some processors fail to correctly operate with larger ranges</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6InvalidateDataCacheRangeInternal(Address,Size:LongWord); assembler; nostackframe;</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6InvalidateDataCacheRangeInternal(Address:PtrUInt; Size:LongWord); assembler; nostackframe;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform an invalidate data cache range operation</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform an invalidate data cache range operation</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6InvalidateDataCacheRange(Address,Size:LongWord);</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6InvalidateDataCacheRange(Address:PtrUInt; Size:LongWord);</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform an invalidate data cache range, limiting the size for each operation to 4MB because some processors fail to correctly operate with larger ranges</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform an invalidate data cache range, limiting the size for each operation to 4MB because some processors fail to correctly operate with larger ranges</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanAndInvalidateDataCacheRangeInternal(Address,Size:LongWord); assembler; nostackframe;</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanAndInvalidateDataCacheRangeInternal(Address:PtrUInt; Size:LongWord); assembler; nostackframe;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean and invalidate data cache range operation</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean and invalidate data cache range operation</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanAndInvalidateDataCacheRange(Address,Size:LongWord);</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6CleanAndInvalidateDataCacheRange(Address:PtrUInt; Size:LongWord);</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean and invalidate data cache range, limiting the size for each operation to 4MB because some processors fail to correctly operate with larger ranges</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform a clean and invalidate data cache range, limiting the size for each operation to 4MB because some processors fail to correctly operate with larger ranges</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6InvalidateInstructionCacheRangeInternal(Address,Size:LongWord); assembler; nostackframe;</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ARMv6InvalidateInstructionCacheRangeInternal(Address:PtrUInt; Size:LongWord); assembler; nostackframe;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform an invalidate instruction cache range operation</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Perform an invalidate instruction cache range operation</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
Exception encountered, of type "Error"