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 bridgetarget bridge, and RTOS bridge, in particular the functions WSTTarget_Init() and WSTRTOS_Init().

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 Strauss. 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 Keil uVision 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 a Keil uVision 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 Strauss 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. Strauss.sbs is installed in <Rhapsody>\Share\WST_RXF_V5\<product>\Config\Profiles\Strauss_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 Keil uVision 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 Keil 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 GettingStarted.uvproj 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 Keil uVision project:




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


Keil uVision IDE

Now open the GettingStarted project in Keil uVision, which is installed in the directory <your Rhapsody>\Share\WST_RXF_V5\<your  product>\Samples\Model\Code\GettingStated:



Now we can build the application and test it.

Note GettingStarted.uvproj is just an example uVision project which is supposed to only work with the default target and RTOS configuration. For you own uVision project, you need to take care of adding the correct (project specific) RL-ARM configuration file e.g. (RTX_Conf_CM.c) / system_LPC17xx.c and Keil-ARM-Startup.s to it.


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