Commit Graph
69 Commits
Author SHA1 Message Date
Martin Hoffmann 6fa0ae970b Coding Guideline: Fixes.
Sorry, for the small changesets.

Change-Id: I12e7b1b4efff0c63020613e399f8185ace97aec7
2013-11-11 13:27:43 +01:00
Martin Hoffmann cf95437e65 RealtimeLogger: Fixed coding guideline issues.
Change-Id: I1172e0c60e2d6e895b4d3f99eb1a023c348bd3b3
2013-11-11 13:18:26 +01:00
Martin HoffmannandGerrit Code Review 8f0db45dfe Exp: Base system for the real time systems lecture
Change-Id: I3e5b8c6e60b57e6ec03500e9ee109fd5fb322cb2
2013-11-11 13:08:26 +01:00
Martin Hoffmann 4c7fcae6ad plugins: A simple signal generator
Listens on a configurable SUT's global variable.
On read access a signal pattern value is calculated and sent back
to the SUT.

Currently, only a superimposable sine wave signal form is implemented.
Further signal forms can be implemented by inheriting from the
abstract SignalForm class.

Change-Id: I2e6cf49cd44797999691c9e9cf0c54dd3c96875e
2013-11-11 13:07:42 +01:00
Martin HoffmannandGerrit Code Review 5d867be83b plugins: RealtimeLogger plugin
Logs access to a given global variable of the SUT, given by
a symbol name, and outputs value when variable is written to file.
Format:
<Simulation time>;<Value of variable>

Change-Id: I81b581e571be4255a1a2200c41e7c16657ddfd3d
2013-11-11 12:30:52 +01:00
Martin Hoffmann 87264af79a doc: Add plugin path to doxygen documentaion.
Change-Id: I7a7e7e658b4b86f1e319c58d7595d031f71cb4fd
2013-10-17 17:42:12 +02:00
Martin HoffmannandGerrit Code Review 5bf498d959 Merge "Helper script for FailBochs pruning build env" 2013-09-19 13:17:45 +02:00
Martin Hoffmann c6e298ac6f Helper script for FailBochs pruning build env
Call this script from a build directory to setup
a build environment for FailBochs pruning.

Usage:
 <path to fail>/configurations/x86_pruning.sh <Experiment name>

Change-Id: I778a20c258dcd5349c3da9e1c5a8542af43f61d5
2013-09-19 13:16:27 +02:00
Martin HoffmannandHorst Schirmeier a3cbb7c690 gem5/cmake: gem5 build integration into Fail*
The SConscript in src/core/sal/gem5 is now generated via CMake
(SConscript.in).  No more hardcoded relative paths -> Fail* build
folder can now be anywhere.  Experiment and Plugin libraries are now
set automagically (using ${EXPERIMENTS_ACTIVATED} /
${PLUGINS_ACTIVATED})

Generated SConscript now resides in binary dir.

Change-Id: I1bf2e17c83c95ffdcf6801c02481064fcb63bfb0
2013-08-21 15:17:14 +02:00
Martin Hoffmann ca1ed25728 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail 2013-03-22 16:51:34 +01:00
Martin Hoffmann 28fc41da65 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Change-Id: I35e86d4b367be395121451a86f2731606f43eeff
2013-03-22 16:51:29 +01:00
Martin Hoffmann b6e81af8a8 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail 2013-03-22 16:21:30 +01:00
Martin Hoffmann 3c349e06f3 Documentation: Cleanup
Doxygen docu is now build in ${PROJECT_BINARY_DIR}/doc.
(and other small changes.)

Change-Id: I3fef910307e104f120c4f770526c800cfd01a41f
2013-03-22 16:18:58 +01:00
Martin Hoffmann f8c974440f CMake: Preconfigured Fail* variants.
Change-Id: I6109fac10b46becab7a5b3afdfa74af155c881d4
2013-03-22 16:10:39 +01:00
Martin Hoffmann cfbd9e9c62 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Conflicts:
	debuggers/t32/src/main.cc
2013-03-21 18:59:22 +01:00
Martin Hoffmann ff2aec5d7e T32SIM: evaluating mem access via trace correctly :) 2013-03-21 18:58:04 +01:00
Martin Hoffmann b8e706b1a5 T32SIM: Integrating Tracing feature of the T32SIM.
After each simulator break, T32Tracer retrieves the latest (16)
trace records from the T32. Memory address and value can now
be evaluated easily from the trace record.

