189 | | = Eclipse Integration = |
190 | | |
191 | | |
192 | | See also: [wiki:Developer/Eclipse/Information RTEMS Eclipse Page]. |
193 | | = CEXP = |
194 | | |
195 | | |
196 | | '''Status:''' [wiki:ChrisJohns ChrisJohns] has started this effort. Contact him for |
197 | | information on how you can help. |
198 | | |
199 | | The goal of this project is to integrate CEXP into the main RTEMS Project. |
200 | | By integrating CEXP into the main RTEMS Project, it can more easily be |
201 | | updated to stay in sync with the main code base and re-released as new |
202 | | RTEMS versions come out. |
203 | | |
204 | | [http://www.slac.stanford.edu/comp/unix/package/rtems/doc/ CEXP] in |
205 | | conjunction with GeSYS provide RTEMS with capabilities long familiar to |
206 | | VxWorks users. They provide a base system and the ability to dynamically |
207 | | load software modules onto the embedded system. Without this system, |
208 | | RTEMS can only be used with statically linked executables in which |
209 | | the entire application is linked together with RTEMS and loaded onto |
210 | | the board. |
211 | | |
212 | | |
213 | | Till Straumman wrote CEXP and GeSYS anbd provides instructions and a |
214 | | Live CD to demonstrate it running with the target environment on qemu. |
215 | | This would be useful to someone on this project because it provides a |
216 | | baseline reference for what the software does. |
217 | | = Application Configuration GUI = |
218 | | |
219 | | |
220 | | '''Status:''' No active volunteers. |
221 | | |
222 | | '''Status:''' Sebastian Huber |
223 | | |
224 | | The goal is to have a graphical tool to configure RTEMS for a certain |
225 | | Application e.g. max number of tasks, semaphores etc. It could |
226 | | generate a userconf.h which includes confdefs.h. The complete list |
227 | | of RTEMS configuration parameters for version 4.9.1 of RTEMS are documented in the |
228 | | [http://www.rtems.org/onlinedocs/releases/rtemsdocs-4.9.1/share/rtems/html/c_user/c_user00039.html |
229 | | Configuring a System] chapter in the User's Guide. |
230 | | |
231 | | There are a variety of ways to approach this project. |
232 | | |
233 | | * One solution is to write a GUI in Python. This should be cross-platform. |
234 | | * Another solution could be a Wizard/Editor for Eclipse. |
235 | | * Another solution is to use the config infrastructure used by the GNU/Linux kernel. |
236 | | * Another approach would be to use the configuration GUI from eCos and NutOS: http://www.ethernut.de/en/software/nutconf.html |
237 | | |
238 | | [wiki:TBR/User/JoelSherrill JoelSherrill] has used the GNU/Linux kernel config infrastructure for |
239 | | similar jobs in the past and things it is likely the best alternative |
240 | | as a baseline. This would certainly provide multiple interfaces on |
241 | | GNU/Linux hosts (e.g. X11, menu, command line). But we would like |
242 | | a solution that also addresses MS-Windows users. |
243 | | |
244 | | A better possibility is to write a GUI program in Python which reads an XML format file describing the RTEMS configuration parameters. As the user set values, the program would store this information in another XML format file. When it was time to write the C code to use with the RTEMS application, the GUI application would write that. So we would have: |
245 | | |
246 | | * XML file describing RTEMS configuration parameters |
247 | | * XML save file with user settings |
248 | | * C/H file output for use with RTEMS application |
249 | | = Automated GNU Tools Testing = |
250 | | |
251 | | |
252 | | '''Status:''' |
253 | | * [wiki:TBR/User/JoelSherrill JoelSherrill] is slowly building test scripts. He has reported gcc results on mulitiple targets. |
254 | | * The CVS module gcc-testing has the support infrastructure. |
255 | | * Some targets are not tested on simulators yet. |
256 | | * Skyeye has some bugs preventing testing on Coldfire and Blackfin. |
257 | | * There seem to be regression checking scripts we need to utilize to help reduce the burden of tracking results. |
258 | | * There are tests which spuriously fail due to the test infrastructure issues. |
259 | | * not knowing we add specific CPU options which prevent generating expected instructions on "scan assembly" tests |
260 | | * missing instructions in simulators |
261 | | * Want to eventually run on multiple BSPs inside a single target architecture to cover more code generation possibilities. |
262 | | |
263 | | |
264 | | This project broadly consists of doing whatever is required to automate testing of GNU tools on RTEMS targets. The first steps are to be able |
265 | | to automate the building of binutils, gcc/newlib, and gdb from source using either released versions of the tools or the development version |
266 | | checked out and updated from the source code control repositories of those projects. This step is largely complete with the test scripts |
267 | | in the CVS module ''gcc-testing''. |
268 | | |
269 | | Since there are approximately a dozen active RTEMS targets, this ultimate goal of this effort is to be able to test at least one BSP on all targets. Some of the targets |
270 | | have simulators. If there are executable tests, then the project will have to address being able to run those executable tests on the simulators capturing the output and |
271 | | verifying tests do not run too long. |
272 | | |
273 | | The volume of test data generated is very high with GCC having over 60,000 tests. We need to be able to generate deviation reports which highlight changes between subsequent test runs. We believe a script to do this exists although the integration of that into the overall test system needs to occur. Also the deviation report should be emailed to the RTEMS Tool Test Results mailing list (http://www.rtems.org/pipermail/rtems-tooltestresults). |
274 | | |
275 | | The RTEMS Project has access to the GCC Compile Farm for the purpose of testing GNU tools and providing automated reports. This is a collection of high power servers and our intent is to do as much of the automated tools testing as possible on those machines. But the scripting needed to drive this will be portable to other environments. |
276 | | |
277 | | The RTEMS Project has a lab or test hardware hosted at OAR Corporation which includes multiple target boards and infrastructure to remotely |
278 | | access as well as power on/off each board. Once the simulator targets have been completely exercised, we will want support running executable |
279 | | tests on real embedded hardware targets -- with highest priority going to those with no simulator. |
| 189 | |
| 190 | The following areas have been identified for projects: |
| 191 | |
| 192 | * Improvements in the [wiki:Developer/Eclipse/Information RTEMS Eclipse Integration] |
| 193 | * [wiki:Projects/CEXP CEXP] integration into main RTEMS distribution. |
| 194 | * Implement a cross-platform [wiki:Projects/GSoC/ApplicationConfigurationGUI Application Configuration GUI]. |
| 195 | * Improve [wiki:Projects/GNUToolsTesting Testing of the GNU Tools] on RTEMS targets |
| 196 | * TBD Move other descriptions to their own page and list here. Shorten master page. |