Table of Contents
Previous Chapter
A maintainer uses the ACIS memory commands to help debug and diagnose problems within ACIS during flight by giving them the access and control of the various ACIS processors' memory-mapped hardware.
These commands provide the ability to dump the contents of any memory-mapped region of either the Back End Processor or any of the Front End Processors. These commands also provide the ability to read and write directly into any of the DEA board's SRAM or PRAM.
These commands also provide the ability to overwrite any memory-mapped locations, and to call functions directly. Note that, in general, sending memory commands while processing science data will consume some processing and telemetry resources, and may temporarily result in science data loss while the memory command is being executed.
A maintainer uses the memory commands in a variety of scenarios, however, the most common is to perform a memory dump of a region of the ACIS Back End Processor, such as the Instruction Cache RAM. To do this, the maintainer issues a single "Read Back End Memory" command to ACIS, specifying the start of Instruction Cache, and the length of the entire cache. Upon receipt of the command, ACIS will proceed to produce a series of Read Memory Telemetry Packets, each containing a copy of a contiguous piece of Instruction Cache RAM.
NOTE: Given the non-contiguous blocks in the Mongoose address space (such as Data Cache space vs. Instruction Cache space), a single "dump all memory" feature is not provided. Instead, the ground must issue a request for a specific region of RAM.
ACIS shall provide the capability to dump the contents of the Back End Processor Memory into telemetry. This is accomplished via a "Read Memory" command. This command will have the form as shown in Table 47.
NOTE: Due to the nature of the Mongoose Processor's memory architecture, the addressed contiguous region must be either contained entirely within Instruction Cache, or entirely outside of the Instruction Cache.
TABLE 47. Read Back End Memory Command Packet (Continued)
--------------------------------------------------------------------------------------------------------- Req Item Description--------------------------------------------------------------------------------------------------------- 47-1 Packet Length Length of command packet in 16-bit words 47-2 Packet Identifier This is used to identify the command 47-3 Command Read_BEP_Memory_Command opcode Opcode 47-4 Virtual Address to 32-bit Back End Processor virtual address to start reading from. This Read From address must be long word aligned (i.e. evenly divisible by 4). If not, the instrument will reject the command. 47-5 Length to Read The number of 32-bit words to read. This value can range from 1 to the maximum addressable memory location within the Back End Processor. ---------------------------------------------------------------------------------------------------------
The telemetry packets resulting from this command will contain the information described in Table 48.
TABLE 48. Read Back End Memory Telemetry Content (Continued)
----------------------------------------------------------------------------------------------------- Req Item Description----------------------------------------------------------------------------------------------------- 48-1 Packet Synch This field marks the start of the ACIS packet within the telem etry stream. 48-2 Packet Word Length This field indicates the number of 32-bit words in the packet. 48-3 Format Tag This field indicates the type of data contained in the telemetry packet. 48-4 Packet Sequence Number This field is used to sequentially number all ACIS telemetry packets. 48-5 Command Packet Identifier This is the packet identifier of the command causing the dump being performed. This allows the ground to associate the com mand and the resulting telemetry packets. 48-6 BEP Tick Counter This item contains the value of the internal timer-tick counter at the time the memory region was read. 48-7 Original Address to Read This is the original starting virtual address indicated by the From command initiating the read. 48-8 Original Length to Read This is the original word count specified by the command ini tiating the read. 48-9 Virtual Address Read From This indicates the starting virtual address of the data being sent in this telemetry packet. 48-10 Number of words read This indicates the number of 32-bit words being provided by this telemetry packet (NOTE: May be redundant with Packet Length). 48-11 Read Data This is the read data as 32-bit words. -----------------------------------------------------------------------------------------------------
Upon receipt of a Read Back End Memory Command, the ACIS Back End software shall produce and send one or more telemetry packets containing the requested memory data from the Back End Processor. If memory-mapped devices were addressed by the command, the contents of their registers are read once, in sequence, as 32-bit words.
Since normal data reads from virtual addresses mapped to the Instruction Cache result in reads from the physical Data Cache RAM, the ACIS software shall recognize Instruction Cache addresses and provide the necessary code to read from the Instruction Cache RAM.
ACIS shall provide the capability to write directly anywhere into the Back End memory and memory-mapped devices. When used inappropriately, this command may cause ACIS to crash, hang, or otherwise generate questionable science data, and must be used with caution. Under no circumstances, however, may this command cause damage to hardware, or prevent ACIS from recovering given appropriate (possibly time-consuming) corrective action (such as a load from uplink to fix memory and then reset).
NOTE: Due to the nature of the Mongoose Processor's memory architecture, the addressed contiguous region must be either contained entirely within Instruction Cache, or entirely outside of the Instruction Cache.
Table 49 illustrates this content of this command.
TABLE 49. Write Back End Memory Command Packet (Continued)
----------------------------------------------------------------------------------------------------- Req Item Description----------------------------------------------------------------------------------------------------- 49-1 Packet Length Length of command packet in 16-bit words 49-2 Packet Identifier Used to identify the command 49-3 Command Opcode Write_BEP_Memory_Command opcode 49-4 Virtual Address to 32-bit Back End Processor Virtual Address to start writing to. This Write To address must be long word aligned (i.e. evenly divisible by 4). If not, the instrument will reject the command. 49-5 Data to Write The array of 32-bit data words to write. The number of 32-bit words to write is determined using the Packet Length. -----------------------------------------------------------------------------------------------------
Upon receipt of this command, ACIS shall copy the "Data" section of the command to the specified address. If memory-mapped devices are addressed by the command, the contents of their registers are written once, in sequence, as 32-bit words.
Since normal data writes to virtual addresses mapped to the Instruction Cache result in writes to the physical Data Cache RAM, the ACIS software shall recognize Instruction Cache addresses and provide the necessary code to write to the Instruction Cache RAM.
ACIS shall provide the capability to call code contained anywhere in the Back End memory. When used inappropriately, this command may cause ACIS to crash, hang, or otherwise generate questionable science data, and must be used with caution. Under no circumstances, however, may this command cause damage to hardware, or prevent ACIS from recovering given appropriate (possibly time-consuming) corrective action (such as a load from uplink to fix memory and then reset).
Table 50 illustrates this content of this command. The value returned by the called function is supplied in the telemetry stream. Table 51 illustrates the content of this telemetry.
TABLE 50. Execute Back End Memory Command Packet (Continued)
------------------------------------------------------------------------------------------------------- Req Item Description------------------------------------------------------------------------------------------------------- 50-1 Packet Length Length of command packet in 16-bit words 50-2 Packet Identifier Used to identify the command 50-3 Command Opcode Execute_BEP_Memory_Command opcode 50-4 Virtual Address to 32-bit Back End Processor Virtual Address to call. This address must Execute be long word aligned (i.e. evenly divisible by 4). If not, the instrument will reject the command. 50-5 Arguments The array of arguments to pass. The number of arguments to pass is determined by the Packet Length. The maximum number of 32-bit arguments that can be passed is 20. -------------------------------------------------------------------------------------------------------
TABLE 51. Execute Back End Memory Telemetry Content (Continued)
-------------------------------------------------------------------------------------------------- Req Item Description-------------------------------------------------------------------------------------------------- 51-1 Packet Synch This field marks the start of the ACIS packet within the telemetry stream. 51-2 Packet Word Length This field indicates the number of 32-bit words in the packet. 51-3 Format Tag This field indicates the type of data contained in the teleme try packet. 51-4 Packet Sequence Number This field is used to sequentially number all ACIS telemetry packets. 51-5 Command Packet Identifier This identifies the executed command. 51-6 BEP Tick Counter This items contains the value of the internal timer-tick counter at the time the function was called. 51-7 Original Address to Execute This is address of the function that was called. 51-8 Return Value This is the value returned by the called function. --------------------------------------------------------------------------------------------------
Upon receipt of this command, ACIS shall push the argument list onto the stack and call the function located at the specified address. If the function returns, ACIS shall place the 32-bit returned value into the telemetry stream.
Since the Mongoose cannot execute code loaded into its Data Cache, the ACIS software shall trap attempts to execute from Virtual Addresses which map to the physical Data Cache RAM. Such attempts shall result in the command not being executed and in a run-time warning indicated in the software housekeeping telemetry.
ACIS shall provide the capability to dump the entire contents of the Front End Processor Memory into telemetry. This is accomplished via a "Read FEP Memory" command. This command will have the form as shown in Table 52.
NOTE: Due to the nature of the Mongoose Processor's memory architecture, the addressed contiguous region must be either contained entirely within Instruction Cache, or entirely outside of the Instruction Cache.
TABLE 52. Read Front End Memory Command Packet (Continued)
-------------------------------------------------------------------------------------------------- Req Item Description-------------------------------------------------------------------------------------------------- 52-1 Packet Length Length of command packet in 16-bit words 52-2 Packet Identifier This is used to identify the command 52-3 Command Opcode Read_FEP_Memory_Command opcode 52-4 Front End Processor Id This identifies which Front End Processor to from which to acquire the memory contents. 52-5 Virtual Address to Read 32-bit Front End Processor virtual address to start reading From from. This address must be long word aligned (i.e. evenly divisible by 4). If not, the instrument will reject the command. 52-6 Length to Read The number of 32-bit words to read. --------------------------------------------------------------------------------------------------
The telemetry packets resulting from this command will contain the information described in Table 53
TABLE 53. Read Front End Memory Telemetry Content (Continued)
------------------------------------------------------------------------------------------------------- Req Item Description------------------------------------------------------------------------------------------------------- 53-1 Packet Synch This field marks the start of the ACIS packet within the teleme try stream. 53-2 Packet Word Length This field indicates the number of 32-bit words in the packet. 53-3 Format Tag This field indicates the type of data contained in the telemetry packet. 53-4 Packet Sequence Number This field is used to sequentially number all ACIS telemetry packets. 53-5 Command Packet identifier This is the packet identifier of the command causing the dump being performed. This allows the ground to associate the com mand and the resulting telemetry packets. 53-6 BEP Tick Counter This items contains the value of the internal timer-tick counter at approximately the time (i.e. within a minute) of when the memory region was read. 53-7 Front End Processor Id This identifies whose memory was read. 53-8 Original Address to Read This is the original starting virtual address indicated by the From command initiating the read. 53-9 Original Length to Read This is the original word count specified by the command initi ating the read. 53-10 Virtual Address Read From This indicates the starting virtual address of the data being sent in this telemetry packet. 53-11 Number of words read This indicates the number of 32-bit words being provided by this telemetry packet (NOTE: May be redundant with Packet Length). 53-12 Read Data This is the read data as 32-bit words. -------------------------------------------------------------------------------------------------------
Upon receipt of a Read FEP Memory Command, the ACIS Back End software shall command the Front End to provide the data to the Back End, which then sends it using one or more telemetry packets. If memory-mapped devices were addressed by the command, the contents of their registers are read once, in sequence, as 32-bit words.
Since normal data reads from virtual addresses mapped to the Instruction Cache result in reads from the physical Data Cache RAM, the ACIS software shall recognize Instruction Cache addresses and provide the necessary code to read from the Instruction Cache RAM.
ACIS shall provide the capability to write directly anywhere into the Front End Memory and Memory-mapped devices. When used inappropriately, this command may cause ACIS to crash, hang, or otherwise generate questionable science data, and must be used with caution. Under no circumstances, however, may this command cause damage to hardware, or prevent ACIS from recovering given appropriate (possibly time-consuming) corrective action.
NOTE: Due to the nature of the Mongoose Processor's memory architecture, the addressed contiguous region must be either contained entirely within Instruction Cache, or entirely outside of the Instruction Cache.
Table 54 illustrates this content of this command
TABLE 54. Write Front End Memory Command Packet (Continued)
---------------------------------------------------------------------------------------------------- Req Item Description---------------------------------------------------------------------------------------------------- 54-1 Packet Length Length of command packet in 16-bit words 54-2 Packet Identifier Used to identify the command 54-3 Command Opcode Write_FEP_Memory_Command opcode 54-4 Front End Processor Id This identifies which Front End Processor to write to. 54-5 Virtual Address to Write To 32-bit Back End Processor Virtual Address to start writing to. This address must be long word aligned (i.e. evenly divisible by 4). If not, the instrument will reject the command. 54-6 Data to Write The array of 32-bit data words to write. The number of 32-bit words to write is determined by the Packet Length. ----------------------------------------------------------------------------------------------------
Upon receipt of this command, the Back End shall command the addressed Front End Processor to copy the "Data" section of the command to the specified address. If FEP Memory-mapped devices are addressed by the command, the contents of their registers are written once, in sequence, as 32-bit words.
Since normal data writes to virtual addresses mapped to the Instruction Cache result in writes to the physical Data Cache RAM, the ACIS software shall recognize Instruction Cache addresses and provide the necessary code to write to the Instruction Cache RAM.
ACIS shall provide the capability to call code contained anywhere in the Front End Memory. When used inappropriately, this command may cause the Front End processor to crash, hang, or otherwise generate questionable science data, and must be used with caution. Under no circumstances, however, may this command cause damage to hardware, or prevent ACIS from recovering given appropriate (possibly time-consuming) corrective action.
Table 55 illustrates this content of this command. Table 56 illustrates the content of this telemetry.
TABLE 55. Execute Front End Memory Command Packet (Continued)
---------------------------------------------------------------------------------------------------- Req Item Description---------------------------------------------------------------------------------------------------- 55-1 Packet Length Length of command packet in 16-bit words 55-2 Packet Identifier Used to identify the command 55-3 Command Opcode Execute_FEP_Memory_Command opcode 55-4 Front End Processor Id This identifies which Front End Processor to use for the com mand 55-5 Virtual Address to Execute 32-bit Back End Processor Virtual Address to call.This address must be long word aligned (i.e. evenly divisible by 4). If not, the instrument will reject the command. 55-6 Arguments The array of 32-bit arguments to pass. The number of argu ments to pass is determined from the Packet Length. The maxi mum number of 32-bit arguments that can be passed is 20. ----------------------------------------------------------------------------------------------------
TABLE 56. Execute Front End Memory Telemetry Content (Continued)
------------------------------------------------------------------------------------------------------ Req Item Description------------------------------------------------------------------------------------------------------ 56-1 Packet Synch This field marks the start of the ACIS packet within the telem etry stream. 56-2 Packet Word Length This field indicates the number of 32-bit words in the packet. 56-3 Format Tag This field indicates the type of data contained in the telemetry packet. 56-4 Packet Sequence Number This field is used to sequentially number all ACIS telemetry packets. 56-5 Command Packet Identifier This identifies the executed command. 56-6 BEP Tick Counter This items contains the value of the internal timer-tick counter at approximately the time (i.e. within a minute) when the function was invoked. 56-7 Front End Processor Id This identifies the FEP whose function was called. 56-8 Original Address to Execute This is address of the function that was called. 56-9 Return Value This is the value returned by the called function. ------------------------------------------------------------------------------------------------------
Upon receipt of this command, the ACIS Back End software shall issue a command to the addressed Front End processor, passing it the argument list. The Front End processor will then push the argument list onto its stack and call the function located at the specified address. If the function returns, the Front End processor shall send the 32-bit returned value (if any) back to the Back End software. The Back End then places the 32-bit returned value (if any) into the telemetry stream.
Since the Mongoose cannot execute code loaded into its Data Cache, the ACIS software shall trap attempts to execute from Virtual Addresses which map to the physical Data Cache RAM. Such attempts shall result in the command not being executed and in a run-time warning indicated via the software housekeeping telemetry stream.
ACIS shall provide the capability to read the entire contents of SRAM on the selected DEA board. Due to hardware constraints, execution of this command will cause the DEA sequencer to stop. Table 57 illustrates the format of this command
TABLE 57. Read DEA Board Sequencer RAM Command Packet (Continued)
---------------------------------------------------------------------------------- Req Item Description---------------------------------------------------------------------------------- 57-1 Packet Length Length of command packet in 16-bit words 57-2 Packet Identifier Used to identify the command 57-3 Command Opcode Read_SRAM_Command opcode 57-4 DEA Board Id This identifies which DEA board to use for the command 57-5 SRAM Index to read 16-bit index within the selected SRAM to read 57-6 Length to read The number of 16-bit words to read from the SRAM. ----------------------------------------------------------------------------------
The one or more telemetry packets resulting from this command will contain the information described in Table 58
TABLE 58. Read DEA Board Sequencer RAM Telemetry Content (Continued)
------------------------------------------------------------------------------------------------------ Req Item Description------------------------------------------------------------------------------------------------------ 58-1 Packet Synch This field marks the start of the ACIS packet within the telemetry stream. 58-2 Packet Word Length This field indicates the number of 32-bit words in the packet. 58-3 Format Tag This field indicates the type of data contained in the telemetry packet. 58-4 Packet Sequence Num This field is used to sequentially number all ACIS telemetry ber packets. 58-5 Command Packet iden This is the packet identifier of the command causing the dump tifier being performed. This allows the ground to associate the com mand and the resulting telemetry packets. 58-6 BEP Tick Counter This items contains the value of the internal timer-tick counter at approximately the time (i.e. within a minute) of when the SRAM region was read. 58-7 DEA Board Id This identifies whose SRAM was read. 58-8 Original Index to Read This is the original index indicated by the command initiating the read. 58-9 Original Length to Read This is the original count specified by the command initiating the read. 58-10 Index Read This indicates the starting 16-bit SRAM index of the data being sent in this telemetry packet. 58-11 Number of words read This indicates the number of 16-bit words being provided by this telemetry packet (NOTE: May be redundant with Packet Length). 58-12 Read Data This is the read data as 16-bit words. ------------------------------------------------------------------------------------------------------
Upon receipt of this command, the ACIS Back End software shall issue DEA commands to read the SRAM from the selected DEA Board, and acquire and telemeter the responses.
ACIS shall provide the capability to write the entire contents of SRAM on the selected DEA board. Due to hardware constraints, execution of this command will cause the DEA sequencer to stop. Table 59 illustrates this content of this command.
TABLE 59. Write DEA Board Sequencer RAM Command Packet (Continued)
----------------------------------------------------------------------------------------------- Req Item Description----------------------------------------------------------------------------------------------- 59-1 Packet Length Length of command packet in 16-bit words 59-2 Packet Identifier Used to identify the command 59-3 Command Opcode Write_SRAM_Command opcode 59-4 DEA Board Id This identifies whose SRAM to overwrite 59-5 SRAM Index to write to This specifies the starting 16-bit index within the selected SRAM to start writing to. 59-6 Data to Write The array of 16-bit data to write. The number of words is deter mined by the Packet Length -----------------------------------------------------------------------------------------------
Upon receipt of this command, ACIS shall issue DEA commands to load the addressed area of the selected DEA board's SRAM with the "data" section of the command.
ACIS shall provide the capability to read the contents of PRAM on the selected DEA board. Due to hardware constraints, execution of this command will cause the DEA sequencer to stop. Table 60 illustrates the format of this command.
TABLE 60. Read DEA Board Program RAM Command Packet (Continued)
---------------------------------------------------------------------------------- Req Item Description---------------------------------------------------------------------------------- 60-1 Packet Length Length of command packet in 16-bit words 60-2 Packet Identifier Used to identify the command 60-3 Command Opcode Read_PRAM_Command opcode 60-4 DEA Board Id This identifies which DEA board to use for the command 60-5 PRAM Index to read 16-bit index within the selected PRAM to read 60-6 Length to read The number of 16-bit words to read from the PRAM. ----------------------------------------------------------------------------------
The telemetry packets resulting from this command will contain the information described in Table 61.
TABLE 61. Read DEA Board Program RAM Telemetry Content (Continued)
----------------------------------------------------------------------------------------------------- Req Item Description----------------------------------------------------------------------------------------------------- 61-1 Packet Synch This field marks the start of the ACIS packet within the teleme try stream. 61-2 Packet Word Length This field indicates the number of 32-bit words in the packet. 61-3 Format Tag This field indicates the type of data contained in the telemetry packet. 61-4 Packet Sequence Number This field is used to sequentially number all ACIS telemetry packets. 61-5 Command Packet identifier This is the packet identifier of the command causing the dump being performed. This allows the ground to associate the com mand and the resulting telemetry packets. 61-6 BEP Tick Counter This items contains the value of the internal timer-tick counter at approximately the time (i.e. within a minute) of when the PRAM region was read. 61-7 DEA Board Id This identifies whose PRAM was read. 61-8 Original Index to Read This is the original index indicated by the command initiating the read. 61-9 Original Length to Read This is the original count specified by the command initiating the read. 61-10 Address Read This indicates the starting 16-bit PRAM address of the data being sent in this telemetry packet. 61-11 Number of words read This indicates the number of 16-bit words being provided by this telemetry packet (NOTE: May be redundant with Packet Length). 61-12 Read Data This is the read data as 16-bit words. -----------------------------------------------------------------------------------------------------
Upon receipt of this command, the ACIS Back End software shall issue DEA commands to read the PRAM from the selected DEA board, and acquire and telemeter the responses.
ACIS shall provide the capability to write the contents of PRAM on the selected DEA board. Due to hardware constraints, execution of this command will cause the DEA sequencer to stop. Table 62 illustrates this content of this command
TABLE 62. Write DEA Board Program RAM Command Packet (Continued)
--------------------------------------------------------------------------------------------- Req Item Description--------------------------------------------------------------------------------------------- 62-1 Packet Length Length of command packet in 16-bit words 62-2 Packet Identifier Used to identify the command 62-3 Command Opcode Write_PRAM_Command opcode 62-4 DEA Board Id This identifies whose PRAM to overwrite 62-5 PRAM Index to write to This specifies the starting 16-bit index within the selected PRAM to start writing to. 62-6 Data to Write The array of 16-bit data to write. The number of words to write is determined by the Packet Length ---------------------------------------------------------------------------------------------
Upon receipt of this command, ACIS shall issue DEA commands to load the addressed area of the selected DEA board's PRAM with the "data" section of the command.