Most of products from consumer electronics to industrial machinery uses microcontroller for its control. There are many commercial and academic real-time operating systems, but it is hard to find a real-time OS that suits both small embedded systems to large scale systems. In this paper, design policy and characteristics of the second version of EROCA(Embedded Real-time Operating system for Control Applications) is explained. The second version is highly modular, capable of making its size small by composing core sets of OS services, and also capable of providing many OS services with cost of increased size. APIs of EROCA follows the widely-used jITRON Specification 3.0 for better source-compatibility of its applications, and more features not included in the specification, such as memory protection, support for CAN networks, and prevention of priority inversion due to RPC, are added. Performance results of EROCA v2.0 are presented by measuring execution times of various system services, communication time, interrupt latency, and other runtime overheads such as scheduling overhead, task switching overhead and system call overhead. Results shows that EROCA performs better than QNX while providing user applications with more functionality. At last, an application example is presented, in which EROCA v2.0 can be used to improve overall performance of the system.