From b49d1892f2c4a17c872b26ec1f41dce1eca26159 Mon Sep 17 00:00:00 2001 From: Fredrik Osterlind Date: Fri, 9 Mar 2012 14:58:23 +0100 Subject: [PATCH] updated contiki mote compiler tests to again reflect contiki-cooja-main.c and the updated ContikiMoteType --- tools/cooja/config/test_template.c | 12 +++++++---- .../cooja/dialogs/ConfigurationWizard.java | 21 ++++++++++--------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/tools/cooja/config/test_template.c b/tools/cooja/config/test_template.c index 06103e1f9..072faef94 100644 --- a/tools/cooja/config/test_template.c +++ b/tools/cooja/config/test_template.c @@ -34,9 +34,12 @@ #include #include +/* This is a stripped version of platform/cooja/contiki-cooja-main.c, used by + * Cooja's Contiki Mote Configuration Wizard */ + const struct simInterface *simInterfaces[] = {NULL}; -long ref_var; /* Placed somewhere in the BSS section */ +long referenceVar; /* Placed somewhere in the BSS section */ /* Variables with known memory addresses */ int var1=1; @@ -60,8 +63,9 @@ Java_se_sics_cooja_corecomm_[CLASS_NAME]_getMemory(JNIEnv *env, jobject obj, jin mem_arr, 0, (size_t) length, - (jbyte *) (((long)rel_addr) + ref_var) + (jbyte *) (((long)rel_addr) + referenceVar) ); + } /*---------------------------------------------------------------------------*/ JNIEXPORT void JNICALL @@ -69,7 +73,7 @@ Java_se_sics_cooja_corecomm_[CLASS_NAME]_setMemory(JNIEnv *env, jobject obj, jin { jbyte *mem = (*env)->GetByteArrayElements(env, mem_arr, 0); memcpy( - (char*) (((long)rel_addr) + ref_var), + (char*) (((long)rel_addr) + referenceVar), mem, length); (*env)->ReleaseByteArrayElements(env, mem_arr, mem, 0); @@ -85,5 +89,5 @@ Java_se_sics_cooja_corecomm_[CLASS_NAME]_tick(JNIEnv *env, jobject obj) JNIEXPORT void JNICALL Java_se_sics_cooja_corecomm_[CLASS_NAME]_setReferenceAddress(JNIEnv *env, jobject obj, jint addr) { - ref_var = (((long)&ref_var) - ((long)addr)); + referenceVar = (((long)&referenceVar) - ((long)addr)); } diff --git a/tools/cooja/java/se/sics/cooja/dialogs/ConfigurationWizard.java b/tools/cooja/java/se/sics/cooja/dialogs/ConfigurationWizard.java index 6683c5d6f..f61b82c8d 100644 --- a/tools/cooja/java/se/sics/cooja/dialogs/ConfigurationWizard.java +++ b/tools/cooja/java/se/sics/cooja/dialogs/ConfigurationWizard.java @@ -50,7 +50,7 @@ import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintStream; import java.lang.reflect.Constructor; -import java.util.Properties; +import java.util.HashMap; import javax.swing.Box; import javax.swing.BoxLayout; @@ -66,11 +66,12 @@ import javax.swing.JScrollPane; import se.sics.cooja.CoreComm; import se.sics.cooja.GUI; -import se.sics.cooja.SectionMoteMemory; import se.sics.cooja.MoteType.MoteTypeCreationException; +import se.sics.cooja.SectionMoteMemory; import se.sics.cooja.contikimote.ContikiMoteType; /* TODO Test common section */ +/* TODO Test readonly section */ public class ConfigurationWizard extends JDialog { private static final long serialVersionUID = 1L; @@ -141,7 +142,7 @@ public class ConfigurationWizard extends JDialog { private static File cLibraryFile; private static String javaLibraryName; private static CoreComm javaLibrary; - private static Properties addresses; + private static HashMap addresses; private static int relDataSectionAddr; private static int dataSectionSize; private static int relBssSectionAddr; @@ -195,7 +196,7 @@ public class ConfigurationWizard extends JDialog { "Changes made in this wizard are reflected in menu Settings, External tools paths.\n" + "\n" + "NOTE: You do not need to complete this wizard for emulating motes, such as Sky motes.\n", - "Configuration Wizard", + "Contiki mote configuration wizard", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]); @@ -756,7 +757,7 @@ public class ConfigurationWizard extends JDialog { } testOutput.addMessage("### Parsing map file data for addresses"); - addresses = new Properties(); + addresses = new HashMap(); boolean parseOK = ContikiMoteType.parseMapFileData(mapData, addresses); if (!parseOK) { testOutput.addMessage("### Error: Failed parsing map file data", MessageList.ERROR); @@ -836,7 +837,7 @@ public class ConfigurationWizard extends JDialog { } testOutput.addMessage("### Parsing command output for addresses"); - addresses = new Properties(); + addresses = new HashMap(); boolean parseOK = ContikiMoteType.parseCommandData(commandData, addresses); if (!parseOK) { testOutput.addMessage("### Error: Failed parsing command output", MessageList.ERROR); @@ -930,11 +931,11 @@ public class ConfigurationWizard extends JDialog { testOutput.addMessage("### Testing Contiki library memory replacement"); testOutput.addMessage("### Configuring Contiki using parsed reference address"); - int relRefAddress = (Integer) addresses.get("ref_var"); - if (!addresses.containsKey("ref_var")) { - testOutput.addMessage("Could not find address of ref_var", MessageList.ERROR); + if (!addresses.containsKey("referenceVar")) { + testOutput.addMessage("Could not find address of referenceVar", MessageList.ERROR); return false; } + int relRefAddress = (Integer) addresses.get("referenceVar"); javaLibrary.setReferenceAddress(relRefAddress); testOutput.addMessage("### Creating data and BSS memory sections"); @@ -942,7 +943,7 @@ public class ConfigurationWizard extends JDialog { byte[] initialBssSection = new byte[bssSectionSize]; javaLibrary.getMemory(relDataSectionAddr, dataSectionSize, initialDataSection); javaLibrary.getMemory(relBssSectionAddr, bssSectionSize, initialBssSection); - SectionMoteMemory memory = new SectionMoteMemory(addresses); + SectionMoteMemory memory = new SectionMoteMemory(addresses, 0); memory.setMemorySegment(relDataSectionAddr, initialDataSection); memory.setMemorySegment(relBssSectionAddr, initialBssSection);