TODO:Nevertheless we still have to traverse the trace to
find the instruction causing the access.
2013-03-21 18:57:46 +01:00
Martin Hoffmann 957587a314 T32SIM: Integrating Tracing feature of the T32SIM.
After each simulator break, T32Tracer retrieves the latest (16)
trace records from the T32. Memory address and value can now
be evaluated easily from the trace record.

TODO:Nevertheless we still have to traverse the trace to
find the instruction causing the access.
2013-03-21 17:59:21 +01:00
Martin Hoffmann 96bc39c05d T32 Simulator: Basic Instruction set sim for ARMM3
The T32 can simulate bare instruction sets without periphery.
For the Cortex-M3 we have complete NVIC model including Systick Timer.
Currently a simple CiAO can run on the simulator.

TODO:
 - Let memlogger log all memory accesses.
 - Interact with FailT32 for a complete simulation/FI
2013-03-20 17:17:38 +01:00
Martin Hoffmann f0e26a9b63 Optionparser: Fix for non-Bochs builds. 2013-03-20 17:16:57 +01:00
Martin Hoffmann f676a785f8 CMake: Cleanup unnecessary compiler config 2013-03-20 17:15:54 +01:00
Martin Hoffmann 739a62c60b Optionparser: FAILS for non-bochs builds!
bx_startup_flags are only present in a bochs build!
2013-03-20 16:07:02 +01:00
Martin Hoffmann 3953a567fa Git/Gerrit: Added helpoer script for gerrit
Change-Id: Ib39efabf88a82534c69a29181fbe7de82cf669a7
2013-03-20 14:22:50 +01:00
Martin Hoffmann 532ec87b27 Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Conflicts:
	debuggers/t32/src/main.cc
2013-03-11 12:18:49 +01:00
Martin Hoffmann f586351e79 T32: Dissassembler to evaluate memory instructions.
For the T32 variant we have to evaluate the memory
access instruction to find out, which memory address
was accessed.

