orca-sim
GdbProcessorBase.cpp
Go to the documentation of this file.
1 /******************************************************************************
2  * This file is part of project ORCA. More information on the project
3  * can be found at the following repositories at GitHub's website.
4  *
5  * http://https://github.com/andersondomingues/orca-sim
6  * http://https://github.com/andersondomingues/orca-software
7  * http://https://github.com/andersondomingues/orca-mpsoc
8  * http://https://github.com/andersondomingues/orca-tools
9  *
10  * Copyright (C) 2018-2020 Anderson Domingues, <ti.andersondomingues@gmail.com>
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License along
23  * with this program; if not, write to the Free Software Foundation, Inc.,
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25 ******************************************************************************/
26 #include "ProcessorBase.hpp"
27 #include "GdbProcessorBase.hpp"
28 
34 
35 
36 template <typename T>
38  Memory* mem, std::string gdb_ip, int gdb_port)
39  : ProcessorBase<T>(name, initial_pc, mem) {
41  _gdbserver = new RspServer<T>(_state, mem, gdb_ip, gdb_port);
42 }
43 
44 template <typename T>
46  _gdbserver->UpdateCpuState();
47 
48  // check whether the gdb client has sent any packet.
49  // if so, treat the packet.
50  _gdbserver->Receive();
51  return 1;
52 }
53 
54 template <typename T>
56  return _state;
57 }
SimulationTime Run()
Run method from the base TimedModel class, overloaded.
#define MemoryAddr
Definition: MemoryType.hpp:34
uint32_t SimulationTime
This class models a memory module.
Definition: Memory.hpp:55
This class implements the base operation for generic processor implementations.
GdbProcessorState< T > * GetState()
Defines a generic state model for use within processor models.
GdbProcessorState< T > * _state