summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 873c7af)
raw | patch | inline | side by side (parent: 873c7af)
author | John Godbey <a0226073@ares-ubuntu> | |
Mon, 11 Apr 2016 18:49:46 +0000 (14:49 -0400) | ||
committer | John Godbey <a0226073@ares-ubuntu> | |
Mon, 11 Apr 2016 18:49:46 +0000 (14:49 -0400) |
Signed-off-by: John Godbey <a0226073@ares-ubuntu>
42 files changed:
diff --git a/demos/dhry/AM335x/armv7/bios/dhry.cfg b/demos/dhry/AM335x/armv7/bios/dhry.cfg
+++ /dev/null
@@ -1,114 +0,0 @@
-var Defaults = xdc.useModule('xdc.runtime.Defaults');
-var Diags = xdc.useModule('xdc.runtime.Diags');
-var Error = xdc.useModule('xdc.runtime.Error');
-var Log = xdc.useModule('xdc.runtime.Log');
-var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
-var Main = xdc.useModule('xdc.runtime.Main');
-var Memory = xdc.useModule('xdc.runtime.Memory')
-var SysMin = xdc.useModule('xdc.runtime.SysMin');
-var System = xdc.useModule('xdc.runtime.System');
-var Text = xdc.useModule('xdc.runtime.Text');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
-
-/*
- * Program.argSize sets the size of the .args section.
- * The examples don't use command line args so argSize is set to 0.
- */
-Program.argSize = 0x0;
-
-/*
- * Uncomment this line to globally disable Asserts.
- * All modules inherit the default from the 'Defaults' module. You
- * can override these defaults on a per-module basis using Module.common$.
- * Disabling Asserts will save code space and improve runtime performance.
-Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
- */
-
-/*
- * Uncomment this line to keep module names from being loaded on the target.
- * The module name strings are placed in the .const section. Setting this
- * parameter to false will save space in the .const section. Error and
- * Assert messages will contain an "unknown module" prefix instead
- * of the actual module name.
-Defaults.common$.namedModule = false;
- */
-
-/*
- * Minimize exit handler array in System. The System module includes
- * an array of functions that are registered with System_atexit() to be
- * called by System_exit().
- */
-System.maxAtexitHandlers = 4;
-
-/*
- * Uncomment this line to disable the Error print function.
- * We lose error information when this is disabled since the errors are
- * not printed. Disabling the raiseHook will save some code space if
- * your app is not using System_printf() since the Error_print() function
- * calls System_printf().
-Error.raiseHook = null;
- */
-
-/*
- * Uncomment this line to keep Error, Assert, and Log strings from being
- * loaded on the target. These strings are placed in the .const section.
- * Setting this parameter to false will save space in the .const section.
- * Error, Assert and Log message will print raw ids and args instead of
- * a formatted message.
-Text.isLoaded = false;
- */
-
-/*
- * Uncomment this line to disable the output of characters by SysMin
- * when the program exits. SysMin writes characters to a circular buffer.
- * This buffer can be viewed using the SysMin Output view in ROV.
-SysMin.flushAtExit = false;
- */
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xc0000;
-
-/*
- * Build a custom SYS/BIOS library from sources.
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-/* System stack size (used by ISRs and Swis) */
-Program.stack = 0x20000;
-
-/* Circular buffer size for System_printf() */
-SysMin.bufSize = 0x400;
-
-/*
- * Create and install logger for the whole system
- */
-var loggerBufParams = new LoggerBuf.Params();
-loggerBufParams.numEntries = 32;
-var logger0 = LoggerBuf.create(loggerBufParams);
-Defaults.common$.logger = logger0;
-Main.common$.diags_INFO = Diags.ALWAYS_ON;
-
-System.SupportProxy = SysMin;
-var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
-
-
-var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
-//Timestamp.SupportProxy = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
-
-var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
-var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
-
-// Enable the cache
-Cache.enableCache = true;
-
-// Enable the MMU (Required for L1/L2 data caching)
-Mmu.enableMMU = true;
-
diff --git a/demos/dhry/AM335x/armv7/bios/dhryAM335xarmProject.txt b/demos/dhry/AM335x/armv7/bios/dhryAM335xarmProject.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/AM335x/armv7/bios/dhry.cfg"
--ccs.setCompilerOptions "-c -mfloat-abi=hard -DBIOS_POSIX -DREG=register -g -gstrict-dwarf -MMD -MP"
--rtsc.enableRtsc
--ccs.setLinkerOptions " -lgcc -lm -lrdimon -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu"
diff --git a/demos/dhry/AM437x/armv7/bios/dhry.cfg b/demos/dhry/AM437x/armv7/bios/dhry.cfg
+++ /dev/null
@@ -1,114 +0,0 @@
-var Defaults = xdc.useModule('xdc.runtime.Defaults');
-var Diags = xdc.useModule('xdc.runtime.Diags');
-var Error = xdc.useModule('xdc.runtime.Error');
-var Log = xdc.useModule('xdc.runtime.Log');
-var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
-var Main = xdc.useModule('xdc.runtime.Main');
-var Memory = xdc.useModule('xdc.runtime.Memory')
-var SysMin = xdc.useModule('xdc.runtime.SysMin');
-var System = xdc.useModule('xdc.runtime.System');
-var Text = xdc.useModule('xdc.runtime.Text');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
-
-/*
- * Program.argSize sets the size of the .args section.
- * The examples don't use command line args so argSize is set to 0.
- */
-Program.argSize = 0x0;
-
-/*
- * Uncomment this line to globally disable Asserts.
- * All modules inherit the default from the 'Defaults' module. You
- * can override these defaults on a per-module basis using Module.common$.
- * Disabling Asserts will save code space and improve runtime performance.
-Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
- */
-
-/*
- * Uncomment this line to keep module names from being loaded on the target.
- * The module name strings are placed in the .const section. Setting this
- * parameter to false will save space in the .const section. Error and
- * Assert messages will contain an "unknown module" prefix instead
- * of the actual module name.
-Defaults.common$.namedModule = false;
- */
-
-/*
- * Minimize exit handler array in System. The System module includes
- * an array of functions that are registered with System_atexit() to be
- * called by System_exit().
- */
-System.maxAtexitHandlers = 4;
-
-/*
- * Uncomment this line to disable the Error print function.
- * We lose error information when this is disabled since the errors are
- * not printed. Disabling the raiseHook will save some code space if
- * your app is not using System_printf() since the Error_print() function
- * calls System_printf().
-Error.raiseHook = null;
- */
-
-/*
- * Uncomment this line to keep Error, Assert, and Log strings from being
- * loaded on the target. These strings are placed in the .const section.
- * Setting this parameter to false will save space in the .const section.
- * Error, Assert and Log message will print raw ids and args instead of
- * a formatted message.
-Text.isLoaded = false;
- */
-
-/*
- * Uncomment this line to disable the output of characters by SysMin
- * when the program exits. SysMin writes characters to a circular buffer.
- * This buffer can be viewed using the SysMin Output view in ROV.
-SysMin.flushAtExit = false;
- */
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xc0000;
-
-/*
- * Build a custom SYS/BIOS library from sources.
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-/* System stack size (used by ISRs and Swis) */
-Program.stack = 0x20000;
-
-/* Circular buffer size for System_printf() */
-SysMin.bufSize = 0x400;
-
-/*
- * Create and install logger for the whole system
- */
-var loggerBufParams = new LoggerBuf.Params();
-loggerBufParams.numEntries = 32;
-var logger0 = LoggerBuf.create(loggerBufParams);
-Defaults.common$.logger = logger0;
-Main.common$.diags_INFO = Diags.ALWAYS_ON;
-
-System.SupportProxy = SysMin;
-var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
-
-
-var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
-//Timestamp.SupportProxy = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
-
-var Cache = xdc.useModule('ti.sysbios.family.arm.a9.Cache');
-var Mmu = xdc.useModule('ti.sysbios.family.arm.a9.Mmu');
-
-// Enable the cache
-Cache.enableCache = true;
-
-// Enable the MMU (Required for L1/L2 data caching)
-Mmu.enableMMU = true;
-
diff --git a/demos/dhry/AM437x/armv7/bios/dhryAM437xarmProject.txt b/demos/dhry/AM437x/armv7/bios/dhryAM437xarmProject.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/AM437x/armv7/bios/dhry.cfg"
--ccs.setCompilerOptions "-c -mfloat-abi=hard -DBIOS_POSIX -DREG=register -g -gstrict-dwarf -MMD -MP"
--rtsc.enableRtsc
--ccs.setLinkerOptions " -lgcc -lm -lrdimon -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu"
diff --git a/demos/dhry/AM572x/armv7/bios/dhry.cfg b/demos/dhry/AM572x/armv7/bios/dhry.cfg
+++ /dev/null
@@ -1,122 +0,0 @@
-var Defaults = xdc.useModule('xdc.runtime.Defaults');
-var Diags = xdc.useModule('xdc.runtime.Diags');
-var Error = xdc.useModule('xdc.runtime.Error');
-var Log = xdc.useModule('xdc.runtime.Log');
-var Main = xdc.useModule('xdc.runtime.Main');
-var Memory = xdc.useModule('xdc.runtime.Memory')
-var System = xdc.useModule('xdc.runtime.System');
-var Text = xdc.useModule('xdc.runtime.Text');
-//var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
-//var SysMin = xdc.useModule('xdc.runtime.SysMin');
-var LoggerBuf = xdc.useModule('ti.sysbios.smp.LoggerBuf');
-var SysMin = xdc.useModule('ti.sysbios.smp.SysMin');
-xdc.useModule('xdc.runtime.Timestamp');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.smpEnabled = true;
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
-
-/*
- * Program.argSize sets the size of the .args section.
- * The examples don't use command line args so argSize is set to 0.
- */
-Program.argSize = 0x0;
-
-/*
- * Uncomment this line to globally disable Asserts.
- * All modules inherit the default from the 'Defaults' module. You
- * can override these defaults on a per-module basis using Module.common$.
- * Disabling Asserts will save code space and improve runtime performance.
-Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
- */
-
-/*
- * Uncomment this line to keep module names from being loaded on the target.
- * The module name strings are placed in the .const section. Setting this
- * parameter to false will save space in the .const section. Error and
- * Assert messages will contain an "unknown module" prefix instead
- * of the actual module name.
-Defaults.common$.namedModule = false;
- */
-
-/*
- * Minimize exit handler array in System. The System module includes
- * an array of functions that are registered with System_atexit() to be
- * called by System_exit().
- */
-System.maxAtexitHandlers = 4;
-
-/*
- * Uncomment this line to disable the Error print function.
- * We lose error information when this is disabled since the errors are
- * not printed. Disabling the raiseHook will save some code space if
- * your app is not using System_printf() since the Error_print() function
- * calls System_printf().
-Error.raiseHook = null;
- */
-
-/*
- * Uncomment this line to keep Error, Assert, and Log strings from being
- * loaded on the target. These strings are placed in the .const section.
- * Setting this parameter to false will save space in the .const section.
- * Error, Assert and Log message will print raw ids and args instead of
- * a formatted message.
-Text.isLoaded = false;
- */
-
-/*
- * Uncomment this line to disable the output of characters by SysMin
- * when the program exits. SysMin writes characters to a circular buffer.
- * This buffer can be viewed using the SysMin Output view in ROV.
-SysMin.flushAtExit = false;
- */
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xc0000;
-
-/*
- * Build a custom SYS/BIOS library from sources.
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-/* System stack size (used by ISRs and Swis) */
-Program.stack = 0x20000;
-
-/* Circular buffer size for System_printf() */
-SysMin.bufSize = 0x400;
-
-/*
- * Create and install logger for the whole system
- */
-var loggerBufParams = new LoggerBuf.Params();
-loggerBufParams.numEntries = 32;
-var logger0 = LoggerBuf.create(loggerBufParams);
-Defaults.common$.logger = logger0;
-Main.common$.diags_INFO = Diags.ALWAYS_ON;
-
-System.SupportProxy = SysMin;
-var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
-
-var Core = xdc.useModule('ti.sysbios.family.arm.a15.smp.Core');
-Core.useSkernelCmd = false; /* Set to false if running in CCS and using gel files to wake-up secondary cores */
-Core.numCores = 2;
-
-//var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
-//Timestamp.SupportProxy = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
-
-//var Cache = xdc.useModule('ti.sysbios.family.arm.a15.Cache');
-var Cache = xdc.useModule('ti.sysbios.family.arm.a15.smp.Cache');
-var Mmu = xdc.useModule('ti.sysbios.family.arm.a15.Mmu');
-
-// Enable the cache
-Cache.enableCache = true;
-
-// Enable the MMU (Required for L1/L2 data caching)
-Mmu.enableMMU = true;
-
diff --git a/demos/dhry/AM572x/armv7/bios/dhryAM572xarmProject.txt b/demos/dhry/AM572x/armv7/bios/dhryAM572xarmProject.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/AM572x/armv7/bios/dhry.cfg"
--ccs.setCompilerOptions "-c -mfloat-abi=hard -DBIOS_POSIX -DREG=register -g -gstrict-dwarf -MMD -MP"
--rtsc.enableRtsc
--ccs.setLinkerOptions " -lgcc -lm -lrdimon -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu"
diff --git a/demos/dhry/AM572x/c66/bios/dhry.cfg b/demos/dhry/AM572x/c66/bios/dhry.cfg
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
-
-/*
- * The SysStd System provider is a good one to use for debugging
- * but does not have the best performance. Use xdc.runtime.SysMin
- * for better performance.
- */
-var System = xdc.useModule('xdc.runtime.System');
-var SysStd = xdc.useModule('xdc.runtime.SysStd');
-System.SupportProxy = SysStd;
-
-/* BIOS/XDC modules */
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.heapSize = 0x60000;
-var Task = xdc.useModule('ti.sysbios.knl.Task');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-
diff --git a/demos/dhry/AM572x/c66/bios/dhryAM572xC66Project.txt b/demos/dhry/AM572x/c66/bios/dhryAM572xC66Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/AM572x/c66/bios/dhry.cfg"
--ccs.setCompilerOptions "-mv6600 -o3 -DBIOS_POSIX -DREG=register --diag_warning=225"
--rtsc.enableRtsc
-
diff --git a/demos/dhry/AM572x/m4/bios/dhry.cfg b/demos/dhry/AM572x/m4/bios/dhry.cfg
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * *
- * Copyright (c) 2014 Texas Instruments Incorporated - http://www.ti.com/ *
- * ALL RIGHTS RESERVED *
- * *
- ******************************************************************************/
-
-/*******************************************************************************
-* file name: app.cfg
-* This file is included in the ethernet switch unit test
-*
-*******************************************************************************/
-
-
-/* use modules */
-var Main = xdc.useModule('xdc.runtime.Main');
-var System = xdc.useModule('xdc.runtime.System');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.smpEnabled = true;
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xA0000;
-
-/* IntXbar.connectIRQMeta(38, 196); */ /* PRUSS2-2, RX */
-/* IntXbar.connectIRQMeta(50, 200); */ /* PRUSS2-2, TX */
-
-/*
- * Create and install logger for the whole system
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-ti.sysbios.smp.LoggerBuf (Replaces xdc.runtime.LoggerBuf)
-ti.sysbios.smp.SysMin (Replaces xdc.runtime.SysMin)
-ti.sysbios.smp.SysStd (Replaces xdc.runtime.SysStd)
-
-//var Core = xdc.useModule('ti.sysbios.family.m4.smp.Core');
-//Core.useSkernelCmd = false; /* Set to false if running in CCS and using gel files to wake-up secondary cores */
-
diff --git a/demos/dhry/AM572x/m4/bios/dhryAM572xm4Project.txt b/demos/dhry/AM572x/m4/bios/dhryAM572xm4Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/AM572x/m4/bios/dhry.cfg"
--ccs.setCompilerOptions "-qq -pdsw255 -DMAKEFILE_BUILD -mv7M4 --float_support=vfplib --abi=eabi -g -DSOC_AM572x -DAM5XX_FAMILY_BUILD -Dti_targets_arm_elf_M4 -I${PDK_INSTALL_PATH}/ti/utils/dhry/ " -rtsc.enableRtsc
--ccs.setLinkerOptions "--strict_compatibility=on"
-
diff --git a/demos/dhry/C6657/c66/bios/dhry.cfg b/demos/dhry/C6657/c66/bios/dhry.cfg
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
-
-/*
- * The SysStd System provider is a good one to use for debugging
- * but does not have the best performance. Use xdc.runtime.SysMin
- * for better performance.
- */
-var System = xdc.useModule('xdc.runtime.System');
-var SysStd = xdc.useModule('xdc.runtime.SysStd');
-System.SupportProxy = SysStd;
-
-/* BIOS/XDC modules */
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.heapSize = 0x60000;
-var Task = xdc.useModule('ti.sysbios.knl.Task');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-
diff --git a/demos/dhry/C6657/c66/bios/dhryC6657C66Project.txt b/demos/dhry/C6657/c66/bios/dhryC6657C66Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/C6657/c66/bios/dhry.cfg"
--ccs.setCompilerOptions "-mv6600 -o3 -DBIOS_POSIX -DREG=register --diag_warning=225"
--rtsc.enableRtsc
-
diff --git a/demos/dhry/C6678/c66/bios/dhry.cfg b/demos/dhry/C6678/c66/bios/dhry.cfg
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
-
-/*
- * The SysStd System provider is a good one to use for debugging
- * but does not have the best performance. Use xdc.runtime.SysMin
- * for better performance.
- */
-var System = xdc.useModule('xdc.runtime.System');
-var SysStd = xdc.useModule('xdc.runtime.SysStd');
-System.SupportProxy = SysStd;
-
-/* BIOS/XDC modules */
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.heapSize = 0x60000;
-var Task = xdc.useModule('ti.sysbios.knl.Task');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-
diff --git a/demos/dhry/C6678/c66/bios/dhryC6678C66Project.txt b/demos/dhry/C6678/c66/bios/dhryC6678C66Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/C6678/c66/bios/dhry.cfg"
--ccs.setCompilerOptions "-mv6600 -o3 -DBIOS_POSIX -DREG=register --diag_warning=225"
--rtsc.enableRtsc
-
diff --git a/demos/dhry/Makefile_linux b/demos/dhry/Makefile_linux
+++ /dev/null
@@ -1,163 +0,0 @@
-#
-# Adjust for your system!
-#
-# Common options for generic UNIX and Microsoft C (under DOS)
-# are listed here. You can change them by switching the order,
-# placing the ones you want last. Pay particular attention to
-# the HZ parameter, which may or may not be listed in some
-# header file on your system, such as <sys/param.h> or <limits.h>
-# (as CLK_TCK). Even if it is listed, it may be incorrect.
-# Also, some operating systems (notably some (all?) versions
-# of Microport UNIX) lie about the time. Sanity check with a
-# stopwatch.
-#
-# For Microsoft C under DOS, you need a real make, not MSC make,
-# to run this Makefile. The public domain "ndmake" will suffice.
-#
-CC= cl # C compiler name goes here (MSC)
-CC= cc # C compiler name goes here (UNIX)
-GCC= gcc
-EGCC= /opt/linaro-2013.03/bin/arm-linux-gnueabihf-gcc
-
-PROGS= msc # Programs to build (MSC)
-PROGS= unix # Programs to build (UNIX)
-
-#TIME_FUNC= -DMSC_CLOCK # Use Microsoft clock() for measurement
-#TIME_FUNC= -DTIME # Use time(2) for measurement
-#TIME_FUNC= -DTIMES # Use times(2) for measurement
-TIME_FUNC= -DTIMEOFDAY
-#HZ= 50 # Frequency of times(2) clock ticks
-#HZ= 60 # Frequency of times(2) clock ticks
-HZ= 100 # Frequency of times(2) clock ticks
-#HZ= 1 # Give bogus result unless changed!
-
-STRUCTASSIGN= -DNOSTRUCTASSIGN # Compiler cannot assign structs
-STRUCTASSIGN= # Compiler can assign structs
-
-ENUMS= -DNOENUMS # Compiler doesn't have enum type
-ENUMS= # Compiler does have enum type
-
-OPTIMIZE= -Ox -G2 # Optimization Level (MSC, 80286)
-OPTIMIZE= -O4 -pthread # Optimization Level (generic UNIX)
-GCCOPTIM= -O -pthread
-
-LFLAGS= #Loader Flags
-
-CFLAGS= $(OPTIMIZE) $(TIME_FUNC) -DHZ=$(HZ) $(ENUMS) $(STRUCTASSIGN) $(CFL)
-GCCFLAGS= $(GCCOPTIM) $(TIME_FUNC) -DHZ=$(HZ) $(ENUMS) $(STRUCTASSIGN) $(CFL)
-
-#
-# You shouldn't need to touch the rest
-#
-SRC= dhry_1.c dhry_2.c
-HDR= dhry.h
-
-UNIX_PROGS= cc_dry2 cc_dry2reg posix-smp-demo-linux-i586 gcc_dry2reg posix-smp-demo-linux-armv7 gcc_elin_dry2reg
-MSC_PROGS= sdry2.exe sdry2reg.exe mdry2.exe mdry2reg.exe \
- ldry2.exe ldry2reg.exe cdry2.exe cdry2reg.exe \
- hdry2.exe hdry2reg.exe
-
-# Files added by rer:
-FILES1= README.RER clarify.doc Makefile submit.frm pure2_1.dif \
- dhry_c.dif
-# Reinhold's files:
-FILES2= README RATIONALE $(HDR) $(SRC)
-FILES3= dhry.p
-
-all: $(PROGS)
-
-unix: $(UNIX_PROGS)
-
-msc: $(MSC_PROGS)
-
-cc_dry2: $(SRC) $(HDR)
- $(CC) $(CFLAGS) $(SRC) $(LFLAGS) -o $@
-
-cc_dry2reg: $(SRC) $(HDR)
- $(CC) $(CFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-posix-smp-demo-linux-armv7: $(SRC) $(HDR)
- $(EGCC) $(GCCFLAGS) $(SRC) $(LFLAGS) -o $@
-
-gcc_elin_dry2reg: $(SRC) $(HDR)
- $(EGCC) $(GCCFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-posix-smp-demo-linux-i586: $(SRC) $(HDR)
- $(GCC) $(GCCFLAGS) $(SRC) $(LFLAGS) -o $@
-
-gcc_dry2reg: $(SRC) $(HDR)
- $(GCC) $(GCCFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-sdry2.exe: $(SRC) $(HDR)
- $(CC) -AS $(CFLAGS) $(SRC) $(LFLAGS) -o $@
-
-sdry2reg.exe: $(SRC) $(HDR)
- $(CC) -AS $(CFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-mdry2.exe: $(SRC) $(HDR)
- $(CC) -AM $(CFLAGS) $(SRC) $(LFLAGS) -o $@
-
-mdry2reg.exe: $(SRC) $(HDR)
- $(CC) -AM $(CFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-ldry2.exe: $(SRC) $(HDR)
- $(CC) -AL $(CFLAGS) $(SRC) $(LFLAGS) -o $@
-
-ldry2reg.exe: $(SRC) $(HDR)
- $(CC) -AL $(CFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-cdry2.exe: $(SRC) $(HDR)
- $(CC) -AC $(CFLAGS) $(SRC) $(LFLAGS) -o $@
-
-cdry2reg.exe: $(SRC) $(HDR)
- $(CC) -AC $(CFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-hdry2.exe: $(SRC) $(HDR)
- $(CC) -AH $(CFLAGS) $(SRC) $(LFLAGS) -o $@
-
-hdry2reg.exe: $(SRC) $(HDR)
- $(CC) -AH $(CFLAGS) -DREG=register $(SRC) $(LFLAGS) -o $@
-
-shar: dry2shar.1 dry2shar.2 dry2shar.3
-
-dry2.arc: $(FILES1) $(FILES2) $(FILES3)
- arc a dry2.arc $(FILES1) $(FILES2) $(FILES3)
-
-dry2shar.1: $(FILES1)
- shar -vc -p X $(FILES1) >$@
-
-dry2shar.2: $(FILES2)
- shar -vc -p X $(FILES2) >$@
-
-dry2shar.3: $(FILES3)
- shar -v -p X $(FILES3) >$@
-
-clean:
- -rm -f *.o *.obj
-
-clobber: clean
- -rm -f $(UNIX_PROGS) $(MSC_PROGS) dry2shar.* dry2.arc
-
-post: dry2shar.1 dry2shar.2 dry2shar.3
- for i in 1 2 3;\
- do\
- cat HEADERS BOILER.$$i dry2shar.$$i |\
- inews -h -t "Dhrystone 2.1 ($$i of 3)" -n comp.arch;\
- done
-
-repost: dry2shar.1 dry2shar.2 dry2shar.3
- for i in 3;\
- do\
- cat HEADERS BOILER.$$i dry2shar.$$i |\
- inews -h -t "REPOST: Dhrystone 2.1 ($$i of 3)" -n comp.arch;\
- done
-
-mail: dry2shar.1 dry2shar.2 dry2shar.3
- for i in 1 2 3;\
- do\
- cat BOILER.$$i dry2shar.$$i |\
- mailx -s "Dhrystone 2.1 ($$i of 3)" $(ADDR);\
- done
-
-dos:
- doscopy -a $(FILES1) $(FILES2) $(FILES3) dos!a:
diff --git a/demos/dhry/cc_dry2 b/demos/dhry/cc_dry2
new file mode 100755 (executable)
index 0000000..bdabb9b
Binary files /dev/null and b/demos/dhry/cc_dry2 differ
index 0000000..bdabb9b
Binary files /dev/null and b/demos/dhry/cc_dry2 differ
diff --git a/demos/dhry/cc_dry2reg b/demos/dhry/cc_dry2reg
new file mode 100755 (executable)
index 0000000..1343080
Binary files /dev/null and b/demos/dhry/cc_dry2reg differ
index 0000000..1343080
Binary files /dev/null and b/demos/dhry/cc_dry2reg differ
diff --git a/demos/dhry/dhry.h b/demos/dhry/dhry.h
--- a/demos/dhry/dhry.h
+++ /dev/null
@@ -1,470 +0,0 @@
-/*
- ****************************************************************************
- *
- * "DHRYSTONE" Benchmark Program
- * -----------------------------
- *
- * Version: C, Version 2.1
- *
- * File: dhry.h (part 1 of 3)
- *
- * Date: May 25, 1988
- *
- * Author: Reinhold P. Weicker
- * Siemens AG, E STE 35
- * Postfach 3240
- * 8520 Erlangen
- * Germany (West)
- * Phone: [xxx-49]-9131-7-20330
- * (8-17 Central European Time)
- * Usenet: ..!mcvax!unido!estevax!weicker
- *
- * Original Version (in Ada) published in
- * "Communications of the ACM" vol. 27., no. 10 (Oct. 1984),
- * pp. 1013 - 1030, together with the statistics
- * on which the distribution of statements etc. is based.
- *
- * In this C version, the following C library functions are used:
- * - strcpy, strcmp (inside the measurement loop)
- * - printf, scanf (outside the measurement loop)
- * In addition, Berkeley UNIX system calls "times ()" or "time ()"
- * are used for execution time measurement. For measurements
- * on other systems, these calls have to be changed.
- *
- * Collection of Results:
- * Reinhold Weicker (address see above) and
- *
- * Rick Richardson
- * PC Research. Inc.
- * 94 Apple Orchard Drive
- * Tinton Falls, NJ 07724
- * Phone: (201) 389-8963 (9-17 EST)
- * Usenet: ...!uunet!pcrat!rick
- *
- * Please send results to Rick Richardson and/or Reinhold Weicker.
- * Complete information should be given on hardware and software used.
- * Hardware information includes: Machine type, CPU, type and size
- * of caches; for microprocessors: clock frequency, memory speed
- * (number of wait states).
- * Software information includes: Compiler (and runtime library)
- * manufacturer and version, compilation switches, OS version.
- * The Operating System version may give an indication about the
- * compiler; Dhrystone itself performs no OS calls in the measurement loop.
- *
- * The complete output generated by the program should be mailed
- * such that at least some checks for correctness can be made.
- *
- ***************************************************************************
- *
- * History: This version C/2.1 has been made for two reasons:
- *
- * 1) There is an obvious need for a common C version of
- * Dhrystone, since C is at present the most popular system
- * programming language for the class of processors
- * (microcomputers, minicomputers) where Dhrystone is used most.
- * There should be, as far as possible, only one C version of
- * Dhrystone such that results can be compared without
- * restrictions. In the past, the C versions distributed
- * by Rick Richardson (Version 1.1) and by Reinhold Weicker
- * had small (though not significant) differences.
- *
- * 2) As far as it is possible without changes to the Dhrystone
- * statistics, optimizing compilers should be prevented from
- * removing significant statements.
- *
- * This C version has been developed in cooperation with
- * Rick Richardson (Tinton Falls, NJ), it incorporates many
- * ideas from the "Version 1.1" distributed previously by
- * him over the UNIX network Usenet.
- * I also thank Chaim Benedelac (National Semiconductor),
- * David Ditzel (SUN), Earl Killian and John Mashey (MIPS),
- * Alan Smith and Rafael Saavedra-Barrera (UC at Berkeley)
- * for their help with comments on earlier versions of the
- * benchmark.
- *
- * Changes: In the initialization part, this version follows mostly
- * Rick Richardson's version distributed via Usenet, not the
- * version distributed earlier via floppy disk by Reinhold Weicker.
- * As a concession to older compilers, names have been made
- * unique within the first 8 characters.
- * Inside the measurement loop, this version follows the
- * version previously distributed by Reinhold Weicker.
- *
- * At several places in the benchmark, code has been added,
- * but within the measurement loop only in branches that
- * are not executed. The intention is that optimizing compilers
- * should be prevented from moving code out of the measurement
- * loop, or from removing code altogether. Since the statements
- * that are executed within the measurement loop have NOT been
- * changed, the numbers defining the "Dhrystone distribution"
- * (distribution of statements, operand types and locality)
- * still hold. Except for sophisticated optimizing compilers,
- * execution times for this version should be the same as
- * for previous versions.
- *
- * Since it has proven difficult to subtract the time for the
- * measurement loop overhead in a correct way, the loop check
- * has been made a part of the benchmark. This does have
- * an impact - though a very minor one - on the distribution
- * statistics which have been updated for this version.
- *
- * All changes within the measurement loop are described
- * and discussed in the companion paper "Rationale for
- * Dhrystone version 2".
- *
- * Because of the self-imposed limitation that the order and
- * distribution of the executed statements should not be
- * changed, there are still cases where optimizing compilers
- * may not generate code for some statements. To a certain
- * degree, this is unavoidable for small synthetic benchmarks.
- * Users of the benchmark are advised to check code listings
- * whether code is generated for all statements of Dhrystone.
- *
- * Version 2.1 is identical to version 2.0 distributed via
- * the UNIX network Usenet in March 1988 except that it corrects
- * some minor deficiencies that were found by users of version 2.0.
- * The only change within the measurement loop is that a
- * non-executed "else" part was added to the "if" statement in
- * Func_3, and a non-executed "else" part removed from Proc_3.
- *
- ***************************************************************************
- *
- * Defines: The following "Defines" are possible:
- * -DREG=register (default: Not defined)
- * As an approximation to what an average C programmer
- * might do, the "register" storage class is applied
- * (if enabled by -DREG=register)
- * - for local variables, if they are used (dynamically)
- * five or more times
- * - for parameters if they are used (dynamically)
- * six or more times
- * Note that an optimal "register" strategy is
- * compiler-dependent, and that "register" declarations
- * do not necessarily lead to faster execution.
- * -DNOSTRUCTASSIGN (default: Not defined)
- * Define if the C compiler does not support
- * assignment of structures.
- * -DNOENUMS (default: Not defined)
- * Define if the C compiler does not support
- * enumeration types.
- * -DTIMES (default)
- * -DTIME
- * The "times" function of UNIX (returning process times)
- * or the "time" function (returning wallclock time)
- * is used for measurement.
- * For single user machines, "time ()" is adequate. For
- * multi-user machines where you cannot get single-user
- * access, use the "times ()" function. If you have
- * neither, use a stopwatch in the dead of night.
- * "printf"s are provided marking the points "Start Timer"
- * and "Stop Timer". DO NOT use the UNIX "time(1)"
- * command, as this will measure the total time to
- * run this program, which will (erroneously) include
- * the time to allocate storage (malloc) and to perform
- * the initialization.
- * -DHZ=nnn
- * In Berkeley UNIX, the function "times" returns process
- * time in 1/HZ seconds, with HZ = 60 for most systems.
- * CHECK YOUR SYSTEM DESCRIPTION BEFORE YOU JUST APPLY
- * A VALUE.
- *
- ***************************************************************************
- *
- * Compilation model and measurement (IMPORTANT):
- *
- * This C version of Dhrystone consists of three files:
- * - dhry.h (this file, containing global definitions and comments)
- * - dhry_1.c (containing the code corresponding to Ada package Pack_1)
- * - dhry_2.c (containing the code corresponding to Ada package Pack_2)
- *
- * The following "ground rules" apply for measurements:
- * - Separate compilation
- * - No procedure merging
- * - Otherwise, compiler optimizations are allowed but should be indicated
- * - Default results are those without register declarations
- * See the companion paper "Rationale for Dhrystone Version 2" for a more
- * detailed discussion of these ground rules.
- *
- * For 16-Bit processors (e.g. 80186, 80286), times for all compilation
- * models ("small", "medium", "large" etc.) should be given if possible,
- * together with a definition of these models for the compiler system used.
- *
- **************************************************************************
- *
- * Dhrystone (C version) statistics:
- *
- * [Comment from the first distribution, updated for version 2.
- * Note that because of language differences, the numbers are slightly
- * different from the Ada version.]
- *
- * The following program contains statements of a high level programming
- * language (here: C) in a distribution considered representative:
- *
- * assignments 52 (51.0 %)
- * control statements 33 (32.4 %)
- * procedure, function calls 17 (16.7 %)
- *
- * 103 statements are dynamically executed. The program is balanced with
- * respect to the three aspects:
- *
- * - statement type
- * - operand type
- * - operand locality
- * operand global, local, parameter, or constant.
- *
- * The combination of these three aspects is balanced only approximately.
- *
- * 1. Statement Type:
- * ----------------- number
- *
- * V1 = V2 9
- * (incl. V1 = F(..)
- * V = Constant 12
- * Assignment, 7
- * with array element
- * Assignment, 6
- * with record component
- * --
- * 34 34
- *
- * X = Y +|-|"&&"|"|" Z 5
- * X = Y +|-|"==" Constant 6
- * X = X +|- 1 3
- * X = Y *|/ Z 2
- * X = Expression, 1
- * two operators
- * X = Expression, 1
- * three operators
- * --
- * 18 18
- *
- * if .... 14
- * with "else" 7
- * without "else" 7
- * executed 3
- * not executed 4
- * for ... 7 | counted every time
- * while ... 4 | the loop condition
- * do ... while 1 | is evaluated
- * switch ... 1
- * break 1
- * declaration with 1
- * initialization
- * --
- * 34 34
- *
- * P (...) procedure call 11
- * user procedure 10
- * library procedure 1
- * X = F (...)
- * function call 6
- * user function 5
- * library function 1
- * --
- * 17 17
- * ---
- * 103
- *
- * The average number of parameters in procedure or function calls
- * is 1.82 (not counting the function values aX *
- *
- * 2. Operators
- * ------------
- * number approximate
- * percentage
- *
- * Arithmetic 32 50.8
- *
- * + 21 33.3
- * - 7 11.1
- * * 3 4.8
- * / (int div) 1 1.6
- *
- * Comparison 27 42.8
- *
- * == 9 14.3
- * /= 4 6.3
- * > 1 1.6
- * < 3 4.8
- * >= 1 1.6
- * <= 9 14.3
- *
- * Logic 4 6.3
- *
- * && (AND-THEN) 1 1.6
- * | (OR) 1 1.6
- * ! (NOT) 2 3.2
- *
- * -- -----
- * 63 100.1
- *
- *
- * 3. Operand Type (counted once per operand reference):
- * ---------------
- * number approximate
- * percentage
- *
- * Integer 175 72.3 %
- * Character 45 18.6 %
- * Pointer 12 5.0 %
- * String30 6 2.5 %
- * Array 2 0.8 %
- * Record 2 0.8 %
- * --- -------
- * 242 100.0 %
- *
- * When there is an access path leading to the final operand (e.g. a record
- * component), only the final data type on the access path is counted.
- *
- *
- * 4. Operand Locality:
- * -------------------
- * number approximate
- * percentage
- *
- * local variable 114 47.1 %
- * global variable 22 9.1 %
- * parameter 45 18.6 %
- * value 23 9.5 %
- * reference 22 9.1 %
- * function result 6 2.5 %
- * constant 55 22.7 %
- * --- -------
- * 242 100.0 %
- *
- *
- * The program does not compute anything meaningful, but it is syntactically
- * and semantically correct. All variables have a value assigned to them
- * before they are used as a source operand.
- *
- * There has been no explicit effort to account for the effects of a
- * cache, or to balance the use of long or short displacements for code or
- * data.
- *
- ***************************************************************************
- */
-
-/* Compiler and system dependent definitions: */
-#ifndef BIOS_POSIX
-#ifndef TIME
-#undef TIMES
-#define TIMES
-#endif
-#endif
- /* Use times(2) time function unless */
- /* explicitly defined otherwise */
-
-#ifdef MSC_CLOCK
-#undef HZ
-#undef TIMES
-#include <time.h>
-#define HZ CLK_TCK
-#endif
- /* Use Microsoft C hi-res clock */
-
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
- /* for "times" */
-#endif
-
-#ifdef BIOS_POSIX
-#include <ti/sysbios/posix/types.h>
-#ifdef TIME
-#include <time.h>
-#endif
-#endif
-
-#define Mic_secs_Per_Second 1000000.0
- /* Berkeley UNIX C returns process times in seconds/HZ */
-
-#ifdef NOSTRUCTASSIGN
-#define structassign(d, s) memcpy(&(d), &(s), sizeof(d))
-#else
-#define structassign(d, s) d = s
-#endif
-
-#ifdef NOENUM
-#define Ident_1 0
-#define Ident_2 1
-#define Ident_3 2
-#define Ident_4 3
-#define Ident_5 4
- typedef int Enumeration;
-#else
- typedef enum {Ident_1, Ident_2, Ident_3, Ident_4, Ident_5}
- Enumeration;
-#endif
- /* for boolean and enumeration types in Ada, Pascal */
-
-/* General definitions: */
-
-#include <stdio.h>
- /* for strcpy, strcmp */
-
-#define Null 0
- /* Value of a Null pointer */
-#define true 1
-#define false 0
-
-typedef int One_Thirty;
-typedef int One_Fifty;
-typedef char Capital_Letter;
-typedef int Boolean;
-typedef char Str_30 [31];
-typedef int Arr_1_Dim [50];
-typedef int Arr_2_Dim [50] [50];
-
-typedef struct record
- {
- struct record *Ptr_Comp;
- Enumeration Discr;
- union {
- struct {
- Enumeration Enum_Comp;
- int Int_Comp;
- char Str_Comp [31];
- } var_1;
- struct {
- Enumeration E_Comp_2;
- char Str_2_Comp [31];
- } var_2;
- struct {
- char Ch_1_Comp;
- char Ch_2_Comp;
- } var_3;
- } variant;
- } Rec_Type, *Rec_Pointer;
-
-typedef struct dhryInstance_s {
- Rec_Pointer Ptr_Glob,
- Next_Ptr_Glob;
- int Int_Glob;
- Boolean Bool_Glob;
- char Ch_1_Glob,
- Ch_2_Glob;
- int Arr_1_Glob [50];
- int Arr_2_Glob [50] [50];
-} dhryInstance_t;
-
-#ifndef REG
-#define REG
-#define UNDEF_REG
-#endif
-int Proc_1 (dhryInstance_t *inst, REG Rec_Pointer Ptr_Val_Par);
-int Proc_2 (dhryInstance_t *inst, One_Fifty *Int_Par_Ref);
-int Proc_3 (dhryInstance_t *inst, Rec_Pointer *Ptr_Ref_Par);
-int Proc_4 (dhryInstance_t *inst); /* without parameters */
-int Proc_5 (dhryInstance_t *inst); /* without parameters */
-int Proc_6 (dhryInstance_t *inst, Enumeration Enum_Val_Par, Enumeration *Enum_Ref_Par);
-int Proc_7 (One_Fifty Int_1_Par_Val, One_Fifty Int_2_Par_Val, One_Fifty *Int_Par_Ref);
-int Proc_8 (dhryInstance_t *inst, Arr_1_Dim Arr_1_Par_Ref, Arr_2_Dim Arr_2_Par_Ref, int Int_1_Par_Val, int Int_2_Par_Val);
-Enumeration Func_1 (dhryInstance_t *, Capital_Letter, Capital_Letter);
-Boolean Func_2 (dhryInstance_t *inst, Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref);
-Boolean Func_3 (Enumeration Enum_Par_Val);
-
-#ifdef UNDEF_REG
-#undef UNDEF_REG
-#undef REG
-#endif
-
diff --git a/demos/dhry/dhry_1.c b/demos/dhry/dhry_1.c
--- a/demos/dhry/dhry_1.c
+++ /dev/null
@@ -1,831 +0,0 @@
-/*
- ****************************************************************************
- *
- * "DHRYSTONE" Benchmark Program
- * -----------------------------
- *
- * Version: C, Version 2.1
- *
- * File: dhry_1.c (part 2 of 3)
- *
- * Date: May 25, 1988
- *
- * Author: Reinhold P. Weicker
- *
- ****************************************************************************
- */
-
-#include "dhry.h"
-#include <string.h>
-#include <stdlib.h>
-#ifdef BIOS_POSIX
-
-/* BIOS6 include */
-#include <ti/sysbios/BIOS.h>
-
-/* XDC include */
-#include <xdc/runtime/System.h>
-
-#include <ti/sysbios/posix/pthread.h>
-#else
-#include <pthread.h>
-#include <sys/time.h>
-#endif
-
-
-#ifdef BIOS_POSIX
-#ifdef _TMS320C6X
-#include <c6x.h>
-
-#define CORE_MHZ 983
-static inline uint64_t read_time()
-{
- return ((uint64_t)TSCH<<32) | TSCL;
-}
-#else
-#define CORE_MHZ 1000
-#include <xdc/runtime/Types.h>
-#include <xdc/runtime/Timestamp.h>
-uint64_t read_time()
-{
- uint64_t result;
- Types_Timestamp64 ts1;
- Timestamp_get64(&ts1);
-
- result = ((uint64_t )ts1.hi << 32) | ts1.lo;
-
- return result;
-}
-#endif
-#endif
-
-/* Global Variables: */
-#define MAX_THREADS 32
-#define DEFAULT_STACK_SIZE 0x8000
-
-typedef struct {
- int numIterations;
- float results;
- pthread_barrier_t *barrier;
-} threadInst_t;
-typedef struct {
- threadInst_t threadInst;
- pthread_t threadId;
-} threadData_t;
-
-
-//extern char *malloc ();
- /* forward declaration necessary since Enumeration may not simply be int */
-
-#ifndef REG
- Boolean Reg = false;
-#define REG
- /* REG becomes defined as empty */
- /* i.e. no register variables */
-#else
- Boolean Reg = true;
-#endif
-
-
-
-/* end of variables for time measurement */
-void check (const char *str, int err)
-{
- if (err != 0)
- {
- printf ("%s: %d: %s\n", str, err, strerror(err));
- exit(1);
- }
-}
-
-void *dhryThread (void *arg)
-/*****/
-
- /* main program, corresponds to procedures */
- /* Main and Proc_0 in the Ada version */
-{
- One_Fifty Int_1_Loc;
- REG One_Fifty Int_2_Loc;
- One_Fifty Int_3_Loc;
- REG char Ch_Index;
- Enumeration Enum_Loc;
- Str_30 Str_1_Loc;
- Str_30 Str_2_Loc;
- REG int Run_Index;
- REG int Number_Of_Runs;
- threadInst_t *threadInst = (threadInst_t *)arg;
-
-long Begin_Time,
- End_Time,
- User_Time;
-float Microseconds,
- Dhrystones_Per_Second = -1;
- dhryInstance_t inst;
- int error = 0;
- int err;
-/* variables for time measurement: */
-#ifdef TIMEOFDAY
- struct timeval Begin_TimeVal, End_TimeVal, Diff_TimeVal;
- float float_time;
-#define Too_Small_Time (2*HZ)
-#endif
-#ifdef BIOS_POSIX
- uint64_t begin, end;
- #define Too_Small_Time 500 /* MHz */
-#endif
-#ifdef TIMES
-struct tms time_info;
-//extern int times ();
- /* see library function "times" */
-#define Too_Small_Time (2*HZ)
- /* Measurements should last at least about 2 seconds */
-#endif
-#ifdef TIME
-#ifdef BIOS_POSIX
-extern time_t time(time_t *timer);
-#else
-extern long time();
- /* see library function "time" */
-#endif
-#define Too_Small_Time 2
- /* Measurements should last at least 2 seconds */
-#endif
-#ifdef MSC_CLOCK
-extern clock_t clock();
-#define Too_Small_Time (2*HZ)
-#endif
-
-#ifdef BIOS_POSIX
-#define printf System_printf
-#endif
-
- /* Initializations */
-
- inst.Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
- inst.Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
-
- inst.Ptr_Glob->Ptr_Comp = inst.Next_Ptr_Glob;
- inst.Ptr_Glob->Discr = Ident_1;
- inst.Ptr_Glob->variant.var_1.Enum_Comp = Ident_3;
- inst.Ptr_Glob->variant.var_1.Int_Comp = 40;
- strcpy (inst.Ptr_Glob->variant.var_1.Str_Comp,
- "DHRYSTONE PROGRAM, SOME STRING");
- strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING");
-
- inst.Arr_2_Glob [8][7] = 10;
- /* Was missing in published program. Without this statement, */
- /* Arr_2_Glob [8][7] would have an undefined value. */
- /* Warning: With 16-Bit processors and Number_Of_Runs > 32000, */
- /* overflow may occur for this array element. */
-
-#if 0
- printf ("\n");
- printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n");
- printf ("\n");
-#endif
-#if 0
- if (Reg)
- {
- printf ("Program compiled with 'register' attribute\n");
- printf ("\n");
- }
- else
- {
- printf ("Program compiled without 'register' attribute\n");
- printf ("\n");
- }
-#endif
-#if 0
- printf ("Please give the number of runs through the benchmark: ");
- {
- int n;
- scanf ("%d", &n);
- Number_Of_Runs = n;
- }
- printf ("\n");
-#endif
- Number_Of_Runs = threadInst->numIterations;
-
-#if 0
- printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs);
-#endif
-
- /***************/
- /* Start timer */
- /***************/
-#ifdef BIOS_POSIX
-#ifndef TIME
- begin = read_time();
-#endif
-#endif
-#ifdef TIMEOFDAY
- gettimeofday (&Begin_TimeVal, NULL);
-#endif
-#ifdef TIMES
- times (&time_info);
- Begin_Time = (long) time_info.tms_utime;
-#endif
-#ifdef TIME
-#ifdef BIOS_POSIX
- Begin_Time = time ( (time_t *) 0);
-#else
- Begin_Time = time ( (long *) 0);
-#endif
-#endif
-#ifdef MSC_CLOCK
- Begin_Time = clock();
-#endif
- if (threadInst->barrier)
- {
- err = pthread_barrier_wait (threadInst->barrier);
- if (err != 0 && err != PTHREAD_BARRIER_SERIAL_THREAD)
- {
- check("pthread_barrier_wait", err);
- }
- }
-
- for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index)
- {
-
- Proc_5(&inst);
- Proc_4(&inst);
- /* Ch_1_Glob == 'A', Ch_2_Glob == 'B', Bool_Glob == true */
- Int_1_Loc = 2;
- Int_2_Loc = 3;
- strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING");
- Enum_Loc = Ident_2;
- inst.Bool_Glob = ! Func_2 (&inst, Str_1_Loc, Str_2_Loc);
- /* Bool_Glob == 1 */
- while (Int_1_Loc < Int_2_Loc) /* loop body executed once */
- {
- Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc;
- /* Int_3_Loc == 7 */
- Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc);
- /* Int_3_Loc == 7 */
- Int_1_Loc += 1;
- } /* while */
- /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
- Proc_8 (&inst, inst.Arr_1_Glob, inst.Arr_2_Glob, Int_1_Loc, Int_3_Loc);
- /* Int_Glob == 5 */
- Proc_1 (&inst, inst.Ptr_Glob);
- for (Ch_Index = 'A'; Ch_Index <= inst.Ch_2_Glob; ++Ch_Index)
- /* loop body executed twice */
- {
- if (Enum_Loc == Func_1 (&inst, Ch_Index, 'C'))
- /* then, not executed */
- {
- Proc_6 (&inst, Ident_1, &Enum_Loc);
- strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING");
- Int_2_Loc = Run_Index;
- inst.Int_Glob = Run_Index;
- }
- }
- /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
- Int_2_Loc = Int_2_Loc * Int_1_Loc;
- Int_1_Loc = Int_2_Loc / Int_3_Loc;
- Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc;
- /* Int_1_Loc == 1, Int_2_Loc == 13, Int_3_Loc == 7 */
- Proc_2 (&inst, &Int_1_Loc);
- /* Int_1_Loc == 5 */
-#ifdef BIOS_POSIX
-#ifndef TIME
- //read_time();
-#endif
-#endif
- } /* loop "for Run_Index" */
-
- /**************/
- /* Stop timer */
- /**************/
- if (threadInst->barrier)
- {
- err = pthread_barrier_wait (threadInst->barrier);
- if (err != 0 && err != PTHREAD_BARRIER_SERIAL_THREAD)
- {
- check("pthread_barrier_wait", err);
- }
- }
-
-#ifdef BIOS_POSIX
-#ifndef TIME
- end = read_time();
- Begin_Time = (long)begin/1000000;
- End_Time = (long)(end/1000000);
-#endif
-#endif
-
-#ifdef TIMEOFDAY
- gettimeofday (&End_TimeVal, NULL);
-#endif
-#ifdef TIMES
- times (&time_info);
- End_Time = (long) time_info.tms_utime;
-#endif
-#ifdef TIME
-#ifdef BIOS_POSIX
- End_Time = time ( (time_t *) 0);
-#else
- End_Time = time ( (long *) 0);
-#endif
-#endif
-#ifdef MSC_CLOCK
- End_Time = clock();
-#endif
-
-#if 0
- printf ("Execution ends\n");
- printf ("\n");
- printf ("Final values of the variables used in the benchmark:\n");
- printf ("\n");
- printf ("Int_Glob: %d\n", Int_Glob);
- printf (" should be: %d\n", 5);
- printf ("Bool_Glob: %d\n", Bool_Glob);
- printf (" should be: %d\n", 1);
- printf ("Ch_1_Glob: %c\n", Ch_1_Glob);
- printf (" should be: %c\n", 'A');
- printf ("Ch_2_Glob: %c\n", Ch_2_Glob);
- printf (" should be: %c\n", 'B');
- printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]);
- printf (" should be: %d\n", 7);
- printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]);
- printf (" should be: Number_Of_Runs + 10\n");
- printf ("Ptr_Glob->\n");
- printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp);
- printf (" should be: (implementation-dependent)\n");
- printf (" Discr: %d\n", Ptr_Glob->Discr);
- printf (" should be: %d\n", 0);
- printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp);
- printf (" should be: %d\n", 2);
- printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp);
- printf (" should be: %d\n", 17);
- printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp);
- printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n");
- printf ("Next_Ptr_Glob->\n");
- printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp);
- printf (" should be: (implementation-dependent), same as above\n");
- printf (" Discr: %d\n", Next_Ptr_Glob->Discr);
- printf (" should be: %d\n", 0);
- printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp);
- printf (" should be: %d\n", 1);
- printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp);
- printf (" should be: %d\n", 18);
- printf (" Str_Comp: %s\n",
- Next_Ptr_Glob->variant.var_1.Str_Comp);
- printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n");
- printf ("Int_1_Loc: %d\n", Int_1_Loc);
- printf (" should be: %d\n", 5);
- printf ("Int_2_Loc: %d\n", Int_2_Loc);
- printf (" should be: %d\n", 13);
- printf ("Int_3_Loc: %d\n", Int_3_Loc);
- printf (" should be: %d\n", 7);
- printf ("Enum_Loc: %d\n", Enum_Loc);
- printf (" should be: %d\n", 1);
- printf ("Str_1_Loc: %s\n", Str_1_Loc);
- printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n");
- printf ("Str_2_Loc: %s\n", Str_2_Loc);
- printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n");
- printf ("\n");
-#else
- if (inst.Int_Glob != 5) {
- printf ("Int_Glob: %d\n", inst.Int_Glob);
- printf (" should be: %d\n", 5);
- error = 1;
- }
- if (inst.Bool_Glob != 1) {
- printf ("Bool_Glob: %d\n", inst.Bool_Glob);
- printf (" should be: %d\n", 1);
- error = 1;
- }
- if (inst.Ch_1_Glob != 'A')
- {
- printf ("Ch_1_Glob: %c\n", inst.Ch_1_Glob);
- printf (" should be: %c\n", 'A');
- error = 1;
- }
- if (inst.Ch_2_Glob != 'B')
- {
- printf ("Ch_2_Glob: %c\n", inst.Ch_2_Glob);
- printf (" should be: %c\n", 'B');
- error = 1;
- }
- if (inst.Arr_1_Glob[8] != 7)
- {
- printf ("Arr_1_Glob[8]: %d\n", inst.Arr_1_Glob[8]);
- printf (" should be: %d\n", 7);
- error = 1;
- }
- if (inst.Arr_2_Glob[8][7] != Number_Of_Runs + 10)
- {
- printf ("Arr_2_Glob[8][7]: %d\n", inst.Arr_2_Glob[8][7]);
- printf (" should be: Number_Of_Runs + 10\n");
- error = 1;
- }
-#if 0
- printf ("Ptr_Glob->\n");
- printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp);
- printf (" should be: (implementation-dependent)\n");
-#endif
- if (inst.Ptr_Glob->Discr != 0)
- {
- printf (" Discr: %d\n", inst.Ptr_Glob->Discr);
- printf (" should be: %d\n", 0);
- error = 1;
- }
- if (inst.Ptr_Glob->variant.var_1.Enum_Comp != 2)
- {
- printf (" Enum_Comp: %d\n", inst.Ptr_Glob->variant.var_1.Enum_Comp);
- printf (" should be: %d\n", 2);
- error = 1;
- }
- if (inst.Ptr_Glob->variant.var_1.Int_Comp != 17)
- {
- printf (" Int_Comp: %d\n", inst.Ptr_Glob->variant.var_1.Int_Comp);
- printf (" should be: %d\n", 17);
- error = 1;
- }
- if (strcmp(inst.Ptr_Glob->variant.var_1.Str_Comp, "DHRYSTONE PROGRAM, SOME STRING") != 0)
- {
- printf (" Str_Comp: %s\n", inst.Ptr_Glob->variant.var_1.Str_Comp);
- printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n");
- error = 1;
- }
-#if 0
- printf ("Next_Ptr_Glob->\n");
- printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp);
- printf (" should be: (implementation-dependent), same as above\n");
-#endif
- if (inst.Next_Ptr_Glob->Discr != 0)
- {
- printf (" Discr: %d\n", inst.Next_Ptr_Glob->Discr);
- printf (" should be: %d\n", 0);
- error = 1;
- }
- if (inst.Next_Ptr_Glob->variant.var_1.Enum_Comp != 1)
- {
- printf (" Enum_Comp: %d\n", inst.Next_Ptr_Glob->variant.var_1.Enum_Comp);
- printf (" should be: %d\n", 1);
- error = 1;
- }
- if (inst.Next_Ptr_Glob->variant.var_1.Int_Comp != 18)
- {
- printf (" Int_Comp: %d\n", inst.Next_Ptr_Glob->variant.var_1.Int_Comp);
- printf (" should be: %d\n", 18);
- error = 1;
- }
- if (strcmp (inst.Next_Ptr_Glob->variant.var_1.Str_Comp, "DHRYSTONE PROGRAM, SOME STRING") != 0)
- {
- printf (" Str_Comp: %s\n",
- inst.Next_Ptr_Glob->variant.var_1.Str_Comp);
- printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n");
- error = 1;
- }
- if (Int_1_Loc != 5)
- {
- printf ("Int_1_Loc: %d\n", Int_1_Loc);
- printf (" should be: %d\n", 5);
- error = 1;
- }
- if (Int_2_Loc != 13)
- {
- printf ("Int_2_Loc: %d\n", Int_2_Loc);
- printf (" should be: %d\n", 13);
- error = 1;
- }
- if (Int_3_Loc != 7)
- {
- printf ("Int_3_Loc: %d\n", Int_3_Loc);
- printf (" should be: %d\n", 7);
- error = 1;
- }
- if (Enum_Loc != 1)
- {
- printf ("Enum_Loc: %d\n", Enum_Loc);
- printf (" should be: %d\n", 1);
- error = 1;
- }
- if (strcmp (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING") != 0)
- {
- printf ("Str_1_Loc: %s\n", Str_1_Loc);
- printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n");
- error = 1;
- }
- if (strcmp (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING") != 0)
- {
- printf ("Str_2_Loc: %s\n", Str_2_Loc);
- printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n");
- error = 1;
- }
-#endif
-
- if (error)
- {
- printf("Error found\n");
- exit(1);
- }
- free(inst.Next_Ptr_Glob);
- free(inst.Ptr_Glob);
- User_Time = End_Time - Begin_Time;
-
- if (User_Time < Too_Small_Time)
- {
-#if 0
- printf ("Measured time too small to obtain meaningful results\n");
- printf ("Please increase number of runs\n");
- printf ("\n");
-#endif
- }
- else
- {
-#ifdef TIME
- Microseconds = (float) User_Time * Mic_secs_Per_Second
- / (float) Number_Of_Runs;
- Dhrystones_Per_Second = (float) Number_Of_Runs / (float) User_Time;
-#elif defined(TIMEOFDAY)
- timersub (&End_TimeVal, &Begin_TimeVal, &Diff_TimeVal);
- float_time = ((float)Diff_TimeVal.tv_sec) + ((float)(Diff_TimeVal.tv_usec))/Mic_secs_Per_Second;
- Dhrystones_Per_Second = (float) Number_Of_Runs / (float) float_time;
-#elif defined(BIOS_POSIX)
- {
- float mcyc_begin = (float)(begin / 1000000);
- float mcyc_end = (float)(end / 1000000);
- float float_time = (mcyc_end - mcyc_begin) * 6.0 / 983;
- Dhrystones_Per_Second = (float) Number_Of_Runs / (float) float_time;
- }
-#else
- Microseconds = (float) User_Time * Mic_secs_Per_Second
- / ((float) HZ * ((float) Number_Of_Runs));
- Dhrystones_Per_Second = ((float) HZ * (float) Number_Of_Runs)
- / (float) User_Time;
-#endif
-#if 0
- printf ("Microseconds for one run through Dhrystone: ");
- printf ("%6.1f \n", Microseconds);
- printf ("Dhrystones per Second: ");
- printf ("%6.1f \n", Dhrystones_Per_Second);
- printf ("\n");
-#endif
- }
-
- threadInst->results = Dhrystones_Per_Second;
- return arg;
-}
-
-int thread_create ( void *(start_routine)(void*), void* args, pthread_t *thread)
-{
- int max_priority, err;
- pthread_attr_t attr;
- struct sched_param param;
-
-#ifdef BIOS_POSIX
- max_priority = sched_get_priority_max();
- /* sched_get_priority_max should return Task_numPrioritis -1 but returns
- * Task_numPriorities instead. This is a bug in BIOS */
- max_priority--;
-#else
- max_priority = 0;
-#endif
- err = pthread_attr_init(&attr);
- if (err) {
- printf("pthread_attr_init failed: (%s)\n", strerror(err));
- return err;
- }
- err = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
- if (err) {
- printf("pthread_attr_setdetachstate failed: (%s)\n", strerror(err));
- return err;
- }
- err = pthread_attr_setstacksize(&attr, DEFAULT_STACK_SIZE);
- if (err) {
- printf("pthread_attr_setstacksize failed: (%s)\n", strerror(err));
- return err;
- }
-#if 0
- err = pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);
- if (err) {
- printf("pthread_attr_setinheritsched failed: (%s)\n", strerror(err));
- return err;
- }
- err = pthread_attr_setschedpolicy(&attr, SCHED_FIFO);
- if (err) {
- printf("pthread_attr_setschedpolicy failed: (%s)\n", strerror(err));
- return err;
- }
-#endif
- memset(¶m, 0, sizeof(param));
- param.sched_priority = max_priority;
- err = pthread_attr_setschedparam(&attr, ¶m);
- if (err) {
- printf("pthread_attr_setschedparam failed: (%s)\n", strerror(err));
- return err;
- }
- if (err) return err;
- err = pthread_create(thread, &attr, start_routine, args);
- if (err) {
- printf("pthread_create failed: (%s)\n", strerror(err));
- return err;
- }
- if (err) return err;
- return 0;
-}
-
-void thread_wait (pthread_t *handle)
-{
- check ("pthread_join", pthread_join(*handle, NULL));
- return;
-}
-
-float spawn (threadData_t *threadData, int iterations, int nThreads)
-{
- int i;
- pthread_barrierattr_t battr;
- pthread_barrier_t barrier;
- float results = 0;
-
- if (nThreads == 0)
- {
- /* Direct run */
- threadData[0].threadInst.numIterations = iterations;
- threadData[0].threadInst.barrier = NULL;
- dhryThread (&threadData[0].threadInst);
- results = threadData[0].threadInst.results;
- }
- else
- {
- check ("pthread_barrierattr_init", pthread_barrierattr_init (&battr));
- check ("pthread_barrier_init", pthread_barrier_init (&barrier, &battr, nThreads));
- for (i = 0; i < nThreads; i++)
- {
- threadData[i].threadInst.numIterations = iterations;
- threadData[i].threadInst.barrier = &barrier;
- check ("thread_create", thread_create (dhryThread, &threadData[i].threadInst, &threadData[i].threadId));
- }
- for (i = 0; i < nThreads; i++)
- {
- check ("pthread_join", pthread_join(threadData[i].threadId, NULL));
- results += threadData[i].threadInst.results;
- }
- check ("pthread_barrier_destroy", pthread_barrier_destroy (&barrier));
- check ("pthread_barrierattr_destroy", pthread_barrierattr_destroy (&battr));
- }
- return results;
-}
-
-
-void *dhryMainThread(void *arg)
-{
- int iterations = 10000000;
- int threads = 1;
- float result, prevResult = 1;
- threadData_t threadData[MAX_THREADS];
-
- printf ("Dhrystone Benchmark, Version 2.1+Thread (Language: C)\n");
-
- printf ("Stage 1: find good iteration count without threads\n");
- do {
- printf("Attempting %d iterations\n", iterations);
- result = spawn (threadData, iterations, 0);
- if (result < 0) {
- iterations *= 2;
- }
- } while (result < 0);
- printf("dhrystones %d, dmips=%i\n", (int)result, (int)(result/1857));
-
- printf ("Stage 2: find best number of threads\n");
- for (threads = 1; threads <= MAX_THREADS; threads *= 2)
- {
- printf ("%d iterations * %d threads\n", iterations, threads);
- result = spawn (threadData, iterations, threads);
- printf("dhrystones %d, dmips=%i\n", (int)result, (int)(result/1857));
- if (result/prevResult < 1.2)
- {
- break;
- }
- prevResult = result;
- }
-
- printf("dhrystone benchmark complete\n");
-#ifdef BIOS_POSIX
- //BIOS_exit(0);
-#endif
- return(NULL);
-}
-
-void main(int32_t argc, char *argv[])
-{
- int err;
- pthread_t threadId;
-
-
-#ifdef BIOS_POSIX
- if ((err = thread_create(dhryMainThread, NULL, &threadId)))
- {
- printf("thread_create failed: %d\n", err);
- }
-
- printf("Starting BIOS...\n");
- BIOS_start();
-#else
- dhryMainThread(NULL);
-#endif
-}
-
-Proc_1 (dhryInstance_t *inst, REG Rec_Pointer Ptr_Val_Par)
-{
- REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;
- /* == Ptr_Glob_Next */
- /* Local variable, initialized with Ptr_Val_Par->Ptr_Comp, */
- /* corresponds to "rename" in Ada, "with" in Pascal */
-
- structassign (*Ptr_Val_Par->Ptr_Comp, *inst->Ptr_Glob);
- Ptr_Val_Par->variant.var_1.Int_Comp = 5;
- Next_Record->variant.var_1.Int_Comp
- = Ptr_Val_Par->variant.var_1.Int_Comp;
- Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp;
- Proc_3 (inst, &Next_Record->Ptr_Comp);
- /* Ptr_Val_Par->Ptr_Comp->Ptr_Comp
- == Ptr_Glob->Ptr_Comp */
- if (Next_Record->Discr == Ident_1)
- /* then, executed */
- {
- Next_Record->variant.var_1.Int_Comp = 6;
- Proc_6 (inst, Ptr_Val_Par->variant.var_1.Enum_Comp,
- &Next_Record->variant.var_1.Enum_Comp);
- Next_Record->Ptr_Comp = inst->Ptr_Glob->Ptr_Comp;
- Proc_7 (Next_Record->variant.var_1.Int_Comp, 10,
- &Next_Record->variant.var_1.Int_Comp);
- }
- else /* not executed */
- structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp);
-} /* Proc_1 */
-
-
-Proc_2 (dhryInstance_t *inst, One_Fifty *Int_Par_Ref)
-/******************/
- /* executed once */
- /* *Int_Par_Ref == 1, becomes 4 */
-
-{
- One_Fifty Int_Loc;
- Enumeration Enum_Loc;
-
- Int_Loc = *Int_Par_Ref + 10;
- do /* executed once */
- if (inst->Ch_1_Glob == 'A')
- /* then, executed */
- {
- Int_Loc -= 1;
- *Int_Par_Ref = Int_Loc - inst->Int_Glob;
- Enum_Loc = Ident_1;
- } /* if */
- while (Enum_Loc != Ident_1); /* true */
-} /* Proc_2 */
-
-
-Proc_3 (dhryInstance_t *inst, Rec_Pointer *Ptr_Ref_Par)
-/******************/
- /* executed once */
- /* Ptr_Ref_Par becomes Ptr_Glob */
-
-
-{
- if (inst->Ptr_Glob != Null)
- /* then, executed */
- *Ptr_Ref_Par = inst->Ptr_Glob->Ptr_Comp;
- Proc_7 (10, inst->Int_Glob, &inst->Ptr_Glob->variant.var_1.Int_Comp);
-} /* Proc_3 */
-
-
-Proc_4 (dhryInstance_t *inst) /* without parameters */
-/*******/
- /* executed once */
-{
- Boolean Bool_Loc;
-
- Bool_Loc = inst->Ch_1_Glob == 'A';
- inst->Bool_Glob = Bool_Loc | inst->Bool_Glob;
- inst->Ch_2_Glob = 'B';
-} /* Proc_4 */
-
-
-Proc_5 (dhryInstance_t *inst) /* without parameters */
-/*******/
- /* executed once */
-{
- inst->Ch_1_Glob = 'A';
- inst->Bool_Glob = false;
-} /* Proc_5 */
-
-
- /* Procedure for the assignment of structures, */
- /* if the C compiler doesn't support this feature */
-#ifdef NOSTRUCTASSIGN
-memcpy (d, s, l)
-register char *d;
-register char *s;
-register int l;
-{
- while (l--) *d++ = *s++;
-}
-#endif
-
-
diff --git a/demos/dhry/dhry_2.c b/demos/dhry/dhry_2.c
--- a/demos/dhry/dhry_2.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- ****************************************************************************
- *
- * "DHRYSTONE" Benchmark Program
- * -----------------------------
- *
- * Version: C, Version 2.1
- *
- * File: dhry_2.c (part 3 of 3)
- *
- * Date: May 25, 1988
- *
- * Author: Reinhold P. Weicker
- *
- ****************************************************************************
- */
-
-#include "dhry.h"
-#include <string.h>
-
-#ifndef REG
-#define REG
- /* REG becomes defined as empty */
- /* i.e. no register variables */
-#endif
-
-
-Proc_6 (dhryInstance_t *inst, Enumeration Enum_Val_Par, Enumeration *Enum_Ref_Par)
-/*********************************/
- /* executed once */
- /* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */
-
-{
- *Enum_Ref_Par = Enum_Val_Par;
- if (! Func_3 (Enum_Val_Par))
- /* then, not executed */
- *Enum_Ref_Par = Ident_4;
- switch (Enum_Val_Par)
- {
- case Ident_1:
- *Enum_Ref_Par = Ident_1;
- break;
- case Ident_2:
- if (inst->Int_Glob > 100)
- /* then */
- *Enum_Ref_Par = Ident_1;
- else *Enum_Ref_Par = Ident_4;
- break;
- case Ident_3: /* executed */
- *Enum_Ref_Par = Ident_2;
- break;
- case Ident_4: break;
- case Ident_5:
- *Enum_Ref_Par = Ident_3;
- break;
- } /* switch */
-} /* Proc_6 */
-
-
-Proc_7 (One_Fifty Int_1_Par_Val, One_Fifty Int_2_Par_Val, One_Fifty *Int_Par_Ref)
-/**********************************************/
- /* executed three times */
- /* first call: Int_1_Par_Val == 2, Int_2_Par_Val == 3, */
- /* Int_Par_Ref becomes 7 */
- /* second call: Int_1_Par_Val == 10, Int_2_Par_Val == 5, */
- /* Int_Par_Ref becomes 17 */
- /* third call: Int_1_Par_Val == 6, Int_2_Par_Val == 10, */
- /* Int_Par_Ref becomes 18 */
-{
- One_Fifty Int_Loc;
-
- Int_Loc = Int_1_Par_Val + 2;
- *Int_Par_Ref = Int_2_Par_Val + Int_Loc;
-} /* Proc_7 */
-
-
-Proc_8 (dhryInstance_t *inst, Arr_1_Dim Arr_1_Par_Ref, Arr_2_Dim Arr_2_Par_Ref, int Int_1_Par_Val, int Int_2_Par_Val)
-/*********************************************************************/
- /* executed once */
- /* Int_Par_Val_1 == 3 */
- /* Int_Par_Val_2 == 7 */
-{
- REG One_Fifty Int_Index;
- REG One_Fifty Int_Loc;
-
- Int_Loc = Int_1_Par_Val + 5;
- Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val;
- Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc];
- Arr_1_Par_Ref [Int_Loc+30] = Int_Loc;
- for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index)
- Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc;
- Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1;
- Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc];
- inst->Int_Glob = 5;
-} /* Proc_8 */
-
-
-Enumeration Func_1 (inst, Ch_1_Par_Val, Ch_2_Par_Val)
-/*************************************************/
- /* executed three times */
- /* first call: Ch_1_Par_Val == 'H', Ch_2_Par_Val == 'R' */
- /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */
- /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */
-
-dhryInstance_t *inst;
-Capital_Letter Ch_1_Par_Val;
-Capital_Letter Ch_2_Par_Val;
-{
- Capital_Letter Ch_1_Loc;
- Capital_Letter Ch_2_Loc;
-
- Ch_1_Loc = Ch_1_Par_Val;
- Ch_2_Loc = Ch_1_Loc;
- if (Ch_2_Loc != Ch_2_Par_Val)
- /* then, executed */
- return (Ident_1);
- else /* not executed */
- {
- inst->Ch_1_Glob = Ch_1_Loc;
- return (Ident_2);
- }
-} /* Func_1 */
-
-
-Boolean Func_2 (dhryInstance_t *inst, Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref)
-/*************************************************/
- /* executed once */
- /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */
- /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */
-
-{
- REG One_Thirty Int_Loc;
- Capital_Letter Ch_Loc;
-
- Int_Loc = 2;
- while (Int_Loc <= 2) /* loop body executed once */
- if (Func_1 (inst, Str_1_Par_Ref[Int_Loc],
- Str_2_Par_Ref[Int_Loc+1]) == Ident_1)
- /* then, executed */
- {
- Ch_Loc = 'A';
- Int_Loc += 1;
- } /* if, while */
- if (Ch_Loc >= 'W' && Ch_Loc < 'Z')
- /* then, not executed */
- Int_Loc = 7;
- if (Ch_Loc == 'R')
- /* then, not executed */
- return (true);
- else /* executed */
- {
- if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0)
- /* then, not executed */
- {
- Int_Loc += 7;
- inst->Int_Glob = Int_Loc;
- return (true);
- }
- else /* executed */
- return (false);
- } /* if Ch_Loc */
-} /* Func_2 */
-
-
-Boolean Func_3 (Enum_Par_Val)
-/***************************/
- /* executed once */
- /* Enum_Par_Val == Ident_3 */
-Enumeration Enum_Par_Val;
-{
- Enumeration Enum_Loc;
-
- Enum_Loc = Enum_Par_Val;
- if (Enum_Loc == Ident_3)
- /* then, executed */
- return (true);
- else /* not executed */
- return (false);
-} /* Func_3 */
-
diff --git a/demos/dhry/gcc_dry2reg b/demos/dhry/gcc_dry2reg
new file mode 100755 (executable)
index 0000000..899538b
Binary files /dev/null and b/demos/dhry/gcc_dry2reg differ
index 0000000..899538b
Binary files /dev/null and b/demos/dhry/gcc_dry2reg differ
diff --git a/demos/dhry/gcc_elin_dry2reg b/demos/dhry/gcc_elin_dry2reg
new file mode 100755 (executable)
index 0000000..db30c76
Binary files /dev/null and b/demos/dhry/gcc_elin_dry2reg differ
index 0000000..db30c76
Binary files /dev/null and b/demos/dhry/gcc_elin_dry2reg differ
diff --git a/demos/dhry/k2e/armv7/bios/dhry.cfg b/demos/dhry/k2e/armv7/bios/dhry.cfg
+++ /dev/null
@@ -1,122 +0,0 @@
-var Defaults = xdc.useModule('xdc.runtime.Defaults');
-var Diags = xdc.useModule('xdc.runtime.Diags');
-var Error = xdc.useModule('xdc.runtime.Error');
-var Log = xdc.useModule('xdc.runtime.Log');
-var Main = xdc.useModule('xdc.runtime.Main');
-var Memory = xdc.useModule('xdc.runtime.Memory')
-var System = xdc.useModule('xdc.runtime.System');
-var Text = xdc.useModule('xdc.runtime.Text');
-//var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
-//var SysMin = xdc.useModule('xdc.runtime.SysMin');
-var LoggerBuf = xdc.useModule('ti.sysbios.smp.LoggerBuf');
-var SysMin = xdc.useModule('ti.sysbios.smp.SysMin');
-xdc.useModule('xdc.runtime.Timestamp');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.smpEnabled = true;
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
-
-/*
- * Program.argSize sets the size of the .args section.
- * The examples don't use command line args so argSize is set to 0.
- */
-Program.argSize = 0x0;
-
-/*
- * Uncomment this line to globally disable Asserts.
- * All modules inherit the default from the 'Defaults' module. You
- * can override these defaults on a per-module basis using Module.common$.
- * Disabling Asserts will save code space and improve runtime performance.
-Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
- */
-
-/*
- * Uncomment this line to keep module names from being loaded on the target.
- * The module name strings are placed in the .const section. Setting this
- * parameter to false will save space in the .const section. Error and
- * Assert messages will contain an "unknown module" prefix instead
- * of the actual module name.
-Defaults.common$.namedModule = false;
- */
-
-/*
- * Minimize exit handler array in System. The System module includes
- * an array of functions that are registered with System_atexit() to be
- * called by System_exit().
- */
-System.maxAtexitHandlers = 4;
-
-/*
- * Uncomment this line to disable the Error print function.
- * We lose error information when this is disabled since the errors are
- * not printed. Disabling the raiseHook will save some code space if
- * your app is not using System_printf() since the Error_print() function
- * calls System_printf().
-Error.raiseHook = null;
- */
-
-/*
- * Uncomment this line to keep Error, Assert, and Log strings from being
- * loaded on the target. These strings are placed in the .const section.
- * Setting this parameter to false will save space in the .const section.
- * Error, Assert and Log message will print raw ids and args instead of
- * a formatted message.
-Text.isLoaded = false;
- */
-
-/*
- * Uncomment this line to disable the output of characters by SysMin
- * when the program exits. SysMin writes characters to a circular buffer.
- * This buffer can be viewed using the SysMin Output view in ROV.
-SysMin.flushAtExit = false;
- */
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xc0000;
-
-/*
- * Build a custom SYS/BIOS library from sources.
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-/* System stack size (used by ISRs and Swis) */
-Program.stack = 0x20000;
-
-/* Circular buffer size for System_printf() */
-SysMin.bufSize = 0x400;
-
-/*
- * Create and install logger for the whole system
- */
-var loggerBufParams = new LoggerBuf.Params();
-loggerBufParams.numEntries = 32;
-var logger0 = LoggerBuf.create(loggerBufParams);
-Defaults.common$.logger = logger0;
-Main.common$.diags_INFO = Diags.ALWAYS_ON;
-
-System.SupportProxy = SysMin;
-var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
-
-var Core = xdc.useModule('ti.sysbios.family.arm.a15.smp.Core');
-Core.useSkernelCmd = false; /* Set to false if running in CCS and using gel files to wake-up secondary cores */
-Core.numCores = 4;
-
-var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
-Timestamp.SupportProxy = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
-
-//var Cache = xdc.useModule('ti.sysbios.family.arm.a15.Cache');
-var Cache = xdc.useModule('ti.sysbios.family.arm.a15.smp.Cache');
-var Mmu = xdc.useModule('ti.sysbios.family.arm.a15.Mmu');
-
-// Enable the cache
-Cache.enableCache = true;
-
-// Enable the MMU (Required for L1/L2 data caching)
-Mmu.enableMMU = true;
-
diff --git a/demos/dhry/k2e/armv7/bios/dhryK2EarmProject.txt b/demos/dhry/k2e/armv7/bios/dhryK2EarmProject.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2e/armv7/bios/dhry.cfg"
--ccs.setCompilerOptions "-c -mfloat-abi=hard -DBIOS_POSIX -DREG=register -g -gstrict-dwarf -MMD -MP"
--rtsc.enableRtsc
--ccs.setLinkerOptions " -lgcc -lm -lrdimon -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu"
diff --git a/demos/dhry/k2e/c66/bios/dhry.cfg b/demos/dhry/k2e/c66/bios/dhry.cfg
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
-
-/*
- * The SysStd System provider is a good one to use for debugging
- * but does not have the best performance. Use xdc.runtime.SysMin
- * for better performance.
- */
-var System = xdc.useModule('xdc.runtime.System');
-var SysStd = xdc.useModule('xdc.runtime.SysStd');
-System.SupportProxy = SysStd;
-
-/* BIOS/XDC modules */
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.heapSize = 0x60000;
-var Task = xdc.useModule('ti.sysbios.knl.Task');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-
diff --git a/demos/dhry/k2e/c66/bios/dhryK2EC66Project.txt b/demos/dhry/k2e/c66/bios/dhryK2EC66Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2e/c66/bios/dhry.cfg"
--ccs.setCompilerOptions "-mv6600 -o3 -DBIOS_POSIX -DREG=register --diag_warning=225"
--rtsc.enableRtsc
-
diff --git a/demos/dhry/k2g/armv7/bios/dhry.cfg b/demos/dhry/k2g/armv7/bios/dhry.cfg
+++ /dev/null
@@ -1,122 +0,0 @@
-var Defaults = xdc.useModule('xdc.runtime.Defaults');
-var Diags = xdc.useModule('xdc.runtime.Diags');
-var Error = xdc.useModule('xdc.runtime.Error');
-var Log = xdc.useModule('xdc.runtime.Log');
-var Main = xdc.useModule('xdc.runtime.Main');
-var Memory = xdc.useModule('xdc.runtime.Memory')
-var System = xdc.useModule('xdc.runtime.System');
-var Text = xdc.useModule('xdc.runtime.Text');
-//var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
-//var SysMin = xdc.useModule('xdc.runtime.SysMin');
-var LoggerBuf = xdc.useModule('ti.sysbios.smp.LoggerBuf');
-var SysMin = xdc.useModule('ti.sysbios.smp.SysMin');
-xdc.useModule('xdc.runtime.Timestamp');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.smpEnabled = true;
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
-
-/*
- * Program.argSize sets the size of the .args section.
- * The examples don't use command line args so argSize is set to 0.
- */
-Program.argSize = 0x0;
-
-/*
- * Uncomment this line to globally disable Asserts.
- * All modules inherit the default from the 'Defaults' module. You
- * can override these defaults on a per-module basis using Module.common$.
- * Disabling Asserts will save code space and improve runtime performance.
-Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
- */
-
-/*
- * Uncomment this line to keep module names from being loaded on the target.
- * The module name strings are placed in the .const section. Setting this
- * parameter to false will save space in the .const section. Error and
- * Assert messages will contain an "unknown module" prefix instead
- * of the actual module name.
-Defaults.common$.namedModule = false;
- */
-
-/*
- * Minimize exit handler array in System. The System module includes
- * an array of functions that are registered with System_atexit() to be
- * called by System_exit().
- */
-System.maxAtexitHandlers = 4;
-
-/*
- * Uncomment this line to disable the Error print function.
- * We lose error information when this is disabled since the errors are
- * not printed. Disabling the raiseHook will save some code space if
- * your app is not using System_printf() since the Error_print() function
- * calls System_printf().
-Error.raiseHook = null;
- */
-
-/*
- * Uncomment this line to keep Error, Assert, and Log strings from being
- * loaded on the target. These strings are placed in the .const section.
- * Setting this parameter to false will save space in the .const section.
- * Error, Assert and Log message will print raw ids and args instead of
- * a formatted message.
-Text.isLoaded = false;
- */
-
-/*
- * Uncomment this line to disable the output of characters by SysMin
- * when the program exits. SysMin writes characters to a circular buffer.
- * This buffer can be viewed using the SysMin Output view in ROV.
-SysMin.flushAtExit = false;
- */
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xc0000;
-
-/*
- * Build a custom SYS/BIOS library from sources.
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-/* System stack size (used by ISRs and Swis) */
-Program.stack = 0x20000;
-
-/* Circular buffer size for System_printf() */
-SysMin.bufSize = 0x400;
-
-/*
- * Create and install logger for the whole system
- */
-var loggerBufParams = new LoggerBuf.Params();
-loggerBufParams.numEntries = 32;
-var logger0 = LoggerBuf.create(loggerBufParams);
-Defaults.common$.logger = logger0;
-Main.common$.diags_INFO = Diags.ALWAYS_ON;
-
-System.SupportProxy = SysMin;
-var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
-
-var Core = xdc.useModule('ti.sysbios.family.arm.a15.smp.Core');
-Core.useSkernelCmd = false; /* Set to false if running in CCS and using gel files to wake-up secondary cores */
-Core.numCores = 1;
-
-var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
-Timestamp.SupportProxy = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
-
-//var Cache = xdc.useModule('ti.sysbios.family.arm.a15.Cache');
-var Cache = xdc.useModule('ti.sysbios.family.arm.a15.smp.Cache');
-var Mmu = xdc.useModule('ti.sysbios.family.arm.a15.Mmu');
-
-// Enable the cache
-Cache.enableCache = true;
-
-// Enable the MMU (Required for L1/L2 data caching)
-Mmu.enableMMU = true;
-
diff --git a/demos/dhry/k2g/armv7/bios/dhryK2GarmProject.txt b/demos/dhry/k2g/armv7/bios/dhryK2GarmProject.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2g/armv7/bios/dhry.cfg"
--ccs.setCompilerOptions "-c -mfloat-abi=hard -DBIOS_POSIX -DREG=register -g -gstrict-dwarf -MMD -MP"
--rtsc.enableRtsc
--ccs.setLinkerOptions " -lgcc -lm -lrdimon -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu"
diff --git a/demos/dhry/k2g/c66/bios/dhry.cfg b/demos/dhry/k2g/c66/bios/dhry.cfg
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
-
-/*
- * The SysStd System provider is a good one to use for debugging
- * but does not have the best performance. Use xdc.runtime.SysMin
- * for better performance.
- */
-var System = xdc.useModule('xdc.runtime.System');
-var SysStd = xdc.useModule('xdc.runtime.SysStd');
-System.SupportProxy = SysStd;
-
-/* BIOS/XDC modules */
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.heapSize = 0x60000;
-var Task = xdc.useModule('ti.sysbios.knl.Task');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-
diff --git a/demos/dhry/k2g/c66/bios/dhryK2GC66Project.txt b/demos/dhry/k2g/c66/bios/dhryK2GC66Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2g/c66/bios/dhry.cfg"
--ccs.setCompilerOptions "-mv6600 -o3 -DBIOS_POSIX -DREG=register --diag_warning=225"
--rtsc.enableRtsc
-
diff --git a/demos/dhry/k2h/armv7/bios/dhry.cfg b/demos/dhry/k2h/armv7/bios/dhry.cfg
+++ /dev/null
@@ -1,122 +0,0 @@
-var Defaults = xdc.useModule('xdc.runtime.Defaults');
-var Diags = xdc.useModule('xdc.runtime.Diags');
-var Error = xdc.useModule('xdc.runtime.Error');
-var Log = xdc.useModule('xdc.runtime.Log');
-var Main = xdc.useModule('xdc.runtime.Main');
-var Memory = xdc.useModule('xdc.runtime.Memory')
-var System = xdc.useModule('xdc.runtime.System');
-var Text = xdc.useModule('xdc.runtime.Text');
-//var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
-//var SysMin = xdc.useModule('xdc.runtime.SysMin');
-var LoggerBuf = xdc.useModule('ti.sysbios.smp.LoggerBuf');
-var SysMin = xdc.useModule('ti.sysbios.smp.SysMin');
-xdc.useModule('xdc.runtime.Timestamp');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.smpEnabled = true;
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
-
-/*
- * Program.argSize sets the size of the .args section.
- * The examples don't use command line args so argSize is set to 0.
- */
-Program.argSize = 0x0;
-
-/*
- * Uncomment this line to globally disable Asserts.
- * All modules inherit the default from the 'Defaults' module. You
- * can override these defaults on a per-module basis using Module.common$.
- * Disabling Asserts will save code space and improve runtime performance.
-Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
- */
-
-/*
- * Uncomment this line to keep module names from being loaded on the target.
- * The module name strings are placed in the .const section. Setting this
- * parameter to false will save space in the .const section. Error and
- * Assert messages will contain an "unknown module" prefix instead
- * of the actual module name.
-Defaults.common$.namedModule = false;
- */
-
-/*
- * Minimize exit handler array in System. The System module includes
- * an array of functions that are registered with System_atexit() to be
- * called by System_exit().
- */
-System.maxAtexitHandlers = 4;
-
-/*
- * Uncomment this line to disable the Error print function.
- * We lose error information when this is disabled since the errors are
- * not printed. Disabling the raiseHook will save some code space if
- * your app is not using System_printf() since the Error_print() function
- * calls System_printf().
-Error.raiseHook = null;
- */
-
-/*
- * Uncomment this line to keep Error, Assert, and Log strings from being
- * loaded on the target. These strings are placed in the .const section.
- * Setting this parameter to false will save space in the .const section.
- * Error, Assert and Log message will print raw ids and args instead of
- * a formatted message.
-Text.isLoaded = false;
- */
-
-/*
- * Uncomment this line to disable the output of characters by SysMin
- * when the program exits. SysMin writes characters to a circular buffer.
- * This buffer can be viewed using the SysMin Output view in ROV.
-SysMin.flushAtExit = false;
- */
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xc0000;
-
-/*
- * Build a custom SYS/BIOS library from sources.
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-/* System stack size (used by ISRs and Swis) */
-Program.stack = 0x20000;
-
-/* Circular buffer size for System_printf() */
-SysMin.bufSize = 0x400;
-
-/*
- * Create and install logger for the whole system
- */
-var loggerBufParams = new LoggerBuf.Params();
-loggerBufParams.numEntries = 32;
-var logger0 = LoggerBuf.create(loggerBufParams);
-Defaults.common$.logger = logger0;
-Main.common$.diags_INFO = Diags.ALWAYS_ON;
-
-System.SupportProxy = SysMin;
-var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
-
-var Core = xdc.useModule('ti.sysbios.family.arm.a15.smp.Core');
-Core.useSkernelCmd = false; /* Set to false if running in CCS and using gel files to wake-up secondary cores */
-Core.numCores = 4;
-
-var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
-Timestamp.SupportProxy = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
-
-//var Cache = xdc.useModule('ti.sysbios.family.arm.a15.Cache');
-var Cache = xdc.useModule('ti.sysbios.family.arm.a15.smp.Cache');
-var Mmu = xdc.useModule('ti.sysbios.family.arm.a15.Mmu');
-
-// Enable the cache
-Cache.enableCache = true;
-
-// Enable the MMU (Required for L1/L2 data caching)
-Mmu.enableMMU = true;
-
diff --git a/demos/dhry/k2h/armv7/bios/dhryK2HarmProject.txt b/demos/dhry/k2h/armv7/bios/dhryK2HarmProject.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2h/armv7/bios/dhry.cfg"
--ccs.setCompilerOptions "-c -mfloat-abi=hard -DBIOS_POSIX -DREG=register -g -gstrict-dwarf -MMD -MP"
--rtsc.enableRtsc
--ccs.setLinkerOptions " -lgcc -lm -lrdimon -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu"
diff --git a/demos/dhry/k2h/c66/bios/dhry.cfg b/demos/dhry/k2h/c66/bios/dhry.cfg
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
-
-/*
- * The SysStd System provider is a good one to use for debugging
- * but does not have the best performance. Use xdc.runtime.SysMin
- * for better performance.
- */
-var System = xdc.useModule('xdc.runtime.System');
-var SysStd = xdc.useModule('xdc.runtime.SysStd');
-System.SupportProxy = SysStd;
-
-/* BIOS/XDC modules */
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.heapSize = 0x60000;
-var Task = xdc.useModule('ti.sysbios.knl.Task');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-
diff --git a/demos/dhry/k2h/c66/bios/dhryK2HC66Project.txt b/demos/dhry/k2h/c66/bios/dhryK2HC66Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2h/c66/bios/dhry.cfg"
--ccs.setCompilerOptions "-mv6600 -o3 -DBIOS_POSIX -DREG=register --diag_warning=225"
--rtsc.enableRtsc
-
diff --git a/demos/dhry/k2l/armv7/bios/dhry.cfg b/demos/dhry/k2l/armv7/bios/dhry.cfg
+++ /dev/null
@@ -1,122 +0,0 @@
-var Defaults = xdc.useModule('xdc.runtime.Defaults');
-var Diags = xdc.useModule('xdc.runtime.Diags');
-var Error = xdc.useModule('xdc.runtime.Error');
-var Log = xdc.useModule('xdc.runtime.Log');
-var Main = xdc.useModule('xdc.runtime.Main');
-var Memory = xdc.useModule('xdc.runtime.Memory')
-var System = xdc.useModule('xdc.runtime.System');
-var Text = xdc.useModule('xdc.runtime.Text');
-//var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
-//var SysMin = xdc.useModule('xdc.runtime.SysMin');
-var LoggerBuf = xdc.useModule('ti.sysbios.smp.LoggerBuf');
-var SysMin = xdc.useModule('ti.sysbios.smp.SysMin');
-xdc.useModule('xdc.runtime.Timestamp');
-
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.smpEnabled = true;
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
-var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
-
-/*
- * Program.argSize sets the size of the .args section.
- * The examples don't use command line args so argSize is set to 0.
- */
-Program.argSize = 0x0;
-
-/*
- * Uncomment this line to globally disable Asserts.
- * All modules inherit the default from the 'Defaults' module. You
- * can override these defaults on a per-module basis using Module.common$.
- * Disabling Asserts will save code space and improve runtime performance.
-Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
- */
-
-/*
- * Uncomment this line to keep module names from being loaded on the target.
- * The module name strings are placed in the .const section. Setting this
- * parameter to false will save space in the .const section. Error and
- * Assert messages will contain an "unknown module" prefix instead
- * of the actual module name.
-Defaults.common$.namedModule = false;
- */
-
-/*
- * Minimize exit handler array in System. The System module includes
- * an array of functions that are registered with System_atexit() to be
- * called by System_exit().
- */
-System.maxAtexitHandlers = 4;
-
-/*
- * Uncomment this line to disable the Error print function.
- * We lose error information when this is disabled since the errors are
- * not printed. Disabling the raiseHook will save some code space if
- * your app is not using System_printf() since the Error_print() function
- * calls System_printf().
-Error.raiseHook = null;
- */
-
-/*
- * Uncomment this line to keep Error, Assert, and Log strings from being
- * loaded on the target. These strings are placed in the .const section.
- * Setting this parameter to false will save space in the .const section.
- * Error, Assert and Log message will print raw ids and args instead of
- * a formatted message.
-Text.isLoaded = false;
- */
-
-/*
- * Uncomment this line to disable the output of characters by SysMin
- * when the program exits. SysMin writes characters to a circular buffer.
- * This buffer can be viewed using the SysMin Output view in ROV.
-SysMin.flushAtExit = false;
- */
-
-/*
- * The BIOS module will create the default heap for the system.
- * Specify the size of this default heap.
- */
-BIOS.heapSize = 0xc0000;
-
-/*
- * Build a custom SYS/BIOS library from sources.
- */
-BIOS.libType = BIOS.LibType_Custom;
-
-/* System stack size (used by ISRs and Swis) */
-Program.stack = 0x20000;
-
-/* Circular buffer size for System_printf() */
-SysMin.bufSize = 0x400;
-
-/*
- * Create and install logger for the whole system
- */
-var loggerBufParams = new LoggerBuf.Params();
-loggerBufParams.numEntries = 32;
-var logger0 = LoggerBuf.create(loggerBufParams);
-Defaults.common$.logger = logger0;
-Main.common$.diags_INFO = Diags.ALWAYS_ON;
-
-System.SupportProxy = SysMin;
-var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
-
-var Core = xdc.useModule('ti.sysbios.family.arm.a15.smp.Core');
-Core.useSkernelCmd = false; /* Set to false if running in CCS and using gel files to wake-up secondary cores */
-Core.numCores = 2;
-
-var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
-Timestamp.SupportProxy = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
-
-//var Cache = xdc.useModule('ti.sysbios.family.arm.a15.Cache');
-var Cache = xdc.useModule('ti.sysbios.family.arm.a15.smp.Cache');
-var Mmu = xdc.useModule('ti.sysbios.family.arm.a15.Mmu');
-
-// Enable the cache
-Cache.enableCache = true;
-
-// Enable the MMU (Required for L1/L2 data caching)
-Mmu.enableMMU = true;
-
diff --git a/demos/dhry/k2l/armv7/bios/dhryK2LarmProject.txt b/demos/dhry/k2l/armv7/bios/dhryK2LarmProject.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2l/armv7/bios/dhry.cfg"
--ccs.setCompilerOptions "-c -mfloat-abi=hard -DBIOS_POSIX -DREG=register -g -gstrict-dwarf -MMD -MP"
--rtsc.enableRtsc
--ccs.setLinkerOptions " -lgcc -lm -lrdimon -nostartfiles -static -Wl,--gc-sections -L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu"
diff --git a/demos/dhry/k2l/c66/bios/dhry.cfg b/demos/dhry/k2l/c66/bios/dhry.cfg
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015, Texas Instruments Incorporated
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * */
-
-/*
- * The SysStd System provider is a good one to use for debugging
- * but does not have the best performance. Use xdc.runtime.SysMin
- * for better performance.
- */
-var System = xdc.useModule('xdc.runtime.System');
-var SysStd = xdc.useModule('xdc.runtime.SysStd');
-System.SupportProxy = SysStd;
-
-/* BIOS/XDC modules */
-var BIOS = xdc.useModule('ti.sysbios.BIOS');
-BIOS.heapSize = 0x60000;
-var Task = xdc.useModule('ti.sysbios.knl.Task');
-Posix = xdc.useModule('ti.sysbios.posix.Settings');
-Posix.supportsMutexPriority = true;
-
diff --git a/demos/dhry/k2l/c66/bios/dhryK2LC66Project.txt b/demos/dhry/k2l/c66/bios/dhryK2LC66Project.txt
+++ /dev/null
@@ -1,7 +0,0 @@
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry.h"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_1.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/dhry_2.c"
--ccs.linkFile "PDK_INSTALL_PATH/ti/utils/dhry/k2l/c66/bios/dhry.cfg"
--ccs.setCompilerOptions "-mv6600 -o3 -DBIOS_POSIX -DREG=register --diag_warning=225"
--rtsc.enableRtsc
-
diff --git a/demos/dhry/makefile b/demos/dhry/makefile
--- a/demos/dhry/makefile
+++ /dev/null
@@ -1,193 +0,0 @@
-#
-# Copyright (c) 2015-2016 Texas Instruments Incorporated - http://www.ti.com
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# * Neither the name of Texas Instruments Incorporated nor the names of
-# its contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-#
-# ======== makefile ========
-#
-
-#### Provide toolchain and dependency paths when building manually ####
-#DEPOT = C:\ti
-
-#### BIOS-side dependencies ####
-#BIOS_INSTALL_PATH ?= $(DEPOT)\bios_n_nn_nn_nn
-#XDC_INSTALL_PATH ?= $(DEPOT)\xdctools_n_nn_nn_nn_core
-
-#### BIOS-side toolchains ####
-#TOOLCHAIN_PATH_A15 ?= $(DEPOT)\ccsv6\tools\compiler\gcc-arm-none-eabi-n_n-xxxxqn
-
-srcs = dhry_1.c dhry_2.c
-objs = $(addprefix bin/$(SOC)/$(CORE)/$(PROFILE)/obj/,$(patsubst %.c,%.out,$(srcs)))
-libs =
-CONFIG = bin/$(SOC)/$(CORE)/$(PROFILE)/configuro
-
--include $(addprefix bin/$(SOC)/$(CORE)/$(PROFILE)/obj/,$(patsubst %.c,%.out.dep,$(srcs)))
-
-.PRECIOUS: %/compiler.opt %/linker.cmd
-.PHONY: prune
-
-all:
- $(MAKE) PROFILE=debug CORE=armv7 SOC=AM572x dhry.x
- $(MAKE) PROFILE=debug CORE=armv7 SOC=k2e dhry.x
- $(MAKE) PROFILE=debug CORE=armv7 SOC=k2h dhry.x
-# $(MAKE) PROFILE=debug CORE=c66 SOC=k2h dhry.x
-
-ifeq ($(SOC),AM572x)
- ifeq ($(CORE),armv7)
- RTSC_PLAT = evmAM572X
- RTSC_TARG = gnu.targets.arm.A15F
- else
- ifeq ($(CORE),c66)
- RTSC_PLAT = evmAM572X
- RTSC_TARG = ti.targets.elf.C66
- endif
- endif
-else
- ifeq ($(SOC),k2e)
- ifeq ($(CORE),armv7)
- RTSC_PLAT = evmC66AK2E:host
- RTSC_TARG = gnu.targets.arm.A15F
- else
- ifeq ($(CORE),c66)
- RTSC_PLAT = evmC66AK2E
- RTSC_TARG = ti.targets.elf.C66
- endif
- endif
- else
- ifeq ($(SOC),k2h)
- ifeq ($(CORE),armv7)
- RTSC_PLAT = evmTCI6636K2H:host
- RTSC_TARG = gnu.targets.arm.A15F
- else
- ifeq ($(CORE),c66)
- RTSC_PLAT = evmTCI6636K2H
- RTSC_TARG = ti.targets.elf.C66
- endif
- endif
- endif
- endif
-endif
-dhry.x: bin/$(SOC)/$(CORE)/$(PROFILE)/dhry.out prune
-bin/$(SOC)/$(CORE)/$(PROFILE)/dhry.out: $(objs) $(libs) $(CONFIG)/linker.cmd
- @$(ECHO) "#"
- @$(ECHO) "# Making $@ ..."
- $(LD) -o $@ $(LDFLAGS) $(objs) $(libs) -Wl,-T,$(CONFIG)/linker.cmd \
- -lgcc -lc -lm -lrdimon $(LDLIBS)
-
-bin/$(SOC)/$(CORE)/$(PROFILE)/obj/%.out: %.c $(CONFIG)/compiler.opt
- @$(ECHO) "#"
- @$(ECHO) "# Making $@ ..."
- $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $<
-
-%/compiler.opt: %/linker.cmd ;
-%/linker.cmd: $(SOC)/$(CORE)/bios/dhry.cfg
- @$(ECHO) "#"
- @$(ECHO) "# Making $@ ..."
- $(XDC_INSTALL_PATH)/xs --xdcpath="$(subst +,;,$(PKGPATH))" \
- xdc.tools.configuro -o $(CONFIG) \
- -t $(RTSC_TARG) \
- -c $(TOOLCHAIN_PATH_A15) \
- -p ti.platforms.$(RTSC_PLAT) \
- -r debug \
- --cfgArgs "{ \
- profile: \"$(PROFILE)\" \
- }" $(SOC)/$(CORE)/bios/dhry.cfg
-
-install:
- @$(ECHO) "#"
- @$(ECHO) "# Making $@ ..."
- @$(MKDIR) $(EXEC_DIR)/debug
- $(CP) bin/debug/dhry.out $(EXEC_DIR)/debug
- @$(MKDIR) $(EXEC_DIR)/release
- $(CP) bin/release/dhry.out $(EXEC_DIR)/release
-
-help:
- @$(ECHO) "make # build executable"
- @$(ECHO) "make clean # clean everything"
-
-clean:
- $(RMDIR) bin
-
-prune:
- $(RMDIR) bin/$(SOC)/$(CORE)/$(PROFILE)/configuro
- $(RMDIR) bin/$(SOC)/$(CORE)/$(PROFILE)/obj
-
-PKGPATH := $(BIOS_INSTALL_PATH)/packages
-PKGPATH := $(PKGPATH)+$(XDC_INSTALL_PATH)/packages
-
-# ======== install validation ========
-ifeq (install,$(MAKECMDGOALS))
-ifeq (,$(EXEC_DIR))
-$(error must specify EXEC_DIR)
-endif
-endif
-
-# ======== toolchain macros ========
-CC = $(TOOLCHAIN_PATH_A15)/bin/arm-none-eabi-gcc -c -MD -MF $@.dep
-LD = $(TOOLCHAIN_PATH_A15)/bin/arm-none-eabi-gcc
-
-CPPFLAGS = -Dfar= -D__DYNAMIC_REENT__ -DBIOS_POSIX
-CFLAGS = -Wall -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections $(CCPROFILE_$(PROFILE)) @$(CONFIG)/compiler.opt -I.
-
-LDFLAGS = $(LDPROFILE_$(PROFILE)) -mfloat-abi=hard -nostartfiles -Wl,-static -Wl,--gc-sections -Wl,-Map=$(@D)/obj/$(@F).map
-LDLIBS = -L$(XDC_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu
-
-CCPROFILE_debug = -g -ggdb -D_DEBUG_=1
-CCPROFILE_release = -O2
-
-LDPROFILE_debug = -g -ggdb
-LDPROFILE_release =
-
-# ======== standard macros ========
-ifneq (,$(wildcard $(XDC_INSTALL_PATH)/bin/echo.exe))
- # use these on Windows
- CP = $(XDC_INSTALL_PATH)/bin/cp
- ECHO = $(XDC_INSTALL_PATH)/bin/echo
- MKDIR = $(XDC_INSTALL_PATH)/bin/mkdir -p
- RM = $(XDC_INSTALL_PATH)/bin/rm -f
- RMDIR = $(XDC_INSTALL_PATH)/bin/rm -rf
-else
- # use these on Linux
- CP = cp
- ECHO = echo
- MKDIR = mkdir -p
- RM = rm -f
- RMDIR = rm -rf
-endif
-
-# ======== create output directories ========
-ifneq (clean,$(MAKECMDGOALS))
-ifneq (,$(PROFILE))
-ifeq (,$(wildcard bin/$(SOC)/$(CORE)/$(PROFILE)/obj))
- $(shell $(MKDIR) -p bin/$(SOC)/$(CORE)/$(PROFILE)/obj)
-endif
-endif
-endif
diff --git a/demos/dhry/posix-smp-demo-linux-armv7 b/demos/dhry/posix-smp-demo-linux-armv7
new file mode 100755 (executable)
index 0000000..3e56886
Binary files /dev/null and b/demos/dhry/posix-smp-demo-linux-armv7 differ
index 0000000..3e56886
Binary files /dev/null and b/demos/dhry/posix-smp-demo-linux-armv7 differ
diff --git a/demos/dhry/posix-smp-demo-linux-i586 b/demos/dhry/posix-smp-demo-linux-i586
new file mode 100755 (executable)
index 0000000..b656bef
Binary files /dev/null and b/demos/dhry/posix-smp-demo-linux-i586 differ
index 0000000..b656bef
Binary files /dev/null and b/demos/dhry/posix-smp-demo-linux-i586 differ
diff --git a/demos/dhry/products.mak b/demos/dhry/products.mak
--- /dev/null
+++ b/demos/dhry/products.mak
@@ -0,0 +1,56 @@
+#
+# Copyright (c) 2015-2016 Texas Instruments Incorporated - http://www.ti.com
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# * Neither the name of Texas Instruments Incorporated nor the names of
+# its contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# ======== products.mak ========
+#
+
+# By default, the necessary build variables are found/assigned via
+# ../products.mak or ../../products.mak, included above. If you want to
+# override these variables, or are building this example without
+# ../products.mak or ../../products.mak, uncomment and assign the variables
+# below.
+
+DEPOT = C:\ti
+
+#### BIOS-side dependencies ####
+BIOS_INSTALL_PATH ?= $(DEPOT)\bios_6_45_01_29
+XDC_INSTALL_PATH ?= $(DEPOT)\xdctools_3_31_02_38_core
+
+#### BIOS-side toolchains ####
+gnu.targets.arm.A15F ?= $(DEPOT)\ccsv6\tools\compiler\gcc-arm-none-eabi-4_8-2014q3
+
+# Use this goal to print your product variables.
+.show:
+ @echo "BIOS_INSTALL_PATH = $(BIOS_INSTALL_PATH)"
+ @echo "XDC_INSTALL_PATH = $(XDC_INSTALL_PATH)"
+ @echo "gnu.targets.arm.A15F = $(gnu.targets.arm.A15F)"