/* Use to add simulated memory range */ void UTF_AddSimulatedMemory ( int argc, char *argv[]) { uint8 data1[4]; uint32 data2; data1[0] = 0xAA; data1[1] = 0xBB; data1[2] = 0xCC; data1[3] = 0xDD; data2 = 0xabbadaba; UTF_add_sim_address (0x004610A0, 8, "MEMORY_BANK" ); UTF_write_sim_address(0x004610A0, 4, &data1); UTF_write_sim_address(0x004610A4, 4, &data2); }
/* Use to add simulated memory range */ void UTF_AddSimulatedMemory ( int argc, char *argv[]) { uint32 data1; uint32 data2; data1 = 0x1337d00d; data2 = 0x3475BEEF; UTF_add_sim_address (0x01234000, 16, "MEMORY_BANK" ); CFE_PSP_MemRangeSet(0, CFE_PSP_MEM_RAM, 0x01234000, 16, CFE_PSP_MEM_SIZE_BYTE, CFE_PSP_MEM_ATTR_READ); UTF_write_sim_address(0x01234000, 4, &data1); UTF_write_sim_address(0x01234004, 4, &data2); UTF_write_sim_address(0x01234008, 4, &data1); UTF_write_sim_address(0x0123400C, 4, &data2); }
int32 CFE_PSP_EepromWrite32(uint32 Address, uint32 Data) { int32 Status; /* Handle the Function Hook */ if (UTF_PSP_HookTable.CFE_PSP_EepromWrite32) return(UTF_PSP_HookTable.CFE_PSP_EepromWrite32(Address,Data)); /* Check that the address is on a 32 bit boundary; the flight code will return the CFE_PSP_ERROR_ADDRESS_MISALIGNED return code. */ if ((Address % 4) != 0) { /* Address is not on 32 bit boundary */ UTF_put_text("Address Not On 32 Bit Boundary: 0x%08x\n", Address); return (CFE_PSP_ERROR); } else { /* Address is on 32 bit boundary */ Status = UTF_write_sim_address(Address, 4, &Data); if(Status == FALSE) return(CFE_PSP_ERROR); else return(CFE_PSP_SUCCESS); } }
/******************************************************************************* Memory Access API *******************************************************************************/ int32 CFE_PSP_EepromWrite8(uint32 Address, uint8 Data) { boolean Status; /* Handle the Function Hook */ if (UTF_PSP_HookTable.CFE_PSP_EepromWrite8) return(UTF_PSP_HookTable.CFE_PSP_EepromWrite8(Address,Data)); Status = UTF_write_sim_address(Address, 1, &Data); if(Status == FALSE) return(CFE_PSP_ERROR); return(CFE_PSP_SUCCESS); }