git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@125 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
9035758154
commit
443c9c7db6
|
@ -45,6 +45,7 @@ AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not complete yet.
|
||||||
"#ifdef CH_USE_DEBUG", it is much more readable now.
|
"#ifdef CH_USE_DEBUG", it is much more readable now.
|
||||||
- Now the threads working area is filled with a 0x55 when in debug mode, this
|
- Now the threads working area is filled with a 0x55 when in debug mode, this
|
||||||
will make easier to track stack usage using a JTAG probe.
|
will make easier to track stack usage using a JTAG probe.
|
||||||
|
- Added an I/O Queues benchmark to the test suite.
|
||||||
|
|
||||||
*** 0.4.3 ***
|
*** 0.4.3 ***
|
||||||
- Size optimization in the events code, now the chEvtWait() reuses the
|
- Size optimization in the events code, now the chEvtWait() reuses the
|
||||||
|
|
30
test/test.c
30
test/test.c
|
@ -129,10 +129,13 @@ t_msg Thread7(void *p) {
|
||||||
return (unsigned int)p + 1;
|
return (unsigned int)p + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tester thread, this thread must be created with priority \p NORMALPRIO.
|
* Tester thread, this thread must be created with priority \p NORMALPRIO.
|
||||||
*/
|
*/
|
||||||
t_msg TestThread(void *p) {
|
t_msg TestThread(void *p) {
|
||||||
|
static BYTE8 ib[16];
|
||||||
|
static Queue iq;
|
||||||
t_msg msg;
|
t_msg msg;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
t_time time;
|
t_time time;
|
||||||
|
@ -283,7 +286,32 @@ t_msg TestThread(void *p) {
|
||||||
}
|
}
|
||||||
print("Threads throughput = ");
|
print("Threads throughput = ");
|
||||||
printn(i);
|
printn(i);
|
||||||
print(" threads/S");
|
println(" threads/S");
|
||||||
|
|
||||||
|
println("*** Kernel Benchmark, I/O Queues throughput:");
|
||||||
|
chIQInit(&iq, ib, sizeof(ib), NULL);
|
||||||
|
time = chSysGetTime() + 1;
|
||||||
|
while (chSysGetTime() < time) {
|
||||||
|
#if defined(WIN32)
|
||||||
|
ChkIntSources();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
time += 1000;
|
||||||
|
i = 0;
|
||||||
|
while (chSysGetTime() < time) {
|
||||||
|
chIQPutI(&iq, i >> 24);
|
||||||
|
chIQPutI(&iq, i >> 16);
|
||||||
|
chIQPutI(&iq, i >> 8);
|
||||||
|
chIQPutI(&iq, i);
|
||||||
|
i = chIQGet(&iq) << 24;
|
||||||
|
i |= chIQGet(&iq) << 16;
|
||||||
|
i |= chIQGet(&iq) << 8;
|
||||||
|
i |= chIQGet(&iq);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
print("Queues throughput = ");
|
||||||
|
printn(i * 4);
|
||||||
|
print(" bytes/S");
|
||||||
|
|
||||||
println("\r\nTest complete");
|
println("\r\nTest complete");
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue