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

master
gdisirio 2008-11-15 10:19:57 +00:00
parent bc3964df26
commit ae97c97b11
9 changed files with 189 additions and 115 deletions

View File

@ -34,13 +34,13 @@ static msg_t Thread1(void *arg) {
while (TRUE) {
IO0CLR = 0x00000800;
chThdSleep(200);
chThdSleepMilliseconds(200);
IO0SET = 0x00000C00;
chThdSleep(800);
chThdSleepMilliseconds(800);
IO0CLR = 0x00000400;
chThdSleep(200);
chThdSleepMilliseconds(200);
IO0SET = 0x00000C00;
chThdSleep(800);
chThdSleepMilliseconds(800);
}
return 0;
}
@ -53,9 +53,9 @@ static msg_t Thread2(void *arg) {
while (TRUE) {
IO0CLR = 0x80000000;
chThdSleep(200);
chThdSleepMilliseconds(200);
IO0SET = 0x80000000;
chThdSleep(300);
chThdSleepMilliseconds(300);
}
return 0;
}
@ -71,14 +71,14 @@ static void TimerHandler(eventid_t id) {
Thread *tp = chThdCreateStatic(waTestThread, sizeof(waTestThread),
NORMALPRIO, TestThread, &COM1);
chThdWait(tp);
PlaySound(500, 100);
PlaySound(500, MS2ST(100));
}
else {
if (!(IO0PIN & 0x00008000)) // Button 1
PlaySound(1000, 100);
PlaySound(1000, MS2ST(100));
if (!(IO0PIN & 0x00010000)) { // Button 2
chFDDWrite(&COM1, (uint8_t *)"Hello World!\r\n", 14);
PlaySound(2000, 100);
PlaySound(2000, MS2ST(100));
}
}
}
@ -91,8 +91,8 @@ static void InsertHandler(eventid_t id) {
static uint8_t rwbuf[512];
MMCCSD data;
PlaySoundWait(1000, 100);
PlaySoundWait(2000, 100);
PlaySoundWait(1000, MS2ST(100));
PlaySoundWait(2000, MS2ST(100));
if (mmcInit())
return;
/* Card ready, do stuff.*/
@ -100,7 +100,7 @@ static void InsertHandler(eventid_t id) {
return;
if (mmcRead(rwbuf, 0))
return;
PlaySound(440, 200);
PlaySound(440, MS2ST(200));
}
/*
@ -108,8 +108,8 @@ static void InsertHandler(eventid_t id) {
*/
static void RemoveHandler(eventid_t id) {
PlaySoundWait(2000, 100);
PlaySoundWait(1000, 100);
PlaySoundWait(2000, MS2ST(100));
PlaySoundWait(1000, MS2ST(100));
}
/*
@ -138,13 +138,13 @@ int main(int argc, char **argv) {
* Normal main() activity, in this demo it serves events generated by
* various sources.
*/
evtInit(&evt, 500); /* Initializes an event timer object. */
evtInit(&evt, MS2ST(500)); /* Initializes an event timer object. */
evtStart(&evt); /* Starts the event timer. */
chEvtRegister(&evt.et_es, &el0, 0); /* Registers on the timer event source. */
mmcStartPolling(); /* Starts the MMC connector polling. */
chEvtRegister(&MMCInsertEventSource, &el1, 1);
chEvtRegister(&MMCRemoveEventSource, &el2, 2);
while (TRUE) /* Just serve events. */
chEvtWait(ALL_EVENTS, evhndl);
chEvtDispatch(evhndl, chEvtWaitOne(ALL_EVENTS));
return 0;
}

View File

@ -31,9 +31,9 @@ static msg_t Thread1(void *arg) {
while (TRUE) {
GPIOC->BRR = GPIOC_LED;
chThdSleep(500);
chThdSleepMilliseconds(500);
GPIOC->BSRR = GPIOC_LED;
chThdSleep(500);
chThdSleepMilliseconds(500);
}
return 0;
}
@ -56,7 +56,7 @@ int main(int argc, char **argv) {
while (TRUE) {
if (GPIOA->IDR & GPIOA_BUTTON)
TestThread(&COM2);
chThdSleep(500);
chThdSleepMilliseconds(500);
}
return 0;
}

View File

