Getting Started Example

If you have not created the Framework libraries already, please do so.

Rhapsody in C

Please verify the implementation of your compiler bridge and target bridge.

Open the Rhapsody project Blinky at the directory <your Rhapsody>\Share\WST_RXF_V5\<your product>\Samples\Model\Blinky:




TargetComponent is using the stereotype RXFComponent which is defined in the profile MonteVerdi. Each RXF by Willert Software Tools comes with its own profile with the stereotype RXFComponent. RXFComponent sets the proper environment, some properies for the RXF and defines some Tags. These Tags are used by the Deployer so it will use relative paths inside your Embedded Workspace project. The other profile referenced, WSTProfile, is used to set Rhapsody GUI details which makes it easier for you to view and maintain your models.

ExamplePkg, show the classes: SequentialController, ActiveController and LED:
The Rhapsody generated code from the ActiveController object results in a timer event, which is sent to the LED every 400 msec. The SequentialController object uses the LED_on() and LED_off() operations to switch another LED on and off, every 300 msec.

Select the proper environment via the Features and do this for both Configurations Debug and Release:



The Deployer which will deploy Rhapsody generated source files and some generated configuration files, needs information from your model on relative paths inside an Embedded Workbench  project:



It uses Tags from the stereotype RXFComponent which you must specify for your Component:

Note Each Rhapsody model must have a reference to the MonteVerdi profile and use the stereotype RXFComponent.
This will allow you to use the Tags. You can set them via the Features dialog for your component. MonteVerdi.sbs is installed in <Rhapsody>\Share\WST_RXF_V5\<product>\Config\Profiles\MonteVerdi_Profile_rpy

Use Code | Generate Debug to generate C code from this model, and accept the question to have the directory created for the Debug Configuration:




Use Code | Build TargetComponent.dat to generate




Now you can deploy the generated files. The model does not contain the location of your GettingStarted Embedded Workbench project on your PC; the Deployer will maintain that information instead. This enables one to have the same project used by different persons at different locations; the installation of the IAR toolchain on various PCs may differ.


Deployer

The very first time that the Deployer must deploy a project, it will automatically launch in configuration mode and ask for path(s). Select Code | Run TargetComponent.dat to start the Deployer:




The Deployer will prompt for the path to your GettingStarted workspace or project, so you must specify Rhapsody\Share\WST_RXF_V5\<your product>\Samples\Code\GettingStarted:





The Deployer knows from your model that it must search for a Embedded Workbench project file in that directory, which it will update with the names of the files it deploys:




After you saved the path to GettingStarted, the files are deployed to the Embedded Workbench project:






IAR Embedded Workbench

We created the example for version IAR Embedded Workbench V4.42 and  V5.11. The IAR C libraries, the embOS libraries and the CreateRXFLibrary examples can not be interchanged between the two versions: you must select the IAR version you are using.

Open the GettingStarted project in IAR Embedded Workbench, which is installed in the directory <your Rhapsody>\Share\WST_RXF_V5\<your  product>\Samples\Model\Code\Vx\GettingStated:





Now we can build the application and test it.

If you receive a message when debugging in IAR simulator like below, disable the Stack plugin on the Debugger tab of your project settings:






Note You must add an entry in the Rhapsody Tools menu, which launces the Deployer in Configuration Mode.
This allows you to change the path used by the Deployer for your EW project in case you want to use a different EW project for your Rhapsody project, or in case you moved the EW project. 

Copyright (c) Willert Software Tools GmbH. All rights reserved.