wiki:GSoC/GettingStarted
Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Version 5 (modified by JoelSherrill, on 01/21/09 at 02:44:30) (diff)

/* Configure and Build RTEMS */ More clean up and links

GSoC Getting Started

GSoC 2008 was the first time the RTEMS Project participated in the Google Summer of Code. After talking to mentors from other projects, we noticed that we all suffered from a "getting started" issue. You are more likely to have a successful project for any organization in GSoC if you are able to build their code, run their examples and make minor modifications. The quicker you cross this hurdle, the sooner you will be doing "real" work.

You will be best served by using a GNU/Linux distribution for which we provide RPMs. The core RTEMS developers use Fedora. As of January 20 2008, most core RTEMS developers have moved to Fedora 10. We will ALWAYS be on a version that is supported by the distribution.

Configure a Development Computer

This step involves the following steps.

  • Install or update GNU/Linux distribution as needed.
  • Install RTEMS Tools. See RTEMS Development Hosts for information but remember we encourage you to use Fedore and thus you will follow the APT/Yum instructions.

As you will be compiling code, it is recommended to have a reasonably fast machine.

Configure and Build RTEMS for SPARC/SIS

  • Bootstrap RTEMS (covered in Wiki page referenced above).
  • Build RTEMS for the SPARC/sis BSP. [[Image(Start]_shows_how_to_do_this.
  • _Run_hello_world_example_in_source_tree._
  • _Install_RTEMS.
  • _Build_hello_world_included_in_the_class-examples_CVS_module.
  • _Run_hello_world_example_in_the_class-examples_CVS_module._

The_sparc-rtems4.10-gdb_session_with_the_unmodified_hello_world_will_look_something_like_the_following:

SPARC-SIS-HelloWorld?.png)]]

Note_that_this_image_is_careful_not_to_show_you_how_to_configure_or_build_the_executable_being_run.

Configure_and_Build_RTEMS_for_"Preferred"_BSP

The_preferred_BSP_depends_on_your_project_but_your_first_choice_should_be_a_BSP_that_runs_on_a_simulator_included_in_gdb.SPARC/sis_is_a_good_candidate_because_it_is_easy_to_work_with.If_your_project_requires_a_BSP_to_support_TCP/IP_of_something_else_not_supported_by_SPARC/sis,_then_still_first_try_a_simple_environment_like_SPARC/sis_and_then_move_on_to_the_one_that_will_support_your_project.Discuss_your_project_requirements_on_the_RTEMS_mailing_list_and_let_the_community_help_point_you_in_the_right_direction.

If_SPARC/sis_is_not_the_right_test_platform_for_your_project_then_you_will_need_to_ensure_you_know_how_to_run_hello_world_on_your_preferred_BSP.

Prove_You_Can_Work_On_RTEMS

Modify_the_hello_world_example_in_the_class-examples_CVS_module_to_include_your_name.Something_like_"Hello_Fred!"._Then_send_us_enough_to_prove_to_us_that_you_did_this.We_want_to_know_you_can_work_with_RTEMS.

  • _Send_a_"cvs_diff"_of_your_changes.This_will_look_something_like_this:
Index:_init.c==  =============================================================

RCS_file:_/usr1/CVS/rtems/testsuites/samples/hello/init.c,v
retrieving_revision_1.15
diff_-u_-r1.15_init.c
---_init.c	11_Jan_2008_22:50:10_-0000	1.15
+++_init.c	20_Jan_2009_21:13:09_-0000
@@_-29,8_+29,9_@@
___rtems_task_argument_ignored
_)
_{
-__printf(_"\n\n***_HELLO_WORLD_TEST_***\n"_);
-__printf(_"Hello_World\n"_);
-__printf(_"***_END_OF_HELLO_WORLD_TEST_***\n"_);
+__printf(_"\n\n***_GSOC_HELLO_WORLD_TEST_***\n"_);
+__printf(_"This_is_Joel's_Hello_World\n"_);
+__printf(_"Welcome_to_RTEMS_and_Google_Summer_of_Code_2009\n"_);
+__printf(_"***_END_OF_GSOC_HELLO_WORLD_TEST_***\n"_);
___exit(_0_);
_}
  • _Take_a_"snapshot"_of_your_modified_hello_world_and_send_us_the_png._On_GNU/Linux,_you_should_be_able_to_press_the_"Prnt_Scrn"_button_or_use_the_"xwd"_command.This_is_a_snapshot_that_[[Image(oelSherrill_took_after_running_the_hello_world_program_with_the_above_changes.

TOC| right}}

GSoC 2008 was the first time the RTEMS Project participated in the Google Summer of Code. After talking to mentors from other projects, we noticed that we all suffered from a "getting started" issue. You are more likely to have a successful project for any organization in GSoC if you are able to build their code, run their examples and make minor modifications. The quicker you cross this hurdle, the sooner you will be doing "real" work.

You will be best served by using a GNU/Linux distribution for which we provide RPMs. The core RTEMS developers use Fedora. As of January 20 2008, most core RTEMS developers have moved to Fedora 10. We will ALWAYS be on a version that is supported by the distribution.

Configure a Development Computer

This step involves the following steps.

  • Install or update GNU/Linux distribution as needed.
  • Install RTEMS Tools. See RTEMS Development Hosts for information but remember we encourage you to use Fedore and thus you will follow the APT/Yum instructions.

As you will be compiling code, it is recommended to have a reasonably fast machine.

=Configure and Build RTEMS for SPARC/SIS=

  • Bootstrap RTEMS (covered in Wiki page referenced above).
  • Build RTEMS for the SPARC/sis BSP. [[Image(Start]_shows_how_to_do_this.
  • _Run_hello_world_example_in_source_tree._
  • _Install_RTEMS.
  • _Build_hello_world_included_in_the_class-examples_CVS_module.
  • _Run_hello_world_example_in_the_class-examples_CVS_module._

The_sparc-rtems4.10-gdb_session_with_the_unmodified_hello_world_will_look_something_like_the_following:

SPARC-SIS-HelloWorld?.png)]]