@ -1,5 +1,5 @@
***************************************************************************
Kernel: ChibiOS/RT 0.7.2
Kernel: ChibiOS/RT 0.8.0
Compiler: GCC 4.3.2 (YAGARTO 28.09.2008)
Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu
Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state)
@ -27,49 +27,62 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state)
--- Test Case 7 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 8 (Messages, dispatch test)
--- Test Case 8 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 9 (Heap, allocation and fragmentation test)
--- Size : 62452 bytes, not fragmented
--- Test Case 9 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 10 (Memory Pools, allocation and enqueuing test)
--- Test Case 10 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11 (Dynamic APIs, threads creation from heap)
--- Test Case 11 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 12 (Dynamic APIs, threads creation from memory pool)
--- Test Case 12 (Heap, allocation and fragmentation test)
--- Size : 42600 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 13 (Benchmark, context switch #1, optimal)
--- Score : 114945 msgs/S, 229890 ctxswc/S
--- Test Case 13 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 14 (Benchmark, context switch #2, empty ready list)
--- Score : 90221 msgs/S, 180442 ctxswc/S
--- Test Case 14 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 90221 msgs/S, 180442 ctxswc/S
--- Test Case 15 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, threads creation/termination, worst case)
--- Score : 66878 threads/S
--- Test Case 16 (Benchmark, context switch #1, optimal)
--- Score : 114943 msgs/S, 229886 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 17 (Benchmark, threads creation/termination, optimal)
--- Score : 92312 threads/S
--- Test Case 17 (Benchmark, context switch #2, empty ready list)
--- Score : 90220 msgs/S, 180440 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 18 (Benchmark, mass reschedulation, 5 threads)
--- Score : 27850 reschedulations/S, 167100 ctxswc/S
--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 90220 msgs/S, 180440 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 19 (Benchmark, I/O Queues throughput)
--- Test Case 19 (Benchmark, threads creation/termination, worst case)
--- Score : 67064 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 20 (Benchmark, threads creation/termination, optimal)
--- Score : 92668 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
--- Score : 27963 reschedulations/S, 167778 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 22 (Benchmark, I/O Queues throughput)
--- Score : 240464 bytes/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 23 (Benchmark, virtual timers set/reset)
--- Score : 240308 timers/S
--- Result: SUCCESS
---------------------------------------------------------------------------
Final result: SUCCESS

View File

@ -1,5 +1,5 @@
***************************************************************************
Kernel: ChibiOS/RT 0.7.2
Kernel: ChibiOS/RT 0.8.0
Compiler: GCC 4.3.2 (YAGARTO 28.09.2008)
Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16
Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
@ -27,49 +27,62 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
--- Test Case 7 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 8 (Messages, dispatch test)
--- Test Case 8 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 9 (Heap, allocation and fragmentation test)
--- Size : 28116 bytes, not fragmented
--- Test Case 9 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 10 (Memory Pools, allocation and enqueuing test)
--- Test Case 10 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11 (Dynamic APIs, threads creation from heap)
--- Test Case 11 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 12 (Dynamic APIs, threads creation from memory pool)
--- Test Case 12 (Heap, allocation and fragmentation test)
--- Size : 27788 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 13 (Benchmark, context switch #1, optimal)
--- Score : 144453 msgs/S, 288906 ctxswc/S
--- Test Case 13 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 14 (Benchmark, context switch #2, empty ready list)
--- Score : 111980 msgs/S, 223960 ctxswc/S
--- Test Case 14 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list)
--- Test Case 15 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, context switch #1, optimal)
--- Score : 144452 msgs/S, 288904 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 17 (Benchmark, context switch #2, empty ready list)
--- Score : 111979 msgs/S, 223958 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, threads creation/termination, worst case)
--- Score : 86464 threads/S
--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 111978 msgs/S, 223956 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 17 (Benchmark, threads creation/termination, optimal)
--- Score : 118939 threads/S
--- Test Case 19 (Benchmark, threads creation/termination, worst case)
--- Score : 86776 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 18 (Benchmark, mass reschedulation, 5 threads)
--- Score : 35870 reschedulations/S, 215220 ctxswc/S
--- Test Case 20 (Benchmark, threads creation/termination, optimal)
--- Score : 119534 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 19 (Benchmark, I/O Queues throughput)
--- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
--- Score : 36005 reschedulations/S, 216030 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 22 (Benchmark, I/O Queues throughput)
--- Score : 341232 bytes/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 23 (Benchmark, virtual timers set/reset)
--- Score : 309498 timers/S
--- Result: SUCCESS
---------------------------------------------------------------------------
Final result: SUCCESS

View File

@ -1,5 +1,5 @@
***************************************************************************
Kernel: ChibiOS/RT 0.7.2
Kernel: ChibiOS/RT 0.8.0
Compiler: GCC 4.3.2 (YAGARTO 28.09.2008)
Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16
Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
@ -27,48 +27,61 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
--- Test Case 7 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 8 (Messages, dispatch test)
--- Test Case 8 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 9 (Heap, allocation and fragmentation test)
--- Size : 27988 bytes, not fragmented
--- Test Case 9 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 10 (Memory Pools, allocation and enqueuing test)
--- Test Case 10 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11 (Dynamic APIs, threads creation from heap)
--- Test Case 11 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 12 (Dynamic APIs, threads creation from memory pool)
--- Test Case 12 (Heap, allocation and fragmentation test)
--- Size : 27644 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 13 (Benchmark, context switch #1, optimal)
--- Score : 98911 msgs/S, 197822 ctxswc/S
--- Test Case 13 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 14 (Benchmark, context switch #2, empty ready list)
--- Score : 83525 msgs/S, 167050 ctxswc/S
--- Test Case 14 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 83526 msgs/S, 167052 ctxswc/S
--- Test Case 15 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, threads creation/termination, worst case)
--- Score : 70158 threads/S
--- Test Case 16 (Benchmark, context switch #1, optimal)
--- Score : 98924 msgs/S, 197848 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 17 (Benchmark, threads creation/termination, optimal)
--- Score : 100582 threads/S
--- Test Case 17 (Benchmark, context switch #2, empty ready list)
--- Score : 83531 msgs/S, 167062 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 18 (Benchmark, mass reschedulation, 5 threads)
--- Score : 28222 reschedulations/S, 169332 ctxswc/S
--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 83530 msgs/S, 167060 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 19 (Benchmark, I/O Queues throughput)
--- Score : 242376 bytes/S
--- Test Case 19 (Benchmark, threads creation/termination, worst case)
--- Score : 70471 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 20 (Benchmark, threads creation/termination, optimal)
--- Score : 101230 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
--- Score : 28157 reschedulations/S, 168942 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 22 (Benchmark, I/O Queues throughput)
--- Score : 242396 bytes/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 23 (Benchmark, virtual timers set/reset)
--- Score : 272272 timers/S
--- Result: SUCCESS
---------------------------------------------------------------------------

View File

@ -1,10 +1,14 @@
***************************************************************************
Kernel: ChibiOS/RT 0.7.2
Kernel: ChibiOS/RT 0.8.0
Compiler: GCC 4.3.2 (YAGARTO 28.09.2008)
Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16
Settings: SYSCLK=48, ACR=0x11 (1 wait state)
***************************************************************************
*****************************
*** ChibiOS/RT test suite ***
*****************************
---------------------------------------------------------------------------
--- Test Case 1 (Ready List, priority enqueuing test #1)
--- Result: SUCCESS
@ -27,49 +31,62 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state)
--- Test Case 7 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 8 (Messages, dispatch test)
--- Test Case 8 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 9 (Heap, allocation and fragmentation test)
--- Size : 17324 bytes, not fragmented
--- Test Case 9 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 10 (Memory Pools, allocation and enqueuing test)
--- Test Case 10 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11 (Dynamic APIs, threads creation from heap)
--- Test Case 11 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 12 (Dynamic APIs, threads creation from memory pool)
--- Test Case 12 (Heap, allocation and fragmentation test)
--- Size : 17252 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 13 (Benchmark, context switch #1, optimal)
--- Test Case 13 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 14 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 15 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, context switch #1, optimal)
--- Score : 160572 msgs/S, 321144 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 14 (Benchmark, context switch #2, empty ready list)
--- Test Case 17 (Benchmark, context switch #2, empty ready list)
--- Score : 134029 msgs/S, 268058 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list)
--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 134029 msgs/S, 268058 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, threads creation/termination, worst case)
--- Score : 105399 threads/S
--- Test Case 19 (Benchmark, threads creation/termination, worst case)
--- Score : 105867 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 17 (Benchmark, threads creation/termination, optimal)
--- Score : 137112 threads/S
--- Test Case 20 (Benchmark, threads creation/termination, optimal)
--- Score : 137919 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 18 (Benchmark, mass reschedulation, 5 threads)
--- Score : 42051 reschedulations/S, 252306 ctxswc/S
--- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
--- Score : 42162 reschedulations/S, 252972 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 19 (Benchmark, I/O Queues throughput)
--- Test Case 22 (Benchmark, I/O Queues throughput)
--- Score : 377572 bytes/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 23 (Benchmark, virtual timers set/reset)
--- Score : 525896 timers/S
--- Result: SUCCESS
---------------------------------------------------------------------------
Final result: SUCCESS

View File

@ -1,10 +1,14 @@
***************************************************************************
Kernel: ChibiOS/RT 0.7.2
Kernel: ChibiOS/RT 0.8.0
Compiler: GCC 4.3.2 (YAGARTO 28.09.2008)
Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16
Settings: SYSCLK=72, ACR=0x12 (2 wait states)
***************************************************************************
*****************************
*** ChibiOS/RT test suite ***
*****************************
---------------------------------------------------------------------------
--- Test Case 1 (Ready List, priority enqueuing test #1)
--- Result: SUCCESS
@ -27,49 +31,62 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
--- Test Case 7 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 8 (Messages, dispatch test)
--- Test Case 8 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 9 (Heap, allocation and fragmentation test)
--- Size : 17324 bytes, not fragmented
--- Test Case 9 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 10 (Memory Pools, allocation and enqueuing test)
--- Test Case 10 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11 (Dynamic APIs, threads creation from heap)
--- Test Case 11 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 12 (Dynamic APIs, threads creation from memory pool)
--- Test Case 12 (Heap, allocation and fragmentation test)
--- Size : 17252 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 13 (Benchmark, context switch #1, optimal)
--- Test Case 13 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 14 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 15 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, context switch #1, optimal)
--- Score : 216994 msgs/S, 433988 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 14 (Benchmark, context switch #2, empty ready list)
--- Test Case 17 (Benchmark, context switch #2, empty ready list)
--- Score : 178662 msgs/S, 357324 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 178663 msgs/S, 357326 ctxswc/S
--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 178662 msgs/S, 357324 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 16 (Benchmark, threads creation/termination, worst case)
--- Score : 141108 threads/S
--- Test Case 19 (Benchmark, threads creation/termination, worst case)
--- Score : 141666 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 17 (Benchmark, threads creation/termination, optimal)
--- Score : 187046 threads/S
--- Test Case 20 (Benchmark, threads creation/termination, optimal)
--- Score : 188024 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 18 (Benchmark, mass reschedulation, 5 threads)
--- Score : 55768 reschedulations/S, 334608 ctxswc/S
--- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
--- Score : 55552 reschedulations/S, 333312 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 19 (Benchmark, I/O Queues throughput)
--- Test Case 22 (Benchmark, I/O Queues throughput)
--- Score : 489476 bytes/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 23 (Benchmark, virtual timers set/reset)
--- Score : 647106 timers/S
--- Result: SUCCESS
---------------------------------------------------------------------------
Final result: SUCCESS

View File

@ -169,7 +169,7 @@ void PendSVVector(void) {
PUSH_CONTEXT(sp_thd);
(otp = currp)->p_ctx.r13 = sp_thd;
(currp = fifo_remove(&rlist.r_queue))->p_state = PRCURR;
(currp = fifo_remove((void *)&rlist))->p_state = PRCURR;
chSchReadyI(otp);
#ifdef CH_USE_ROUNDROBIN
/* set the round-robin time quantum */

View File

@ -98,6 +98,7 @@ Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process,
- Renamed the macro fifo_init() to queue_init() because it is used to init
both FIFO queues and priority queues.
- Fixes and improvements to the documentation.
- Cleaned demo applications of old events code.
*** 0.7.3 ***
- FIX: Fixed a bug in chThdSleepUntil(), this API is no more a macro now.