= SOC TinyRTEMS = = Project Description = RTEMS is a real-time embedded operating system. Currently, a minimum RTEMS application will automatically include part of reentrant C library, shutdown code and filesystem infrastructure. These codes are hard to remove because they are tightly coupled with other kernel components. TinyRTEMS would focus on breaking linkages between components so they can be configured by the user. The goal is to be able to provide the user with a full featured RTEMS library and defer as much configuration as possible to application configuration and link time. In this project, I will introduce several changes to RTEMS source code and its build system to make it more 'tiny', configurable and scalable. These include: an alternative lightweight standard POSIX file I/O interface; more configuration options and simplified configuration steps; modifications to the source code to take more features out at the user's discretion. And finally I will give a well-written User's Manual and a Design & Implementation description in detail. The original proposal is available here: [wiki:Projects/TinyRTEMS Tiny RTEMS] [wiki:Developer/OpenProjects Open Projects] = Mentor = Ray,Xu = Status = Currently I am working on the design description, specifically on the POSIX file I/O routines. = Project Schedule = 1.Design Description( before 2008.5.30 ) 2.Source code and Implemetation Description( before 2008.7.20 ) 3.Test cases and Test Report( before 2008.8.10 ) 4.User's Manual( before 2008.8.25 ) = Progress = 2008.4.25: Set up RTEMS development envrioment(ARM and i386); Get QEMU run; Review newlib C reentrancy code and learn some knowledge about autoconf and auotmake 2008.5.6 : ticker(rtl22xx bsp) now can run on skyeye 2008.5.18: splitted newlibc reent related files, made newlibc reent hooks optional, genenrated diff file for rtems-4.8.0; start to document the work that has been done. 2008.5.28: finish the first version of documents, Ray is reviewing it; preparing to next step 2008.6.4: discuss filesytem details with Ray 2008.6.16: finish coding 'device-only' filesystem, testing is underway(skyeye and qemu) 2008.6.30: integrate 'device-only' filesystem to rtems; changed ticker.exe to use printk instead of printf 2008.7.2: add doxygen style commets to the header file, split source files, make it one function per file 2008.7.6: make a new version of ticker according to Ray's suggestion 2008.7.8: update my code base to the CVS 2008.7.9: send patches( newlibc and filesystem ) to Ray for review 2008.7.11: send devfs code to Ray for review 2008.7.14: fixup code 2008.7.17: eliminate the _reent structure defined in RTMES, using the one defined in newlib instead 2008.7.19: testing newlib patch on real hardware(sparc) 2008.7.23: testing devfs code on real hardware(sparc) 2008.7.25: add a data member to the main device table structure; add devFS_stat function ; fixup code of devFS_Show function 2008.7.30: tesing new code on real hardware(sparc); console driver and our CAN driver works successfully with devfs code 2008.8.5: with Ray's lasted patch for arm, rtems cvs can successfully run on skyeye; test minimum.exe with skyeye configuration of 32KB ram 2008.8.6: updated the comments in the header files 2008.8.8: sending Ray the latest document for review; add comments to the testcase = Deliverables = Google Code Site: http://code.google.com/p/tiny-rtems/ Links to Source Code * TBD - list of URLs at Google Code = Student Information = My name is Miao,Yan. I am a second year granduate student from Institute of Software Chinese Academy of Sciences