Note_that_this_image_is_careful_not_to_show_you_how_to_configure_or_build_the_executable_being_run.

==Configure_and_Build_RTEMS_for_"Preferred"_BSP==

The_preferred_BSP_depends_on_your_project_but_your_first_choice_should_be_a_BSP_that_runs_on_a_simulator_included_in_gdb.SPARC/sis_is_a_good_candidate_because_it_is_easy_to_work_with.If_your_project_requires_a_BSP_to_support_TCP/IP_of_something_else_not_supported_by_SPARC/sis,_then_still_first_try_a_simple_environment_like_SPARC/sis_and_then_move_on_to_the_one_that_will_support_your_project.Discuss_your_project_requirements_on_the_RTEMS_mailing_list_and_let_the_community_help_point_you_in_the_right_direction.

If_SPARC/sis_is_not_the_right_test_platform_for_your_project_then_you_will_need_to_ensure_you_know_how_to_run_hello_world_on_your_preferred_BSP.

==Prove_You_Can_Work_On_RTEMS==

Modify_the_hello_world_example_in_the_class-examples_CVS_module_to_include_your_name.Something_like_"Hello_Fred!"._Then_send_us_enough_to_prove_to_us_that_you_did_this.We_want_to_know_you_can_work_with_RTEMS.

  • _Send_a_"cvs_diff"_of_your_changes.This_will_look_something_like_this:
Index:_init.c
===================================================================

RCS_file:_/usr1/CVS/rtems/testsuites/samples/hello/init.c,v
retrieving_revision_1.15
diff_-u_-r1.15_init.c
---_init.c	11_Jan_2008_22:50:10_-0000	1.15
+++_init.c	20_Jan_2009_21:13:09_-0000
@@_-29,8_+29,9_@@
___rtems_task_argument_ignored
_)
_{
-__printf(_"\n\n***_HELLO_WORLD_TEST_***\n"_);
-__printf(_"Hello_World\n"_);
-__printf(_"***_END_OF_HELLO_WORLD_TEST_***\n"_);
+__printf(_"\n\n***_GSOC_HELLO_WORLD_TEST_***\n"_);
+__printf(_"This_is_Joel's_Hello_World\n"_);
+__printf(_"Welcome_to_RTEMS_and_Google_Summer_of_Code_2009\n"_);
+__printf(_"***_END_OF_GSOC_HELLO_WORLD_TEST_***\n"_);
___exit(_0_);
_}
  • _Take_a_"snapshot"_of_your_modified_hello_world_and_send_us_the_png._On_GNU/Linux,_you_should_be_able_to_press_the_"Prnt_Scrn"_button_or_use_the_"xwd"_command.This_is_a_snapshot_that_[[Image(oelSherrill_took_after_running_the_hello_world_program_with_the_above_changes.

[[Image:SPARC-SIS-HelloWorld-Modded.png)]]

If your project requires more of a test environment than SPARC/sis provides, then repeat the hello world steps on the BSP we help you select. If your project involves developing a new BSP, then you may want to run on a BSP from the same target architecture on a simulator. Again we will help you select the BSP.

We will assist you in anyway possible along the way. We want you to have a functional RTEMS Development Environment as soon as possible so you can move on to the real project.

Attachments (2)

Download all attachments as: .zip