git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@492 35acf78f-673a-0410-8e92-d51de3d6d3f4

master
gdisirio 2008-11-02 12:43:53 +00:00
parent bdba36fefc
commit aac96ddde3
4 changed files with 42 additions and 1 deletions

View File

@ -73,6 +73,9 @@ Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process,
*** Releases ***
*****************************************************************************
*** 0.7.4 ***
- Added a new benchmark to the test suite (timers set/reset performance).
*** 0.7.3 ***
- FIX: Fixed a bug in chThdSleepUntil(), this API is no more a macro now.
- NEW: New chThdSleepSeconds(), chThdSleepMilliseconds() and

View File

@ -62,6 +62,7 @@ static const struct testcase *tests[] = {
&testbmk5,
&testbmk6,
&testbmk7,
&testbmk8,
NULL
};

View File

@ -292,3 +292,40 @@ const struct testcase testbmk7 = {
empty,
bmk7_execute
};
static char *bmk8_gettest(void) {
return "Benchmark, virtual timers set/reset";
}
static void tmo(void *param) {}
static void bmk8_execute(void) {
static VirtualTimer vt1, vt2;
uint32_t n = 0;
test_wait_tick();
test_start_timer(1000);
do {
chSysLock();
chVTSetI(&vt1, 1, tmo, NULL);
chVTSetI(&vt2, 10000, tmo, NULL);
chVTResetI(&vt1);
chVTResetI(&vt2);
chSysUnlock();
n++;
#if defined(WIN32)
ChkIntSources();
#endif
} while (!test_timer_done);
test_print("--- Score : ");
test_printn(n * 2);
test_println(" timers/S");
}
const struct testcase testbmk8 = {
bmk8_gettest,
empty,
empty,
bmk8_execute
};

View File

@ -22,6 +22,6 @@
extern const struct testcase testbmk1, testbmk2, testbmk3,
testbmk4, testbmk5, testbmk6,
testbmk7;
testbmk7, testbmk8;
#endif /* _TESTBMK_H_ */