Dissassmbly by OpenOCDs arm_disassembler.hpp/.cc:
- fine for ARM / Thumb1
- needs fixes for Thumb2 :( (currently doing that..)
2013-03-11 12:17:53 +01:00
Martin Hoffmann 1905b4edc4 T32: Dissassembler to evaluate memory instructions.
For the T32 variant we have to evaluate the memory
access instruction to find out, which memory address
was accessed.

Dissassmbly by OpenOCDs arm_disassembler.hpp/.cc:
- fine for ARM / Thumb1
- needs fixes for Thumb2 :( (currently doing that..)
2013-03-08 16:33:02 +01:00
Martin Hoffmann 1fe1dbb3ed util: Added disassembler using objdump tool.
The disassembler disassembles an elf file with
an external objdump tool.
The architecture specific objdump must be configured
via cmake (ARCH_TOOL_PREFIX), e.g. arm-none-eabi- for
arm-none-eabi-objdump.
2013-03-05 21:20:25 +01:00
Martin Hoffmann 010137cf54 T32: Updated to recent T32 API. 2013-03-05 17:29:48 +01:00
Martin Hoffmann 4686c27d3d ElfReader: Support for Section and Symbol size.
- getSection/getSymbol now returns an ElfSymbol reference.

Searching by address now searches if address is within
symbol address and symbol address + size.
So we can test, if we are *within* a function, object or
section and not only at the start address.
2013-03-04 15:18:52 +01:00
Martin Hoffmann 3501050548 T32: FailT32 support for Cortex-M3
Currently working:
 - Connect/Disconnect, Read CPU info
 - CMM Script generation and T32 startup via cmake (make runt32)
 - Read/Write Register, Read Program Pointer
 - Read/Write Memory
 - Single Breakpoint
 - Setting Memory Breakpoint

TODO:
 - Fix mock aspect for T32_GetRam.
 - Fix Thumb2 bit in function addresses from ELFReader
 - Evaluate memory breakpoint hit
2013-03-01 12:47:32 +01:00
Martin Hoffmann 5481cbfd39 T32: Default startup scripts for ARM Cortex-M3 2013-02-28 13:03:36 +01:00
Martin Hoffmann a382057aad Merge branch 'master' of ssh://vamos.informatik.uni-erlangen.de:29418/fail
Conflicts:
	debuggers/t32/include/T32Connector.hpp
	debuggers/t32/src/T32Connector.cc
2013-02-21 12:37:37 +01:00
Martin Hoffmann 447411da9a T32: Evalute memory map, RangeListener, MemAccess 2013-02-21 12:32:55 +01:00
Martin Hoffmann 6ca8b5af4b T32: Evalute memory map, RangeListener, MemAccessL 2013-02-17 21:41:30 +01:00
Martin Hoffmann e66ae5e691 Merge remote-tracking branch 'svnrepo/master' 2013-02-17 18:26:18 +01:00
hoffmann 2c6a4c2d6e T32: Parsing cli options for T32 fail-client
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2108 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-17 17:01:31 +00:00
Martin HoffmannandGerrit Code Review 9048a212ac Initial empty repository 2013-02-17 17:53:13 +01:00
hoffmann 205c7ec919 T32: Breakpoint test code
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2107 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 23:05:07 +00:00
hoffmann 6761268d93 T32: Added BPSingle, central T32 specific api constants
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2106 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 23:05:04 +00:00
hoffmann 2e16b8873b T32: Memory access.
Still not tested on real T32.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2105 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 22:05:02 +00:00
hoffmann d86d18bced T32: Code cleanup.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2104 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-16 22:05:00 +00:00
hoffmann 39a6415001 T32: Integrated Register read/write calls
* Tested without connected Lauterbach.
  T32_* functions are mocked via aspect.

* New target t32cli, for sending T32 command cia cli. (for testing)

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2103 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 18:06:02 +00:00
hoffmann a7e5d2373f cmake/Bochs: Integrated Bochs configure into CMake
Bochs' configure options can now be set via ccmake.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2102 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 12:34:19 +00:00
hoffmann 425b6e3129 cmake: CMake-style look for VGA lib.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2101 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 12:34:16 +00:00
hoffmann 1ce8f0ab12 Refining keso experiment.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2071 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 00:51:28 +00:00
hoffmann 609ac58c8f ElfReader now supports section information.
ElfReader can now get Section start address,
end address and size by its name.
Or the according section name to any address within
a section

See ElfReader.hpp for API.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2070 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 00:51:25 +00:00
hoffmann 7b7ae8e825 Extended Keso experiment
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2069 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 00:51:22 +00:00
hoffmann 3307987895 Added missing virtual Destructor, fixes gcc warning
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2068 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 00:51:19 +00:00
hoffmann 94214063ac Fixed whitespaces.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2067 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-07 00:51:14 +00:00
hoffmann 287b26a9cf Added experiment for keso paper.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2048 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-01 12:26:40 +00:00
hoffmann 0cbb38d605 VEZS experiment: cleanup.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2013 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-22 10:03:18 +00:00
hoffmann ac7cec7684 ElfReader: Constructor tries to get ELF from ENV FAIL_ELF_PATH
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2002 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-15 12:53:49 +00:00
hoffmann 0972a22bc9 Warn and show hint, if libiberty (needed by demangler) not found
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1996 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-11 16:39:03 +00:00
hoffmann 93387c4eec CiAO example experiment: using ENV variable for elf file
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1994 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-11 15:57:18 +00:00
hoffmann 4051c0f4e9 ElfReader: Added support for de/mangled symbols
See vezs-example experiment for usage.



git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1985 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-21 12:12:25 +00:00
hoffmann e5323abcf9 Preparing CiAO experiments
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1984 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-20 22:37:29 +00:00
hoffmann 5a3a66da25 Reverse search getNameByAddress.
Implemented with the help of boost bimap.



git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1983 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-12-20 22:06:46 +00:00
hoffmann bfedb10cac Starting support for Lauterbach T32 HW Debugger
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1740 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-11 15:25:51 +00:00
hoffmann 1a9a72eaf4 Fixed incomplete target name
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1703 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-01 07:56:16 +00:00
hoffmann ec83ecd645 Example experiment: Minor fix
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1606 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-10 08:15:21 +00:00
hoffmann 0349f3dfee Fixes, changed experiment to new API
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1596 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-06 08:22:30 +00:00
hoffmann a9b78c1154 Fixed Listeners
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1595 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-06 08:16:54 +00:00
hoffmann 058033bbff Tiny example for the ElfReader.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1593 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-05 11:03:58 +00:00
hoffmann 63a41c7d67 Elf file reader.
Reads the symbols of all sections and provides
addresses to functions and data objects.
 


git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1592 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-05 11:03:29 +00:00
hoffmann 4aa4943ae9 Minimal VEZS example experiment
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1440 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-06 10:41:13 +00:00
hoffmann 9e41c1a39c Initial example experiment:
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1399 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-02 10:40:04 +00:00
hoffmann 651738fcca Empty base dir for VEZS
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1389 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-29 11:20:05 +00:00
hoffmann 273aabb747 Test commit (trac update)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1053 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-04-11 15:02:32 +00:00
hoffmann f1203676c2 Test commit (trac update)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1051 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-04-11 14:58:57 +00:00