Changes between Version 362 and Version 363 of Developer/OpenProjects


Ignore:
Timestamp:
Nov 23, 2014, 4:35:04 AM (5 years ago)
Author:
Chris Johns
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Developer/OpenProjects

    v362 v363  
    22
    33
    4 '''[http://sophia.estec.esa.int/socis/ ESA Summer of Code in Space 2014] students''' are highly encouraged to select from projects which improve our automated testing. High priority projects include reworking out Coverage Reports to report on a per software module or directory basis, integrating the coverage test executing with the new rtems-test infrastructure, adding more capabilities to the rtems-test infrastructure, and enhancing the RTEMS Source Builder to support more simulators and integrate testing. Some of these projects are described in the [wiki:Open_Projects#Testing Open Projects#Testing] section below. Please discuss your ideas with the RTEMS community. Together we will put together a project plan that maximizes your skill set and benefit to the RTEMS Project.
     4'''[http://sophia.estec.esa.int/socis/ ESA Summer of Code in Space 2014] students''' are highly encouraged to select from projects which improve our automated testing. High priority projects include reworking out Coverage Reports to report on a per software module or directory basis, integrating the coverage test executing with the new rtems-test infrastructure, adding more capabilities to the rtems-test infrastructure, and enhancing the RTEMS Source Builder to support more simulators and integrate testing. Some of these projects are described in the [wiki:Developer/OpenProjects#Testing Open Projects#Testing] section below. Please discuss your ideas with the RTEMS community. Together we will put together a project plan that maximizes your skill set and benefit to the RTEMS Project.
    55
    66Welcome! Whether you're here because of [wiki:GSoC  Summer of Code (SOC)] or just want to scratch an itch to hack, we invite you to peruse our projects and ask about them on the [wiki:TBR/Website/RTEMSMailingLists  RTEMS mailing list] or [wiki:Developer/IRC IRC].  If you plan to submit a proposal to do something for the RTEMS Project as part of a SOC, see [wiki:GSoC/GettingStarted  Getting Started for SoC Students]. RTEMS projects span kernel hacking, adding support for a new board (BSP), improving the development environment, developing tests, and more.
    77
    8 If you want to get your feet wet with RTEMS then check out our [wiki:Small_Projects_  small projects page] where you can find projects that require little coding skill and are appropriate for those new to RTEMS or open source software projects. If you are interested in one of these projects but are not able to code and test it yourself, consider sponsoring one of the core RTEMS developers to do it for you. Volunteering or sponsoring is how things get done -- users keep RTEMS development alive!
     8If you want to get your feet wet with RTEMS then check out our [wiki:Developer/SmallProjects  small projects page] where you can find projects that require little coding skill and are appropriate for those new to RTEMS or open source software projects. If you are interested in one of these projects but are not able to code and test it yourself, consider sponsoring one of the core RTEMS developers to do it for you. Volunteering or sponsoring is how things get done -- users keep RTEMS development alive!
    99
    1010Most of these projects will take between a few weeks and a few months of effort by a person who is familiar with the general use of GNU/Linux and GNU tools.  Many RTEMS projects are done by student or volunteer coders, so we try to define small projects or subtasks that can be completed and committed individually. Most of the projects are feasible as a [wiki:GSoC  Summer of Code] project.  Since some projects have multiple steps, students should work with prospective mentors to define the scope of work in their proposal.  Similarly, some projects might be a starting point for a class project or graduate thesis.
     
    3030  *  [wiki:Developer/Testing/Specifications RTEMS Test Specification] - Need a formal test specification.  Ideally, inspired by http://softwaretestingstandard.org/ some notes about existing test specifications can be found http://www.rtems.org/wiki/index.php/GoogleCodeInProjects#Test_Documentation_Files_update .
    3131  *  [wiki:RTEMS_Test_Screen_Validation RTEMS Test Screen Validation] - This requires expertise in a unit testing framework, probably DejaGnu, and will probably need to be tied into [http://git.rtems.org/rtems-testing/ rtems-testing].
    32  *  '''[wiki:RTEMS_Test_Coverage  Test Coverage Analysis]''' - Improve coverage by adding more test cases. Eliminating dead code and reaching 100% coverage helps reduce the likelihood of new and recurrent bugs. (SOCIS)
     32 *  '''[wiki:TBR/UserManual/RTEMS_Coverage_Analysis  Test Coverage Analysis]''' - Improve coverage by adding more test cases. Eliminating dead code and reaching 100% coverage helps reduce the likelihood of new and recurrent bugs. (SOCIS)
    3333  *  Write a tutorial, modify a [wiki:TBR/Delete/Fault_injection Fault injection] tool to work with RTEMS
    3434 *  Test the [wiki:Projects/POSIXFIFOs  POSIX FIFO Implementation].
    35  *  [wiki:RTEMSgprof_  Add support for gprof output to covoar]
     35 *  [wiki:GSoC/2011/gprof  Add support for gprof output to covoar]
    3636 *  Improve [wiki:Projects/GNUToolsTesting  Testing of the GNU Tools] on RTEMS targets
    3737 *  ''[wiki:TBR/Delete/POSIXTimingTests  POSIX Timing Tests]''
    38  *  ''Add [wiki:RTEMSgcov_  support for gcov output] to covoar so tools like gcov and lcov can be used with RTEMS ([wiki:Projects/GCOVSupport another page here])''
     38 *  ''Add [wiki:GSoC/2011/gcov  support for gcov output] to covoar so tools like gcov and lcov can be used with RTEMS ([wiki:Projects/GCOVSupport another page here])''
    3939 *  ''[wiki:Projects/POSIXComplianceTestSuite  POSIX Compliance Test Suite]''
    4040 *  [wiki:Projects/Open/SimulatorUpdates Simulator Updates] - Test BSPs that target simulators to find and fix problems. (SOCIS)
     
    5454
    5555The projects in this category are more focused on the development of software that runs on RTEMS on target hardware.
    56 = Executive (SuperCore, SuperCoreCPU, libcpu): a.k.a. kernel =
     56= Executive (!SuperCore, SuperCoreCPU, libcpu): a.k.a. kernel =
    5757
    58  *  ''[wiki:SMP_  Improvements to SMP support]'' - Multiprocessing is of increasing importance. This is a large project and subtasks should be identified before writing any proposal.
     58 *  ''[wiki:Developer/SMP  Improvements to SMP support]'' - Multiprocessing is of increasing importance. This is a large project and subtasks should be identified before writing any proposal.
    5959  *  '''[wiki:Projects/Condition_Variables Condition Variables]''' for the Classic API and supercore.
    60  *  Unified Interrupt and PCI APIs -- [wiki:UnifiedAPIs UnifiedAPIs]
     60 *  Unified Interrupt and PCI APIs -- [wiki:GSoC/2013/UnifiedAPIs UnifiedAPIs]
    6161 *  [wiki:Projects/SystemEvents  kqueue(2) or taskqueue(9)] is a project to port the kqueue(2) or taskqueue(9) API from FreeBSD.
    6262 *  [wiki:Projects/TinyRTEMS TinyRTEMS] is an umbrella term that corresponds to any activities or ideas that could shrink the code and data space requirements for RTEMS.  The goal is to progressively lower the minimum CPU requirements.
    63  *  Improve the RTEMS [wiki:SuperCore_Scheduler_  SuperCore Scheduler]
    64  *  ''[wiki:RTEMS_Paravirtualization_  Paravirtualization]'' of RTEMS to make it suitable to be run as a guest OS in a hypervisor.
     63 *  Improve the RTEMS [wiki:Projects/Scheduler  SuperCore Scheduler]
     64 *  ''[wiki:Projects/Paravirtualization  Paravirtualization]'' of RTEMS to make it suitable to be run as a guest OS in a hypervisor.
    6565 *  ''[wiki:Projects/SequencedInitialization  RTEMS Sequenced Initialization]'' is a project to allow RTEMS initialization to be dynamically constructed based upon user requirements.  It would be like C++ global constructors conceptually.
    6666 *  ''[wiki:GSoC/2011/ISO9660_Filesystem  ISO9660 file system]''
    6767= Debugging =
    6868
    69  *  [wiki:RTEMS_Trace_Tool_  Run-Time Tracing] - includes gathering, capturing, and displaying information to the user.
     69 *  [wiki:Projects/TraceTool  Run-Time Tracing] - includes gathering, capturing, and displaying information to the user.
    7070 *  [wiki:Projects/CPU_Statistics CPU Statistics] - Improvements to CPU Usage Statistics. (SOCIS)
    7171 *  [wiki:Projects/Open/StackChecker Stack Checker] - Improvements to Stack Bounds Checker. (SOCIS)
     
    7474 *  RTEMS can always use [wiki:TBR/Delete/MoreBSPsForSimulators  more BSPs for Simulators].  Being able to test, debug, and perform coverage analysis on simulators is critical to the ongoing success of the project.
    7575 *  We always welcome new BSPs for useful targets. Of special interest are readily available boards and open cores.
    76  *  ''[wiki:MMU_Support_  MMU Support]'' Implement MMU low-level support code for more BSPs.
     76 *  ''[wiki:Projects/MMU_Support  MMU Support]'' Implement MMU low-level support code for more BSPs.
    7777 *  [wiki:Projects/GSoC/OpenRISC Porting RTEMS to OpenRISC].
    7878 *  ''[wiki:TBR/BSP/Raspberry_Pi_BSP_Peripherals Raspberry Pi BSP Peripherals]'' Add peripheral support to the Raspberry Pi BSP.
     
    8383 *  Investigate the feasibility of implementing applicable sections of the [http://en.wikipedia.org/wiki/IEC_61131 IEC 61131] standard to enable RTEMS-enabled hardware to act as a [http://en.wikipedia.org/wiki/Programmable_logic_controller Programmable Logic Controller].  More information on the IEC 61131 standard can be found at http://www.plcopen.org/ .  [http://www.beremiz.org/] is an open source framework for automation that may be a useful starting point.
    8484 *  ''ARINC653 API support within RTEMS [wiki:Projects/GSoC/ARINC653API ARINC653API]''
    85  *  ''Implement [wiki:POSIX_Asynchronous_IO_  POSIX Asynchronous and List IO]''
    86  *  ''[wiki:Projects/POSIX_Methods_in_NewLib_RTEMS_improvements POSIX Methods in NewLib RTEMS improvements]'' make methods in RTEMS and NewLib more POSIX compliant (SOCIS)
     85 *  ''Implement [wiki:Projects/POSIX_Asynchronous_IO  POSIX Asynchronous and List IO]''
     86 *  ''[wiki:Projects/POSIX_Methods_in_NewLib_RTEMS_improvements POSIX Methods in NewLib RTEMS improvements]'' make methods in RTEMS and !NewLib more POSIX compliant (SOCIS)
    8787= rtems-libbsd =
    8888
     
    9292
    9393 *  [wiki:Projects/Mono Mono On RTEMS]
    94  *  Port the [http://code.google.com/p/v8/ Javascript V8 engine] to RTEMS. V8 is high performance JavaScript engine written in C++ and embeddable in C++ applications. With V8 it would be easier to build web servers with javascript and even run js framework node.js.
     94 *  Port the [http://code.google.com/p/v8/ Javascript V8 engine] to RTEMS. V8 is high performance !JavaScript engine written in C++ and embeddable in C++ applications. With V8 it would be easier to build web servers with javascript and even run js framework node.js.
    9595= Libraries and Applications =
    9696
     
    124124  *  [wiki:Projects/SixtyFourBitTimestamps  Sixty-Four Bit Timestamps]
    125125  *  [wiki:Projects/Refactor_the_filesystem_infrastructure Refactor the filesystem infrastructure]
    126   *  Use [wiki:UseHashOrMapInNotepadsAndKeys_  Maps or Hashes] in the implementation of Classic API Notepads and POSIX API Keys.
     126  *  Use [wiki:TBR/Delete/UseHashOrMapInNotepadsAndKeys  Maps or Hashes] in the implementation of Classic API Notepads and POSIX API Keys.
    127127  *  [wiki:Projects/GSoC/Bdbuf_improvements Bdbuf improvements]. The current block device buffer implementation can benefit from a number of improvements.
    128128 *  Languages
     
    135135Some projects have been proposed that are viewed as being of minor use. This list is meant to provide a way to avoid wasted effort on projects that are not widely desired. However, projects on this list might still be useful to someone, given a motivated individual to work on them.
    136136
    137  *  Various ideas have been proposed related to using RTEMS as a [wiki:RTEMSHyperVisor_  hypervisor]. The lack of protected (kernel mode) execution precludes any feasible implementations.
    138  *  Merge [wiki:SimpleScalar_  BSP for Simplescalar simulator]. The BSP is heavily bit-rotted and the simulator is a dead project.
    139  *  [http://code.google.com/p/rosetta-os Rosetta OS] [[RosettaOSDeviceDriverAPI| OS Independent Device Driver API]].
     137 *  Various ideas have been proposed related to using RTEMS as a [wiki:Projects/Hypervisor  hypervisor]. The lack of protected (kernel mode) execution precludes any feasible implementations.
     138 *  Merge [wiki:Developer/Simulators/SimpleScalar  BSP for Simplescalar simulator]. The BSP is heavily bit-rotted and the simulator is a dead project.
     139 *  [http://code.google.com/p/rosetta-os Rosetta OS] [wiki:Projects/RosettaOSDeviceDriverAPI  OS Independent Device Driver API].
    140140 *  Implement current version of µITRON Interface [http://www.www.tron.org/index-e.html]. itron support was removed from RTEMS due to lack of interest.
    141  *  More [[libbsd-port| NIC device drivers]]. See instead [wiki:Projects/TCP/IP_update TCP/IP update].
     141 *  More [[TBR/Delete/Libbsd-port| NIC device drivers]]. See instead [wiki:Projects/TCP/IP_update TCP/IP update].
    142142 *  Integrate [wiki:Projects/CEXP CEXP] into main RTEMS distribution. Possible licensing issues, please apply to the RTL project instead.
    143  *  Scripts and documentation for creating and installing prebuilt tool packages [wiki:Building/RPM_Packages Building Tool RPM Packages], [[DebianHostedTools| Debian Packages]], [[MacOSHostedTools|MacOS tools]], [wiki:TBR/UserManual/MinGW_Tools_for_Windows MinGW Tools for Windows], [wiki:TBR/Delete/Canadian_Cross_Compiler Canadian Cross Compiler]. Please apply to the [[RSB]] project instead.
     143 *  Scripts and documentation for creating and installing prebuilt tool packages [wiki:Building/RPM_Packages Building Tool RPM Packages], [[Building/DebianHostedTools| Debian Packages]], [[TBR/Delete/MacOSHostedTools|MacOS tools]], [wiki:TBR/UserManual/MinGW_Tools_for_Windows MinGW Tools for Windows], [wiki:TBR/Delete/Canadian_Cross_Compiler Canadian Cross Compiler]. Please apply to the [[RSB]] project instead.