# RTEMS for Embedded Software Developers/RTEMS GIT Repository

This is a stub. A source to reference is: http://wiki.rtems.org/wiki/index.php/RTEMS_GIT_Repository The purpose of this section is to ensure new RTEMS developers know the existence, intent, and how to use existing RTEMS applications and addons available to the RTEMS community.
The website is http://git.rtems.org/ .

## Examples v2

stub.

### Hello World

The hello world example is designed to familiarize the user with using both the classic RTEMS interface, as well as the POSIX interface.
Include a screen shot of what the result should look like.
Now that the hello world application has been covered, we will move on to ...

### Ticker

A set of dynamic applications. Put in pedagogical order.
* Low Ticker Example: discuss what functionality it's testing, why that functionality is needed, and how to extend it.
* Low Ticker Example 1: discuss what functionality it's testing, why that functionality is needed, and how to extend it.
* Low Ticker Example 2: discuss what functionality it's testing, why that functionality is needed, and how to extend it.
* Ticker Example: discuss what functionality it's testing, why that functionality is needed, and how to extend it.

### Misc

Fill out each subsection with explanation
Ada main will be discussed in the Ada section
Qemu vfat: will be discussed with the File IO section
Minimum: a minimal example using the RTEMS application build system. Present before AppLib
x86_display_cpu: a simple, but functional, example of an RTEMS application.
Nano Second Tick Wrap: a simple, but functional, example of an RTEMS application
Application / Library (AppLib) another example of how to use the RTEMS build system
Board Support Package Command Line (BSPCmdline) is: ...
Extracting RTEMS information example: gets the assembler, cpu, compiler and linker flags from RTEMS. Walk the user through how to use the scheduling simulator as-is. Devise examples as necessary.

### benchmarks: nbench

Why to use nbench with RTEMS
What nbench tests
How to use nbench
What if: the developer used nbench to compare ...

### Gnu Debugger: GDB

An example for debugging...
Debugging is critical—this should be thoroughly discussed.
Debugging is somewhat complex, but generic so should be towards the end of the actual content, but before special topics.

### File IO / File system: In Memory File System

Why use the in memory file system
What is the in memory file system
Extending the example
File IO can lead to memory issues, and is somewhat specific, so present after GDB

### U Boot Environmental Variables: uboot
## RTEMS Addon Packages

Notes to author: Very little user interaction required. Porting your own custom libraries is another section.
Main purpose of this pass is to keep the warm/fuzzy feeling, while adding some fluency. Secondarily, show new users that there are addon packages to RTEMS.
Explain dependencies in a general way.
Discuss building and demo-ing the example tests.
Reference last part of: http://www.rtems.org/wiki/index.php/RTEMS_Add-On_Packages

## Multi IO

Gets a user started on the RTEMS shell quickly. Definitely hardware oriented. The first reference would be a good introduction to something slightly more complicated than Examples v2, while the second reference could be used to look at how to get networking to interact with the shell.
http://rtemsramblings.blogspot.com/2011_02_01_archive.html
http://rtemsramblings.blogspot.com/2011/09/rtems-pair-programming.html

## RTEMS Testing

Cover the simpler parts of this:
rtems-test-template: needed for illustrating how to make testsuites for rtems libraries.
qemu-support: needed for networking
sim-scripts: should be mentioned in last chapter so users of hardware not in Qemu can test code.
simple-build-script: cover this in last chapter to get users up-and-running quickly.

## rtems-libbsd

This looks like a way to ease users into networking, and should be covered prior to (or in conjunction with) network-demos.
Cover the tests. Include output.

## Network Demos

Discuss why the network demos.
Explain how to get TCP applications running on Qemu. http://www.rtems.org/wiki/index.php/QEMU
Extend the examples by showing how to get the desired output.
Extend the examples by showing bit-rates/performance/stress testing.
Extend the examples by having the application transmit information related to settings and statistics.

## OS Web Monitoring

This might be one of the ways to extend the network-demos.

## RTEMS Graphics Toolkit

If easy to explain walk the reader through building Micro-Windows and running on Qemu.
http://www.rtems.org/wiki/index.php/RTEMSGraphicsToolkit
As the knowledge from the RTEMS Graphics Toolkit are most likely not going to be built upon this will likely be a special topic.