Updates for latest MSPSim memory API
This commit is contained in:
parent
28f8467ab1
commit
26e7698d32
|
@ -220,7 +220,7 @@ public abstract class MspMote extends AbstractEmulatedMote implements Mote, Watc
|
||||||
this.myCpu.setMonitorExec(true);
|
this.myCpu.setMonitorExec(true);
|
||||||
this.myCpu.setTrace(0); /* TODO Enable */
|
this.myCpu.setTrace(0); /* TODO Enable */
|
||||||
|
|
||||||
int[] memory = myCpu.getMemory();
|
int[] memory = myCpu.memory;
|
||||||
logger.info("Loading firmware from: " + fileELF.getAbsolutePath());
|
logger.info("Loading firmware from: " + fileELF.getAbsolutePath());
|
||||||
GUI.setProgressMessage("Loading " + fileELF.getName());
|
GUI.setProgressMessage("Loading " + fileELF.getName());
|
||||||
node.loadFirmware(((MspMoteType)getType()).getELF(), memory);
|
node.loadFirmware(((MspMoteType)getType()).getELF(), memory);
|
||||||
|
|
|
@ -37,6 +37,7 @@ import se.sics.cooja.AddressMemory;
|
||||||
import se.sics.cooja.Mote;
|
import se.sics.cooja.Mote;
|
||||||
import se.sics.cooja.MoteMemory;
|
import se.sics.cooja.MoteMemory;
|
||||||
import se.sics.mspsim.core.MSP430;
|
import se.sics.mspsim.core.MSP430;
|
||||||
|
import se.sics.mspsim.core.Memory.AccessMode;
|
||||||
import se.sics.mspsim.core.Memory.AccessType;
|
import se.sics.mspsim.core.Memory.AccessType;
|
||||||
import se.sics.mspsim.util.MapEntry;
|
import se.sics.mspsim.util.MapEntry;
|
||||||
|
|
||||||
|
@ -199,12 +200,12 @@ public class MspMoteMemory implements MoteMemory, AddressMemory {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notifyReadAfter(int address, int mode, AccessType type) {
|
public void notifyReadAfter(int address, AccessMode mode, AccessType type) {
|
||||||
mm.memoryChanged(MspMoteMemory.this, MemoryEventType.READ, address);
|
mm.memoryChanged(MspMoteMemory.this, MemoryEventType.READ, address);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notifyWriteAfter(int dstAddress, int data, int mode) {
|
public void notifyWriteAfter(int dstAddress, int data, AccessMode mode) {
|
||||||
mm.memoryChanged(MspMoteMemory.this, MemoryEventType.WRITE, dstAddress);
|
mm.memoryChanged(MspMoteMemory.this, MemoryEventType.WRITE, dstAddress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class MspDebugOutput extends Log {
|
||||||
this.mote.getCPU().addWatchPoint(mem.getVariableAddress(CONTIKI_POINTER),
|
this.mote.getCPU().addWatchPoint(mem.getVariableAddress(CONTIKI_POINTER),
|
||||||
memoryMonitor = new MemoryMonitor.Adapter() {
|
memoryMonitor = new MemoryMonitor.Adapter() {
|
||||||
@Override
|
@Override
|
||||||
public void notifyWriteAfter(int adr, int data, int mode) {
|
public void notifyWriteAfter(int adr, int data, Memory.AccessMode mode) {
|
||||||
String msg = extractString(mem, data);
|
String msg = extractString(mem, data);
|
||||||
if (msg != null && msg.length() > 0) {
|
if (msg != null && msg.length() > 0) {
|
||||||
lastLog = "DEBUG: " + msg;
|
lastLog = "DEBUG: " + msg;
|
||||||
|
|
|
@ -42,6 +42,7 @@ import se.sics.cooja.Mote;
|
||||||
import se.sics.cooja.interfaces.MoteID;
|
import se.sics.cooja.interfaces.MoteID;
|
||||||
import se.sics.cooja.mspmote.MspMote;
|
import se.sics.cooja.mspmote.MspMote;
|
||||||
import se.sics.cooja.mspmote.MspMoteMemory;
|
import se.sics.cooja.mspmote.MspMoteMemory;
|
||||||
|
import se.sics.mspsim.core.Memory;
|
||||||
import se.sics.mspsim.core.MemoryMonitor;
|
import se.sics.mspsim.core.MemoryMonitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -112,7 +113,7 @@ public class MspMoteID extends MoteID {
|
||||||
memoryMonitor = new MemoryMonitor.Adapter() {
|
memoryMonitor = new MemoryMonitor.Adapter() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notifyWriteAfter(int dstAddress, int data, int mode) {
|
public void notifyWriteAfter(int dstAddress, int data, Memory.AccessMode mode) {
|
||||||
byte[] id = new byte[2];
|
byte[] id = new byte[2];
|
||||||
id[0] = (byte) (moteID & 0xff);
|
id[0] = (byte) (moteID & 0xff);
|
||||||
id[1] = (byte) ((moteID >> 8) & 0xff);
|
id[1] = (byte) ((moteID >> 8) & 0xff);
|
||||||
|
|
|
@ -133,7 +133,7 @@ public class MspBreakpoint implements Watchpoint {
|
||||||
private void createMonitor() {
|
private void createMonitor() {
|
||||||
memoryMonitor = new MemoryMonitor.Adapter() {
|
memoryMonitor = new MemoryMonitor.Adapter() {
|
||||||
@Override
|
@Override
|
||||||
public void notifyReadBefore(int addr, int mode, Memory.AccessType type) {
|
public void notifyReadBefore(int addr, Memory.AccessMode mode, Memory.AccessType type) {
|
||||||
if (type != Memory.AccessType.EXECUTE) {
|
if (type != Memory.AccessType.EXECUTE) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue