Our embedded target board is ARM7 based Microcontroller. We used Keil tools, which include Keil RTX-RTOS. /* Filename: RTX_lib.c */ static U32 nr_mutex; int _mutex_initialize (OS_ID *mutex) { /* Allocate and initialize a system mutex. */ if (nr_mutex >= OS_MUTEXCNT) { /* If you are here, you need to increase the number OS_MUTEXCNT. */ for (;;); } *mutex = &std_libmutex[nr_mutex++]; mutex_init (*mutex); return (1); } /* Filename: RTX_config.c */ // Standard library system mutexes // =============================== // Define max. number system mutexes that are used to protect // the arm standard runtime library. For microlib they are not used. #ifndef OS_MUTEXCNT #define OS_MUTEXCNT 17 #endif When I run from reset, I'm stuck in for(;;); line above. I hover on nr_mutex and value for nr_mutex is shown in the debugger as 0x80008000. How is this number getting assigned to nr_mutex? How to resolve this issue? Thank you! --------------------------------------- Posted through http://www.EmbeddedRelated.com
Should I really increase OS_MUTEXCNT to exit forever loop?
Started by ●June 25, 2013
Reply by ●June 25, 20132013-06-25
Why did you submit this question 4 times? Did you run into a technical issue of some sort on EmbeddedRelated? If you did, please use the contact form to report the issue: http://www.embeddedrelated.com/contact.php Stephane --------------------------------------- Posted through http://www.EmbeddedRelated.com