URL
https://opencores.org/ocsvn/openmsp430/openmsp430/trunk
Subversion Repositories openmsp430
Compare Revisions
- This comparison shows the changes necessary to convert path
/openmsp430/trunk/core/sim/rtl_sim/bin
- from Rev 138 to Rev 141
- ↔ Reverse comparison
Rev 138 → Rev 141
/msp430sim
65,6 → 65,7
verfile=../src/$1.v; |
incfile=../../../rtl/verilog/openMSP430_defines.v; |
linkfile=../bin/template.x; |
headfile=../bin/template_defs.asm; |
submitfile=../src/submit.f; |
if [ $OMSP_SIMULATOR == "isim" ]; then |
submitfile=../src/submit.prj; |
86,6 → 87,10
echo "Linker definition file template doesn't exist: $linkfile" |
exit 1 |
fi |
if [ ! -e $headfile ]; then |
echo "Assembler definition file template doesn't exist: $headfile" |
exit 1 |
fi |
|
|
############################################################################### |
96,7 → 101,7
rm -rf *.vpd |
rm -rf *.trn |
rm -rf *.dsn |
rm -rf pmem.* |
rm -rf pmem* |
rm -rf stimulus.v |
|
|
150,7 → 155,7
|
# Compile assembler code |
echo "Compile, link & generate IHEX file (Program Memory: $pmemsize B, Data Memory: $dmemsize B, Peripheral Space: $persize B)..." |
../bin/asm2ihex.sh pmem pmem.s43 $linkfile $pmemsize $dmemsize $persize |
../bin/asm2ihex.sh pmem pmem.s43 $linkfile $headfile $pmemsize $dmemsize $persize |
|
# Generate Program memory file |
echo "Convert IHEX file to Verilog MEMH format..." |
/msp430sim_c
92,7 → 92,7
rm -rf *.vpd |
rm -rf *.trn |
rm -rf *.dsn |
rm -rf pmem.* |
rm -rf pmem* |
rm -rf stimulus.v |
|
|
/asm2ihex.sh
37,11 → 37,11
############################################################################### |
# Parameter Check # |
############################################################################### |
EXPECTED_ARGS=6 |
EXPECTED_ARGS=7 |
if [ $# -ne $EXPECTED_ARGS ]; then |
echo "ERROR : wrong number of arguments" |
echo "USAGE : asm2ihex.sh <test name> <test assembler file> <linker script> <prog mem size> <data mem size> <peripheral addr space size>" |
echo "Example : asm2ihex.sh c-jump_jge ../src/c-jump_jge.s43 ../bin/template.x 2048 128 512" |
echo "USAGE : asm2ihex.sh <test name> <test assembler file> <linker script> <assembler define> <prog mem size> <data mem size> <peripheral addr space size>" |
echo "Example : asm2ihex.sh c-jump_jge ../src/c-jump_jge.s43 ../bin/template.x ../bin/pmem.h 2048 128 512" |
exit 1 |
fi |
|
58,6 → 58,10
echo "Linker definition file template doesn't exist: $3" |
exit 1 |
fi |
if [ ! -e $4 ]; then |
echo "Assembler definition file template doesn't exist: $4" |
exit 1 |
fi |
|
|
############################################################################### |
64,13 → 68,14
# Generate the linker definition file # |
############################################################################### |
|
PER_SIZE=$6 |
DMEM_SIZE=$5 |
PMEM_SIZE=$4 |
PER_SIZE=$7 |
DMEM_SIZE=$6 |
PMEM_SIZE=$5 |
PMEM_BASE=$((0x10000-$PMEM_SIZE)) |
STACK_INIT=$((PER_SIZE+0x0080)) |
|
cp $3 ./pmem.x |
cp $4 ./pmem_defs.asm |
sed -i "s/PMEM_BASE/$PMEM_BASE/g" pmem.x |
sed -i "s/PMEM_SIZE/$PMEM_SIZE/g" pmem.x |
sed -i "s/DMEM_SIZE/$DMEM_SIZE/g" pmem.x |
77,7 → 82,10
sed -i "s/PER_SIZE/$PER_SIZE/g" pmem.x |
sed -i "s/STACK_INIT/$STACK_INIT/g" pmem.x |
|
sed -i "s/PER_SIZE/$PER_SIZE/g" pmem_defs.asm |
sed -i "s/PMEM_SIZE/$PMEM_SIZE/g" pmem_defs.asm |
|
|
############################################################################### |
# Compile, link & generate IHEX file # |
############################################################################### |
/template_defs.asm
0,0 → 1,250
/*===========================================================================*/ |
/* Copyright (C) 2001 Authors */ |
/* */ |
/* This source file may be used and distributed without restriction provided */ |
/* that this copyright statement is not removed from the file and that any */ |
/* derivative work contains the original copyright notice and the associated */ |
/* disclaimer. */ |
/* */ |
/* This source file is free software; you can redistribute it and/or modify */ |
/* it under the terms of the GNU Lesser General Public License as published */ |
/* by the Free Software Foundation; either version 2.1 of the License, or */ |
/* (at your option) any later version. */ |
/* */ |
/* This source is distributed in the hope that it will be useful, but WITHOUT*/ |
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */ |
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */ |
/* License for more details. */ |
/* */ |
/* You should have received a copy of the GNU Lesser General Public License */ |
/* along with this source; if not, write to the Free Software Foundation, */ |
/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ |
/* */ |
/*===========================================================================*/ |
/* MEMORY DEFINITION FILE */ |
/*---------------------------------------------------------------------------*/ |
/* */ |
/* Author(s): */ |
/* - Olivier Girard, olgirard@gmail.com */ |
/* */ |
/*---------------------------------------------------------------------------*/ |
/* $Rev: 19 $ */ |
/* $LastChangedBy: olivier.girard $ */ |
/* $LastChangedDate: 2009-08-04 23:47:15 +0200 (Tue, 04 Aug 2009) $ */ |
/*===========================================================================*/ |
|
/*---------------------------------------------------------------------------*/ |
/* SFR */ |
/*---------------------------------------------------------------------------*/ |
.set IE1, 0x0000 |
.set IE1_HI, 0x0001 |
.set IFG1, 0x0002 |
.set IFG1_HI, 0x0003 |
.set CPU_ID_LO, 0x0004 |
.set CPU_ID_HI, 0x0006 |
|
/*---------------------------------------------------------------------------*/ |
/* GPIOs */ |
/*---------------------------------------------------------------------------*/ |
.set P1IN, 0x0020 |
.set P1OUT, 0x0021 |
.set P1DIR, 0x0022 |
.set P1IFG, 0x0023 |
.set P1IES, 0x0024 |
.set P1IE, 0x0025 |
.set P1SEL, 0x0026 |
|
.set P2IN, 0x0028 |
.set P2OUT, 0x0029 |
.set P2DIR, 0x002A |
.set P2IFG, 0x002B |
.set P2IES, 0x002C |
.set P2IE, 0x002D |
.set P2SEL, 0x002E |
|
.set P3IN, 0x0018 |
.set P3OUT, 0x0019 |
.set P3DIR, 0x001A |
.set P3SEL, 0x001B |
|
.set P4IN, 0x001C |
.set P4OUT, 0x001D |
.set P4DIR, 0x001E |
.set P4SEL, 0x001F |
|
.set P5IN, 0x0030 |
.set P5OUT, 0x0031 |
.set P5DIR, 0x0032 |
.set P5SEL, 0x0033 |
|
.set P6IN, 0x0034 |
.set P6OUT, 0x0035 |
.set P6DIR, 0x0036 |
.set P6SEL, 0x0037 |
|
/*---------------------------------------------------------------------------*/ |
/* BASIC CLOCK MODULE */ |
/*---------------------------------------------------------------------------*/ |
.set BCSCTL1, 0x0057 |
.set BCSCTL2, 0x0058 |
|
/*---------------------------------------------------------------------------*/ |
/* WATCHDOG TIMER */ |
/*---------------------------------------------------------------------------*/ |
.set WDTCTL, 0x0120 |
|
/*---------------------------------------------------------------------------*/ |
/* HARDWARE MULTIPLIER */ |
/*---------------------------------------------------------------------------*/ |
.set MPY, 0x0130 |
.set MPYS, 0x0132 |
.set MAC, 0x0134 |
.set MACS, 0x0136 |
.set OP2, 0x0138 |
.set RESLO, 0x013A |
.set RESHI, 0x013C |
.set SUMEXT, 0x013E |
|
/*---------------------------------------------------------------------------*/ |
/* TIMER A */ |
/*---------------------------------------------------------------------------*/ |
.set TACTL, 0x0160 |
.set TAR, 0x0170 |
.set TACCTL0, 0x0162 |
.set TACCR0, 0x0172 |
.set TACCTL1, 0x0164 |
.set TACCR1, 0x0174 |
.set TACCTL2, 0x0166 |
.set TACCR2, 0x0176 |
.set TAIV, 0x012E |
|
/*---------------------------------------------------------------------------*/ |
/* DATA MEMORY MAPPING */ |
/*---------------------------------------------------------------------------*/ |
.set DMEM_BASE, PER_SIZE |
|
.set DMEM_200, (DMEM_BASE+0x00) |
.set DMEM_201, (DMEM_BASE+0x01) |
.set DMEM_202, (DMEM_BASE+0x02) |
.set DMEM_203, (DMEM_BASE+0x03) |
.set DMEM_204, (DMEM_BASE+0x04) |
.set DMEM_205, (DMEM_BASE+0x05) |
.set DMEM_206, (DMEM_BASE+0x06) |
.set DMEM_207, (DMEM_BASE+0x07) |
.set DMEM_208, (DMEM_BASE+0x08) |
.set DMEM_209, (DMEM_BASE+0x09) |
.set DMEM_20A, (DMEM_BASE+0x0A) |
.set DMEM_20B, (DMEM_BASE+0x0B) |
.set DMEM_20C, (DMEM_BASE+0x0C) |
.set DMEM_20D, (DMEM_BASE+0x0D) |
.set DMEM_20E, (DMEM_BASE+0x0E) |
.set DMEM_20F, (DMEM_BASE+0x0F) |
|
.set DMEM_210, (DMEM_BASE+0x10) |
.set DMEM_211, (DMEM_BASE+0x11) |
.set DMEM_212, (DMEM_BASE+0x12) |
.set DMEM_213, (DMEM_BASE+0x13) |
.set DMEM_214, (DMEM_BASE+0x14) |
.set DMEM_215, (DMEM_BASE+0x15) |
.set DMEM_216, (DMEM_BASE+0x16) |
.set DMEM_217, (DMEM_BASE+0x17) |
.set DMEM_218, (DMEM_BASE+0x18) |
.set DMEM_219, (DMEM_BASE+0x19) |
.set DMEM_21A, (DMEM_BASE+0x1A) |
.set DMEM_21B, (DMEM_BASE+0x1B) |
.set DMEM_21C, (DMEM_BASE+0x1C) |
.set DMEM_21D, (DMEM_BASE+0x1D) |
.set DMEM_21E, (DMEM_BASE+0x1E) |
.set DMEM_21F, (DMEM_BASE+0x1F) |
|
.set DMEM_220, (DMEM_BASE+0x20) |
.set DMEM_221, (DMEM_BASE+0x21) |
.set DMEM_222, (DMEM_BASE+0x22) |
.set DMEM_223, (DMEM_BASE+0x23) |
.set DMEM_224, (DMEM_BASE+0x24) |
.set DMEM_225, (DMEM_BASE+0x25) |
.set DMEM_226, (DMEM_BASE+0x26) |
.set DMEM_227, (DMEM_BASE+0x27) |
.set DMEM_228, (DMEM_BASE+0x28) |
.set DMEM_229, (DMEM_BASE+0x29) |
.set DMEM_22A, (DMEM_BASE+0x2A) |
.set DMEM_22B, (DMEM_BASE+0x2B) |
.set DMEM_22C, (DMEM_BASE+0x2C) |
.set DMEM_22D, (DMEM_BASE+0x2D) |
.set DMEM_22E, (DMEM_BASE+0x2E) |
.set DMEM_22F, (DMEM_BASE+0x2F) |
|
.set DMEM_230, (DMEM_BASE+0x30) |
.set DMEM_231, (DMEM_BASE+0x31) |
.set DMEM_232, (DMEM_BASE+0x32) |
.set DMEM_233, (DMEM_BASE+0x33) |
.set DMEM_234, (DMEM_BASE+0x34) |
.set DMEM_235, (DMEM_BASE+0x35) |
.set DMEM_236, (DMEM_BASE+0x36) |
.set DMEM_237, (DMEM_BASE+0x37) |
.set DMEM_238, (DMEM_BASE+0x38) |
.set DMEM_239, (DMEM_BASE+0x39) |
.set DMEM_23A, (DMEM_BASE+0x3A) |
.set DMEM_23B, (DMEM_BASE+0x3B) |
.set DMEM_23C, (DMEM_BASE+0x3C) |
.set DMEM_23D, (DMEM_BASE+0x3D) |
.set DMEM_23E, (DMEM_BASE+0x3E) |
.set DMEM_23F, (DMEM_BASE+0x3F) |
|
.set DMEM_240, (DMEM_BASE+0x40) |
.set DMEM_241, (DMEM_BASE+0x41) |
.set DMEM_242, (DMEM_BASE+0x42) |
.set DMEM_243, (DMEM_BASE+0x43) |
.set DMEM_244, (DMEM_BASE+0x44) |
.set DMEM_245, (DMEM_BASE+0x45) |
.set DMEM_246, (DMEM_BASE+0x46) |
.set DMEM_247, (DMEM_BASE+0x47) |
.set DMEM_248, (DMEM_BASE+0x48) |
.set DMEM_249, (DMEM_BASE+0x49) |
.set DMEM_24A, (DMEM_BASE+0x4A) |
.set DMEM_24B, (DMEM_BASE+0x4B) |
.set DMEM_24C, (DMEM_BASE+0x4C) |
.set DMEM_24D, (DMEM_BASE+0x4D) |
.set DMEM_24E, (DMEM_BASE+0x4E) |
.set DMEM_24F, (DMEM_BASE+0x4F) |
|
.set DMEM_250, (DMEM_BASE+0x50) |
.set DMEM_251, (DMEM_BASE+0x51) |
.set DMEM_252, (DMEM_BASE+0x52) |
.set DMEM_253, (DMEM_BASE+0x53) |
.set DMEM_254, (DMEM_BASE+0x54) |
.set DMEM_255, (DMEM_BASE+0x55) |
.set DMEM_256, (DMEM_BASE+0x56) |
.set DMEM_257, (DMEM_BASE+0x57) |
.set DMEM_258, (DMEM_BASE+0x58) |
.set DMEM_259, (DMEM_BASE+0x59) |
.set DMEM_25A, (DMEM_BASE+0x5A) |
.set DMEM_25B, (DMEM_BASE+0x5B) |
.set DMEM_25C, (DMEM_BASE+0x5C) |
.set DMEM_25D, (DMEM_BASE+0x5D) |
.set DMEM_25E, (DMEM_BASE+0x5E) |
.set DMEM_25F, (DMEM_BASE+0x5F) |
|
.set DMEM_260, (DMEM_BASE+0x60) |
.set DMEM_261, (DMEM_BASE+0x61) |
.set DMEM_262, (DMEM_BASE+0x62) |
.set DMEM_263, (DMEM_BASE+0x63) |
.set DMEM_264, (DMEM_BASE+0x64) |
.set DMEM_265, (DMEM_BASE+0x65) |
.set DMEM_266, (DMEM_BASE+0x66) |
.set DMEM_267, (DMEM_BASE+0x67) |
.set DMEM_268, (DMEM_BASE+0x68) |
.set DMEM_269, (DMEM_BASE+0x69) |
.set DMEM_26A, (DMEM_BASE+0x6A) |
.set DMEM_26B, (DMEM_BASE+0x6B) |
.set DMEM_26C, (DMEM_BASE+0x6C) |
.set DMEM_26D, (DMEM_BASE+0x6D) |
.set DMEM_26E, (DMEM_BASE+0x6E) |
.set DMEM_26F, (DMEM_BASE+0x6F) |
|
.set DMEM_300, (DMEM_BASE+0x100) |
|
/*---------------------------------------------------------------------------*/ |
/* PROGRAM MEMORY MAPPING */ |
/*---------------------------------------------------------------------------*/ |
.set PMEM_LENGTH, PMEM_SIZE |
template_defs.asm
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property