pkgsrc/emulators/simulavr/Makefile

96 lines
3.3 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.28 2019/04/25 07:32:53 maya Exp $
#
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
DISTNAME= simulavr-1.0.0
PKGREVISION= 5
CATEGORIES= emulators
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
MASTER_SITES= http://download.savannah.gnu.org/releases/simulavr/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.nongnu.org/simulavr/
COMMENT= Simulator for Atmel AVR microcontrollers
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
LICENSE= gnu-gpl-v2
BUILD_DEPENDS+= doxygen-[0-9]*:../../devel/doxygen
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
BUILD_DEPENDS+= avr-libc-[0-9]*:../../cross/avr-libc
CONFIGURE_ARGS+= --disable-tests
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
CONFIGURE_ARGS+= --enable-python=python${PYVERSSUFFIX}
CONFIGURE_ARGS+= --with-bfd=${PREFIX}/avr
CONFIGURE_ARGS+= --with-libiberty=${PREFIX}/lib/gcc/avr
CONFIGURE_ENV+= TEX=no
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
# Following line does not work yet (examples/python directory)
#CONFIGURE_ENV+= az_python_use=true
#MAKE_ENV+= az_python_use=true
2013-11-29 13:57:28 +01:00
MAKE_JOBS_SAFE= no
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
USE_TOOLS+= makeinfo gmake
USE_LIBTOOL= yes
USE_LANGUAGES+= c c++
USE_PKGLOCALEDIR= yes
GNU_CONFIGURE= yes
INFO_FILES= yes
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
# Interim fix
SUBST_CLASSES+= prefix
SUBST_STAGE.prefix= pre-configure
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
SUBST_MESSAGE.prefix= Fix include path finding Python.h
SUBST_FILES.prefix= src/Makefile.in
SUBST_VARS.prefix= PREFIX
# Following SUBST_CLASSES are from diff against git version (as of 2013-08-08)
# See also
# http://savannah.nongnu.org/bugs/?35737
SUBST_CLASSES+= compare2
SUBST_STAGE.compare2= pre-configure
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
SUBST_MESSAGE.compare2= Convert poisoned SIG_OUTPUT_COMPARE2 to TIMER2_COMP_vect
SUBST_FILES.compare2= examples/atmega128_timer/main.c
SUBST_FILES.compare2+= examples/python/example.c
SUBST_FILES.compare2+= examples/python/example_io.c
SUBST_FILES.compare2+= examples/python/ex_pinout.c
SUBST_FILES.compare2+= regress/timertest/timer_8bit_ctc.c
SUBST_SED.compare2= -e 's/SIG_OUTPUT_COMPARE2/TIMER2_COMP_vect/g'
# StdDefs.h:66:33: error: attempt to use poisoned "SIG_UART0_RECV"
# StdDefs.h:67:39: error: attempt to use poisoned "SIG_UART0_DATA"
# kb.c:39:8: error: attempt to use poisoned "SIG_INTERRUPT0"
SUBST_CLASSES+= uart0
SUBST_STAGE.uart0= pre-configure
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
SUBST_MESSAGE.uart0= Convert poisoned SIG_UART0_RECV to USART0_RX_vect
SUBST_FILES.uart0= examples/atmel_key/StdDefs.h
SUBST_SED.uart0= -e 's/SIG_UART0_RECV/USART0_RX_vect/g'
SUBST_SED.uart0+= -e 's/SIG_UART0_DATA/USART0_UDRE_vect/g'
SUBST_CLASSES+= intrpt0
SUBST_STAGE.intrpt0= pre-configure
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
SUBST_MESSAGE.intrpt0= Convert poisoned SIG_INTERRUPT0 to INT0_vect
SUBST_FILES.intrpt0= examples/atmel_key/kb.c
SUBST_FILES.intrpt0+= examples/python/multicore.c
SUBST_FILES.intrpt0+= regress/extinttest/ext_int0.c
SUBST_SED.intrpt0= -e 's/SIG_INTERRUPT0/INT0_vect/g'
# Following case, see patches
# regress/timertest/timer_16bit.c:ISR(SIG_OUTPUT_COMPARE3B) {
SUBST_CLASSES+= makeinfo
SUBST_STAGE.makeinfo= post-configure
SUBST_MESSAGE.makeinfo= set MAKEINFO path (to avoid work-directory references included)
SUBST_FILES.makeinfo= examples/anacomp/Makefile.in
SUBST_FILES.makeinfo+= examples/python/Makefile.in
SUBST_SED.makeinfo= -e 's,@MAKEINFO@,${PREFIX}/bin/makeinfo,g'
# gcc 2.95 gives warnings that it cannot inline all functions.
BUILDLINK_TRANSFORM+= rm:-Werror
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
.include "../../cross/avr-binutils/buildlink3.mk"
.include "../../cross/avr-gcc/buildlink3.mk"
.include "../../devel/swig/buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
(pkgsrc) Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
2013-09-12 08:20:35 +02:00
.include "../../lang/python/pyversion.mk"
.include "../../lang/${PYPACKAGE}/buildlink3.mk"
.include "../../lang/tcl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"