Jump to content

RTEMS for Embedded Software Developers/RTEMS GIT Repository

From Wikibooks, open books for an open world

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

[edit | edit source]

stub.

Hello World

[edit | edit source]

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

[edit | edit source]

A set of dynamic applications. Put in pedagogical order.

  1. Low Ticker Example: discuss what functionality it's testing, why that functionality is needed, and how to extend it.
  2. Low Ticker Example 1: discuss what functionality it's testing, why that functionality is needed, and how to extend it.
  3. Low Ticker Example 2: discuss what functionality it's testing, why that functionality is needed, and how to extend it.
  4. Ticker Example: discuss what functionality it's testing, why that functionality is needed, and how to extend it.

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

[edit | edit source]

Why to use nbench with RTEMS

What nbench tests

How to use nbench

What if: the developer used nbench to compare ...

Gnu Debugger: GDB

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

RTEMS Addon Packages

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

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

RTEMS Graphics Toolkit

[edit | edit source]

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.