Processor Expert Software RAppID Suite Overview FTF-AUT-F0074 Sudhakar Srinivasa Senior Software Engineer A P R. 2 0 1 4 TM External Use
Session Introduction This one hour session covers: Overview of Processor Expert Software, RAppID Suite tool for Qorivva MPC57xx processors. Overview of User Interface Documentation features Code generation features Creating blinking LED example project using RAppID Suite tool A brief introduction to other RAppID (Rapid Application Initialization & Documentation tool) based initialization tools for other Qorivva families External Use 1
Session objectives After completing this session you will be able to: Use PinSetting component for configuration of pins Quickly use RAppIDSuite tool for configuration of peripherals of Qorivva MPC57xx processors. Generate extensive documentation after initialization using RAppIDSuite. External Use 2
Agenda Introduction RAppIDSuite Overview RAppID Suite User Interface PinSetting Component RAppID Suite generated code overview RAppID Suite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 3
Processor Expert Software, RAppID Suite Processor Expert Software, RAppID Suite is an eclipse based Pin muxing and rapid initialization tool for MPC57xx family of Qorivva processors. This tool includes an automatic code generator which generates tested and optimized C and assembly code that is tuned to your application needs for the selected Freescale device. By using this tool, software developers can initialize the MCU in hours instead of weeks External Use 4
System Requirement 1.8 GHz Pentium compatible processor or better 1 GB RAM. 1 GB hard disk space, 400 MB on Windows system disk Microsoft Windows XP 32-bit and 64-bit (Professional Edition) or Microsoft Windows Vista 32-bit and 64-bit (Home Premium Edition and Business Edition) or Microsoft Windows 7 32-bit and 64-bit (Home Premium Edition and Professional Edition) External Use 5
RAppIDSuite Availability MPC577xK Pin Muxing and Init available now. MPC574xM Pin Muxing available now, Init available August 2014. MPC5748G Pin Muxing available now, Init available April 2014 MPC5777M - Pin Muxing available 2 nd quarter, Init available 3 rd quarter 2014 MPC5777C - Pin Muxing available 3 rd quarter, Init available 4th quarter 2014 MPC5746R - Pin Muxing available 3rd quarter, Init available 4th quarter 2014 External Use 6
Getting RAppIDSuite Download from www.freescale.com/rappid Download includes RAppIDSuite base product and service pack Future bug fix and feature enhancements will be available as service pack releases. External Use 7
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 8
RAppIDSuite Overview RAppIDSuite is an eclipse based tool for Pin muxing and initialization tool for MPC57xx family of Qorivva processors. RAppIDSuite is integrated as a plug-in into the Eclipse IDE. The application is created from building blocks called embedded components consisting of CPU, peripherals and Pin setting components. Provides graphical representation of Clock for intuitive setting of system and peripheral clocks. RAppIDSuite peripheral initialization components generate effective initialization code for all on-chip devices and support all their features. External Use 9
RAppIDSuite Overview Generates efficient C and Assembly code based on target MCU for a multitude of compilers, including Diab (Wind River), Green Hills, HighTec GCC. Provides built-in documentation on each component of the processor. Provides hints on each configurable register field to assist in proper initialization value. A built-in knowledge base, which immediately flags resource conflicts and incorrect or incomplete settings. Installation comes with tutorials and example projects to help user quickly get started with RAppIDSuite application. External Use 10
RAppIDSuite Overview Export and Import components to/from other projects. Save a configured component as template and re-use in other projects Enable/Disable components added to the project. When disabled, code for the disabled component is not generated. Option to freeze code generation. External Use 11
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 12
RAppIDSuite User Interface The RAppIDSuite is integrated as a plug-in in the Eclipse IDE providing set of views. The user interface of RAppIDSuite consists of the following windows: Component Inspector - Allows you to configure components of the project. Component Library - Shows all supported components including processor components. Configuration Registers - Shows overview of the peripheral initialization settings for the current processor. Memory Map - Shows the processor address space and internal and external memory mapping. Components Shows embedded components that are added to the project. Initialization Sequence - Lets you customize the initialization sequence of components added to project. Processor - View of the processor derivative used in a given project. External Use 13
RAppIDSuite C/C++ Perspective Project Panel External Use 14
RAppIDSuite C/C++ Perspective Project Panel Component Inspector window External Use 15
RAppIDSuite C/C++ Perspective Project Panel Component Inspector window Component Window External Use 16
RAppIDSuite C/C++ Perspective Project Panel Component Inspector window Component Window Problem Window External Use 17
RAppIDSuite C/C++ Perspective Component Library window Project Panel Component Inspector window Component Window Problem Window External Use 18
RAppIDSuite Hardware Perspective Register Window External Use 19
RAppIDSuite Hardware Perspective Register Window Processor window External Use 20
Project Explorer window Lists all the project in the workspace. You can have multiple projects in a workspace. You can work on multiple projects by switching between the projects. Each project tree includes generated code, linker files, generated documents that can be accessed from this window. External Use 21
Components View To open this view, click menu Window > Show View > Other... and select Processor Expert > Components. Lists all the components added to the selected project. Selecting any component lets you configure the component in component inspector window. External Use 22
Components Library View To open this view, click menu Window > Show View > Other... and select Processor Expert > Components Library. Lists all the components available for the part selected in Project window. You add components to the project by selecting the component from this window. External Use 23
Component Inspector View To open this view, click menu Window > Show View > Other... and select Processor Expert > Component Inspector Allows to view and initialize register fields of the component selected from Component window. Provides two different ways to edit: Properties (tree) view and Graphical view Allows to view and configure clock setting External Use 24
Component Inspector View GUI view Allows to view and configure component selected from Component window. External Use 25
Component Inspector View Clock view Allows to view and initialize clock setting of the component selected from Component window. External Use 26
Component Inspector View Clock view Clock Control Description Clock Source IRC, XTAL etc Clock Selector Switch Prescaler External Use 27
Configuration Registers View To open this view, click menu Window > Show View > Other... and select Processor Expert > Configuration Registers This view displays values of initialized, after reset and address of registers of the selected component. External Use 28
Configuration Registers View The last register value modified is highlighted. You may be able to modify the register value from this window. Registers value can be changed if: They are not read-only and when the project is without errors. Editing of configuration registers is supported by the selected component. External Use 29
Memory Map View To open this view, click menu Window > Show View > Other... and select Processor Expert >Memory Map This view shows the processor address space and memory mapping. Detailed information for an individual memory area is provided as a hint when you move the cursor over it. External Use 30
Memory Map View The black linecrossed area shows the memory allocated by a component or compiler. External Use 31
Initialization sequence View To open this view, click menu Window > Show View > Other... and select Processor Expert >Initialization Sequence This view lets you customize initialization sequence of components. By default, the sequence is not specified. You can change the sequence using up/down buttons External Use 32
Processor View To open this view, click menu Window > Show View > Other... and select Processor Expert >Processor This view displays selected target microcontroller with its peripherals and pins. The icon next to the peripheral indicates that the peripheral is added to the project. This window allows you to generate code and also to switch to a different package, if applicable. External Use 33
Processor View (Pin View) Displays pin coordinate. The background color of the pin reflects routing of the pin to the peripheral. Moving the cursor over the pin displays detailed information about the pin. External Use 34
Processor View Control buttons Buttons Description Zoom in Increases the detail level of the view. Zoom out Increases the detail level of the view. Rotate Rotates the pin view clockwise Resource view displays peripherals Bottom view of pins (BGA package) Top view of pins External Use 35
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 36
PinSetting Component PinSettings component is designed for: Configuration of pin routing / muxing Assignment of signal names to pins (customize pin names) Configuration of pin functional/electrical properties Allocate Functions to Pins Generate comprehensive report External Use 37
PinSettings Component Main Screen Button to generate HTML report for Pin Routing Configuration. Functional properties view allows configuration of pin electrical properties Expanded and Collapsed view are designed for pin routing configuration. Expanded view displays the pins using their coordinates, Collapsed view uses pin names. Both tabs displays the same configuration, the change on one tab is automatically applied to the second tab. External Use 38
PinSettings Component Expanded View The selected or configured pin name can be viewed in the last column i.e., Selected Pin Name column. After configuring the pin for selected function/signal, a User Signal name can be assigned. If modified, the user assigned signal name appears in the HTML report. If the signal name is modified, and user wants the original name to appear again in the field, then just delete the modified name and press the Tab key or Enter/Return key. This will set the original pin name in User Signal Name column. The text with checkbox represents the Pin Coordinates on Processor diagram/image. External Use 39
PinSettings Component Collapsed View Pin Selection column contains the list of Pins which can be configured for selected Function/Signal. If not configured, then <Automatic> is displayed, which means no user requirement for configuration. <Automatic>: The property does not specify any requirement for the configuration of the routing. If there is another requirement for the pin routing (from another component), it is accepted and the required pin is selected. If there is no other requirement, after reset pin is selected. If there is no default (after-reset) pin or default pin configuration is in conflict with other pin settings, no pin is selected. Direction column contains the list of Directions which can be configured for selected Function/Signal, if direction configuration is supported. For fixed direction signals, the direction text is displayed and grayed-out. For configurable direction, by default <Automatic> will be displayed, and will not be grayed-out. External Use 40
Functional Properties for Pins view This view allows configuration of pin electrical properties External Use 41
Allocate Functions to Pins Select the Peripheral Tab Select Pin as an Input or an output function Selected Pin s background is highlighted with tab s background color. See the Pad color change on Allocated Pad in diagram, it is same as the highlighted color in Selected tab. External Use 42
Fixed Pins Representation in Expanded View The pins which are dedicated and are not available for configuration to the user, are represented as grayed-out selected checkboxes in Expanded view. Also the Background color is set for such pins. External Use 43
Fixed Pins Representation in Collapsed View The pins or direction which are not available for configuration to the user, are represented as grayed-out text in Collapsed view. External Use 44
Error Representation in Expanded & Collapsed View In case of conflict/error, the report generation buttons will be grayed-out, with warning symbol. On Error configuration the conflict is represented on the Tab Name and the First column of the row where error is configured. Also the detailed error message is displayed in the Selected Pin Name column and the tooltip of the check-box On Error configuration the conflict is represented on the Tab Name and the Second column of the row where error is configured. Also the detailed error message is displayed in the Selected Pin Name column and the tooltip of the Pin Selection cell. External Use 45
Functional Property Configuration From Processor view A dialog will pop-up to configure the functional properties of a pin. This is a Dynamic Window. The options/properties available for configuration are those which are supported by the selected pin. On Right-click on a pin, an option will be given to a user to open the Pin Functional Properties dialog to configure the Functional Properties of a pin. This option will be visible if a pin supports the Functional Properties. External Use 46
HTML Report After finishing the configuration, select HTML Report button to generate HTML report. If the report is successfully generated, a message dialog will be displayed mentioning the file location, and successful report generation. The report cannot be generated if there is any error in the component External Use 47
PinSettings Component HTML Report The report contains the following parts: Header with project identification Processor package view List of all peripherals with brief description List of each pin with name, assigned peripheral and function and direction. List of each pin with all possible assignable peripheral and functions External Use 48
Sample HTML Report External Use 49
Sample HTML Report External Use 50
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 51
RAppIDSuite Code Overview Generates code from reset to main including interrupt vectors. Extensive code comments including settings of each component of project,initialized values, clear instructions stating where to add user code. Generates separate source files for each component. Two options for static code: Stand alone: static code copied from installation repository to project repository. Linked: static code remains in installation repository and linked to the project. Changes made to static code affects all projects. Option to set code generation log that contains detailed history of code changes every time code is generated. Option to freeze code generation to avoid accidental code generation. External Use 52
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 53
RAppIDSuite Documentation External Use 54
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 55
Creating led blink project Create a new Processor Expert project for MPC577xK part with WindRiver compiler option Configure build options Configure mode entry options Configure output pin Configure PIT interrupt Add code to toggle an output in interrupt service routine. Generate code Build code Run the code on target External Use 56
Build requirements Install GNU make utility Add make.exe to path Set WIND_DIAB_PATH environment variable to point to Diab compiler directory. Add Diab compiler directory to path. External Use 57
Create new Processor Expert Project Select from menu New- >Project->Processor Expert Project Enter project name Select Next External Use 58
Select Part Select required part Select Next External Use 59
Select Project Mode Select Use current perspective option Select Standalone mode Select Next External Use 60
Select compiler Select Green Hills Compiler and Finish External Use 61
Set project properties - generate ISR Change Generate ISRs option to Yes. This will generate user configured ISR code into event.c In this example, we are creating PIT ISR which will get generated in event.c External Use 62
Configure Output pin In this example, we will toggle output Y16 using PIT. To do this, Pin Y16 has to be configured as output. In PinSetting component, select SIUL2 peripheral. Configure pin Y16 (pad 98) as output. External Use 63
Configure build option We will build this example as RAM project. This selection is done in Cpu component. In the component window, Select Cpu component External Use 64
Set build option In Build options tab, set Default memory code to INTERNAL RAM External Use 65
Configure Interrupt options Select INTC component Select Interrupt Setting tab Select PIT interrupt Change PIT0 Channel0 interrupt priority to 1, processor to Processor0 and add the function name of the ISR External Use 66
Set Mode Entry Options Select MC_ME component Select Device Configuration tab Select Peripheral Configuration tab Select Normal button External Use 67
Add PIT component In the component library window, right click on PIT component and select Add to Project External Use 68
Configure PIT Timer Select Clock Diagram tab Enable PIT0 Timer0 Set Timer0 Load Value to 20000000 to set the timer period to 1.25 sec External Use 69
Configure PIT Interrupt Select Device Configuration tab Select Device Settings tab Enable PIT Channel0 interrupt External Use 70
Configure PIT Intialization Select Initialization tab Enable PIT module External Use 71
Add SIUL2 component In the component library window, right click on SIUL2 component and select Add to Project External Use 72
Configure SIUL2 Option Select Properties tab Set Multiplexed Signals- >Signal 98 to Initialize External Use 73
Generate Code In the component window, select generate code icon. External Use 74
Add ISR code In Project Explorer window, double click on on Event.c to edit. External Use 75
Add ISR code Add code to toggle pin Y16 (pg[2]) on every PIT interrupt External Use 76
Build project Open command window cd to project base directory Execute make External Use 77
Run the project on target Connect pin E4 on the motherboard to an LED Using a debugger, load the elf file to RAM Run the code LED should blink at a rate of 1.25sec External Use 78
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 79
RAppID Classic Rapid Application Initialization & Documentation Basic Product Highlights GUI-based tool for rapidly, intuitively developing Initialization code for MPC55xx, MPC56xx MCU families Configure Startup code from reset to main() Configure and generate key Infrastructure code such as Exception and Interrupt handlers and services routines. Automatic report generation of peripheral and register settings Generation of efficient C and Assembly code based on target MCU for a multitude of compilers, including Freescale s CodeWarrior, Diab (Wind River) and Green Hills On-line documentation and built-in tool tips for ease of use Performs consistency checks to eliminate mistakes and inconsistencies Built-in tutorials with sample projects Built-in email support rappid@freescale.com with 24 Hr response *Pin Wizard Only Supports: MPC551x MPC553x MPC555x MPC556x MPC560xB MPC560xP MPC560xS MPC566xG/E* MPC567xF MPC564xB MPC564xA MPC564xL MPC567xK MPC567xR External Use 80
Processor Expert RAppID Suite : Q&A External Use 81
Agenda Introduction RAppIDSuite Overview RAppIDSuite User Interface PinSetting Component RAppIDSuite generated code overview RAppIDSuite generated document overview Creating example LED blink project Other RAppID tools Summary External Use 82
Summary Processor Expert Software, RAppID Suite can be used to quickly initialize MPC57xx family of Qorivva processors. RAppID Suite can create an extensive documentation on pin configuration and peripheral configuration Availability of other RAppID init family of tools for Qorivva MPC56xx family. External Use 83
www.freescale.com 2014 Freescale Semiconductor, Inc. External Use