![]() |
![]() |
![]() |
6.4 Using the pRISM+ Application Development Framework
This section provides a detailed description of the pRISM+ Application Development framework. In this section you will see how the SNiFF+ concepts discussed in the previous section are applied in pRISM+
6.4.1 Team Development Support
The pRISM+ Application Development Framework is designed to address the needs of team-based embedded development projects based on pSOSystem. While the default configuration supports team development, single users can also reap the benefits of this setup. This section describes the Team Support aspects of the pRISM Application Development Framework.
You are encouraged to refer to the SNiFF+ manuals for related concepts on team development. This section does not replace the SNiFF+ reference material on this subject. While all the SNiFF+ features are available to pRISM+ users, this document is produced to describe the use of these features within pRISM+.
6.4.2 pRISM+ Default Working Environments Settings
The pRISM+ Application Development Framework provides the following default Working Environments:
- RWE:pSOSystem-Repository
- SSWE:pSOSystem-$CPU_FAMILY
- SSWE:pSOSystem-$CPU_FAMILY-User
- PWE:$CPU_FAMILY-Private
RWE:pSOSystem-Repository
This is the Repository Working Environment (RWE) for pSOSystem code base. A repository contains version-controlled files of a project. Close examination of the Working Environment Root field shows that this Working Environment oints to the location
$PSS_USER_RWE
. By default the environment variable is set inenv$CPU_FAMILY.ksh
to$PSS_USER_SHARED/Repository
, whereas$PSS_USER_SHARED
is set to$PRISM_INSTALL_DIR/users/common
.
For further information refer to Appendix B
FIGURE 6-5 Repository Working Environment (RWE)This Working Environment Root can be modified to point to any other directory where you keep source control information for your code base. If your project has an existing repository and you would like pSOSystem to be checked into your existing repository, then you should point the Repository Working Environment Root to the location of your repository.
Once you have set up your RWE root, you should check in all of your pSOSystem source files when starting your first "real" project. This needs to be done once and needs to be repeated only after updating the pSOSystem file (e.g. by applying a pRISM+ Service Pack). For instructions on how to do this with various CMVC Tools, refer to the SNiFF+ User's Guide located in
$SNIFF_DIR/doc/usersguide.pdf
, if the docu package is installled.SSWE:pSOSystem-$CPU_FAMILY
This is the Shared Source Working Environment (SSWE), which contains the actual pSOSystem source-code base and pre-parsed pSOSystem source projects. Close examination of the Working Environment Root field shows that this Working Environment points to
$PSS_ROOT
, the location of pSOSystem in your installation.
FIGURE 6-6 Shared Source Working Environment (SSWE)This Working Environment Root can be modified to point to the actual location of the pSOSystem code base your development team will share.
You can easily modify this WE root by redefining the
$PSS_ROOT
environment variable in the start-up script in your pRISM+ installation directory.
- On Windows hosts: Modify the
env$CPU_FAMILY.ksh
file.- On UNIX hosts: Modify the
envv$CPU_FAMILY.sh
orenvv$CPU_FAMILY.csh
file.Once this SSWE points to your team's shared version of pSOSystem, you are on your way to doing team development with a common pSOSystem with team members.
NOTE: Figure 6-6 shows a PowerPC-specific version of the SSWE. In general, the SSWE is identified as SSWE:pSOSystem-$CPU_FAMILY
, where$CPU_FAMILY
can be any one of68k
,arm
,mips
,ppc
andx86
as appropriate for your particular target processor.SSWE:pSOSystem-$CPU_FAMILY-User
This Shared Source Working Environment (SSWE) is pointed to by a user-defined environment variable
$PSS_USER_SSWE
. This environment variable points to the root directory of any existing code base which you will integrate with pSOSystem.You can redefine the
$PSS_USER_SSWE
environment variable in the start-up script in your pRISM+ installation directory.
- On Windows hosts: Modify the
env$CPU_FAMILY.ksh
file.- On UNIX hosts: Modify the
envv$CPU_FAMILY.sh
orenvv$CPU_FAMILY.csh
file.You can also choose to copy your existing code base into the default location provided by
$PSS_USER_SSWE
.
FIGURE 6-7 Shared Source Working Environment for Customer's CodeOnce you define this SSWE to contain your existing code base, you can then create your source projects in this SSWE. This results in a source projects that a team members can share. This SSWE is derived from the first SSWE which points to
$PSS_ROOT
.SNiFF+ Working Environments allows you to easily integrate your code with pSOSystem code so you can browse them together. Code you do not plan to use with pSOSystem does not have to be located in a SSWE derived from the SSWE which points to the shared pSOSystem.
You can extend this concept further to more than one additional SSWE if your existing code base resides under more than one root directory.
NOTE: Figure 6-7 shows a PowerPC-specific version of the SSWE. In general, this SSWE is identified as SSWE:pSOSystem-$CPU_FAMILY-User
, where$CPU_FAMILY
can be any one of68k
,arm
,mips
,ppc
andx86
as appropriate for your particular target processor.PWE:$CPU_FAMILY-Private
This is the Private Working Environment (PWE) for a private user who is on the team sharing the common pSOSystem. By default the PWE points to your
$PSS_USER_PWE
, a subdirectory of your home directory.
FIGURE 6-8 Private Working Environment (PWE)
NOTE: Figure 6-8 shows a PowerPC-specific version of the PWE. In general, this PWE is identified as PWE:$CPU_FAMILY-Private
, where$CPU_FAMILY
can be any one of68k
,arm
,mips
,ppc
andx86
as appropriate for your particular target processor.
You can redefine the
$PSS_USER_PWE
environment variable in the start-up script in your pRISM+ installation directory.
- On Windows hosts: Modify the
env$CPU_FAMILY.ksh
file.- On UNIX hosts: Modify the
envv$CPU_FAMILY.sh
orenvv$CPU_FAMILY.csh
file.6.4.3 Restoring the Default Working Environment Settings
When you start SNiFF+, it sources a set of preference files to get its initial settings. To view the default preferences set by the pRISM+ installation program, use Tools >Preferences to display the SNiFF+ Preferences Window, as shown in Figure 6-9.
FIGURE 6-9 Default Working Environment Settings LocationFigure 6-9 shows that when you start SNiFF+, it looks in the directory
$PSS_ROOT/workingenvs/SNiFF3.2_pRISM2.0/$CPU_FAMILY
for Working Environment settings, and that it uses adm PWE:$CPU_FAMILY-Private as the default working environment to open projects.
NOTE: Figure 6-9 shows PowerPC-specific General Settings, where $CPU_FAMILY is set to "ppc".
6.4.4 What Can You Do with pRISM+ Team Support?
Here let's use a typical setup of a team to take a closer look at what pRISM+ team support can do for you. The example setup is as follows:
- The team shares one common pSOSystem, located on a remote UNIX host named muse.
- The muse host contains the version control repository in directory
team_repository
.- The team is comprised of two developers, Joe Developer and Jane Developer, who use PCs as their development stations.
- Joe Developer and Jane Developer both have third-party PC NFS software which allows them to access the UNIX file system.
- Joe Developer and Jane Developer have installed pRISM+ on each of their PCs and they are ready to start development of their project based on a pSOSystem sample application,
pdemo
.Before they started, their SSWE administrator performed the following tasks:
- Created a copy of pSOSystem code on muse and checked all of the pSOSystem code into RCS, this team's version control tool of choice.
- Made sure that Joe Developer and Jane Developer have been able to mount muse's file system as a local drive, as
e:\muse
, on their respective PCs.For both Joe Developer and Jane Developer, pSOSystem is now located at
e:\muse\pSOSystem_share
.- Edited
env
$CPU_FAMILY.ksh
in Joe Developer and Jane Developer's individual pRISM+ installation directory to make$PSS_ROOT
point toe:\muse\pSOSystem_share
.Now Joe Developer and Jane Developer are able to open
pdemo.shared
and see the read-only version of the shared files. They can both work onpdemo.shared
by checking out files from the repository. When they make changes to a local copy of the shared files, this local file will override the shared file during a make.When no more changes are needed, Joe Developer and Jane Developer can check their changes back into the repository. Their changes will be made visible to the team when their system administrator performs an update of their SSWE.
NOTE: The standard pSOSystem applications are NOT intended for SSWE update by the Administrator. Please use the "Start with existing code base" projects in the pRISM+ Wizard.
![]() |
![]() |
![]() |