X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Femul%2Femul.cpp;h=4e8d00fa901fb6639f829495a649f3380e7ad450;hb=4278d44ef7681c56f4bd16615c3c4d9338112df4;hp=ad081db12501030ad49a1ef04ca4c1321a060283;hpb=791e167e053bdd9250d34a9a5ccae6ccde4d6679;p=bertos.git diff --git a/bertos/emul/emul.cpp b/bertos/emul/emul.cpp index ad081db1..4e8d00fa 100644 --- a/bertos/emul/emul.cpp +++ b/bertos/emul/emul.cpp @@ -27,68 +27,26 @@ * the GNU General Public License. * * Copyright 2006 Develer S.r.l. (http://www.develer.com/) - * Copyright 2000, 2001 Bernardo Innocenti - * + * Copyright 2000, 2001, 2008 Bernie Innocenti * --> * - * \version $Id$ - * - * \author Bernardo Innocenti - * * \brief Qt-based emulator framework for embedded applications (implementation) + * + * \author Bernie Innocenti */ -/*#* - *#* $Log$ - *#* Revision 1.6 2006/05/28 12:17:57 bernie - *#* Drop almost all the Qt3 cruft. - *#* - *#* Revision 1.5 2006/05/27 22:30:56 bernie - *#* Add some delay to slow things down. - *#* - *#* Revision 1.4 2006/02/24 01:35:40 bernie - *#* Update for new emulator. - *#* - *#* Revision 1.3 2006/02/20 02:00:40 bernie - *#* Port to Qt 4.1. - *#* - *#* Revision 1.2 2006/01/16 03:51:51 bernie - *#* Fix boilerplate. - *#* - *#* Revision 1.1 2006/01/16 03:37:12 bernie - *#* Add emulator skeleton. - *#* - *#*/ - #include "emul.h" #include "emulwin.h" -#include - -#include -#if CONFIG_KERNEL - #include -#endif - -#include // std::exit() +#include #include +#include // std::exit() /// The global emulator instance. Emulator *emul; -#if CONFIG_KERNEL - #include - - /// List of process stacks - List StackFreeList; - - // HACK: Reserve 64KB of stack space for kernel processes - const int NPROC = 8; - int stacks[NPROC][(64 * 1024) / sizeof(int)]; -#endif - Emulator::Emulator(int &argc, char **argv) : emulApp(new QApplication(argc, argv)), emulWin(new EmulWin(this)) @@ -123,12 +81,6 @@ extern "C" void emul_init(int *argc, char *argv[]) // setup global emulator pointer emul = new Emulator(*argc, argv); -#if CONFIG_KERNEL - LIST_INIT(&StackFreeList); - for (int i = 0; i < NPROC; i++) - ADDTAIL(&StackFreeList, (Node *)stacks[i]); -#endif - MOD_INIT(emul); } @@ -136,6 +88,10 @@ extern "C" void emul_cleanup() { MOD_CLEANUP(emul); + // Timer must be made inactive before we destroy the emulator + extern bool timer_initialized; + ASSERT(!timer_initialized); + delete emul; emul = NULL; } @@ -144,6 +100,5 @@ extern "C" void emul_idle() { // We process GUI events when the application is idle. emul->emulApp->processEvents(); - usleep(1000); }