URL
https://opencores.org/ocsvn/minsoc/minsoc/trunk
Subversion Repositories minsoc
Compare Revisions
- This comparison shows the changes necessary to convert path
/minsoc/trunk/utils/setup
- from Rev 135 to Rev 141
- ↔ Reverse comparison
Rev 135 → Rev 141
/minsoc-setup.sh
0,0 → 1,74
#!/bin/bash |
# Author: Constantinos Xanthopoulos & Raul Fajardo |
# This script install MinSOC tree |
# under a specific directory. |
|
# ===== CONFIGURATIONS ===== |
# ========================== |
|
export SCRIPT_DIR="$( cd -P "$( dirname "$0" )" && pwd )" |
export DIR_TO_INSTALL=`pwd` |
# Debug ? |
export DEBUG=0; |
. ${SCRIPT_DIR}/beautify.sh |
|
function testtool |
{ |
# is_missing=`which $1 2>&1 | grep no` |
is_missing=`whereis -b $1 2>&1 | grep :$` |
if [ -z "$is_missing" ] |
then |
cecho "$1 is installed, pass" |
else |
errormsg "$1 is not installed, install it and re-run this installation script." |
fi |
} |
|
|
#Setting environment |
ENV=`uname -o` |
if [ "$ENV" != "GNU/Linux" ] && [ "$ENV" != "Cygwin" ] |
then |
errormsg "Environment $ENV not supported by this script." |
fi |
cecho "Building tools for ${ENV} system" |
|
is_arch64=`uname -m | grep 64` |
if [ -z $is_arch64 ] |
then |
KERNEL_ARCH="32" |
else |
KERNEL_ARCH="64" |
fi |
|
|
# User check! |
if [ `whoami` = "root" ]; |
then |
errormsg "You shouldn't be root for this script to run."; |
fi; |
|
|
# Testing necessary tools |
cecho "Testing if necessary tools are installed, program "whereis" is required." |
testtool sed |
testtool patch |
|
# Wizard |
if [ -z "${ALTDIR}" ] |
then |
cnecho "Give full path (ex. /home/foo/) of the directory where minsoc is under or leave empty for "${DIR_TO_INSTALL}": "; |
read ALTDIR; |
if [ ! -z "${ALTDIR}" ] |
then |
DIR_TO_INSTALL=${ALTDIR} |
fi |
cecho "${DIR_TO_INSTALL} selected"; |
fi |
|
if [ ! -d ${DIR_TO_INSTALL} ] |
then |
errormsg "Directory doesn't exist. Please create it"; |
fi; |
|
bash ${SCRIPT_DIR}/configure.sh |
minsoc-setup.sh
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: beautify.sh
===================================================================
--- beautify.sh (revision 135)
+++ beautify.sh (revision 141)
@@ -5,19 +5,19 @@
function cecho
{
echo -e "\033[1m\033[33m$1\033[0m"
- echo -e "\033[1m\033[33m$1\033[0m" >> ${DIR_TO_INSTALL}/progress.log
+ echo -e "\033[1m\033[33m$1\033[0m" >> ${SCRIPT_DIR}/progress.log
}
function cnecho
{
echo -e -n "\033[0m\033[33m$1\033[0m"
- echo -e -n "\033[0m\033[33m$1\033[0m" >> ${DIR_TO_INSTALL}/progress.log
+ echo -e -n "\033[0m\033[33m$1\033[0m" >> ${SCRIPT_DIR}/progress.log
}
function errormsg
{
echo -e "\033[1m\033[31mError: $1\033[0m\n";
- echo -e "\033[1m\033[31mError: $1\033[0m\n" >> ${DIR_TO_INSTALL}/error.log
+ echo -e "\033[1m\033[31mError: $1\033[0m\n" >> ${SCRIPT_DIR}/error.log
exit 1;
}
@@ -24,7 +24,7 @@
function _execcmd
{
# Print Message
- echo -e "\033[35m$1...\033[0m\n" >> ${DIR_TO_INSTALL}/progress.log
+ echo -e "\033[35m$1...\033[0m\n" >> ${SCRIPT_DIR}/progress.log
if [ -n "$1" ]
then
echo -e -n "\033[35m$1...\033[0m"
@@ -32,7 +32,7 @@
# Execute command
if [ $DEBUG -ne 1 ];
then
- eval $2 1>>${DIR_TO_INSTALL}/progress.log 2>>${DIR_TO_INSTALL}/error.log;
+ eval $2 1>>${SCRIPT_DIR}/progress.log 2>>${SCRIPT_DIR}/error.log;
fi;
# Check Execution
if [ $? -eq 0 ]
@@ -40,7 +40,7 @@
if [ -n "$1" ]
then
echo -e "\033[32mcomplete\033[0m";
- echo -e "\033[32mcomplete\033[0m" >> ${DIR_TO_INSTALL}/progress.log
+ echo -e "\033[32mcomplete\033[0m" >> ${SCRIPT_DIR}/progress.log
fi
else
errormsg "Command: $2 Description: $1";
/minsoc-install.sh
1,34 → 1,17
#!/bin/bash |
# Author: Constantinos Xanthopoulos |
# Author: Constantinos Xanthopoulos & Raul Fajardo |
# This script install MinSOC tree |
# under a specific directory. |
|
# ===== CONFIGURATIONS ===== |
# ========================== |
MINSOC_SVN_URL=http://opencores.org/ocsvn/minsoc/minsoc/trunk |
export SCRIPT_DIR="$( cd -P "$( dirname "$0" )" && pwd )" |
export DIR_TO_INSTALL=`pwd` |
|
# Where should I put the dir. minsoc? |
# ex. /home/conx/Thesis/ |
DIR_TO_INSTALL=`pwd` |
|
# This variable should be set to trunk |
# or to stable. |
VERSION="" |
|
# This variable should take one of |
# the following values depending |
# to your system: linux, cygwin, freebsd |
ENV="" |
|
# !!! DO NOT EDIT BELLOW THIS LINE !!! |
# =================================== |
|
# ===== SCRIPT ====== |
# =================== |
|
|
# Debug ? |
export DEBUG=0; |
. beautify.sh |
. ${SCRIPT_DIR}/beautify.sh |
|
function testtool |
{ |
102,7 → 85,12
|
if [ ! -d ${DIR_TO_INSTALL} ] |
then |
errormsg "Directory doesn't exist. Please create it"; |
cecho "Directory ${DIR_TO_INSTALL} doesn't exist." |
execcmd "Creating directory ${DIR_TO_INSTALL}" "mkdir -p ${DIR_TO_INSTALL}" |
if [ $? -ne 0 ] |
then |
errormsg "Connot create ${DIR_TO_INSTALL}"; |
fi |
fi; |
|
|
117,7 → 105,7
cecho "\nDownloading packages" |
cd ${DIR_TO_INSTALL} |
cecho "Download MinSoC" |
svn co -q http://opencores.org/ocsvn/minsoc/minsoc/trunk/ minsoc #user need to input password, execcmd omits command output and should be this way |
svn co -q ${MINSOC_SVN_URL} minsoc #user need to input password, execcmd omits command output and should be this way |
execcmd "cd ${DIR_TO_INSTALL}/download" |
if [ "$ENV" == "Cygwin" ] |
then |
193,7 → 181,7
execcmd "cd build" |
execcmd "../configure --target=or32-elf --disable-werror --prefix=$DIR_TO_INSTALL/tools" |
execcmd "Compiling GDB" "make" |
make install 1>>${DIR_TO_INSTALL}/progress.log 2>>${DIR_TO_INSTALL}/error.log #avoid Fedora failing due to missing Makeinfo |
make install 1>>${SCRIPT_DIR}/progress.log 2>>${SCRIPT_DIR}/error.log #avoid Fedora failing due to missing Makeinfo |
PATH=$PATH:${DIR_TO_INSTALL}/tools/bin |
|
|
244,39 → 232,10
execcmd "make install" |
|
|
#Configuring MinSoC |
cecho "\nConfiguring MinSoC" |
execcmd "cd ${DIR_TO_INSTALL}/minsoc/backend/std" |
execcmd "Configuring MinSoC as standard board (simulatable but not synthesizable)" "./configure" |
execcmd "cd ${DIR_TO_INSTALL}" |
#Configuring MinSoC, Advanced Debug System and patching OpenRISC |
bash ${SCRIPT_DIR}/configure.sh |
|
|
#Configuring Advanced Debug System to work with MinSoC |
cecho "\nConfiguring Advanced Debug System to work with MinSoC" |
execcmd "cd ${DIR_TO_INSTALL}/minsoc/rtl/verilog/adv_debug_sys/Hardware/adv_dbg_if/rtl/verilog" |
sed "s%\`define DBG_JSP_SUPPORTED%//\`define DBG_JSP_SUPPORTED%" adbg_defines.v > TMPFILE && mv TMPFILE adbg_defines.v |
|
#Compiling and moving adv_jtag_bridge debug modules for simulation |
execcmd "cd ${DIR_TO_INSTALL}/minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge/sim_lib/icarus" |
execcmd "make" |
execcmd "cp jp-io-vpi.vpi ${DIR_TO_INSTALL}/minsoc/bench/verilog/vpi" |
|
|
#Precompiling firmwares |
cecho "\nPrecompiling delivered firmwares"; |
execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/utils" |
execcmd "Make utils" "make" |
|
execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/support" |
execcmd "Make support tools" "make" |
|
execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/drivers" |
execcmd "Make drivers" "make" |
|
execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/uart" |
execcmd "Make UART" "make" |
|
|
#Setting-up new variables |
cecho "\nSystem configurations" |
execcmd "Adding MinSoC tools to PATH" "echo \"PATH=\\\$PATH:$DIR_TO_INSTALL/tools/bin\" >> /home/$(whoami)/.bashrc;"; |
required-cygwin-tools.txt
Property changes :
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: configure.sh
===================================================================
--- configure.sh (nonexistent)
+++ configure.sh (revision 141)
@@ -0,0 +1,39 @@
+. ${SCRIPT_DIR}/beautify.sh
+
+#Configuring MinSoC
+cecho "\nConfiguring MinSoC"
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/backend/std"
+execcmd "Configuring MinSoC as standard board (simulatable but not synthesizable)" "./configure"
+execcmd "cd ${DIR_TO_INSTALL}"
+
+
+#Configuring Advanced Debug System to work with MinSoC
+cecho "\nConfiguring Advanced Debug System to work with MinSoC"
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/rtl/verilog/adv_debug_sys/Hardware/adv_dbg_if/rtl/verilog"
+execcmd "Turning off Advanced Debug System's JSP" "sed 's%\`define DBG_JSP_SUPPORTED%//\`define DBG_JSP_SUPPORTED%' adbg_defines.v > TMPFILE && mv TMPFILE adbg_defines.v"
+
+#Compiling and moving adv_jtag_bridge debug modules for simulation
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge/sim_lib/icarus"
+execcmd "Compiling VPI interface to connect GDB with simulation" "make"
+execcmd "cp jp-io-vpi.vpi ${DIR_TO_INSTALL}/minsoc/bench/verilog/vpi"
+
+#Patching OpenRISC Release 1 with Advanced Debug System patch for Watchpoints
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/rtl/verilog/or1200/rtl/verilog"
+cecho "Patching OpenRISC for watchpoint support"
+#patch -p0 < ${DIR_TO_INSTALL}/minsoc/rtl/verilog/adv_debug_sys/Patches/OR1200v1/or1200v1_hwbkpt.patch
+patch -p0 < ${SCRIPT_DIR}/or1200v1_hwbkpt.patch
+
+
+#Precompiling firmwares
+cecho "\nPrecompiling delivered firmwares";
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/utils"
+execcmd "Make utils" "make"
+
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/support"
+execcmd "Make support tools" "make"
+
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/drivers"
+execcmd "Make drivers" "make"
+
+execcmd "cd ${DIR_TO_INSTALL}/minsoc/sw/uart"
+execcmd "Make UART" "make"