diff --git a/tools/cooja/config/external_tools_linux_64.config b/tools/cooja/config/external_tools_linux_64.config new file mode 100644 index 000000000..943579ba4 --- /dev/null +++ b/tools/cooja/config/external_tools_linux_64.config @@ -0,0 +1,42 @@ +PATH_CONTIKI = ../../.. +PATH_COOJA_CORE_RELATIVE = /platform/cooja +PATH_MAKE = make +PATH_LINKER = ld +PATH_AR = ar +PATH_SHELL = sh +PATH_C_COMPILER = gcc +PATH_OBJDUMP=objdump +OBJDUMP_ARGS=-h +CMD_GREP_PROCESSES = grep "^PROCESS_THREAD[ ]*([^,]*,[^,]*,[^)]*)" -o -H +REGEXP_PARSE_PROCESSES = ([^/]*.c):PROCESS_THREAD[ ]*\\(([^,]*),[^,]*,[^)]*\\) +CMD_GREP_INTERFACES = grep "^SIM_INTERFACE([^,]*," -o -d skip -D skip -H -r +REGEXP_PARSE_INTERFACES = ([^/]*.c):SIM_INTERFACE\\(([^,]*), +CMD_GREP_SENSORS = grep "^SENSORS_SENSOR([^,]*," -o -d skip -D skip -H -r +REGEXP_PARSE_SENSORS = ([^/]*.c):SENSORS_SENSOR\\(([^,]*), +COMPILER_ARGS = -I'$(JAVA_HOME)/include' -I'$(JAVA_HOME)/include/linux' -fno-builtin-printf -fPIC +LINK_COMMAND_1 = gcc -I'$(JAVA_HOME)/include' -I'$(JAVA_HOME)/include/linux' -shared -Wl,-Map=$(MAPFILE) -o $(LIBFILE) +LINK_COMMAND_2 = +AR_COMMAND_1 = ar rcf $(ARFILE) +AR_COMMAND_2 = +CONTIKI_STANDARD_PROCESSES = sensors_process;etimer_process +CONTIKI_MAIN_TEMPLATE_FILENAME = contiki_template.c +CORECOMM_TEMPLATE_FILENAME = corecomm_template.java +PATH_JAVAC = javac +DEFAULT_PROJECTDIRS = ../apps/mrm;../apps/mspsim + +PARSE_WITH_COMMAND=false +PARSE_COMMAND=nm -a $(LIBFILE) +MAPFILE_DATA_START = ^.data[ \t]*0x([0-9A-Fa-f]*)[ \t]*0x[0-9A-Fa-f]*[ \t]*$ +MAPFILE_DATA_SIZE = ^.data[ \t]*0x[0-9A-Fa-f]*[ \t]*0x([0-9A-Fa-f]*)[ \t]*$ +MAPFILE_BSS_START = ^.bss[ \t]*0x([0-9A-Fa-f]*)[ \t]*0x[0-9A-Fa-f]*[ \t]*$ +MAPFILE_BSS_SIZE = ^.bss[ \t]*0x[0-9A-Fa-f]*[ \t]*0x([0-9A-Fa-f]*)[ \t]*$ +MAPFILE_VAR_NAME = ^[ \t]*(0x[0-9A-Fa-f]*)[ \t]*([^ ]*)[ \t]*$ +MAPFILE_VAR_ADDRESS_1 = ^[ \t]*0x([0-9A-Fa-f]*)[ \t]* +MAPFILE_VAR_ADDRESS_2 = [ \t]*$ +MAPFILE_VAR_SIZE_1 = ^ +MAPFILE_VAR_SIZE_2 = [ \t]*(0x[0-9A-Fa-f]*)[ \t]*[^ ]*[ \t]*$ +COMMAND_VAR_NAME_ADDRESS = ^([0-9A-Fa-f][0-9A-Fa-f]*)[ \t][^Tt][ \t]([^ ._][^ ]*) +COMMAND_DATA_START = ^([0-9A-Fa-f]*)[ \t]d[ \t].data$ +COMMAND_DATA_END = ^([0-9A-Fa-f]*)[ \t]A[ \t]_edata$ +COMMAND_BSS_START = ^([0-9A-Fa-f]*)[ \t]A[ \t]__bss_start$ +COMMAND_BSS_END = ^([0-9A-Fa-f]*)[ \t]A[ \t]_end$ diff --git a/tools/cooja/java/se/sics/cooja/GUI.java b/tools/cooja/java/se/sics/cooja/GUI.java index cf54792a3..03a8c4bd7 100644 --- a/tools/cooja/java/se/sics/cooja/GUI.java +++ b/tools/cooja/java/se/sics/cooja/GUI.java @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: GUI.java,v 1.96 2008/12/16 15:10:49 fros4943 Exp $ + * $Id: GUI.java,v 1.97 2008/12/16 16:15:36 fros4943 Exp $ */ package se.sics.cooja; @@ -157,6 +157,12 @@ public class GUI extends Observable { */ public static final String EXTERNAL_TOOLS_LINUX_SETTINGS_FILENAME = "/external_tools_linux.config"; + /** + * External tools default Linux/Unix settings filename for 64 bit architectures. + * EXPERIMENTAL. Tested on Intel 64-bit Gentoo Linux. + */ + public static final String EXTERNAL_TOOLS_LINUX_64_SETTINGS_FILENAME = "/external_tools_linux_64.config"; + /** * External tools user settings filename. */ @@ -2676,12 +2682,22 @@ public class GUI extends Observable { */ public static void loadExternalToolsDefaultSettings() { String osName = System.getProperty("os.name").toLowerCase(); + String osArch = System.getProperty("os.arch").toLowerCase(); - String filename = GUI.EXTERNAL_TOOLS_LINUX_SETTINGS_FILENAME; + String filename = null; if (osName.startsWith("win")) { filename = GUI.EXTERNAL_TOOLS_WIN32_SETTINGS_FILENAME; } else if (osName.startsWith("mac os x")) { filename = GUI.EXTERNAL_TOOLS_MACOSX_SETTINGS_FILENAME; + } else if (osName.startsWith("linux")) { + filename = GUI.EXTERNAL_TOOLS_LINUX_SETTINGS_FILENAME; + if (osArch.startsWith("amd64")) { + filename = GUI.EXTERNAL_TOOLS_LINUX_64_SETTINGS_FILENAME; + } + } else { + logger.warn("Unknown system: " + osName); + logger.warn("Using default linux external tools configuration"); + filename = GUI.EXTERNAL_TOOLS_LINUX_SETTINGS_FILENAME; } logger.info("Loading external tools user settings from: " + filename);