Home

CodeWarrior Plug-in for Freescale HCS12/HCS12X Processor

image

Contents

1. 42 Installed components LLL 24 Installed updates _ 25 Internal peripherals ccoo 13 Interrupt initialization 2 2 2 eee eee eee 120 Interrupt vector _ 96 Interrupt vector table coccion 96 Interrupts foe a 94 Items visibility 44 Levels of abstraction ccoo 87 List of installed components 65 Low level components 87 Low speed mode ___ 90 Low level access 20 e eee eee ee ee eee eee 127 Macros 22 2052 oa s 22 Manifest constants Loco 121 Manual 2 nro icine Oh ote NR ee Ft OL 24 MEUS a awe ka Se 13 Memory map ____ 61 Methods aaroo aan 13 Methods and events _ 85 Methods and events usage ___ 118 Mo dUe sa woe ee fee Beet oes oe 13 Optimizing communication components 125 Optimizing port I O __ ccoo 124 Optimizing timers 0000000 ee eee eeee 124 PDF Sea muii ao ees She er 77 PE Project storage _ 129 Peripheral direct control 2 2 0eeeee0 127 Peripheral initialization 67 Peripheral initialization components _ 87 Peripherals usage eee eee eee eee ee eee 70 Pin Sharing Couso ee tele pa 107 PEL samedi NA 13 AA A EE mye Bee 4 Porperty types i2 5 2 cot tid a ia de 42 Predefined symbols __ _ 116 Prescaler2s cue oS a eek o
2. 20 Application design _ 84 Application options 22 eee ee eee eee 19 Available components coco 36 36 Basic principles aun oe ee ose eee eee 85 Benefits it a eee R E 11 Building application _ 84 Building blocks _ 85 Bus clock ci at ce ede 12 GH files vernon eae ale ete iat hares ene 121 Changes in generated code Loco 121 Changing target CPU 2 eee eee o 89 Choosing a component 36 36 Code generation Loco 111 112 Comparing generated code 33 Component via coe a eee 12 Component Assistant 39 Component categories 2 eee eee eee eee eee 87 Component folder pop up menu coco 32 Component Inspector _ 40 44 Component levels 2 22 e eee ee eee eee 87 Component optimizations 123 Component related keywords __ 36 Component selection 2 0 00 36 Component sharing 4 105 Component templates _ _ 101 Component usage coco 118 Component Wizard ccoo no 141 ComponentsLibrary _ _ 36 Concepts tas lia 9 Configuration inspector 52 Configurations occ 98 30 29 Configuring Components _ 94 Control registers _ 127 Converting to Processor Expert 125 CPU block diagram ooo 54 CPU Compon
3. 112 Processor Expert User Manual Application Design e Method list file with description of all components methods and events generated from your project The name of the file is projectname txt or projectname doc This documentation can be found in the Documentation folder of the Project Panel Signal names This is a simple text file projectname _SIGNALS txt or projectname _SIGNALS doc with a list of all used signal names The signal name can be assigned to an allocated pin in the component properties available in ADVANCED view mode This documentation can be found in the Documentation folder of the Project Panel See 3 5 6 Signal Names for details XML documentation containing the project information and settings of all components in XML format The generated file projectname _Settings xml can be found in the Documentation folder of the Project Panel It 1s updated after each successful code generation e Shared modules with shared code the code which is called from several components Complete list of generated shared modules depends on selected CPU language compiler and on the current configuration of your project Typical shared modules are 1O _Map h Control registers and bit structures names and types definitions in C language IO _Map c Control registers variable declarations in C language This file is generated only for the HC S 08 HC S 12 versions Vectors c A source code of the interrupt vector ta
4. 139 Processor Expert User Manual Processor Expert Tutorials Files Link Order Targets Processor Expert ES Configurations Y amp 112pin E CPUs Y CpuMC9512DP25EBCPY Beans Y RedLED BitlO Y 8 GreenLED Bit1O BE Y 9 Button Extlnt El Onlnterrupt E M Enable E M Disable Y M Getal E A SetEdge amp Documentation x gt PESL 3 Double click the OnInterrupt event from the Button component to open and find out the position of this event in code See the picture below ZE xx HE HH HH He XX LES EE cas AS Event Button _OnInterrupt 1 From bean Button ExtInt Description This event is called when the ac occurs Parameters None Returns Nothing void Button_OnInterrupt void place your Button interrupt procedure 4 Enter the following lines to the body of the Button_OnInterrupt function RedLED_NegVal GreenLED_NegVal The first line is a call of the method NegVal of the component RedLED The second line is a call of the method NegVal of the component GreenLED Calling syntax of all component s methods is ComponentName _ MethodName 5 Finally to create a binary executable file click on Make icon in the CodeWarrior Project Window LED mcp l a 0 Simulator E Y i e 140 Processor Expert User Manual Index 5 Component Wizard Description Component Wizard is a tool dedicated to the creation and edition of Embedded Components Se
5. Processor Expert User Manual Application Design 3 3 3 Design Time Checking Consequences and Benefits During the design time Processor Expert performs instant checking of the project As a result of this checking error messages may appear in the Error Window or directly in the third column of the Component Inspector on the faulty items line Sometimes it may happen that only one small change in the project causes several general error messages The most common reasons for this behavior are stated below On Chip Peripherals Some components use on chip peripherals In the Component Inspector you can choose from all possible peripherals that can be used for implementation of the function of the current component Processor Expert provides checking for required peripheral features such as word width and stop bit for serial channel pull resistor for I O pin and others Processor Expert also protects against the use of one peripheral in two components If the peripheral is allocated for one component then the settings of this peripheral cannot be changed by any other component The state of an allocated peripheral should never be changed directly in the user code Using special registers I O ports etc It is recommended to always use methods generated by Processor Expert Note that if a peripheral is allocated to any component all its parts are reserved For example if you use the bit I O port all the I O pins of the port are alloca
6. Don t Write disables any modification by Processor Expert e Help displays an appropriate help page External Modules Pop up Menu e View External Module opens the module source code in the editor e View Header File opens the header file with the same name the module e Help displays an appropriate help page 2 3 6 Documentations Pop up Menu Documentations Folder Pop up Menu This menu is opened by right clicking on the Documentation folder icon in the Project Panel Following commands are available e Add documentation file add a new documentation file into project New documentation Text file creates a new text documentation file HTML file creates a new HTML documentation file e Expand Collapse expands collapses one level of the folder s tree e Expand all completely expands the folder s tree e Collapse all completely collapses the folder s tree e Delete all documentation deletes all the contents of the folder e Help displays documentation 35 Processor Expert User Manual User Interface Documentation Pop up Menu This menu is opened by clicking right mouse button on the documentation file from the Documentations folder of the Project panel Following commands are available e View documentation shows the document in the File Editor e Edit documentation edits the document in the File Editor Open in external viewer uses the default shell editor to open the document
7. Direction select Output 184 Processor Expert User Manual Processor Expert Tutorials Bean Inspector RedLED BitIO 4 8 To setup generation of methods click on the Methods TAB and set all methods to don t generate and NegVal method to generate code See the following picture 4 9 click the Change component icon item of the Component menu in order to choose a new icon in the list Select the RLEDON icon and click the OK button See the following pictures Change bean icon 135 Processor Expert User Manual Processor Expert Tutorials 1 Choose new icon for RedLED x AD UNSUPPORTED USER_DEV runout LCDEs BULBON MONITOR Don Smmm a LCD GLEDON CAN2 SIGNALMER rey riFLASH PHONE SFC OSPFNC 10 Using the procedure previously described for the red LED steps a b c d add the green LED component to the project The difference from the redLED component is in the component s properties pin name and initial value Set the component properties as follows Component name type GreenLED into the edit box Pin for IO select PB1_ADDR1_DATA1 Direction select Output Init value select 1 11 Click on the Methods TAB and switch all methods to don t generate and NegVal method to generate code using button on the right 12 Click the Change component icon item of the Component menu in order to choose a new icon Select the GLEDON icon and click the OK but
8. e Inherited ease of implementation of system hardware and software firmware modifications Modular and Reusable Functions Processor Expert greatly decreases the start up time and minimizes the problems of device idiosyncrasies e It uses the concept of a function encapsulating entity called Embedded Component with supporting methods and events e Uses a library of predefined components e Uses the concept of device drivers and interrupt handlers that are easy to reapply e Uses the concept of well documented programming modules to keep the code well organized and easy to understand Note Processor Expert Embedded Component were formerly called Processor Expert Embedded Beans Easy to modify and port implementations Processor Expert allows optimal porting to a previously unused processor e Supports multiple devices within a project and makes it extremely easy to switch them e Supports desired changes in the behavior of the application with an instant rebuild e Supports interfacing of the CodeWarrior IDE Processor Expert User Manual Introduction 1 3 Concepts The main task of Processor Expert is to manage CPU and other hardware resources and to allow virtual prototyping and design Code generation from components the ability to maintain user and generated code and an event based structure significantly reduce the programming effort in comparison with classic tools Embedded Components Component is the essential encapsulat
9. 101 Processor Expert User Manual Application Design Figure 3 5 Component Pop up Menu Select the Save component settings as template The Component Template dialog box appears that can be used to create and save the template Component Template xj Component Template Name Icon Existing templates aD1 Template Author nee Short Template Description A D converter Waring Setting of the component template is dependent on the target CPU MCSSO8MP16_48 It s possible to use command Customize Settings Component Disconnect to disconnect CPU Associated Peripheral Mode all possible X J OK X Cancel Figure 3 6 Component Template Dialog The Component Template dialog box consists of the following elements Component template name Name of the new template e Icon Icon representing the template Click the icon to select a different icon e Template author Your name company name etc e Customize settings Button invokes the Template Editor which allows to change the settings of the component These settings are saved as a template See the following section Customizing Component Template Settings for details Short template description Type a short description e User gets one of the messages Setting of the component template is not dependent on the target CPU or Warning Setting of the component template is dependent on the target CPU The second one means that the
10. 27 Version specific items occ 52 AAA eet ee Sad re ohare tes eraai 14 143 Index Processor Expert User Manual Index 144
11. GENDIRDRV destination directory of drivers during last successful code generation absolute path terminated with a backslash SGENDIRRELDRV same as SGENDIRDRV during last successful code generation only relative path GENDIRRELEVENT GENEVENTTODRV GENDIREVENT destination directory of main and event modules during last successful code generation absolute path terminated with a backslash GENDIRRELEVENT same as DIRRELEVENT during last successful code generation GENDIRBIN destination directory of binary files during last successful code generation GENDIRRELBIN same as SGENDIRBIN during last successful code generation only relative path GENDIRRELEVENT EVENTTOBIN GENDRVTOEVENT relative path from drivers directory to main and event modules directory during last code generation e GENEVENTTODRYV relative path from main and event modules directory to drivers directory during last code generation GENEVENTTOBIN relative path from main and event modules directory to binary files directory during last code generation GENPRJNAME name of the project during last successful code generation Macros in format List of macros that can be used for definition of tool output messages format ERRPTH name of file where errors were found ERRMSG full partial error message FIRROW first row position FIRCOL first column position LASROW last row position e LASCOL last col
12. Slow speed mode Adjusted values Prescaler Auto select 7 Auto select Auto select Runtime setting type fired value y Possible settings Clock path Value type Value Unit From Till Step Init value 8000 ms hd 16 384ms 0 250ps 16 384ms 32 768ms O 500ps 32 768ms 65 535ms Tus 65 536ms 131 070ms 2us 131 072ms 262 140ms 4us 262 144ms 524 280ms Bus 524 288ms 1048 560ms 16us 1048 576ms 2097 120ms 32ps TF Recalculate value on unit change Error allowed Unit jo x y Adjusted value of the initialization value 0 00153 disabled disabled Timing settings failed in high speed mode it is impossible to set the following items initialization value x Cancel Help Figure 2 28 Timing Settings Dialog Prescalers table Note This table is visible only in Advanced or Expert view mode and if it is possible to select a prescaler for the selected peripheral 2 5 2 Items Visibility This table occupies the topmost part of the window It shows a clock source and prescaler s values related to the currently edited timing value see the section Timing values table for details A presence and number of rows in the table are optional and depend on the hardware structure and a type of the configured value The table allows the user to configure his her requirements on the prescalers Autoselect means that the value is configured automatically by Processor Expert to achieve the requested timing Otherwise if
13. and enables interrupts e same as interrupt Default behavior of the architecture no interrupts can interrupt the event The same as Interrupts Disabled e Other values are mapped to the priorities 1 7 Version specific information for HCS12 derivatives Processor Expert offers the following event priority options interrupts disabled All maskable interrupts are disabled 97 Processor Expert User Manual Application Design e interrupts enabled All maskable interrupts are enabled Please note that this settings might lead to possible problems see the warning within this chapter e same as interrupt Default behavior of the architecture no interrupts can interrupt the event The same as Interrupts Disabled 3 3 2 Configurations The user can have several configurations of the project in one project file The configuration system is very simple Every configuration keeps the enable disable state of all components in the project it does NOT keep any component settings If you enable disable a component in the project the component state is updated in the currently selected configuration If you create a new configuration the current project state is memorized Configurations of the current project are listed in the Project Panel configurations folder They can be managed using a pop up menu of the specific configuration or the whole Configurations folder Configuration properties and a user comment can be changed
14. bluh would match pluh in the target string You can cause characters that normally function as metacharacters or escape sequences to be interpreted literally by escaping them by preceding them with a backslash for instance metacharacter matches the beginning of a string but W match character match and so on Examples foobar matches string foobar FooBarPtr matches FooBarPtr Escape Sequences Characters may be specified using an escape sequence syntax much like that used in C and Perl n matches a newline t a tab etc More generally xnn where nn is a string of hexadecimal digits matches the character whose ASCII value is nn If You need wide Unicode character code You can use x nnnn where nnmn one or more hexadecimal digits xnn char with hex code nn x nnnn char with hex code nnnn one byte for plain text and two bytes for Unicode t tab HT TAB same as x09 n newline NL same as x0a Nie car return CR same as x0d f form feed FF same as x0c a alarm bell BEL same as x07 e escape ESC same as xlb Examples foo x20bar matches foo bar note space in the middle t foobar matches foobar predefined by tab 79 Processor Expert User Manual User Interface Character Classes You can specify a character class by enclosing a list of characters in straight brackets which will match any one character from th
15. e Remove from project removes the document from the project e Help displays documentation 2 4 Components Library Processor Expert gt View gt Components Library Components Library shows supported embedded components including CPU components and component templates It lets the user select a desired component or template and add it to the project Modes The Components Library contains the following four tabs allowing the user to select components in the following modes Component Categories contains all available components The components are sorted in a tree based on the categories defined in the components See 3 2 1 1 Component Categories for details Please see below for menu and control details e On Chip Peripherals shows all components available for the specific peripherals All chip peripherals sorted by name are listed in the appropriate CPU folder depending on which peripheral can be used Current target CPU component is displayed at the top only if a target CPU component is selected There are three different icons of peripheral folders which depends on the usage of the peripheral If the peripheral is fully available the folder is displayed by yellow amp icon If the peripheral is partially used the folder is displayed by light blue amp icon The fully used peripheral is displayed by blue icon the Components Library provides the On Chip Peripherals view for the users that are not
16. folder of the Components library and they are available only for some CPU families The interface of these components might be different for a different CPU The name of these components starts with the prefix Init_ Features of Components at Different Level of Abstraction High level settings portable between yes partially no different CPU families es Portable method interface for all CPU y partially Init method only families usually direct access to control registers settin ven Speed mode independent timing mostly yes no o gs s Events suppo yes yes direct interrupt handling Software emulation of a component yes no no function if the specific hardware is not present 88 Processor Expert User Manual Application Design 3 2 2 CPU Components Processor Expert gt Help gt Supported CPUs Compilers and Debuggers A CPU component is an Embedded Component encapsulating one CPU type Like all other components CPU Components also have properties methods and events A Processor Expert project may contain several CPU components The project generated for one CPU is called an Application CPUs included in a project are displayed in the upper part of the Project panel depending on the Project panel settings Before starting the code generation one of the CPU components must be active selected as the Target CPU The Build options accessible in the Component Inspector of the CPU component allow the user to
17. of the module Note it is available only if it is allowed in the Editor Options e Open file opens a file A Save file saves the currently displayed file 5 Save all saves all opened files if they were edited xl Close file closes the currently displayed module file e Print file prints the currently displayed file on a printer Editor options editor settings e w Help opens Help A Change font changes the font of File Editor E Undo restores the state of a file before the last change E Redo restores the last change e Find finds a string in the currently displayed file S Replace replaces a string with another string Mouse Actions To move editor cursor to a specific place click the left button on the desired place in a text To select a text move mouse and hold the left button e To move the selected text to a different location drag a selected text with left button pressed e To invoke editor pop up menu click the right button e To scroll editor view move mouse with middle button pressed e To close an opened file click the middle button on the tab with a file name when multiple files are open e To select a square text block inside the window press and hold the ALT key and left mouse button while moving the mouse To jump on a specified line number click the first status bar field containing a line number information e To place a method invocation
18. run Processor Expert version e About Processor Expert amp Tip Of The Day displays the About dialog containing information about the Processor Expert product version for the target CPU family and current version of Processor Expert IDE The Tip of the day is displayed along with this dialog Next tips can be viewed with using the button Next tip The Installed updates button opens the dialog containing all already installed update packages After each update Processor Expert automatically copies installed update package to the folder shown by this dialog Selecting an update package will show a window with detailed update description The dialog is for information only and no action is done with the selected file 2 3 Project Panel Processor Expert gt View gt Project Panel Processor Expert Project Panel is a tab in CodeWarrior s project window panel When the Project Panel is mentioned in Processor Expert documentation the Processor Expert Project Panel is understood xxi test mcp sdm external memory B y A 5 Files Link Order Targets Processor Expert Figure 2 4 Processor Expert tab The Project panel shows the application components e Configurations of the project e Operating System Components related to operating system used by the application if there is some operating system present e CPUs CPU components included in the project Embedded Components included in t
19. z3 Project_42 txt Figure 2 5 The content of the Project Panel 2 3 1 Configurations Pop up Menus Configurations folder pop up menu This menu is opened by right clicking on the Configurations folder icon in the Project panel Following commands are available e Add new configuration add a new configuration into the project All configuration settings i e target CPU selection and state of all components are copied from the currently active configuration to the new one e Configurations Editor opens the Configuration Editor e Expand Collapse expands collapses one level of the folder s tree Expand all completely expands the folder s tree e Collapse all completely collapses the folder s tree 29 Processor Expert User Manual User Interface e Delete all configurations deletes all the content of the folder e Help displays documentation Configuration pop up menu This menu is opened by clicking on the icon of one of the configurations in the configurations folder of the Project panel Following commands are available e Configuration Inspector invokes Configuration Inspector default on double click e Select Configuration as Active selects this configuration as active e Delete Configuration removes this configuration from the project e Add New Configuration adds a new configuration to the project e Rename Configuration renames this configuration e Help displays documentatio
20. 2 9 Example of the Inspector Window content Window Columns Inspector window contains the four columns e Item status 4 green checkmark item setting is correct Y red exclamation item setting is not correct Items that cause errors or warnings are written in magenta color See description in the last column or the Error Window plus or minus item is a group of settings that can be expanded collapsed z light background item is version specific See 2 5 3 4 Version Specific Items for details e Item names items that are to be set are listed in the second column of the inspector Groups of items describing certain features may be collapsed expanded by double clicking on the first line of the group By double clicking on a method or event item you may open the File Editor at the position of the corresponding method or event e Selected settings the settings of the items are made in the third column See chapter 2 5 Inspector Items for list of item types e Setting status the current setting or an error status may be reflected on the same line in the rightmost column of the inspector 40 Processor Expert User Manual User Interface Read only items Any item can be presented as read only so the user could not change its content Read only values are gray Width 9 bits 3 bits Menu The following items are available Component enabled in Component Inspector Only Template Res
21. 222 2222 coco 46 2 5 3 2 Syntax for the Timing Setup in the Component Inspector ooo 50 2 5 3 3 Defaut Values for Properties _ _ _ 0 2 e ee enn eee 51 2 5 3 4 Version Specific Items ccoo 52 2 5 4 Configuration Inspector cc 52 AS A camel GOs A A E ot 52 53 o E UI AAA A A ds 54 20 Ge Timing Model o a is ves i tines as aoe 59 2 9 Resource Meter A a A a id 61 2 10 Memory Map Window 2205 5 ecken scr lnea dd 61 2 11 CPU Parameters Overview _ 2 2 2 2 e eee eee 63 2 12 List of Installed Components with Additional Information _ 65 2 13 Peripheral Initialization 22 0 2 ace we oie de ete utes Niele a aera 67 2 14 Peripherals Usage ssc osc eo sulted dade a it dla 70 2S Bile A E is 2 calor ie 71 2 16 POP SL A A A a EA 77 2 16 1 Regular Expressions __ 22 ee eee ee ee eee 79 3 Application Design 84 3 1 Quick Start in Processor Expert 2 202 2202 ee eee c cee ee ee eee cnc 84 3 2 Basic Principles ocio a duduwa tread net 85 3 2 1 Embedded Components s oseaan 22 2 eee ee ee eens 85 3 2 1 1 Component Categories _ 2 eee eee 87 3 2 2 GPU Components corr 2 ecssetccicndeuett ete daoedendecs dene st os 89 3 2 2 1 CPU Properties Overview ccoo 90 3 2 2 2 Speed Modes Support ccoo 90 Processor Expert User Manual 3 2 2 3 Changing Names of Peripheral Devices _ _ _ 2 e ee ee eee ee eee eens 92 3 3 Configuring Components Vacs ciel a the oat spa 94 3 3 1 Interrupts
22. 8 bit I O port all the T O pins of the port are allocated and it is not possible to use them in other components e Pins usage meter shows pins usage In general there are always some pins used such as the power supply pin e Port usage meter shows ports usage A port is considered allocated if a part of it is used or if its pins are allocated to another device e Compare Reload meter shows the allocation of the timer compare registers depending on CPU type If it is possible to combine several smaller registers into one large then the allocation of one of the smaller ones means allocation of the large one and the allocation of the large one means allocation of the two smaller ones e Capture regs shows timer capture registers usage Communication shows the allocation of the serial communication channels including also CAN A D channels shows the allocation of the A D converter channels By placing the mouse over a resource meter field you may get a hint that provides details about which resources are used concerning this field iol xi Pins usage III Port usage N Compare teload Capture regs M M Communication 77777177777773 AD channels Cn n N Figure 2 40 Resource Meter Window 2 10 Memory Map Window Processor Expert gt View gt Memory Map This window shows the CPU address space and internal and external memory mapping Detailed information for an individual memory area is pro
23. Finds next position of a string in the currently displayed file Replace Displays SearchReplace dialog Go to Line Moves the cursor to a line determined by its number Debug Note Internal debugger is not available in this version Toggle break Set breakpoints on actual cursor position Add watch Add watch to watches list in Watches window Evaluate Modify Open watch editor and enable to edit value of any variable Run Runs application in target system 73 Processor Expert User Manual User Interface Go to cursor Runs application and it stops on actually selected row and breakpoint Stop Stops running application Reset Resets application in target system Step into Steps program including subprogram call Step over Steps program without subprogram call Step into in assembler Steps program including subprogram call After one assembler instruction execution actual program position is displayed in window Step over in assembler Steps program without subprogram call After one assembler instruction execution actual program position is displayed in window Go to Source Line Opens window and goes to actual program position Modules Shows modules list into ABS file Disassembler Opens Disassembler for the current module Disassembler Whole Code Opens Disassembler for the whole program memory e Options Editor Options setting of the File Editor s
24. Generate Code Project Name After the code generation the component source modules will be inserted into the Generated Code folder in the CodeWarrior project window and the event and main source modules will be inserted into the User Modules folder in the CodeWarrior project window Generated source code can be displayed in editor by the left mouse button double click on selected module in the project window Step 3 More Complicated Example Once you have learned the basic skills you can open a more complicated example in order to get to more advanced level of code generation 84 Processor Expert User Manual Application Design Creating New Projects See the chapter 4 Processor Expert Tutorials for step by step tutorials on creating Processor Expert projects from the beginning 3 2 Basic Principles The application created in Processor Expert is built from the building blocks called Embedded Components The following sub chapters describe the features of the Embedded Components and the CPU components that are special type of Embedded Components and what they offer to the user e Embedded Components e CPU Components 3 2 1 Embedded Components Embedded components encapsulate the initialization and functionality of embedded systems basic elements such as CPU core CPU on chip peripherals for details on categories of components delivered with Processor Expert see chapter 3 2 1 1 Component Categories FPGAs standalone peripher
25. It is also possible to search for any keyword in the CPU documentation based on the original manufacturer s CPU manual This item is available on the package and on the CPU block only See 2 16 PDF Search for details Add Component Template adds a component or template for the appropriate peripheral all available components and templates suitable for the selected peripheral are listed The components and templates in the list are divided by a horizontal line It is possible to add only components or templates which are applicable for the peripheral It means that is possible to add the component or template only if the peripheral 1s not already allocated to another component or components The components templates that cannot be added to the peripheral are grayed in the pop up menu as unavailable This option is supported for all devices displayed on CPU package Help on Target CPU Window displays help for the current window 58 Processor Expert User Manual User Interface 2 8 CPU Timing Model Project Panel gt CPU pop up menu gt View CPU Timing Model This window presents the schematic structure of the target CPU timing stored in the database of Processor Expert The information can be displayed in two levels of complexity e Simple view In this mode only the active prescalers are shown Unimportant tree nodes like inactive branches divider by one etc are hidden Every clock source is shown as a node of the tree at
26. This portability is the reason why the component interface often doesn t copy all features of the specific peripheral e SW Components encapsulating a pure software algorithms or inheriting a hardware dependent components for accessing peripherals These components along with components created by the user can be found in a components library in the folder SW Specific functionality of the CPU derivative may be supported as a version specific settings of the component For more information about this feature please refer to Version specific parts in the component documentation or Components Implementation help chapter Levels of Abstraction Note LDD beans are not available in this version Processor Expert provides components with several levels of abstraction and configuration comfort High Level Components Components that are the basic set of components designed carefully to provide functionality to most microcontrollers in market An application built from these components can be easily ported to another microcontroller supported by the Processor Expert This basic set contains for example components for simple I O operations BitIO BitsIO BytelO timers EventCounter TimerInt FreeCntr TimerOut PWM PPG Capture WatchDog communication AsynchroSerial SynchroMaster SynchroSlave AsynchroMaster AsynchroSlave IIC ADC internal memories This group of components allows comfortable settings of a desired function
27. and Events occ 94 3 3 1 1 Interrupt Vector Table _ ooo 96 3 3 1 2 Processor Expert Priority System occ ccoo 96 3 32 GOMIGUIALIONS ati aie oe e lid tae 98 3 3 3 Design Time Checking Consequences and Benefits 99 REK TIMING SOLOS 4 3 2 a oe eh ee ots Seen Waa le eee cias 100 3 3 5 Creating User Component Templates occ ccoo 101 3 3 6 Signal NAMES sois ts eels olen see te eo elec aloe ds ee 104 3 3 7 Component Inheritance and Component Sharing _ 105 CRETE EEEa Ea 2s2 522 eee ese ees sha tia da bes ic et oe 107 3 4 Implementation Details coccion coco 108 3 4 1 Reset Scenario with PE ooo 108 3 4 2 Version Specific Information for HCS12 and HCS12X occ 109 3 5 Code Generation and Usage 0 ooooooocccoccccccocococccco cnc 111 3 5 1 Code Generation 2 cc 112 3 5 1 1 Tracking Changes in Generated Code ooo 114 3 5 2 Predefined Types Macros and Constants 1 occ 116 3 5 3 Typical Usage of Component in User Code ccoo 118 3 5 3 1 Typical Usage of Peripheral Initialization Components __ 120 3 5 4 User Changes in Generated Code 1 ooo 121 3 6 Embedded Component Optimizations 2222 2 222 2222 e eee eee 123 3 6 1 General Optimizations coco 123 3 6 2 General Port I O Optimizations occ 124 3 6 3 Timer Components Optimizations ccoo coco 124 3 6 4 Code Size Optimization of Communication Components occ 125 3 7 Converting Project to Use P
28. contains information about installed components in the current version of Processor Expert e COMPONENTS All installed components including CPUs and user created components are listed in the report Placing the mouse cursor on the component s name will display the hint containing the detailed information about the latest component version See menu gt View gt Component Type for component type selection Component Info The amount of the information shown in this column can be controlled via View Component info menu Note This information is also displayed as a hint on the component Component description File format and access encrypted full source compressed Author of the component version List of revisions of the component Each revision contains a version number date and author of the revision e Drivers Installed component s drivers Driver Info The amount of the information shown in this column can be controlled via View Driver info menu Placing the mouse cursor on the file name will display the detailed information about the latest component driver version Status file format and access encrypted full source compressed Author of the component s driver Current version of the component s driver Init date date of creation Last modification date of last modification List of revisions of the driver Each revision contains a version number date and author of the revision
29. displayed as a highlighted field in the first column of the Component Inspector See the following picture There are two items with this feature Wakeup condition Idle line wakeup I Stop in mait made lan Y Break y Select condition of wake up the SCI J SCl O Version specific item Settings for HCS12 derivatives Some items of the component are displayed as mirrored items from the CPU component or global settings The global setting means that it is possible to set the item in any component where the item is available and the setting is used for all appropriate components The items are visible if they have any relation to the component settings The information about the mirroring is visible in the hint of the item O PORT P v Radinnd denin far DDA lan wi TR Port P settings JIR Version specific item This property is mirror of target CPU bean property Figure 2 31 Hint With Version Specific Info 2 5 4 Configuration Inspector Configuration Inspector is a variant of an Inspector Window It shows the settings that belong to one configuration It could be invoked from configurations pop up menu in the Project Panel Click on a configuration with the right button and choose the Configuration Inspector For details on configurations please see the chapter 3 3 2 Configurations Properties The Properties tab contains optimization settings related to the configuration These setting
30. drivers directory SEVENTTOBIN relative path from main and event modules directory to binary files directory DIR_PE system directory of Processor Expert absolute path terminated with a backslash FILEDIR directory of the file that is currently edited or directory of the file that will be opened in External Text Editor terminated with a backslash FILENAME name of the file that is currently edited or name of the file that will be opened in External Text Editor including extension FILENAM name of the file that is currently edited or name of the file that will be opened in External Text Editor without extension e GOTOLINE can be used only with the External Text Editor It is replaced by the line number FILE Question name of the file set manually Question is displayed to the title of window PARAM Question Default parameters set manually Question is displayed to the title of window Default is a default value COMSPEC setting of the COMSPEC variable in the Windows environment MAKEFILE name of the currently used makefile for the current project 22 Processor Expert User Manual User Interface Global macros after code generation The following macros are supported only after successful code generation Can be used in the same items as the Global Macros GENDIRPRJ directory of the project during last successful code generation absolute path terminated with a backslash
31. e Creating User Component Templates e Signal Names e Component Inheritance and Component Sharing e Pin Sharing 3 3 1 Interrupts and Events This chapter describes the details of interrupt and events processing in the code generated by Processor Expert An Interrupt is a signal that causes the CPU stop the execution of the code and execute the Interrupt service routine instead When the execution of the code is suspended the current state of the CPU core is saved on the stack After the execution finishes the previous state of the CPU core is restored from the stack and the suspended program continues from the point where it was interrupted The signals causing interrupts can be hardware events or software commands For more details please see an appropriate CPU manual Each interrupt can have an assigned Interrupt Service Routine ISR that is called when the interrupt occurs The table assigning the subroutines to interrupts is called Interrupt Vector Table and it is completely generated by Processor Expert See 3 5 1 1 Interrupt Vector Table for details Most of the interrupts have corresponding Processor Expert Events that allow handling of these interrupts Processor Expert also allows to configure interrupt priorities if they are supported by the CPU See 3 3 1 2 Processor Expert Priority System for details Processor Expert Events are part of the Embedded component interface and encapsulate the hardware or software events within the
32. error is detected Parity error is detected Noise error is detected Idle error is detected Fault error is detected Break char is received during communication CRC error is detected A node loses arbitration This error occurs if two nodes start transmission at the same time Protection error is detected Underflow error is detected Underrun error is detected General unspecified error of a device The user can get a specific error code using the method GetError LIN synchronization error is detected Requested functionality or process failed Queue is full 117 Processor Expert User Manual Application Design 3 5 3 Typical Usage of Component in User Code This chapter describes usage of methods and events that are defined in most hardware components Usage of other component specific methods is described in the component documentation in the section Typical Usage if supported In the following examples assume there is a component named B1 Peripheral Initialization Components Peripheral Initialization Components are the components at the lowest level of peripheral abstraction These components contain only one method Init providing the initialization of the used peripheral See 3 5 3 1 Typical Usage of Peripheral Initialization Components for details Methods Enable Disable Most of the hardware components support the methods Enable and Disable These methods enable or disable peripheral functionality w
33. expression for such test is if value In our documentation the true or false are considered as logical states not any particular numeric values The capitalized TRUE and FALSE are constants defined as FALSE 0 and TRUE 1 119 Processor Expert User Manual Application Design 3 5 3 1 Typical Usage of Peripheral Initialization Components Init method Init method is defined in all Peripheral Initialization Components Init method contains a complete initialization of the peripheral according to the component s settings In the following examples let s assume a component named Init1 has been added to the project The Init method of the Peripheral Initialization component can be used in two ways e The Init method is called by Processor Expert e The Init method is called by the user in his her module Automatic calling of Init The user can let Processor Expert call the Init method automatically by selecting yes for the Call Init method in the Initialization group of the Component s properties When this option is set Processor Expert places the call of the Init method into the PE_low_level_init function of the CPU c module Manual calling of Init Add the call of the Init method into the user s code for example in main module Enter the following line into the main module file Tarti Inte Put the Init method right below the PE_low_level_init call void main void Processor Expert internal initializa
34. files environment option has to be enabled iol xi The following files will be deleted because they are not used These files were generated during previous code generation Y CODESBit H Y CODE Bt21 C Y CODE Bt21 H AN None ZER X Conca Figure 3 17 List of unused files 115 Processor Expert User Manual Application Design 3 5 2 Predefined Types Macros and Constants Processor Expert generates definitions of all hardware register structures to the file O_Map h The Processor Expert type definitions are generated to the file PE_Types h which also containins definitions of macros used for a peripheral register access See 3 8 7 Direct Access to Peripheral Registers for details Types 8 bit unsigned integer unsigned char EAS bool Boolean value unsigned char TRUE any non zero value e word 16 bit unsigned integer unsigned int 32 bit unsigned integer unsigned long m array of two 32 bit unsigned integers unsigned long TPE_ErrCode Error code uint8_t all except MPC55xx Structure for images typedef struct Image word width Image width in pixels word height Image height in pixels byte pixmap Image pixel bitmap word size Image size in bytes char name Image name TIMAGE typedef TIMAGE PIMAGE Pointer to image aA Structure for 16 bit register 16 bit register big endian format typedef union wo
35. following columns e Clock device icon a symbol representing a type of the clock device See 2 8 CPU Timing Model for details Name name of the clock source prescaler or other timing device e Presc value If the row represents division or multiplication this field contains a value of of divisor multiplier for the clock signal Divisor and multiplier are distinguished by icon and hint text e Frequency a clock frequency on the output from the clock device Note Some devices shown in the clock path are not physically present on the CPU but are only a necessary part of a virtual model that allows to represent a real timing behavior The prescaler values in rows may not match the values exactly written into the control registers e g compare reload but they are clock divisor values used by the timing model Also if the component uses virtual clock device as a clock source RTIShared there is a device named SW extension that represent a divisor provided by software counter For more information on the CPU timing and list of clock device icons with descriptions please see the chapter 2 8 CPU Timing Model 2 5 3 2 Syntax for the Timing Setup in the Component Inspector The properties that contain timing settings can be configure using the timing dialog For details please see the chapter 2 5 3 1 Dialog Box for Timing Settings or directly by entering the timing value If the timing values are specified directly it s necessary to type
36. for step by step instructions on how to create a new Processor Expert project Compiler and Linker settings To set the compiler and linker options select the command TargetName Settings in the Edit menu in the Code Warrior main menu You can find linker and compiler specific settings in the Target and Linker folders The command TargetName Settings is not available when no project is open Where to find source code and user modules Processor Expert generates all drivers during the code generation process The generated files are automatically inserted into the active default target in the Code Warrior project Generated files corresponding to Embedded Components can be accessed in the Generated Code folder in the Files tab in the Code Warrior project window Other files intended to be modified by users are generated into the User modules folder in the Files tab in the Code Warrior Project window A user can also add his her own specific source code files into this folder If the linker setting of the default target does not match the CPU in the Processor Expert project the user is asked whether to automatically set the correct linker settings in the default target or to create a new target with correct linker settings In the latter case the files will be generated in the new target more information about the Code Warrior Project panel can be found in the CodeWarrior documentation For more information on generated files pl
37. if portability of the application to another architecture is not required Peripheral Initialization components on some platforms also allow to set the value default that means that the user doesn t have any requirement on it so the priority value will be the default after reset value 96 Processor Expert User Manual Application Design Priority of Event Code The user can also select a priority for the processing of the event code This setting is available for the events that are invoked from the Interrupt Service Routines This priority may be different from the interrupt priority However the meaning of the number is the same the event may be interrupted only by the interrupts with the higher priority Processor Expert offers the following architecture independent values e same as interrupt default value which means that Processor Expert doesn t generate any code affecting the priority of the event the priority is in the state determined by the default hardware behavior e minimum priority e low priority e medium priority e high priority maximum priority e interrupts disabled For example the highest priority supported by the microcontroller which may be interrupted only by non maskable interrupts The selected value is automatically mapped to the priority supported by the target microcontroller and the selected value is displayed in the third column of the Component Inspector Please see version specific informati
38. in project and it is necessary for proper functionality of the Processor Expert project OnReset event The user can write the code that will be invoked from the PE_low_level_init function after the Processor Expert internal initialization but before the initialization of individual components Thus the user should expect that peripherals are not completely initialized yet This event can be enabled disabled in the CPU component inspector s events page 3 4 2 Version Specific Information for HCS12 and HCS12X All components were tested with the CodeWarrior with the following compiler settings e Other parameters Onf The ROM and RAM ranges depend on the target CPU It is recommended to increase the stack size if some standard libraries are used Components implementation details All the components Interrupt priority and Event priority Please see the version specific information details in the chapter 3 3 1 2 Processor Expert Priority System MISRA compliance All component have been developed to be MISCRA C 2004 standard compliant as much as possible The exceptions to this compliance are documented in the HTML page accessible in the file CodeWarrior ProcessorExpert DOCs Misra2004Compliance html CPU Speed Mode selection CPU methods SetHighSpeed SetLowSpeed SetSlowSpeed if CPU clock dependent components are used then signals generated from such an internal peripheral may be corrupted at the mome
39. is ReadOnly E Feature is Changeable e Set level of visibility of properties methods or events by repeatedly double clicking in last column in Component Inspector When the user uses the template it s possible to change the level of visibility in the View menu in the Component Inspector See 2 5 3 Component Inspector for details Possible values Type BASIC Property method event will always be visible Type ADVANCED Property method event will be visible if it is selected in Advanced view Type EXPERT Property method event will be visible if it is selected in Expert view Type E HIDDEN Property method event will never be visible TEMPLATE EDITOR TI2 TimerInt 7 x lt Bean Items Visibility Help TEMPLATE EDITOR For each property method and event select default value and toggle runtime status read only or editable using left mouse button click D Counter TMRA1 y gt Interrupt service event Enabled El Interrupt priority medium priority x El Prescaler Auto selected presca y Interrupt period Type BASIC Same period in modes yes Type EXPERT E Bean uses entire timer no Type ADVANCED BASIC ADVANCED EXPERT Click icons on the toolbar to SAVE the bean te A Figure 3 7 Template Editor Window Finally click the Y icon on the component inspector s toolbar to accept the changes To discard the changes and return without changing a template settings close the window or c
40. modes enabled for the component The table contains a speed mode tabs speed modes and related settings are supported only in EXPERT view 49 Processor Expert User Manual User Interface mode that allow to filter the displayed intervals for a specific speed mode or show intersection of all Please note that the intersection contains only a values that can be set in all speed modes with absolute precision without any error so some values that are still valid due to non zero Error allowed value are not shown Clock path Note This table is available in Advanced or Expert view modes only This table is displayed on the right part of the timing dialog if the the button Clock path on the top is pressed Each row of the table represents a device influencing a clock on the path from the clock source on the first row e g the crystal internal oscillator or PLL to the peripheral or a part of it The last row contains total divider a total ratio between the source clock and the resulting peripheral clock in the form of mult div where mult is multiplier and div is divider or div if no multiplier is present When multiple speed modes are used it s possible to see the clock path in the individual speed modes by switching the tabs at the bottom Please note that the clock path may not be displayed correctly in case that there is not possible to set the required timing i e when error message is displayed The table contains the
41. must be portable and independent of CPU resources A lot of tasks and algorithms can be incorporated into a component Such components are called software SW components SW components can be pure SW components FFT or can inherit even multiple components that encapsulate hardware HW resources The advantage is independence on a physical layer portability and sharing of once written and tested code For this example we simply select as parents BitlO BitsIO or BytelO and TimerInt components from the component library The new LED display component will provide the properties of a component reference type for this component In design time this allows the new component access to its parents properties and defines the physical connection pins or timer resources Additionally the new component will have its own properties and methods Methods and events can be constructed using the parent component s methods Don t be concerned about the complexity of this process simply select from the Processor Expert Tools menu the Components Wizard tool which makes all the arrangements for you You only need to enter the code of methods and events save new component and install it on the Components Palette or share it with others 10 Processor Expert User Manual Introduction Processor Expert has built in knowledge internal definitions about the entire CPU with all integrated peripherals The CPU units and peripherals are encapsulated into configurabl
42. of the Processor Expert plug in help Concepts introduction to Processor Expert concepts Benefits who Processor Expert may benefit User Interface description of Processor Expert plug in environment Tutorial tutorial course Quick Start how to start with Processor Expert plug in Embedded Components index page of the Embedded Components documentation Component Categories index page of the Embedded Components Categories Supported CPUs Compilers and Debuggers list of CPUs Compilers Debuggers supported in the current version of Processor Expert plug in View Readme and Revision History Displays information about used Processor Expert plugin version basic installation instructions content of installation FAQ history of the signifiacnt changes from previous versions known problems and limitations and other related information User Guide Opens a brief user s guide delivered with Processor Expert Search in PDF Documentation of the Target CPU displays PDF documentation of the current CPU in 24 Processor Expert User Manual User Interface the PDF Search window It is possible to search any keyword in the CPU documentation based on the original manufacturer s CPU manual See 2 6 PDF Search for details e Go to Processor Expert Home page display Processor Expert home page in default Internet browser e Processor Expert On line Support opens the web pages related to the customer support for the currently
43. of the chip are handled by the components You can easily identify LED components by their specific icons If the Target CPU window is not opened use menu command Processor Expert gt View gt Target CPU package Target CPU Cpu MC9512DP256BCPY A TARAP fora OPCounter COPCounter none watchdog counter YA After adding all components click Processor Expert View Resource Meter in order to open the Resource Meter window and see remaining available resources of the chip 137 Processor Expert User Manual Processor Expert Tutorials Jal Pins usage MN Shti i i lt lt CS SW lt S i S Port usage WE I a Compare regs Capture regs ays A D channels Next step Go to Step 3 Code Generation 4 2 3 Tutorial for Freescale HCS12 Project 2 Step 3 Code Generation 1 Click on the command Processor expert gt Generate Code Led mcp in the CodeWarrior main menu in order to run the code generation process The code generation window shows the current state of code generation Note There shouldn t be any errors in the Error window before code generation Project LEDI Module IQ Map SS 2 The code generation process generated all source files from components to the Generated Code folder in the CodeWarrior project window The other modules can be found in the User modules folder in the CodeWarrior project window The generated code is inserted only into th
44. pins ConnectPin Method Note This feature is not available in this version It s necessary to invoke the component method ConnectPin to connect a component to the shared pin It s also necessary to invoke the main component method to connect pin back to the main component In fact the peripherals can usually operate simultaneously but they have no connection to the shared pins unless the ConnectPin method is executed In case that all components control the shared pin using one peripheral it s not necessary to use the ConnectPin method Shared pins are presented in the Target CPU view as well The component to pin connection line is red 107 Processor Expert User Manual 3 4 Implementation Details Application Design This chapter contains implementation details for Embedded Components and Processor Expert generated code The following subchapters describe Reset Scenario with PE Version Specific Information for HCS12 and HCS12X Additional implementation specific information can be found on individual component documentation pages 3 4 1 Reset Scenario with PE CPU reset EntryPoint tyPoint0 User code before PE init First level of PE initialization PLL ext bus User code after PE init C startup function Initialization of the stack pointer runtime librarieg memories Second level of PE initialization User event i
45. right so the first alternative found for which the entire expression matches is the one that is chosen This means that alternatives are not necessarily greedy For example when matching foolfoot against barefoot only the foo part will match as that is the first alternative tried and it successfully matches the target string This might not seem important but it is important when you are capturing matched text using parentheses m Also remember that l is interpreted as a literal within square brackets so if you write feelfielfoe You re really only matching feiol Examples foo bar foo matches strings foobar or foofoo 82 Processor Expert User Manual User Interface Metacharacters Subexpressions The bracketing construct may also be used for defining regular expression subexpressions Subexpressions are numbered based on the left to right order of their opening parenthesis The first subexpression has the number 1 Examples foobar 8 10 matches strings which contain 8 9 or 10 instances of the foobar foob 0 9 a r matches foob0r fooblr foobar foobaar foobaar etc Metacharacters Backreferences Metacharacters 11 through 19 are interpreted as backreferences lt n gt matches previously matched subexpression lt n gt Examples 1 matches aaaa and cc 1 also match abab and 123123 d 1 matches 13 in double quot
46. row for each of the possible timing modes Please see the section There is possible to enter 16 possible values modes The empty fields are ignored The user can drag and drop rows within the table to change their order Runtime setting configuration within this chapter for more information e For the option from interval the table has three rows that contain the Initial value low limit and high limit of the interval Please see the section Runtime setting configuration within this chapter for details on this type of runtime setting There are two editable columns Value Fill in a requested time value without units The drop down arrow button allows to display a list of neighboring values and the user can select one of them There is also possible to set the value by double clicking on a value from the possible settings table see below e Units units for the value When the Recalculate on unit change check box below the table is checked the value in the previous column is automatically re calculated to be the same in the newly selected units Timing precision configuration It is possible to specify desired precision of the timer settings by using one of the following settings which one is used depends on the type of the timing e The field Error allowed allows to specify a tolerated difference between the real timing and the requested value The Unit field allows to specify the units for the error allowed field time units
47. should be used when the code is already well debugged They could increase speed of the code but the generated code is less protected for the unexpected situations and finding errors could be more difficult Ignore range checking This option can disable generation of the code that provides testing for parameter range If the option is set to yes methods do not return error code ERR_VALUE neither ERR_RANGE If the method is called with incorrect parameter it may not work correctly e Ignore enable test This option can disable generation of the code that provides testing if the component peripheral is internally enabled or not If the option is set to yes methods do not return error code ERR_DISABLED neither ERR_ENABLED If the method is called in unsupported mode it may not work correctly e Ignore speed mode test This option can disable generation of the code that provides a testing if the component is internally supported in the selected speed mode If the option is set to yes methods do not return error code ERR_SPEED If the method is called in the speed mode when the component is not supported it may not work correctly 52 Processor Expert User Manual User Interface e Use after reset values This option allows Processor Expert to use the values of peripheral registers which are declared by a chip manufacturer as the default after reset values If the option is set to no all registers are initialized by a genera
48. specify several but fixed in run time number for given periods This allows only exact values modes listed in the listbox The resulted code for changing the period is less complex than using an interval e From time interval this is an alternative to using list of values which requires more code Using an interval allows setting whatever value specified by the component during run time This code re calculates the time period to the CPU ticks and this value is used when changing the timer period If the application requires only a few different timing periods even if the functionality is the same for both cases the correct usage of list of periods produces smaller code compared to code using an interval 194 Processor Expert User Manual Application Design 3 6 4 Code Size Optimization of Communication Components Note These optimizations are not usable for the Peripheral Initialization Components Communication components should be used with the smallest possible buffer Thus the user should compute or check the maximum size of the buffer during execution of the application For this purpose the method GetCharsInTxBuffer GetCharsInTxBuffer AsynchroSerial component which gets current size of a used buffer can be used after each time the SendBlock RecvBlock method is called Use interrupts if you require faster application response The interrupt routine is performed only at the event time that is the code does not check
49. target CPU component The CPU module additionally contains CPU initialization code interrupt processing e Main module The main module is generated only if it does not already exist if it exists it is not changed Name of this module is the same as the name of the project The main module contains the main function which is called after initialization of the CPU from the CPU module By default this function is generated empty without any reasonable code It is designed so that the user can write code here Event module The event module is generated only if it does not exist If it exists only new events are added into the module user written code is not changed The event module contains all events selected in the components By default these event handler routines are generated empty without any meaningful code It is considered that user will write code here Event module can also contain the generated ISRs for the components that require a direct interrupt handling Peripheral Initialization Components Generation of the ISRs is controlled by the project option Project Options Generate ISR It is possible to configure the name of event module individually for each component in the ADVANCED view mode of the Component Inspector However please note that the event module is not generated by Processor Expert if there is no event enabled in the component except the CPU component for which the event module is always generated
50. template will be shown in components library only for the current target CPU e Associated peripheral Mode This setting is present only if it is meaningful If the user chooses a peripheral the template will be shown in OnChipPeripheral mode only for this peripheral e Existing templates Shows list of the existing templates for the component Clicking on the item in the list loads the templates settings into the input fields After clicking the OK button the component template is saved and automatically added to the Components Selector tree 102 Processor Expert User Manual Application Design Customizing Component Template Settings If you click the Customize settings button in the Component Template dialog box the Template Editor dialog box is shown and the user can make the following changes in the template e Set default values of properties e Set default values of methods or events whether it has be generated or not generated e Rename methods by double clicking on method name e Set feature of properties methods or events as Read Only The user cannot edit default values of properties or change features such as whether or not to generate or not to generate methods or events Changeable The user can edit default values of properties or change features such as whether or not to generate methods or events by double clicking in the first column in Component Inspector The icon shows the status Feature
51. the Component Wizard external tool See 5 Component Wizard Description for details 1 1 Processor Expert Plug in Overview Processor Expert provides an efficient development environment for rapid application development of the embedded applications You can develop embedded applications for a wide range of microcontrollers and microprocessor systems using Processor Expert Processor Expert is integrated as a plug in into the CodeWarrior IDE You can access Processor Expert from the CodeWarrior IDE using the Processor Expert menu in the CodeWarrior IDE menu bar The Processor Expert plug in generates code from the Embedded Components and the CodeWarrior IDE manages the project files and compilation and debug processes Figure below shows the Processor Expert plug in that appears when you select the Processor Expert menu in the CodeWarrior IDE menu bar Processor Expert User Manual Introduction lola File Edit View Search Project Debug Processor Expert Window Help PSESEoeKRBAARe SEL EED de o x bean inspector FCGLFreecOa O x testi mcp ec a Bean Items Visibility gt Peripheral Initialization gt PE ICO dia y g mn 4 Properties Methods Events Comment E Bean name Files Link Order Targets Processor Expert T Counter Interrupt service event Interrupt gt Operating System 7 ro Pa 26 CPUs Prescaler x CpuMC9S12DP256BCPV lt Resolution Y CpuMC9S12UF32_64 4 l ES Same resolution in modes E Beans r gt Bean use
52. the peripheral which is controlled by any Component driver can cause the incorrect Component driver function 3 8 1 Direct Access to Peripheral Registers The direct control of the Peripheral s registers is a low level way of creating peripheral driver which requires a good knowledge of the target platform and the code is typically not portable to different platform However in some cases is this method more effective or even necessary to use in the case of special chip features not encapsulated within the Embedded component implementation See 3 8 Low level Access to Peripherals for details Register Access Macros Processor Expert defines a set of C macros providing an effective access to a specified register or its part The definitions of all these macros are in the file PE_Types h The declaration of the registers which could be read written by the macros is present in the file IO_Map h Whole Register Access Macros e getReg w RegName Reads the register content e setReg w RegName RegValue Sets the register content Register Part Access Macros e testReg w Bits RegName GetMask Tests the masked bits for non zero value e clrReg w Bits RegName ClrMask Sets a specified bits to 0 e setReg w Bits RegName SetMask Sets a specified bits to 1 e invertReg w Bits RegName InvMask Inverts a specified bits e clrSetReg w Bits RegName ClrMask SetMask Clears bits specified by ClrMask and sets bits specified
53. the peripheral is utilized by the Embedded Component and the component settings are correct Peripheral Initialization Inspector shows initialization as required by Components settings Registers There is a value displayed in the middle column which will be written into the register or bit by the generated code during the initialization process of the application It is the last value that will be written by the initialization function to the register Note For some registers the value read from the register afterwards can be different than the last written value For example some interrupt flags are cleared by writing 1 Please see the CPU manual for details on registers behavior In case the peripheral is allocated by a component and the setting of the component is incorrect then the initialization values are not displayed in the Peripheral Initialization window Instead a value of the register or bit after reset is displayed in the right column The after reset values can contain also a characters with special meaning The list and description of these characters is displayed as a hint when the mouse cursor is placed on the header of the registers table The values of the registers can be displayed in hexadecimal decimal or in binary form In case the value of the register or bit is not defined an interrogation mark is displayed instead of the value In this case it is possible to display the value of the register in binary for
54. the topmost level This is the default mode e Normal view All nodes of the timing model are shown The complexity can be switched by checking un checking the Simple View item of the pop up menu of the window wow Click plus or minus signs to expand or collapse the branches of the tree Icons Description Y active endpoint a device using the clock inactive device or unused branch clock source 4 adjustable prescaler constant prescaler x adjustable multiplier X constant multiplier clock distribution to multiple branches E clock distributi Itiple branch element selecting one of the connected branches The inactive branches have the gray cross icons for an inactive branch example please see the RTIJoin prescaler on the figure below ye join of multiple clock sources The values of all prescalers are for high speed mode For details on speed modes please see the chapter 3 2 2 2 Speed Modes Support More details on individual items are available as hints after the mouse cursor is placed on the item s name The displayed prescaler values are automatically set after the reset for enabled devices The values are influenced by the components configuration For details on the component timing principles please see the chapter 3 3 4 Timing Settings Some nodes contain a frequency information It is a clock frequency on the node output 59 Processor Expert User Manual User Interf
55. this bean a Cpu Hint Program must be linked from address 8000H a Smart event code linker Figure 2 32 Processor Expert Error window Pop up Menu The pop up menu invoked by a right mouse button click contains the following items e Delete All Tool Errors Warnings and Hits removes all tool errors warnings and hints listed in the error window e Delete All code generation errors warnings and Hints removes all code generation errors warnings and hits listed in the Error window Copy to Clipboard copies the whole content of the window as a text to the clipboard Note This command can be very useful in the case of contacting our support personnel with a component 53 Processor Expert User Manual User Interface setup issue e Help display documentation 2 7 Target CPU Window Processor Expert gt View gt Target CPU Package Processor Expert gt View gt Target CPU Block Diagram Processor Expert gt View gt Target CPU Structure This window displays selected target CPU with its peripherals and pins possible data directions of single pins are indicated by blue arrows on the CPU package when a component uses these pins Several display modes are supported It is possible to switch the display mode by pushing buttons in the left side menu of the window Control Buttons The meanings of the buttons on the left side are 6 Rotates CPU rotate the CPU 90 degrees to the right e Show
56. to the source code drag the method from the Project Panel See 2 3 Project Panel for details 72 Processor Expert User Manual User Interface File Editor Pop up Menu To open the File Editor pop up menu click the right mouse button on the text area of the File Editor window Meanings of items e File Open opens a file Save saves the currently displayed file Save As saves the currently displayed file under a new name Save All saves all opened files if files were edited Close closes the currently displayed file Close all closes all files Delete closes and deletes the currently displayed file Reopen opens a list of used files Print prints the currently displayed file on a printer Print Preview opens a print preview dialog The dialog allows the user to enter printer options set zoom size for preview display document margins and print the page e Edit Undo Restores the state of a file before the last change Redo Resumes the last change Cut Cuts the selected text to the clipboard Copy Copies the selected text to the clipboard Paste Pastes the text from the clipboard Clear Clears the selected text Select All Selects all text Delete Line Removes the current line Delete word Removes characters from the current cursor position to the end of the word including space Search Find Displays SearchReplace dialog Find Next
57. tree Components Library A Categories On Chip Prph Alphabet Assistant lt Quick help amp CPU Internal Peripherals 46 Communication Component BitlO gt Converter This component implements an one bit EE Interrupts input output It uses one bit pin of an I O E G Measurement port HE Memory Version specific information for HS Peripheral Initialization MC68HC908JK1 MC68HC908JL3 aS Port 1 0 MC68HC908JL8 MC68HC908JK16 0 MC68HC908JL16 derivatives O nann m o ini min mr e ENANA Filter for MC9SO8MP16VLF only Licensed Ue Figure 2 7 Components Library with Quck Help panel Filtering The following filters can be applied on the component list They could be switched on off by clicking on two buttons on the bottom bar e for XXXXX only If this filter is active only the components that could be used with the current target CPU derivative are shown the XXX is the currently selected target CPU If the filter is inactive Processor Expert also shows components that are not available for the current CPU but in the gray color e Licensed If active only the components with valid license are shown The icon in Component categories On Chip peripherals or Alphabet tab means that there is an available license for the component If the icon is displayed as a greyed S icon it means that for the selected component a valid license is not available All questions This butto
58. use these three CPU Component speed modes instead e High speed mode this mode is selected after reset and must be enabled in the project This speed mode must be the fastest mode of the main CPU clock e Low speed mode this mode is usually used for another PLL or main prescaler settings of the main CPU clock e Slow speed mode this mode is usually used for the slowest possible mode of the main CPU clock 90 Processor Expert User Manual Application Design Switching Speed Modes at Runtime The modes can be switched in the runtime by the following CPU component methods e SetHighSpeed e SetLowSpeed e SetSlowSpeed If a speed mode is enabled in the CPU Component properties the corresponding method is enabled automatically It is highly recommended to disable interrupts before switching to another speed mode and enable them afterwards Speed Modes Support in Components Using the component property CPU clock speed selection it is possible to define the speed modes supported by the component Some components allow to set two values of the CPU clock speed selection property e Supported The CPU clock speed selection group contains properties defining which speed modes are supported for the component e Ignored The speed mode settings are ignored and there are no action is performed when a speed mode is changed that is the peripheral continues to run with the same configuration for all speed modes No speed mode hand
59. value e use my default value cancel changes discard loaded value and use previous default value e use new value and do not change default value use the newly entered or just loaded value and do not change the default value do not use default value for this item permanent settings never use default value for this property e use always default value for this item during project loading permanent settings do not display this dialog and always use the default value during project loading and template creation Note This item is accessible only during project loading Permanent settings or default values can be removed in Environment Options Default value 41 There is diferent value of item Tool directory than you usualy use in the bean Cpu project Untiled C use new value as default value Casma oO use my default value D Program FlesiPE 2 53 BETA F use new value and do not change default value C do not use default value for this item C use allways default value for this item during project template loading 7100 Figure 2 29 Changing the Default Value 51 Processor Expert User Manual User Interface 2 5 3 4 Version Specific ltems The Version specific items properties methods and events are displayed only for CPU derivatives that support it These items cover the special capabilities of the CPU and they are not present for all CPUs The version specific item is
60. CPU window Selecting a CPU as Target CPU The first CPU added to the project is automatically selected as the target CPU It means that code will be generated for this CPU When there are more than one CPU in the project the target CPU can be changed by following these steps 1 Right click the CPU icon in the Project panel to display a pop up menu 2 Select Select CPU as target the CPU is selected as target This setting doesn t affect the setting of the target in the Targets tab in the CodeWarrior project panel If the user changes the target CPU in the Processor Expert project panel and the CPU doesn t match with the current CodeWarrior target settings the Linker dialog box is invoked during the code generation allowing the user to update the linker setup 89 Processor Expert User Manual Application Design Changing CPU Settings The only way to modify CPU settings its properties methods events chip selects timing user reserved peripherals compiler and debugger settings etc is to invoke the Component Inspector for the selected CPU component If you have added CPU to your project you can invoke Component Inspector by performing either of the following e Right click the CPU icon in the Project panel to display pop up menu and select the CPU inspector e Double click the CPU icon in the Project panel For a detailed description of the current CPU properties methods and events select Help gt Help on Component me
61. CodeWarrior Plug in for Freescale HCS12 HCS12X Processor Expert User Manual CONTENTS 1 Introduction 4 1 1 Processor Expert Plug in Overview 2 0 0 ccc cece ee eee eee eee eee eee 4 A dee ad cae A Balada emacs eneantacmya nate E 6 EE PE COI IS a2 o oo A coset E E 9 1 4 Benefits of Embedded Components and Processor Expert Technology 11 1 5 Terms and Definitions Used in Processor Expert coccion 12 2 User Interface 15 2 17 Main Ment A A A thee ut tt hatha 16 2 1 1 Processor Expert Options _2 22 ee eee ee eee 19 P AAS o CEE T o AR AINETES SDA oe A Oe ae 20 2 1 2 1 Tools Setup Macros ___ 22 ee eee ee eee 22 22 Help and Manuals s 02d ol baaa 24 PEE PIOICCU PANG liso cock wate ores Naat teed A helmets cca ted eee abae outils 25 2 3 1 Configurations Pop up Menus __ 22 2 eee eee ee 29 2 3 2 Configurations Editor Loco 30 2 3 3 CPUS Pop up Menys i e srne te atthe tees etude tee Gute Ll aa 31 2 3 4 Component Pop up Menus oc 32 2 3 5 User and Generated Modules Pop up Menus _ eee ee eee ee eee eee eee 34 2 3 6 Documentations Pop up Menu _ 2 2 2 ee eee 35 2 4 Components Library a cto ers alana Arosa len dt ds laten late eens 36 2 4 1 Component Assistant occ 39 Zs INSDECION A A e a A eae eE 40 2 5 1 INSPECTOR NEMS 2 cuan rt o ia Boda 42 202 MEMSVISIDII e a a it ot 44 2 5 3 Component inspectO cuco tidad cia ad Poe le ee eee edo s tein 44 2 5 3 1 Dialog Box for Timing Settings _
62. High or Low level components are used the interrupts functionality is covered by the events of the components The interrupt subroutines calling the user s event handlers are generated to the component modules and PE provides parts of the background code necessary to correctly handle the interrupt requests The Peripheral Initialization components can only provide the initialization of the interrupt and generate a record to the Interrupt Vector Table The user has to provide a full implementation of the interrupt subroutine See 3 5 3 1 Typical Usage of Peripheral Initialization Components for details 95 Processor Expert User Manual Application Design 3 3 1 1 Interrupt Vector Table An interrupt vector is a pointer to an interrupt handling subroutine An Interrupt Vector Table IVT is a table list which contains single interrupt vectors Each interrupt corresponds to one interrupt vector VT may be e placed in ROM usually first level IVTs the jump to the right vector is done by hardware no interrupt vectors can be changed at runtime e placed in RAM usually second level IVTs the jump to the right vector is done by software first level interrupt handling subroutine This implementation can be slower due to this software redirection to users routine The interrupt vectors placed in RAM and not allocated by any component can be changed at runtime using CPU component methods GetIntVect and SetIntVect The type of the IVT RO
63. M RAM can be setup using the option Application Options Interrupt Vector Table Each processor that can handle and process interrupts has a first level IVT in ROM The second level is used only when it is necessary i e IVT is placed in RAM Processor Expert generates content of the whole IVT into the file vectors c The content of the file depends on the compiler syntax of the interrupt declarations 3 3 1 2 Processor Expert Priority System Some CPUs support selectable interrupts priorities The user may select a priority for each interrupt vector The interrupt with a higher priority number can interrupt a service routine with the lower one Processor Expert supports the following settings in design time interrupt priority and priority of the event code Priority can also be changed in the user code The user may use a CPU component method to adjust the priority to a requested value Interrupt Priority The user may select interrupt priority in the component properties just below the interrupt vector name Processor Expert offers the following values which are supported for all microcontrollers e minimum priority e low priority e medium priority high priority maximum priority The selected value is automatically mapped to the priority supported by the target microcontroller It is indicated in the third column of the Component Inspector The user may also select a target specific numeric value such as priority 255
64. M and FLASH See 2 4 Peripherals Usage for details e Show Peripheral Initialization shows initialization values of all control status and data registers It is supported for all devices displayed on CPU package See 2 13 Peripheral Initialization for details e Search Related Info in CPU PDF Documentation displays the PDF Search window and finds information about the peripheral in the appropriate CPU documentation It is for possible to search for any keyword in the CPU documentation based on the original manufacturer s CPU manual This item is available on the package and on the CPU block only See 2 6 PDF Search for details e View CPU Block Diagram displays the CPU block diagram in the Target CPU window Help on Components Library displays documentation on the Components Library 38 Processor Expert User Manual User Interface 2 4 1 Component Assistant The Component Assistant is a mode of Components Library window It guides the user during the selection of components basic application building blocks The user answers a series of questions that finally lead to a selection of a component that suits best for a required function In this mode the Components Library window has the following parts e Control bar with the history navigation buttons and the history line showing answers for already answered questions The user can walk through the history using the arrow buttons and by clicking the individual items e A b
65. The contents of the window can be configured using commands in menu View It is possible to view this window also in HTML format using command View gt As HTML 65 Processor Expert User Manual User Interface Menu e View Component Type all displays all components Components only hides CPU components CPUs only displays CPU components only Component Info all displays information about the component basic displays basic information about the component only none hides information about the component Driver Info all displays the most information about component s drivers basic displays only a basic information about the component s driver none hides information about component s drivers Implementation display all shows all components Hide components without any supported driver shows only components that contain supported driver Hide components with any supported driver shows only components that do not contain any supported driver Show only full source components shows only components that do not have the source code encrypted As HTML display this table in default HTML browser Temporary HTML file will be removed from the disk after closing Processor Expert e Help Help on Component displays help for currently selected component except CPU components Help on this Window displays this page x Installed Components Overview loj x View H
66. ace Clock Path Direction It is possible to change the direction of the timing path This can be set by switching the CLOCK field value From CPU clock source to individual peripherals The prescalers and clock driven CPU devices are ordered in a tree structure starting with the main branch which represents the main clock source PLL X tal etc CLOCK from CPU clock source y Beet E CPU Source Clock 1 gt 8MHz E ClockDiv1 amp XtalCik gt 4MH2 E J ATWoin clock xtalClk E RTI presc not set lt counter overflow ATlfree ES IntOsc gt 0 032MHz E RTWoin clock XtalCik E RTI presc not set counter overflow ATlfree EE Clkdiv 1 gt 8MHz E E BusClockPresc 2 gt 4MHz Figure 2 38 CPU Timing Model Window e From selected peripheral to CPU clock source The selected peripheral is the root of a tree showing the current sequence of the prescalers form the device to the main clock source Each sub node represents a source of the clock used for its parent EZ BusClockPresc 2 gt 4MHz EY Cikdiv 1 gt 8MHz CPU Source Clock 1 gt 8MHz Figure 2 39 CPU Timing Of Selected Peripheral 60 Processor Expert User Manual User Interface 2 9 Resource Meter Processor Expert gt View gt Resource Meter The Resource Meter shows the current status of a chip resource usage or availability Note that if a peripheral is allocated all its parts are reserved For example if you use the
67. aced over a peripheral name a short description of the peripheral appears as a hint Note that if a peripheral is allocated all its parts are reserved For example if you use the 8 bit I O port all the T O pins of the port are allocated and it is not possible to use them in other components The list can be filtered for only the used peripherals interrupts channels to be shown by using the menu command View gt Show Used Peripherals Only Note The Peripheral Initialization and Peripheral Usage are both only one window in two different modes These windows could not be displayed both at once The following items are available e I O page shows I O pins and ports usage If a pin port is allocated to a component the I O properties of the component are displayed below the pin port s name unless all the pins of a port are used by one component in which case the properties appear under the name of the allocated pins e Interrupts page shows interrupt vectors usage Each item of the list contains a number of the interrupt vector and its name If an interrupt vector is allocated to a component the component s name and the interrupt priorities are displayed as a sub items in the vector s group e Timers page shows the allocation of the timers e Channels page shows A D CAN and serial channels usage 70 Processor Expert User Manual User Interface Menu e View Sort registers by address Group registers Show Unused Bits In this
68. al number of CAN channels TF Watchdog required Fal X Cancel Help Figure 2 43 CPU Query Dialog Description The CPU Parameters Overview windows displays the list of CPUs including their technical features e CPU type CPU type e Producer CPU producer e Family CPU family e Clock CPU xtal clock e Dual clock if CPU does have a dual clock e Operating Temperature CPU operating temperature e pins number of pins on CPU package e IO ports number of I O ports and I O pins e timers number of timers compares and captures e A D number of A D channels and converters For example 12 1 means 12 A D channels and 1 A D converter e serial number of asynchro synchro serial channels e FCAN on chip CAN channels e Watchdog on chip watchdog e Special Special features and devices e RAM on chip RAM size e ROM on chip ROM size e EPROM on chip EPROM size e FLASH on chip FLASH size e OTP on chip OTP size e Power supply power supply voltage e Storage CPU storage temperature 64 Processor Expert User Manual User Interface Note Memory sizes are in minimal addressable units bytes words If you right click on the window a menu appears allowing you to add the selected CPU to the current project or to refine your previous query 2 12 List of Installed Components with Additional Information Processor Expert gt View gt Installed Components Overview This window
69. ality such as time in ms or frequency in Hz without user knowing about the details of the hardware registers CPU specific features are supported only as CPU specific settings or methods and are not portable See 2 5 3 4 Version Specific Items for details The components inheriting or sharing a high level component s to access hardware are also high level components e Low Level Components Components that are dependent on the peripheral structure to allow the user to 87 Processor Expert User Manual Application Design benefit from the non standard features of a peripheral The level of portability is decreased due to a different component interface and the component is usually implemented only for a CPU family offering the appropriate peripheral However you can easily set device features and use effective set of methods and events e Peripheral Initialization Components Components that are on the lowest level of abstraction An interface of such components is based on the set of peripheral control registers These components cover all features of the peripherals and are designed for initialization of these peripherals Usually contain only Init method see 3 5 3 1 Typical Usage of Peripheral Initialization Components for further details The rest of the function has to be implemented using a low level access to the peripheral This kind of components could be found in the CPU Internal Peripherals Peripheral Initialization Components
70. als virtual devices and pure software algorithms These facilities are interfaced to the user through properties methods and events It is very similar to objects in the Object Oriented Programming OOP concept Easy Initialization A user can initialize components by setting their initialization properties in the Component Inspector Processor Expert generates the initialization code for the peripherals according to the properties of the appropriate components User can decide whether the component will be initialized automatically at startup or manually by calling the component s Init method Easy On chip Peripherals Management Processor Expert knows exactly the relation between the allocated peripherals and the selected components When the user selects a peripheral in the component properties Processor Expert proposes all the possible candidates but signals which peripherals are allocated already with the icon of the component allocating the peripheral PE also signalizes peripherals that are not compatible with the current component settings with a red exclamation mark In the case of an unrealizable allocation an error is generated Unlike common libraries Embedded Components are implemented for all possible peripherals with optimal code The most important advantages of the generated modules for driving peripherals are that you can e Select any peripheral that supports component function and change it whenever you want during d
71. ary tab Components Library loj xj Categories On Chip Prph Alphabet Assistant Quick help gt gt START 2 What kind of task do you need to handle a Digital input output 7 components 2 Measurement 10 components Generation of signals 4 components 23 Timing 16 components Communication 9 components Filter for MCSSO8MP16VLF only Licensed Ui Figure 2 8 Components Library in Assistant Mode 39 Processor Expert User Manual User Interface 2 5 Inspector Processor Expert gt View gt Inspector Inspector is universal window which allows to view and edit attributes of the object selected in the Project Panel It could be a Component Configuration User module or Peripheral Initialization Component Inspector can work in these modes depending on the type of inspected object e Component Inspector provides access to Properties Methods Events and Comments for the Components arranged in switchable pages See 2 5 3 Component Inspector for details Component Inspector for CPU component offers additional Build options if a target compiler is selected and Used peripherals pages e Configuration Inspector Provides access to settings of a configuration See details in chapter Configuration Inspector e User module inspector Provides access to settings of a user module A D resolution Autoselect y 12 bits Y Conversion time Unassigned timing Figure
72. between the compared files The different lines are highlighted with the light yellow color and the different characters are red The lines added to the file have a green background To speed up navigation between changes the editor offer the arrow buttons on the toolbar Pressing the right left arrow button will move the cursor to the next previous difference in the file This mode can be invoked automatically by Processor Expert in a case of comparing a component modules with previously generated ones See 2 3 4 Component Pop up Menus for details or by a DIFF button when a changes tracking is enabled See 3 5 1 1 Tracking Changes in Generated Code for details Editor E testi sdsd test CODE Inhr3 C READ ONLY oid Inhr3 Init void D A SET SCG setReg SCI1 SCICR 0 setReg SCI1 SCIBR 391 7 HWEnDi SerFlag LOOP 0 SW 243 1 oid Inhr3 Init void O j SCLi_ SCICR setReg ScI1 SCICGRS Giz setReg SCI1SCIBR SerFlag LOOP 0 SW HUEnDi oo MA a Read Only Syntax pnts For Metrowerks DSP C Compiler Figure 2 52 The comparison mode of editor 76 Processor Expert User Manual User Interface 2 16 PDF Search Processor Expert gt Help gt Search in PDF Documentation of the Target CPU The PDF Search window allows the user to quickly browse PDF documentation for an CPU It can also be invoked directly from the pop up menu of the CPU com
73. ble content PE Const h Definition of the constants such as speed modes reset reasons This file is included in every driver of the component PE_Types h Definition of the C types such as bool byte word This file is included in every driver of the component PE_Error h Common error codes This file contains definition of return error codes of component s methods See the generated module for detailed description of the error codes This file is included in every driver of the component PE Timer This file contains shared procedures for runtime support of calculations of timing constants startupfile c This external module visible in the External Modules folder of the Project Panel contains a platform specific startup code and is linked to the application The name of the file is different for the Processor Expert versions For datils on the use of the startupfile during the reset see chapter 3 4 Reset Scenario with PE See also chapter 3 5 2 Predefined Types Macros and Constants 113 Processor Expert User Manual Application Design 3 5 1 1 Tracking Changes in Generated Code Processor Expert allows to compare generated modules with the previously generated ones after each code generation which may prevent from unwanted changes in the component modules This function has to be enabled by the Project Options Track changes The Modified Files dialog appears after the successful code generation and shows the lis
74. block individual resources for using them in Processor Expert The page consists of the three columns e First shows the name of the resource Resources are in groups according to which device they belong to e Second column allows the user to reserve resource for example pin for external module Click on Dl icon to reserve free a resource Reserved resource could not be use in Processor expert any more e Third column shows the current status of the resource and the name of the component which uses it if the resource is already used For menu and view mode description and other common Inspector window features see chapter 2 5 Inspector and 2 5 1 Inspector Items Pin sharing Note This feature is not available in this version Some components allow sharing of the pins This ability is indicated by a presence of the pin sharing A button in the pin selection property line 45 Processor Expert User Manual User Interface Component level The Component Level is displayed at the bottom of the window besides the view mode buttons It describes the amount of the peripheral abstraction and a cross platform portability High Level Components highest level of peripheral abstraction An application built from these components can be easily ported to another microcontroller supported by the Processor Expert e Low Level Components The components that are dependent on the peripheral structure to allow the user to benefit fro
75. by SetMask 127 Processor Expert User Manual Application Design Access To Named Bits e testReg w Bit RegName BitName Tests whether the bit is set e setReg w Bit RegName BitName Sets the bit to 1 e clrReg w Bit RegName BitName Sets the bit to 0 e invertReg w Bit RegName BitName Inverts the bit Access To Named Groups of Bits e testReg w BitGroup RegName GroupName Tests a group of the bit for non zero value e getReg w BitGroupVal RegName GroupName Reads a value of the bits in group e setReg w BitGroupVal RegName GroupName GroupVal Sets the group of the bits to the specified value RegName Register name BitName Name of the bit GroupName Name of the group BitMask Mask of the bit BitsMask Mask specifying one or more bits BitsVal Value of the bits masked by BitsMask GroupMask Mask of the group of bits GetMask Mask for reading bit s ClrMask Mask for clearing bit s SetMask Mask for setting bit s InvMask Mask for inverting bit s RegValue Value of the whole register BitValue Value of the bit 0 for 0 anything else 1 w Width of the register 8 16 32 The available width of the registers depends on used platform Example Assume that we have a CPU which has a PWMA channel and it is required to set three bits 0 1 5 in the PWMA_PMCTL to 1 We use the following line setRegBits PWMA_PMCTL 35 Run counter 128 Processor Expert Use
76. clicking on the plus minus button The items in the list can be arranged using a related pop up menu commands GPIOCO_SCLK1_ GPIOC1_MOSI1_TE GPIOC1_MOSI1_ e Peripheral selection The user can select a peripheral from the list of the available peripherals The peripheral that are already allocated have the component icon in the list The properties that conflicts with the component settings have the red exclamation mark Capture register TC3 y TC3 Timer counter TIM Capture input pin Y co PM4_SDDATA2 SBSY Real Number the user can insert any real floating point number v Reall es e String Allows to enter any text or value Component name AD1 e String list Clicking the dialog button E will open the simple text editor that allows to enter an array of text lines 43 Processor Expert User Manual User Interface String list string list El Time Date Allows to setup the Time Date in a format according to the operating system settings v Time 10 00 00 v Date 1 1 2001 El e Timing settings Allows a comfortable setting of the component s timing The timing dialog box gets opened when clicking on El See 2 5 3 1 Dialog Box for Timing Settings for details Interrupt period 1100 ms se high 100 ms 2 5 2 Items Visibility Processor Expert supports selectable visibility of component items Each item is assigned a predefined level of visibility Higher visibility lev
77. components More information about Embedded components can be found in Processor Expert Help gt Processor Expert gt Embedded Components Help gt Processor Expert gt Supported CPUs 86 Processor Expert User Manual Application Design 3 2 1 1 Component Categories Components Library Categories Complete list of the component categories and corresponding components can be found in the Component Categories page of the Components Library The components are categorized based on their functionality so you can find an appropriate component for a desired function in the appropriate category There are the following four main categories which further contain various sub categories e CPU All available CPU components The CPU folder in Components Library contains subfolders for the CPU families e CPU External Devices Components for devices externally controlled to the CPU For example sensors memories displays or EVM equipment e CPU Internal Peripherals Components using any of on chip peripherals offered by the CPU The Components Library folder with the same name contains sub folders for the specific groups of functionality i e Converters Timers PortIO etc Note It seems that components especially in this category correspond to on chip peripherals Even this declaration is close to the true the main purpose of the component is providing the same interface and functionality for all supported CPU derivatives
78. configurations of one project Inspector a window which allows the user to setup Components and Configurations of the project e Components Library shows all supported components in the appropriate version of the Processor Expert including CPU components and component templates e Target CPU a window graphically showing CPU package structure and components connected to internal peripherals Allows to easily add components related to a specific peripheral to the project using a pop up menu of the peripheral Project Information Windows e Error window a window with errors warning messages and hints from project checking generation and from external tools e CPU Timing Model a window showing the target CPU s timing e Peripheral Initialization shows overview of peripheral initialization settings for the current CPU e Peripherals Usage Inspector a window showing which component allocates which on chip peripheral e Resource Meter a window displaying the amount of the target CPU s resources already allocated e Memory Map a window showing the CPU address space and internal and external memory mapping Processor Expert Overview Windows e Installed Components Overview this window contains information about installed components in the current version of Processor Expert e CPU Parameters Overview a window providing access to the CPU s database e PDF Search a window allows the user to quickly browse in a PDF docu
79. cost of design all these are keys to success provided by Processor Expert 1 5 Terms and Definitions Used in Processor Expert Component An Embedded Component is a component that can be used in Processor Expert Embedded Components encapsulate the functionality of basic elements of embedded systems like CPU core CPU on chip peripherals standalone peripherals virtual devices and pure software algorithms and wrap these facilities to properties methods and events like objects in OOP Components can support several languages ASM ANSI C Modula and others and the code is generated for the selected language Component Inspector Window with all parameters of a selected component properties methods events Bus clock A main internal clock of the CPU Most of the CPU timing is derived from this value CPU Component Component that encapsulates the CPU core initialization and control This component also holds a group of settings related to the compilation and linking such as Stack size Memory mapping linker settings Only one CPU component can be set active as the target CPU See 3 2 2 CPU Components for details Component Driver Component drivers are the core of Processor Expert code generation process Processor Expert uses drivers to generate the source code modules for driving an internal or external peripheral according to the component settings A Component can use one or more drivers Counter Represents the whole timer w
80. ct because this method is invoked for all ECT modules Note See Internal peripheral property group of the CPU component for special settings e Capture Method Reset If the counter can t be reset is not allowed by HW or the counter is shared by more components this method stores the current value of the counter into a variable instead of a reset Method GetValue If the counter can t be reset is not allowed by HW or the counter is shared by more components this method doesn t return the value of register directly but returns the value as a difference between the register value and the previously stored register value This causes values that are proportional to time elapsed from the last invocation of the method Reset Method Latch This method causes capture of the counter in the hold registers of all capture and pulse accumulator components in PE project because this method is invoked for all ECT modules Method GetHoldValue This method transfers the contents of the associated pulse accumulator to its hold register 110 Processor Expert User Manual Application Design Note See the Internal peripheral property group of the CPU component for special settings BitIO BitsIO ByteIO Byte2IO Byte3IO Byte410 The GetVal and GetDir methods are always implemented as macros LongIO This component could not be implemented on Freescale HCS12 this CPU has no instructions for 32 bit access into the I O space IntEEPROM T
81. displays documentation for the Components Library The target CPU folder pop up menu is available by clicking the right mouse button on the Target CPU folder in the On Chip Peripheral mode This menu is the same as the pop up menu for the target CPU in the project panel See 2 3 3 CPUs Pop up Menus for details for details Peripheral folder pop up menu is available by clicking right mouse button on the peripheral in the On Chip Peripheral mode It contains the commands Expand Collapse expands or collapses the folder Expand All expands the folder and all of its subfolders e Collapse All collapses the folder and all of its subfolders e Show Peripheral Structure opens the peripheral s structure view it is supported for I O ports timer s counters serial ports It is also supported for devices working in several modes in the CPU block diagram A list of represented devices for these modes is displayed Rename Peripheral allows the user to rename the selected peripheral It is supported for I O ports and pins watchdog and timers counters compare and capture registers free running devices A D converters and A D channels CAN serial ports See details for renaming peripherals e Show Peripheral Usage shows which part of the peripheral is used by the application visible after code generation It is supported for I O ports and pins timers A D converters and A D channels CAN serial ports watchdog internal memories EEPRO
82. e peripheral Selecting one component opens the Component pop up menu e Right click on the peripheral opens the Peripheral Pop up menu see below Peripheral Pin Pop up Menu The following commands are available in the pop up menu e Show Peripheral Initialization shows initialization values of all control status and data registers This option is supported for all devices displayed on a CPU package See 2 3 Peripheral Initialization for details e Show Peripheral Structure opens the peripheral s structure view it is supported for I O ports timer s counters serial ports This option is also supported for devices working in several modes in the CPU block diagram A list of represented devices for these modes is displayed Show Peripheral Usage shows which part of the peripheral is used by the application visible after code generation This option is supported for 1 O ports and pins timers A D converters and A D channels CAN serial ports watchdog internal memories EEPROM and FLASH See 2 4 Peripherals Usage for details e Rename Peripheral allows you to rename the selected peripheral It is supported for I O ports and pins watchdog and timers counters compare and capture registers free running devices A D converters and A D channels CAN serial ports e Search Related Info In CPU PDF Documentation displays PDF Search window and finds the information about the peripheral in the appropriate CPU documentation
83. e 3 2 Embedded Components for details It provides a powerful interface for the composition of new components and generates the component files Using Component Wizard the user can create new components very quickly and easily without errors in the generated files The user needs only to determine the Properties Methods and Events and write the necessary implementations of the methods and events Component Wizard facilitates the reusability of existing Components and helps edit the source code quick location editor Component Wizard is an external tool not a part of Processor Expert For further information see Component Wizard Help Component Wizard 1 33 Component TwoKeys q loj x File Edit Tools Help Deb O ren g Common Properties Property types Methods Events User Types Constants Drivers Documentation List of methods Properties of the selected method FF Details generate code Hint This method enables the component generate code GelVal ada IsinDefinitionModule tte etal Rie Method_Name Enable PublicMethod True zi RetumType void S Symbol Enable zl Delete Add parameter Delete parameter void Enable void 141 Processor Expert User Manual INDEX About dialog 24 Adding components ___ 36 Adding CPU d sccceic ce a a che cca ee 89 After PE Code Generation
84. e Rapid Application Development options and click on the Finish button 6 Confirm Select CPUs dialog by clicking on OK 132 Processor Expert User Manual Processor Expert Tutorials Select CPUs lola Select CPU pin variants See item s popup hint for detailed description of the corresponding CPU bean Ma MC9512DP256BCPY 112 pins TT MC9S12DP256BMPY 112 pins LOFP P MC9512DP256BWPY 112 pins LOFP All None Now the new empty project is created and ready for adding new components Next step Goto Step 2 Adding components to the project 4 2 2 Tutorial for Freescale HCS12 Project 2 Step 2 Adding Components to the Project In the context of the LED controller you will add two BitIO components for the Red LED and the Green LED and an ExtInt component for the Button 1 If the Components Library window is not already opened open it using menu Processor Expert gt View gt Components Library 2 Double click the BitIO component in the folder Portl O subfolder of CPU Internal Peripherals folder in the Components library window AE Bean Categories On Chip Peripherals _ Quick help gt E E CPU extemal devices E E CPU intemal peripherals 5 Communication amp Converter Interrupts G Measurement E Memory oS Port 1 0 s0 Bitsio S BytezI0 A oan Filter all CPU Licensed 133 Processor Expert User Manual Processor Expert Tutorials 3 If you will be asked whether to enab
85. e components called Embedded Components and the configuration is fast and easy using a graphical Component Inspector Peripheral Initialization Components are a subset of Embedded Components allow the user to setup initialization of the particular on chip device to any possible mode of operation The user can easily view all initialization values of the CPU produced by Processor Expert with highlighted differences between the last and current properties settings Processor Experts performs a design time checking of the settings of all components and reports errors and warnings notifying users about wrong property values or conflicts in the settings with other components in the project Processor Expert contains many useful tools for exploring a structure of the target CPU showing the details about the allocated on chip peripherals and pins Processor Expert generates a ready to use source code initializing all on chip peripherals used by the component according to the component setup 1 4 Benefits of Embedded Components and Processor Expert Technology The key benefit of Embedded Components is same as using components in software design environments such as Microsoft Visual Basic or Borland Delphi In comparison with components used within these products Embedded Components provide hardware encapsulation in the form of a platform independent standard Different players in the embedded market should benefit from such a standardized approach M
86. e list If the first character after the is the class matches any character not in the list Examples foob aeiou r finds strings foobar foober etc but not foobbr foobcr etc foob aeiou r find strings foobbr foobcr etc but not foobar foober etc Within a list the character is used to specify a range so that a z represents all characters between a and z inclusive mow If you want itself to be a member of a class put it at the start or end of the list or escape it with a backslash If you want you may place it at the start of list or escape it with a backslash Examples az matches a z and az matches a z and a z matches a z and a z matches all twenty six small characters from a to z n x0D matches any of 10 11 12 13 d t matches any digit or t a matches any char from a Metacharacters Metacharacters are special characters which are the essence of Regular Expressions There are different types of metacharacters as described below Metacharacters line separators start of line end of line any character in line Examples foobar matches string foobar only if it s at the beginning of the line foobar matches string foobar only if it s at the end of the line 80 Processor Expert User Manual foobar matches string foobar only if it s the only string in the line foob
87. e selected target in the CodeWarrior project window See the picture below 138 Processor Expert User Manual Processor Expert Tutorials LED mcp l Simulator Y B gt lo E Files Link Order Targets Processor Expert AB readme txt a e H Startup Code 0 0 x g FQ Pim 0 0 Mm g m Libs 0 0 Debugger Project File 0 D x Debugger Cmd Files 0 0 x Y EE Generated Code 0 O xf M Cpu C 0 0e x g M RedLED C 0 0e sf Y M GreenLED C 0 0e Y Y AB Button C 0 O x MA 10_Map C 0 0 x Y AA Vectors c 0 0e x g 2 User Modules 0 O xf g M Events C 0 O x Y M LED C 0 0 Y Doc 0 D x Next Step Go to Step 4 Adding On Event Code 4 2 4 Tutorial for Freescale HCS12 Project 2 Step 4 Adding the On Event Code 1 Switch to the Project panel Processor expert tab in the CodeWarrior project panel All the components including CPU components in the project panel are organized in a tree You may expand and collapse wow them by clicking on the plus or minus sign Component s events and methods are present as a subnodes of the component node Note By double clicking on any event method icon you change its enable disable state you can do it also in the component inspector You need to invoke code generation again to generate code according to the new settings 2 Click the sign to expand the Button component and display its events and methods
88. e shows values supported by the target CPU for the selected peripheral If there are only individual values available to set the table contains a list of values each row represents one value If there are intervals with a constant step available each row contains one of the intervals with three values From Till minimum and maximum value Step a step between values within the interval The way the values are displayed may be dependent on e Runtime setting type if it s fixed value or from list of values the values present in more rows overlapping intervals are shown only once If the from time interval runtime setting type is used all intervals possible to set by various prescalers combinations are shown even if they overlap It s because intervals can differ in resolution i e number of individual timing steps that can be achieved within them e Timing unit if a frequency unit is used e g Hz kHz the step column is not visible By clicking on the table header there is possible to order the rows by the selected column By clicking the same column again the user can switch between ascending or descending order Double clicking on a value will place the value into the currently edited row within the Timing values table The values listed in the possible settings table depend on the following timing settings e prescalers e minimal timer ticks and it also depend on e selected CPU e selected peripheral e speed
89. ease see the chapter 3 5 1 Code Generation Processor Expert User Manual Introduction lolx sdm internal memory NES Y A e p Al Files Link Order Targets Processor Expert e File Code Data ee 0 D e Y E support I gt i a Sib 0 0 of e AS MSL C 56800 lib 0 0 Zi HE MSL C 56800 Im n a n a a g i Runtime 56800E Lib 0 0 a AS Runtime 568006 n a n a a Y BDE Startup Code 0 D a Ye A DSP5E5F836_ init asm 0 0 e aj g Gy Generated Code 0 Oe a Y a 0 0 mu Y MM Cap1 C 0 Oe zi Y MA Capture CMD n a nia a Y MA Vectors c 0 0 mz 14 files 0 D a Figure 1 2 CodeWarrior project panel 1 2 Features Processor Expert has built in knowledge internal definitions about all microcontroller units and integrated peripherals The microcontroller units and peripherals are encapsulated into configurable components called Embedded Components each of which provides a set of useful properties methods and events An intuitive and powerful User Interface UI allows the user to define the system behavior in several steps A simple system can be created just by selecting the necessary components setting their properties to the required values and maybe also dragging and dropping some of their methods to the user part of the project source code Processor Expert Key Components e Graphical IDE e Built in detailed design specifications of the Freescale devices e Code generato
90. echnology uses the PdfToText program included in XPDF package This package must be installed in a subdirectory named XPDF The PDF documents are being converted to the text form in the background and stored in your TEMP folder This conversion is executed only once for each PDF file The conversion may take a moment please wait until it is finished It is possible to find more information about XPDF on www foolabs com The configuration for the execution of the program PDFTOTEXT EXE must be included in the Processor Expert Tools The Acrobat Reader must be installed on your computer as well The PDF Search feature was tested with Acrobat Reader 6 0 and 7 0 Opening CPU Documentation in Default PDF Viewer To use a default PDF viewer instead of PDF search window for viewing the CPU documentation set the option Environment Options Use default PDF viewer 78 Processor Expert User Manual User Interface 2 16 1 Regular Expressions Regular Expressions are a widely used method of specifying patterns of text to search for Special metacharacters allow the user to specify for instance that a particular string the user is looking for occurs at the beginning or end of a line or contains n recurrences of a certain character Simple Matches Any single character matches itself unless it is a metacharacter with a special meaning as described below A series of characters matches that series of characters in the target string so the pattern
91. ed code is optimized for such type of access BitsIO component versus BitlO components In case of using only a part of the port the multiple BitlO components could be used A better solution is to use the BitsIO component replacing multiple calls of the BitlO component s methods The application code consist only of one method call and is smaller and faster 3 6 3 Timer Components Optimizations Note These optimizations are not usable for the Peripheral Initialization Components For better code size performance it s recommended to not to use a bigger counter reload compare register for timer than is necessary Otherwise the code size generated by a component may be increased e g For 8 bit timer choose 8bit timer register In some cases several timing periods are required when using timers For example the TimerInt component The Processor Expert allows changing the timer period during run time using several ways note that this is an advanced option and the Component Inspector Items visibility must be set to at least ADVANCED These ways of changing the run time period of timer requires various amount of code and thus the total application code size is influenced by the method chosen When the period must be changed during run time use fixed values for period instead of an interval if possible to save code There are two possibilities See 2 5 3 Dialog Box for Timing Settings for details e From list of values this allow to
92. ed modes if possible If the requested timing is not supported by the component for example if the CPU clock is too low for the correct function of the component the component can be disabled for the appropriate speed mode The mode can be switched in the runtime by a CPU method The component timing is then automatically configured for the appropriate speed mode or the component is disabled according to the setting Note however that use of speed modes adds extra code to the application This code must be included to support different clock rates See speed mode details here 123 Processor Expert User Manual Application Design See Configuration Inspector for more optimization settings See chapter Embedded Components Optimizations for details on choosing and setting the components to achieve optimized code 3 6 2 General Port I O Optimizations Note These optimizations are not usable for the Peripheral Initialization Components BytelO Component Versus BitsIO Component BytelO component instead of BitsIO component should be used when whole port is accessed The BitsIO component is intended for accessing only part of the port e g 4 bits of 8 bit port Using the BitsIO component results more complex code because this component provides more general code for the methods which allows access to only some of the bits of the port On the other side the BytelO component provides access only to the whole port and thus the result
93. ee 3 5 4 User Changes in Generated Code for details Always Write Generated Component Modules default generated component modules are always written to disk and any existing previous module is overwritten Preserve User Changed in Generated Component Modules smart detection of user changes Note Smart user changes preservation is not available in this version Don t Write Generated Component Modules the code from component is not generated Any initialization code of the component which resides in the CPU component interrupt vector table and shared modules are updated Compare with Previously Generated Module Compare with Previously Generated Header Module compares a file generated by the component with a previously generated one The user can use this function to easily track his her changes made in the generated code The both commands are available only when the Preserve User Changes option is switched See 2 1 1 Processor Expert Options for details The component has to be setup to Preserve User Changed in Generated Component Modules or Don t Write Generated Component Modules mode in this pop up menu An internal file editor in read only comparison mode is used to show the files differences See 2 15 File Editor for details Rename Component allows you to give a project specific name to the selected component e View Source displays the generated module of the component in File editor e View Edit Event Mod
94. ee Editor Options below Change Font change font of File Editor Disassembler Op codes These commands in this submenu are not supported in this version of Processor Expert e Editor Toolbar Visible show or hide toolbar of the File Editor The toolbar is visible as a part of the window or as a single panel Clicking on the toolbar corner it is possible to place the toolbar to other side of the window or to any other place on the screen as a floating panel e Help opens documentation File Editor Options e Preserve cursor position during paste keeps the current position of the cursor during a paste operation e Use tab character The editor will write tabulator character after TAB key is pressed and these characters will not be replaced by spaces Show modules in separate tabs Displays tabs for each opened module extension When this option is not checked it is possible to switch between module extensions by clicking the right mouse button on the tab of the file and choosing the appropriate extension or by clicking on the Switch between module extensions button in the toolbar menu Show line numbers Displays line numbers in the editor window Syntax highlighting Displays file content in specific colors with respect to file extension and compiler e No horizontal scroll bar Disables horizontal scroll bar when line is not longer than window e Outline current line Editor shows a frame around the current
95. el 105 Processor Expert User Manual Application Design O Y Q Ex E1 DevKitl6_EEPROM_FPGAP DY Inhr4 inhr FPGAIZC Figure 3 10 Example of ancestor and descendant components in the project panel tree An ancestor component requires a list of methods and events interface which must be implemented by an ancestor component The error is shown if the ancestor component does not implement any of them For example if the settings of the descendant component do not allow it to generate this method Component Sharing Component sharing allows the user to cause several components to use capability of one component with the way similar to inheritance This feature allows sharing of its resources and its drivers with other Components For example components may share an I2C component for communication with peripherals connected to the I2C bus Settings in Processor Expert A shared ancestor component contains a property that allows the user to select existing shared ancestor component or create a new one In this case the ancestor component is included in the project tree as the other components The ancestor component may be used with the descendant component only if it is created from a template registered in the descendant component or if the component type is registered in the descendant component It is recommended that you always create a shared ancestor component through a descendant component Click the 7 button to select an e
96. el means that items with this level are more special and rarely used than the others with the lower visibility level Component Inspector displays only items on and below the selected level It could help especially beginners to set only basic properties at first and do optimization and improvements using advanced and expert properties or events later There are three visibility levels e Basic view the key and most often used items that configure the basic functionality of the components To view these items select command Inspector gt Items Visibility gt Basic view e Advanced view all items from Basic view and the settings that configure some of more advanced and complex features of the component To view these items select command Inspector gt Items Visibility gt Advanced view e Expert view maximum visibility level all possible settings and information including all items from basic and advanced view To view these items select command Inspector gt Items Visibility gt Expert view See also the main page of the Inspector chapter for more information on inspector and view modes switching Note If an error occurred in a property with a higher visibility level than the level currently selected this error nevertheless will be displayed 2 5 3 Component Inspector Component inspector is one of the Inspector window variants It allows to setup Properties Methods and Events of a component Use command Help gt Help on Com
97. elp AsynchroMaster Asynchronous serial communication master HCO8 AsynchroMaster dmo Status encrypted compressed HCO8 A synchroM aster drv Author Processor Expert MY HCSO8 AsynchroMaster dmo Current version 02 261 HCSO8 AsynchroMaster dry Figure 2 44 List of Installed Components 66 Processor Expert User Manual User Interface 2 13 Peripheral Initialization Processor Expert gt View gt Peripheral Initialization The Peripheral Initialization window shows overview of peripheral initialization settings for the current CPU It displays initialization values of all control status and data registers of selected peripheral including single bits The user can also see peripheral schematic diagram Peripheral Initialization can be invoked from the View menu or from Target CPU window or using a Peripheral Initialization button in the Component Inspector If the Peripheral Initialization window is docked with the Component Inspector window the peripheral is automatically changed according to the peripheral selection in the Components library Automatic changes of the peripheral can be disabled using the lock icon 2 Note The Peripheral Initialization and Peripheral Usage are both only one window in two different modes These windows could not be displayed both at once The initialization information reflects e CPU default settings when the peripheral is not utilized by Embedded Component e Embedded Component settings when
98. ens the CPU peripherals names editor View Target CPU Package opens the Target CPU window in Package view View Target CPU Block Diagram opens the Target CPU window in Block Diagram view View CPU Timing Model displays the CPU Timing Model window View Memory Map displays the Memory map window This window shows the CPU address Space and internal and external memory mapping Search in PDF Documentation displays the PDF Search window The window allows a full text search in the original CPU manufacturer s documentation See 2 6 PDF Search for details View Source displays the generated CPU module in the File editor View Edit Event Module displays the generated CPU events module in the File editor View Edit Main Module displays the generated main module in the File editor View Linker File displays the generated linker file if it exists in the File editor View Makefile displays the generated maker file if it exists in the File editor View MAP File displays the MPA file in the File editor View List of Methods displays the list of methods Restore Default Template Settings restores default setting of the template Customize this component template saves the highlighted chosen CPU and its settings as a template Remove CPU From Project removes the highlighted chosen CPU from the project Help displays documentation 2 3 4 Component Pop up Menus Components Folder Pop up Menu This menu is
99. entions may be different from Processor Expert naming e When working with several MCUs having different peripheral names one may assign a universal name in order to simplify the CPU changes in the project Example Timer0 of CPUl and TmrA of CPU2 have the same function in the project They are both associated with Component1 TimerOut Every time you change the Target CPU from CPU1 to CPU2 and vice versa you need to modify in the Component Inspector the name of the peripheral linked to the TimerOut component To avoid this you can rename Timer0 and TmrA to one common name MyTimer and link the component Componentl to the MyTimer peripheral Now when CPU1 will be set active selected as target CPU Component will be linked to Timer0 and when CPU2 will be set active Component will be linked to TmrA Automated Peripherals Names Change Note To activate this feature enable the PE environment option Project Options Ask to rename peripheral Please note that this feature is intended for experienced users and inappropriate usage may lead to the confusion in peripheral names When the target CPU is switched to another one the peripheral names often do not match PE offers to change the peripheral names that are not found on the newly selected CPU to the name that has been selected when the previous CPU was active If there is only one peripheral of some type so it s clear what should be selected PE offers to rename it automatically
100. ents 89 CRU packade caca a dd id 54 CPU parameters overview 63 CPU peripherals caocca iaai a a 92 CPU Properties overview _ 90 CPUMICKS 2 22 25 a 50 CPU timing model Loco 59 CPUS wd o cee ie eet ode a 31 Creating own components LL 141 Default values for properties 51 Design time checking coco 99 Directories oo deh il st 129 Documentations menu _ 35 Drag and drop _ _ 27 O eine cee eee 12 Embedded Components _ 85 Enabling component coco o 118 Environment options 20 0 eeee eee 19 Eror CodeS Li sete ee a as er Ne 117 Error window _ __ 53 Eveniss oc Sop ice ee O 12 94 Features ia a ee ie a 6 El Editore dis 71 CEA A aie eek 129 Freeze generated code 17 General optimizations _ 123 Generated code optimizations 52 Generated modules __ _ 34 HCS12 implementation details _ 109 142 Help menu dor cece cose a aa 24 High level components __ 87 High speed mode coco 90 Icons in Project Panel 26 Implementation details _ 108 Inheritande coca o aan 105 Init Component usage __ 120 Init Method usage occ 120 Initializing component 1 120 Inspector oia ease sce t 40 Inspector items _
101. enus e User generated and external modules menus Documentations pop up menu Other mouse actions Drag n drop Dragging method with the left mouse button to the source editor will place a method call to the source code If the shift key is hold while the users drag and drops the method the call is placed exactly to the mouse cursor position on the line Otherwise the call is placed on the new line A behavior of this function is controlled by the option Environment Options Drag n drop method declaration See 2 1 1 Processor Expert Options for details Dragging user module into the source code will create an include command include user_module_name h at the place of the cursor e The user can drag n drop components within the Project Panel to reorganize component trees CPUs 27 Processor Expert User Manual User Interface Components Documentation e The user can drag n drop component folders within the Project Panel to reorganize them By default the folder is placed after the folder where it is dropped onto on the same level as that folder If the SHIFT key is pressed when the mouse button is released the dragged folder is placed inside the folder it is dropped into Multiselect e Using the Ctrl and Shift key together with cursor key or left mouse button allows to select multiple items Double click e Double clicking the component icon in the Project panel opens the Component Inspector e Clicking on the
102. eplace Dialog Input Fields Find what searched text e Replace with a new text that will replace the searched text in replace function Options e Case sensitive When checked the case of letter of the searched text has to match Whole words only The searched text is found only as a whole word Backward direction of the search 75 Processor Expert User Manual User Interface e Prompt on replace specifies if the user will be asked about each item replacement during the replace process This option is available only if any replacement text is entered Scope Entire text Entire text will be scanned From cursor Text from cursor to the end of file will be scanned only e Selected text The current selection will be scanned only Buttons e Find Next Invokes the search process The cursor will be placed on the next occurrence of the searched text If the find replace operations have not been done yet the first occurrence of the text is found e Find All Files Invokes the search process within all opened files Places cursor in each file on the last occurrence of the searched text within the file e Replace A next occurrence of the searched text is searched and if found it is replaced by the replacement text e Replace All All occurrences of the text within the current file are replaced by the searched text Comparison Mode File editor in this mode has two panels showing a differences
103. er s tree e Collapse All completely collapses the folder s tree e Delete All User Modules removes all previously added user modules from the project The user is asked for a permission on removing the modules The main user module projectname c and events module events c cannot be removed from the project e Help displays an appropriate help page 34 Processor Expert User Manual User Interface User Module Pop up Menu Edit Module opens the source code in the editor Edit Header File opens the header file with the same name as the module in the editor User Module Enabled The user module is enabled for the compilation e User Module Inspector The User Module Inspector window is shown It allows the user to customize the name and directory of the module e Remove User Module removes the user module from the project e Help displays an appropriate help page Generated Modules Pop up Menu e View Module opens the module source code in the editor e View Header File opens the header file with the same name the module e Code Generation enables disables overwriting of the module by Processor Expert This option is available only for common modules like vectors c or modules not related to a specific component For component modules generation control use the pop up menu of the component instead See 3 5 4 User Changes in Generated Code for details Always Write allows a module to be overwritten
104. erated Header Module See 2 5 4 Component Pop up Menus for details The user can also enable reviewing all changes done into the generated code after each code generation See 3 5 1 1 Tracking Changes in Generated Code for details 122 Processor Expert User Manual Application Design 3 6 Embedded Component Optimizations This chapter describes how the size and speed of the code could be optimized by choosing right component for the specific task It also describes how to setup components to produce optimized code The optimizations that are described are only for the High or Low level components not for the Peripheral Initialization components Please refer to sub chapters for more details e General Optimizations e General Port I O Optimizations e Timer Components Optimizations e Code Size Optimization of Communication Components 3 6 1 General Optimizations This chapter describes how to setup Processor Expert and components to generate optimized code The following optimization are only for the High or Low level components and not for the Peripheral Initialization components Disabling Unused Methods Note These optimization are not usable for the Peripheral Initialization Components When Processor Expert generates the code certain methods and events are enabled by default setting even when the methods or events are not needed in the application and thus while they are unused the code may still take memory Basically
105. ers It means that Processor Expert allows to configure the limits of an interval only within a range of one prescaler and it s possible to set values from this interval only See 2 5 3 1 Dialog Box for Timing Settings for details Speed Modes Processor Expert provides three speed modes that are generalization of all the possible CPU clock speed modes used for power saving supported by most of the modern microcontrollers See 3 2 2 2 Speed Modes Support for details 3 3 5 Creating User Component Templates If you frequently use a component with the same specific settings you may need to save the component with its settings as a template This template is displayed in the Components library under given name behaves as a normal component and could be added to any project The template has the same properties as the original component The values of the properties are preset in the template and could be marked as read only This section describes how to create a component template and save it Creating and Saving Templates Right click the required component icon in the Project panel in order to display the Component pop up menu EE Beans E E II amp Documentatic 3 e a aa gt PESL ean Enable i Code Generation gt Rename Bean view Source View Edit Events Code Restore Default Template Settings Bean Settings as Template Disconnect Bean From CPU Remove Bean From Project Copy to Clipboard Help
106. es or 4 in single quotes or 77 without quotes etc 83 Processor Expert User Manual Application Design 3 Application Design This chapter will hep you to design application using Processor Expert and Embedded Components You will find here recommendations and solutions to write and optimize a code effectively If you are a beginner please see the section Quick start that shows how to generate the code of your first project The following subchapters explain e Quick Start in Processor Expert e Basic Principles e Configuring Components e Implementation Details e Code Generation and Usage e Embedded Component Optimizations e Converting Project to Use Processor Expert e Low level Access to Peripherals e Processor Expert Files and Directories 3 1 Quick Start in Processor Expert Step 1 Open an example You can start learning Processor Expert by opening one of the available examples All Processor Expert examples are accessible from the Code Warrior IDE To open an example select the command CodeWarrior main menu gt File gt Open and find the directory Code Warrior ProcessorExpert projects HCS12 Demo Tutorial where the CodeWarrior is the path where the CodeWarrior is installed into and select the file LED mcp Step 2 Code generation After opening an example you need to invoke the code generation of the project to obtain all sources Select command CodeWarrior Main Menu gt Processor Expert gt
107. esign time e Be sure that the component setting conforms to peripheral parameters e Choose the initialization state of the component e Choose which methods you want to use in your code and which event you want to handle e Use several components of the same type with optimal code for each component The concept of the peripheral allocation generally does not enable sharing of peripherals because it would make the application design too complicated The only way to share resources is through the components and their methods and events For example it is possible to use the RTIshared component for sharing periodic interrupt 85 Processor Expert User Manual Application Design from timers Methods Methods are interfacing component functionality to user s code All enabled methods are generated into appropriate component modules during the code generation process All Methods of each component inserted into the project are visible as a subtree of the components in the Project panel You can use in your code all enabled methods The easiest way to call any method from your code is to drag and drop the method from project panel to the editor The complexity and number of methods depend on the component s level of abstraction Events Some components allow handling the hardware or software events related to the component The user can specify the name on function invoked in the case of event occurrence They are usually invoked from the i
108. essor Expert for will disable the usage of Processor Expert for the currently opened project The Processor Expert tab disappears from the project panel and the generated code of the project will stay in the project in the state it is after the last code generation in See also the Freeze Generated Code command that allows to temporarily disable generation of all generated code without completely suspending PE e Open Processor Expert for will enable PE for the current project If the PE is opened for a project that had never had PE activated PE will popup a dialog that notifies the user that PE will add the files IOMap c h containing declarations for the peripheral modules to the project The user should know how to adapt the project himself there might be other files e g linker parameter file that can cause conflicts as well In case that the command is applied for the project which has already been using Processor Expert previously even if it is disabled at the moment PE will automatically find an existing Processor Expert project file pe and will use data from that file This command is intended for experienced users only A new Processor Expert project should be created using the File gt New command and selecting the Processor Expert in the new project wizard Code Generation Invokes code generation for the current project The generated files are automatically inserted into the active default target in the CodeWarrior s pro
109. estore names for all peripherals The peripherals can also be renamed using the target CPU pop up menu command See 2 7 Target CPU Window for details Peripheral names editor of DEMOCPU11 Cpu Name ADC lt aoc Hint JAD converter device encapsulation CPU peripherals he Combined 6bitPort01 All Combined 6bitPort23 PO0_ADO 10 Pins P01_4D1 10 Ports P02_4D2 CTi P03_4D3 Timers PO4_AD4 Watchdogs P05_4D5 PO6_ADE Converters Dan C Communication P11_AD9_A9 Estem Interrupts P12_4D10_410 P13_AD11_A11 A SAD oat Restore default P16_4D14 414 P17_4D15_415 Y OK P20_40_416 P21_41_417 P22 42 A18 X Cancel P23_43_419 P24_44 420 x Help Figure 3 2 CPU Peripheral Names Editor 93 Processor Expert User Manual Application Design 3 3 Configuring Components Configuring the components in the project is one of the main activities in Processor Expert It affects the initialization run time behavior and range of functionality available to the user of the generated code For the description of the user interface of the components settings please see the chapters 2 3 Project Panel and 2 5 3 Component Inspector The following sub chapters provide hints and information about how to configure the Embedded Components used in the project correctly and effectively e Interrupts and Events e Configurations e Design Time Checking Consequences and Benefits e Timing Settings
110. f enabled Legend E User s code A Initialization code generated by Processor Expert A User application code in event module lt _ Call of a method or occurence of an event Return from method event or interrupt lt Interrupt Figure 3 14 Reset sequence diagram with Processor Expert 108 Processor Expert User Manual Application Design _EntryPoint function The _EntryPoint function is called as the first function after the reset This function is defined in the cpu module usually Cpu c and provides necessary system initialization such as PLL and external bus Sometimes it is necessary to do some special user initialization immediately after the cpu reset Processor Expert provides a possibility to insert user code into the _EntryPoint function There is a User Initialization property in the build options tab of a CPU component inspector defined for this purpose See 2 5 3 Component Inspector for details C startup function The C startup function in the C startup module is called at the end of the _EntryPoint function It provides a necessary initialization of the stack pointer runtime libraries and so on At the end of the C startup function the main function is called PE_low_level_init There is a second level of Processor Expert initialization PE_low_level_init called at the beginning of the main function PE_low_level_init function provides initialization of all components
111. familiar with the components functionality yet but they know the chip peripherals This page contains all on chip peripherals of the selected CPU and for each peripheral list of supported components So it s very easy to find component that supports functionality of the selected peripheral Please see below for menu and control details e Alphabet shows alphabetical list of available components The user can speed up searching the right component typing the start of the component name on the keyboard Filters can be used here like on the other Components Library tabs Please see below for menu and control details e Assistant guides the user during the component selection process The user answers a series of questions that finally lead to a selection of a component that suits best for a required function See 2 4 1 Component Assistant for details 36 Processor Expert User Manual User Interface Component names are colored black and the component template names are colored blue The components that are not supported for the currently selected target CPU are gray By double clicking on the component it is possible to insert the component into the current project The description of the component is shown in a hint Quick Help The button Quick Help shows short information about function of the component The Quick Help is displayed as a part of the Components Library window and is updated when the user selects another component in the
112. he EEPROM array is organized as rows of word 2 bytes the EEPROM block s erase sector size is 2 rows 2 words Therefore it is preferable to use word aligned data for writing methods SetWord and SetLong with word aligned address or to use virtual page property Page The size has to be a multiple of 4 bytes SynchroMaster The mode fault causes disability of the component and SPI device automatically inside interrupt service if interrupt service is enabled If the interrupt service isdisabled and a mode fault occurs the component will be disabled at the beginning of RecvChar method IntFlash The Virtual page Allocated by the user feature and corresponding methods and events are not implemented ExtInt If XIRQ is selected the method Disable can t be generated because it isn t supported by hardware For pins of H J and P ports it is not possible to switch pull resistor pull up pull down and sensitive edge rising edge falling edge arbitrarily Because of hardware limitations pull down with falling edge and pull up with rising edge settings aren t allowed 3 5 Code Generation and Usage This chapter informs the user about the principles and results of the Processor Expert code generation process and the correct ways and possibilities of using this code in the user application Please refer to the following subchapters for more information Code Generation Predefined Types Macros and Constants Typical Usage of Com
113. he generated code with user code e Processor Expert verifies the design based on actual microcontroller resource and timing contentions e Processor Expert allows the efficient use of the microcontroller and its peripherals and building of portable solutions on a highly productive development platform Processor Expert User Manual Introduction Minimized Time to Learn Microcontroller There are exciting possibilities in starting a new project if the user is starting from ground zero even if the user is using a new and unfamiliar processor e The user is able to utilize the microcontroller immediately without studying the microcontroller s documentation e The user is able to implement simple applications even without deep knowledge of programming e PE presents all necessary information to the user using built in descriptions and hints e PE has built in tutorials and example projects Rapid Prototyping of Entire Applications Processor Expert allows the users to try different approaches in real time and select the best approach for the final solution Users are not confined to a pre determined linear approach to a solution e Easy Build of application based on system functional decomposition top down approach e Easy CPU selection e Easy CPU initialization e Easy initialization of each internal peripheral e Simple development of reusable drivers e Simple implementation of interrupt handlers Inherited Modularity and reuse
114. he prescaler and timing are shown in the third column of the component inspector Prescaler Auto selected prescaler w high 64 Interrupt period 100 m fhigh 100 ms Figure 3 4 Example of the timing and prescaler setup The complete MCU timing model with the current state of the individual elements can be viewed using the CPU Timing Model Window See 2 8 CPU Timing Model for details Timing Setup Problems The errors are reported in red in the Timing Dialog box or in the timing property line in the Component Inspector The error summary is available in the Error window See 2 6 Error Window for details Please follow the error message text to find the source of the problem If no error is reported it means that Processor Expert can achieve the desired timing for all components in the project Common problems that make impossible to set a timing value e It is impossible to set some item s This problem is reported in the component or the Timing dialog box and the user is informed which value has incorrect value The reason is usually the hardware structure and limitations of the CPU The Timing dialog box shows the list of values ranges that are allowed to be set It might be necessary to increase the allowed error using the Error field in the Timing Dialog that specifies the allowed difference between the required value and possible value that can be produced by the hardware e Settings for the device are mut
115. he project Every component inserted in the project is displayed in the project panel and has a subtree showing Methods Methods allow runtime control of the component s functionality Event routines Events allow handling of the hardware or software events related to the component If the event is disabled the name of the event is shown For enabled events the name of the handling function is shown ISRs represent component related interrupt routines that can be created by the user for low level interrupt processing For items whose ISR names have been specified within a component settings a user specified name of an ISR and name of the interrupt vector is shown If an ISR name was not specified interrupt has to be disabled in this case only the interrupt vector name is present 25 Processor Expert User Manual User Interface All component s items has its status icon that signalizes the enabled E or disabled B state If this state cannot be directly changed the background of the icon is gray For more details please see chapter 3 2 Embedded Components e User modules included in the project main module event module external user modules e Generated Modules This folder contains the modules generated by Processor Expert There is a special subfolder for the generated Component Modules For the component module description please see chapter 3 5 1 Code Generation External Modules This folder contai
116. he way of configuring a component or configuration See 2 5 Inspector Items for details 2 1 2 Tools Setup Processor Expert gt Tools gt Tools Setup Tools Setup allows to include other tools in the Processor Expert environment The tools may then be accessed via the Tools menu Options Note Most of the options allow to use macros allowing an access to various Processor Expert and system values See 2 1 2 1 Tools Setup Macros for details The following options are available for every tool Tool name name of the tool as it appears in the Tools menu Processor Expert defines the following reserved names that are linked to the Processor Expert operations After PE Code Generation If a tool with this name is defined it s automatically invoked after each succesful code generation This tool allows to perform additional user defined processing between code generation and compilation for example based on the XML file with PE settings generated into the DOCs subdirectory e Visible in Tools menu whether the tool is available in the Tool menu it may not be necessary to let it appear in the menu if the settings are meant only for internal make e Application the full name name and path name of the application executable file EXE or COM extension e Working dir working directory of the application e Application type MS DOS real MS DOS real mode application MS DOS protected MS DOS protected mode applicat
117. hich causes disabling of functionality of the component as well Hint Disabling of the peripheral functionality may save CPU resources Overview of the method behavior according to the component type e Timer components timer counter is stopped if it is not shared with another component If the timer is shared the interrupt may be disabled if it is not also shared e Communication components such as serial or CAN communication peripheral is disabled e Conversion components such as A D and D A converter is disabled The conversion is restarted by Enable If the component is disabled some methods may not be used Please refer to components documentation for details MAIN C void main void B1_Enable enable the component functionality handle the component data or settings Bl_Disable disable the component functionality Methods EnableEvent DisableEvent These methods enable or disable invocation of all component events These methods are usually supported only 1f the component services any interrupt vector The method DisableEvent may cause disabling of the interrupt if it is not required by the component functionality or shared with another component The method usually does not disable either peripheral or the component functionality MAIN C 118 Processor Expert User Manual Application Design void main void B1_EnableEvent enable the component eve
118. hile the interrupts are disabled In this situation the result of the component method does not change until the interrupt service routine is handled See description of the property Interrupt service event for detailed information about the particular component Enabling Event Functionality of each event can be enabled or disabled The user can easily enable the event and define its name within the Component Inspector of the appropriate component Another possibility is to double click an event icon in the component s subtree or use a pop up menu in the Project Panel window Properties M Methods Events Build options Used Comment v Event module name Les a OnReset generate code Event procedure name Cpu_OnReset flaNnCulNTN ldar t menersta enda Figure 3 3 Event Example in the Component Inspector Events Tab Writing an Event Handler Event handler is a subroutine that is assigned to a specific event After the event is enabled Processor Expert generates the empty function of the specified name to the Event module See 3 5 Code Generation for details The user can directly open the Event handler code if it already exists using a Component pop up menu gt View Edit event module or a double click on the event within the Project Panel The event handler is an ordinary function and the user needs not to provide the interrupt handling specific code in his her event code Interrupt Service Routines When
119. ht clicking on the CPUs folder icon in the Project panel It proposes a set of commands to manage CPUs folder Following commands are available e Expand Collapse expands collapses one level of the folder s tree Expand all completely expands the folder s tree e Collapse all completely collapses the folder s tree Change folder name edit the subfolder name e Delete folder deletes the subfolder and all its contents Delete all components deletes all the contents of the folder Add subfolder creates a new subfolder e Help Displays related information for currently selected component or method If there is nothing selected this help page for Project Panel is displayed CPU Pop up Menu This menu is opened by right clicking on a CPU icon in the CPUs folder in the Project Panel Following commands are available e CPU inspector opens the CPU s Component inspector Detailed help concerning the Component Inspector items can be found in the CPU s page of Processor Expert help seeProcessor Expert gt Help gt Supported CPUs and Compilers page e Select CPU as Target if several CPUs are in the current project it sets the CPU as target the CPU will appear on the Target CPU window and the code will be generated with the Project options of active target e Rename CPU allows you to give a project specific name to the selected CPU 31 Processor Expert User Manual User Interface CPU Peripherals Names op
120. ht should switch on or off value 0 switch off value 1 switch on 130 Processor Expert User Manual Processor Expert Tutorials 3 ExtInterrupt External Interrupt component interrupt from button Pressing the button calls an external interrupt which switches the state of the LEDs on off steps There are step by step instructions how to create this tutorial project This tutorial goes through the following steps Creating a new project Adding components Generating Code Adding the On Event Code e ES Note This demo project does not care about non defined states on the output of the key during the process of key pressing This may result in the fact that state of two LEDs stays apparently unchanged 4 2 1 Tutorial for Freescale HCS12 Project 2 Step 1 Creating a New Project 1 Click on the Create New Project button in the start up screen If the CodeWarrior is already running invoke the project wizard using the File New Project menu 3 Load Example Project Load Previous Project Run Getting Started Tutorial Start Using CodeWarrior 2 In the New Project Wizard window choose CPU MC9S12DP256B select a hardware connection if you have some and click on the Next button 131 Processor Expert User Manual Processor Expert Tutorials 3 Absolute assembly L M L 4 Choose Next to skip adding external files 5 Select Processor Expert in th
121. icroprocessor producers Each year microprocessor producers introduce many new microprocessor families or derivatives As the complexity of microprocessors increases programmers must handle more and more registers to get the required functionality Classical development tools usually do not support the rapid prototyping phase of design and classical programming languages are unable to describe the on chip peripherals structure efficiently On the other hand microprocessor producers need to speed up the learning design and coding processes for their customers For the designers Processor Expert and its configuration and code generation features eliminate the necessity to be otherwise preoccupied with the hardware dependencies Processor Expert could also even suggest the right member of a microprocessor family for the specific application Producers of intelligent peripheral I Os and other devices Complex and feature rich peripherals and controllers require immense efforts to use them efficiently even if device drivers are supplied by the factory But imagine the possibility of supporting customers with components providing a standard software interface that allows building applications and using new hardware device features easily The Processor Expert environment allows this customers can easily download new components from the internet and install them into Processor Expert Processor Expert User Manual Introduction Producers of hardwa
122. if a character is sent or received Thus the saved CPU time can be used by another process and application is faster Use polling mode instead of interrupts if you require less code because usually overhead of interrupts is bigger than overhead of methods in polling mode But the polling mode is not suitable for all cases For example when you use the SCI communication for sending only the data and a character is sent once in a while then it is better to use the polling mode instead of using interrupt because it saves the code size that is when the interrupt is used an interrupt subroutine is needed and code size is increased Examples A module of an application sends once in a while one character to another device through the SCI channel If the delay between two characters is sufficient to sent one character at a time then the polling mode of the SCI the AsynchroSerial component should be used in this case A module of an application communicates with another device that is it sends several characters at one time and receives characters from the device Thus the interrupt mode of the SCI the AsynchroSerial component should be used in this case because when a character is received the interrupt is invoked and the underlying process of the application need not check if a character is received When a buffer for sending is used the characters are saved into the buffer and AsynchroSerial s service routine of the interrupt sends these characters
123. in the configuration inspector See 2 5 4 Configuration Inspector for details The symbol for conditional compilation is defined if it is supported by the selected language compiler The symbol PEcfg_ ConfigurationName is defined in the CPU interface The user can switch using this symbol between variants of code according to the active configuration see example in this chapter Configuration also stores which CPU is selected as the target CPU If the name of the configuration matches the name of one of the CodeWarrior s targets the target is automatically selected as an active target when the user runs code generation Note It is possible to have two components with the same name in Project Each of the components could be enabled in different configuration This way the user can have different setup of a component a component with the same name in multiple configurations Example Suppose there is a configuration named Testing case We use a component and part of our code using the component only in the Testing case configuration Then we make the testing case configuration active After the successful code generation the CPU H file contains the following definition Active configuration define symbol define PEcfg_Testingcase 1 The parts of the code intended to be used only in this configuration need to be surrounded with the following lines ifdef PEcfg_TestingCase Component_MethodCall endif 98
124. independent interface of the ancestor components For example a component that emulates a simple I2C transmitter may inherit two BitIO components for generation of an output signal On several complex components for example some MPC5500 Peripheral Initialization components inheritance is used to separate component settings into several logical parts for example settings of channel is inherited in the component with settings of the main peripheral module Settings in Processor Expert The Descendant component contains a property that allows selecting an ancestor component from a predefined list of templates The component is created after selection of an appropriate template name or component name from the list of the templates fitting the specified interface Any previously used ancestor component is discarded B Asynchro serial communication AspnchroForT erminal y gt Figure 3 9 Inherited component item in inspector Clicking on the button unfolds the properties of the inherited component directly under the intherited component property line Clicking on the button fully opens the ancestor component with properties methods and events within the Component inspector Processor Expert allows the user to select from several ancestors that implement a required interface and are registered by the descendant component The ancestor component is displayed under its descendant in the project structure tree in the project pan
125. installed Peripheral schematic Note Peripheral schematics view is not available in this version It is possible to switch peripheral initialization window style between register list peripheral schematic and both of them using registers schematic and both buttons Schematic and both buttons are present only when the schematic for the current peripheral is provided Schematic diagram of the peripheral contains names of the control registers Highlighting of changes of a related component settings works also in the schematic mode e If the user places mouse cursor on the register name the hint containing register description and address is shown e When the user clicks the register name with the left mouse button new dialog window containing detailed information including initialization value for the register is shown The register bits affected by a changes are highlighted 69 Processor Expert User Manual User Interface Peripheral Initialization GPIOA xj View Help Test GPIO_A_DR Peripheral Data Out Peripheral Data In Jeripheral Figure 2 48 Schematic Diagram of the Peripheral 2 14 Peripherals Usage Processor Expert gt View gt Peripherals Usage The Peripheral Usage window shows the current status of on chip peripherals usage in detail The names of the components using peripherals appear in the third column next to the corresponding peripheral names When the mouse is pl
126. int format format of the hint messages See 2 2 Tools Setup Macros for details Warning format format of the warning messages See 2 2 Tools Setup Macros for details Error format format of the error messages See 2 1 2 1 Tools Setup Macros for details Fatal error format format of the fatal error messages See 2 2 Tools Setup Macros for details Exitcode lt gt 0 defines the action that will be done when the exit code of the application will not be zero The following actions are possible Ignore no action Display error an error message will be displayed Show output file opens the file defined as a tool output file in the editor Tools Setup Tool list PDF to Text D aal ll Tool setup Toolname SHELL x MA Visblein Tools menu Application PE Browse Working dir PO Browse App type windows 32b y Hot key None Parameters O Input file s Y Dutput file hh sr Comment H command prompt JV Wait for application termination J Redirection of application output Exit code lt gt 0 Display error y Input file a Browse Dutput file ppp Browse Error output y Browse Hint format Warming format Error format Fatal err format X conca _ 9 Her Figure 2 3 Tools Setup Dialog sp Processor Expert User Manual User Interface 2 1 2 1 Tools Setup Macros Global macros Global macros can be used in
127. into new ProjectName c generated by Processor Expert in previous step consequently remove origin main c module from the project Remove Includes folder including all file within this folder This step applies only in case that you are using some interrupts within original project Processor Expert generates complete interrupt vector table for details please see 3 3 1 1 Interrupt Vector Table It s necessary to transform their original definiton into Processor Expert For each interrupt vector for example defined in linker file add one InterruptVector component configured to ISR of the vector Remove the original definition Unfold Project Settings and Linker files folders and follow one of the followin steps to avoid information message mentioned in first step about different prm files in project a Option 1 Modify Build options tab on CPU component according to the origin Project prm and remove it from project b Option 2 Disable generation of prm file by Processor Expert and just copy contain of original Project prm file into Project Name prm file c Option 3 Just remove original prm file and use new prm file generated by Processor Expert This step is recommended only for converting clean CW projects Unfold Libs folder and remove I O map Derivative c file as it will be replaced by PE generated I O map file Press CTRL and make project We recommend to check compiler settings The following list of compile
128. ion Windows 16 bit 16 bit MS Windows application Windows 32 bit 32 bit MS Windows application Autodetect auto detection enabled under the Windows NT Windows 2000 and newer e Hot Key Hot Key for launching the tool e Parameters parameters of the application Input file s only for backward compatibility value of the SOUTPTH macro see macros Output file s only for backward compatibility value of the SIN PTH macro See 2 1 2 1 Tools Setup Macros for details There is no warranty that these items will be supported in the next version of Processor Expert e Comment any text describing the tool e Wait for application termination Processor Expert waits for application termination before executing any 20 Processor Expert User Manual other operation it has the advantage of reserving the error window for the application User Interface Redirection of application output Processor Expert captures the standard output of the application and displays errors in the Message Window Input file name of the input file for the application If you don t specify any a temporary file will be created Output file name of the file for the redirection of the application output If you don t specify any a temporary file will be created Error output name of the file for the redirection of the application error output If you don t specify any a temporary file will be created H
129. ion of functionality For instance the TimerInt component encapsulates all CPU resources that provide timing and hardware interrupts on the CPU Component name Ti Periodic interrupt source MTIMmod MTIMmod Counter MIM gt E Interrupt service event Enabled im Interrupt priority medium priority x Y Interrupt period aer Component uses entire timer no XH E Initialization 1 Figure 1 3 Example of Timerlnt component periodical event timer properties mim v 2 Unassigned timing Timing Interrupt period xi Prescalers Req value High speed mode Low speed mode Slow speed mode Adjusted values Prescaler Auto select 7f Auto select Auto select high 16 Runtime setting type fired value Possible settings Clock path Value type Value Unit From Tnit value ms ha 0 125us 8191 875us 8192us 16 384ms 0 250us 16 384ms 32 768ms D 500us 65 535ms Tus 131 070ms 2us Hl 262 140ms Aus 262 144ms 524 280ms Bus 524 288ms 1048 560ms 16us TP Recalculate value on unit change Error allowed Unit 5 hd Adjusted settings of the initialization value Figure 1 4 Timing dialog box allows a user friendly setting of components timing You ll find many components that we call Embedded Components in the Processor Expert Components library window These components are designed to cover the most commonly required functionality used fo
130. ion of the pin input output or input output symbolized by blue arrows if a component is connected Pin names are shortened and written either from left to right or from up to down and are visible only if there is enough space in the diagram 56 Processor Expert User Manual User Interface Some signals and peripherals cannot be used by the user because they are allocated by special devices such as power signals external or data bus The special devices are indicated by a special blue icons for example 9 The allocation of peripherals by special devices can be influenced by CPU properties Hints Pin hint contains e number of the pin on package e both names default and user defined e owner of the pin component that allocates it e short pin description from CPU database Component icon hint contains e component name e component type e component description Shared Pins If a pin is shared by multiple components the line connecting the pin to the component has a red color Figure 2 37 Shared pin connection On chip peripherals The following information about each on chip peripheral is displayed on the CPU package e peripheral device name default or user defined e icon of the component that uses allocates the peripheral device Peripheral device hint contains e peripheral device name e owner of the pin component that allocates it e short peripheral device description Hint on icon contains e c
131. ions Processor Expert options allows to customize all Processor Expert s settings within one dialog window x Processor Expert Options Encode desktop file only one global Autosave desktop yes Auto open Component Inspector yes Auto connect component Enable new component always ask Inspector El Code generation Show progress yes ol n alata ome ised filas ES AL BASIC ADVANCED EXPERT Help X Cancel Figure 2 2 Environment Options Example The options are organized within three pages e Application Options options for the Processor Expert code generation for one target CPU They are local i e they are valid only for the current application an application is the subset of the project that concerns a given target processor Environment Options options related to Processor Expert s environment behavior e Project Options options concerning the current project all target CPUs The item description for an item is provided as a hint when the user places mouse cursor on the item Press Help button to open the options description pages 19 Processor Expert User Manual User Interface Basic Advanced and Expert buttons allow to customize the amount of options shown along to the user s experience level This window uses a limited version of Processor Expert Inspector to show the options information Thus the way of changing options is very similar to t
132. is disabled the list of items is not valid Clicking the sign will show hide the items in the group but doesn t influence value nor validity of the items E Receiver Enabled ol Boolean yes no The user can switch between two states of the property using a round icon al The Generate code Don t generate code settings of methods and events works the same way and determines whether the implementation code for the corresponding method or event will be generated or not you may thus generate only the methods and events used by your application PESL support Ino ol Enumeration Selection from a list of values If the user clicks the arrow icon Y a list of the possible values for the property is offered Qualifier RWX j Enumeration Group A list of items Number of visible and valid items in the group depends on chosen value Clicking the arrow icon xi will show a list of the possible values of the property Clicking the sign will show hide the items in the group but doesn t influence value nor validity of the items El Initialize unused 170 pins linput y Pull resistor no initialization Open drain no initialization Y Dutput value no initialization x File Directory Selection allows to specify a file or directory Clicking the icon will open a system dialog window allowing to choose a file directory File name D text dat external file 42 Processor Expert U
133. ith its internal counter Events Used for processing events related to the component s function errors interrupts buffer overflow etc by user written code See 3 2 7 Embedded Components for details External user module External source code attached to the PE project The external user module may consist Processor Expert User Manual Introduction of two files implementation and interface C and H Free running device Virtual device that represents a source of the overflow interrupt of the timer in the free running mode High level component Component with the highest level of abstraction and usage comfort An application built from these components can be easily ported to another microcontroller supported by the Processor Expert They provide methods and events for runtime control See 3 2 Component Categories for details Internal peripherals internal devices of the CPU such as ports timers A D converters etc usually controlled by the CPU core using special registers ISR Interrupt Service Routine code which is called when an interrupt occurs Low level component a component dependent on the peripheral structure to allow the user to benefit from the non standard features of a peripheral The level of portability is decreased because of this peripheral dependency See 3 2 1 1 Component Categories for details MCU Microcontroller Unit microcontroller used in our application Methods user callab
134. itialization The feature can be used only if the pin port contains RAW DATA register which allows reading the input pin signal in any settings of the related peripherals See the component documentation for more details Sharing Pins among Peripherals Note This feature is not available in this version Some CPUs allows some pins to be used by multiple peripherals This may lead to the need of sharing pin s by multiple components Normally if the user selects one pin in more than one component a conflict is reported However it is possible to setup a sharing for such pin in the component inspector One of the components sharing a pin has to be chosen as a main component This component will initialize the pin In the properties of other components that use the pin the pin has to be marked as shared by clicking the sharing icon on the right side see the picture below Pin sharing can be set in the component inspector The Component Inspector must be switched into the EXPERT view mode and then the pin sharing button must be pressed down The figure below displays the Pin Sharing button at the right side of the second column IT He RxD GPIOB6_RXDO_SDA_CLKIN PX GPIOBE_AXDO_SDA_CLKIN Figure 3 13 Pin Sharing Button Pin sharing is advanced usage of the CPU peripherals and should be done only by skilled users Pin sharing allows advanced usage of the pins even on small CPU packages and allows application specific usage of the
135. ject Generated files corresponding to the Embedded Components can be accessed in the Generated Code folder in the Files tab in the CodeWarrior project window The other files intended to be modified by the user are generated into the User modules folder in the Files tab in the CodeWarrior project window A user can also add specific source code files into this folder If the linker setting of the default target does not match the CPU in the Processor Expert project the user is asked whether to automatically correct linker settings in the current target See 3 5 Code Generation for details Freeze Generated Code This option will freeze the state of the generated code and the code generation will be disabled until the user will un check this option All components and project settings will became read only and it won t be possible to add or remove any components Processor Expert won t make any changes to the source code Processor expert if it detects any changes since last code generation will offer code generation before switching to the frozen mode View e Project Panel displays the Processor Expert plug in Project panel e Inspector displays inspector window for the currently selected item of the project Component CPU component Peripheral Initialization component Configuration e Components Library shows the Components Library Components Library shows all supported components in the appropriate version of the Proces
136. kage view mode e CPU block diagram mode a view of the CPU block diagram based on the documentation of the CPU manufacturer Every part of the CPU is represented by a block Every block that contains a resources that can be allocated by Processor Expert contains the slots for every resource e g pin or channel If the resource is allocated the slot contains the icon of the allocating component 55 Processor Expert User Manual User Interface Target CPU Cpu 56F8011 olx PORTA PORTB PORTC PORTD ANO AN7 En PWMO PW Ez m ss m 0 Figure 2 35 Target CPU MCU block diagram view mode e CPU peripherals list a list of all peripherals of the CPU is displayed If a peripheral is unallocated by Processor Expert it is displayed as a gray icon Otherwise the icon of the component that allocates the peripheral is displayed The same mouse commands are available as in the other view modes except the operations with pins pins are not visible in this mode Target CPU Cpu MC9S512DG256cP il Ea CG EY MC9S12DG256_112 DA J AB Y ADO 2 ADI ADCO 9 ADCA HB 9 COPCounter E a des FE Y 8 IntFFPROM Figure 2 36 Target CPU Peripherals List Mode Pins The following information about each pin is displayed on the CPU picture all pins are displayed only in the CPU package view mode e pin name default or user defined e icon of a component that uses allocates the pin e direct
137. l for a peripheral CPU peripheral or its part Properties Parameters of the component Property settings define which internal peripherals will be used by the component and also initialization and behavior of the component at runtime RTOS Real Time Operating System is an operating system OS intended for real time applications Target CPU The CPU derivative used in a given project Template Component Template component with preset parameters User defined Component Template User defined component template is a component with preset parameters saved under a selected name Also the name of the author and short description can be added to the template User module Source code module created or modified by the user Main module event module or external Processor Expert User Manual Introduction user module Xtal A crystal a passive component used as a part of an oscillator circuit 14 Processor Expert User Manual User Interface 2 User Interface Menu Processor Expert menu is integrated in the CodeWarrior IDE It contains a new item named Processor Expert See Processor Expert plug in Main menu page for description of individual items The user interface of Processor Expert consists of the following windows integrated in CodeWarrior IDE Project Editing Windows e Project panel with components including CPU s external modules and documentation included in project Project Panel supports several
138. l information about usage of the value modification of one bit bits mask or whole value These constants may be used to write user code which reflects the component settings Once the constant is generated into the CH file it is preserved there even it is already not used in the component module The most important advantage of these constants is that small changes in the component settings for example timing does not cause change of the component module but the only CH file is changed The name of the CH file is derived from the CPU component name CPUcomponent CH To generate CH file it is necessary to set the following option Project Options Generate manifest constants CH file is generated also while smart generation of component modules code see paragraph 3 for details CH file is always overwritten during the code generation 121 Processor Expert User Manual Application Design 2 Mode of code generation for component modules It s possible to select mode of the code generation for each component the following options can be found in the components s pop up menu in the project panel Code Generation 1 Always Write Generated Component Modules default generated component modules are always written to disk and any existing previous module is overwritten e v Preserve User Changed in Generated Component Modules smart detection of user changes Note Smart user changes preservation is not available in this ve
139. le functions or sub routines The user can select which of them will be generated and which not Selected methods will be generated during the code generation process into the component modules Module Source code module could be generated by Processor Expert Component modules CPU Module events c or created by the user and included in the project user module OOP Object oriented programming OOP was invented to solve certain problems of modularity and reusability that occur when traditional programming languages such as C are used to write applications PE Abbreviation of Processor Expert that is often used within this documentation Peripheral Initialization component encapsulates the whole initialization of the appropriate peripheral Components that have the lowest levels of abstraction and usage comfort See 3 2 1 1 Component Categories for details They usually do not support any methods or events except the initialization method The rest of the device driver code needs to be written by hand using either PESL or direct control of the peripheral registers See 3 8 Low level Access to Peripherals for details Popup menu this menu is displayed when the right mouse button is pressed on some graphical object PLL Phase Locked Loop This circuit is often built in inside the CPU and can be used a main source of the clock within the CPU Prescaler A fixed or configurable device that allows to divide or multiply a clock signa
140. le the component in all configurations Choose Yes This dialog box could be enabled or disabled in environment options 4 New component is added to the project Switch to Processor Expert project tab in codewarrior s project panel See picture below Don t worry about red exclamation mark beside a new component It means that error is present component has not been set up properly yet ha ES LED mcp 0 Simulator B Y B ps Le Files Link Order Targets Processor Expert ES Configurations lt amp 112pin aS CPUs D SESE ES Beans z Bid Bi10 amp Documentation x E PESL P256BCP 5 Open the Component Inspector window by double click on the new component Bit1 BitIO in Processor Expert project panel if the Component Inspector hasn t been opened automatically Automatical opening of the component inspector is influenced by environment settings See 2 1 1 Processor Expert Options for details 6 Select Items visibility gt Advanced view in the pop up menu of the Component Inspector window in order to display detailed settings of the component It is necessary for the following steps See picture below Bean Inspector Bit1 BitIO lt Bean Items Visibility Help Propertie Basic view Advanced view Pullre Expert view 7 Using Component inspector set the component properties as follows Component name type RedLED into the edit box Pin for IO select PBO_ADDRO_DATAO
141. lick the x icon 103 Processor Expert User Manual Application Design 3 3 6 Signal Names The main purpose of signals is to allow the user to name the pins used by components with names corresponding to the application Assigning Signals to Pins A signal name can be assigned to an allocated pin by specifying the signal name into the appropriate property e g Pin_signal in the Component Properties available in ADVANCED view mode Signal name is an identifier that must start with a letter and rest of the name must contain only letters numbers and underscore characters For the components that allocate a whole port such as BytelO there are two options e Assign a same signal name to all pins of port by writing the name into the Port signal property Processor Expert automatically assigns this name extended with a bit number suffix to each of the individual pins e Assign a different signal names to individual pins by writing pin signal names from the lowest bit to the highest one separated by commas or spaces into the Port signal property Properties Methods Events Comment Bean name Bytel Port PTB w PTE Port signal KY Ledi Led2 Led Figure 3 8 Signal names list for a port Generated Documenation Processor Expert automatically generates a document projectname _SIGNALS txt or projectname _SIGNALS doc containing a list of relationship between defined signals and corresponding pins and
142. line e Tab size number of spaces for tabulator Number of backup copies how many backup copies will be maintained for each saved document The backup files are created within the same directory as the saved file The name of file is the same but there is character added before the extension and a number of the backup copy is added at the end The latest backup file has the number 0 The bigger the number is the older is the backup e Hint delay how long will an editor hint stay on the screen 74 Processor Expert User Manual User Interface Editor Options Ed Edit Operations A Preserve cursor position during paste I Use tab character Editor Options I Show modules in separate tabs I Show line numbers IV Syntax highlighting Y No horizontal scroll bar P Outline current line Tab size e Number of backup copies o Hint delay 200 ms r X Cancel Figure 2 50 Editor Options Search And Replace Dialog This dialog window is invoked by the pop up menu commands Search gt Find and Search gt Replace It allows to specify the subject of search or replace and mode of operation SearchReplaceDialog xi Find what ftext ar Replace with new tex El Find All Files Options Scope IV Case sensitive Entire text Replace J Whole words only From cursor TT Backward Selected text Replace All J Prompt on replace Figure 2 51 Search And R
143. ling code is generated for this component The component timing values are valid only for high speed mode The following features are available for high level components if the CPU clock speed selection is not set to ignored e During the design all the timing related settings for such a component are checked to be correct in all the speed modes that the component supports and the component is enabled in these modes e If the speed mode is changed the current timing components are preserved recalculated to be the same in the new speed mode except the timing that is set at runtime from interval If the CPU speed mode is changed to a mode that the component does not support for any reason the component is disabled right after the CPU speed mode is changed Otherwise the component is enabled e Before or after the speed mode is changed the BeforeNewSpeed and AfterNewSpeed event functions are called 91 Processor Expert User Manual Application Design 3 2 2 3 Changing Names of Peripheral Devices Purpose of name changes Many components are using on chip peripherals The link between a component and a peripheral is done by the peripheral name that is selected by the user in the appropriate component s property The user can change the names of peripherals for each target CPU within the project Possible reasons for changing names e Customized peripheral names may better express the reality of the CPU environment or company conv
144. m a non standard features of a peripheral e Peripheral Initialization Components These components are on the lowest level of abstraction An interface of such components is based on the set of peripheral control registers These components cover all features of the peripherals and were designed for initialization of these peripherals contain only one method Init and no events Please see chapter 3 2 1 1 Component Categories for more information For more details on component inspector items please see also the following sub chapters e Dialog Box for Timing Settings e Syntax for the Timing Setup in the Component Inspector e Defaut Values for Properties e Version Specific Items 2 5 3 1 Dialog Box for Timing Settings The Timing dialog box provides a user friendly interface for the settings of component timing features When clicking on the E button of a timing item in the Component Inspector the timing dialog box is displayed Before you start to edit component timing you should set e Target CPU in the Project Panel e Used peripherals in the component s properties e Supported speed modes in the component s properties The settings are instantly validated according to the Processor Expert timing model for details on the timing settings principles please see the chapter 3 5 4 Timing Settings Timing Dialog Controls 46 Processor Expert User Manual User Interface Prescalers Req value High speed mode Low speed mode
145. m only 67 Processor Expert User Manual User Interface Peripheral Initialization PTG A ES View Help IPTG Ad z Reg name 2 Mit value After reset Peripheral registers Peripheral E 0 PTGSE 00 H 80 q PTGDD5 0 PTGDD4 PTRNNA n Figure 2 45 Register List in the Peripheral Initialization window Register details command from pop up menu of a register invoked by the right button click opens a window containing a detailed information for the register Control Register SCIO_SCICR at address OxF281 15 14 13 12 11 10 9 8 5 LOOP SWAI RSRC M fWAKE POL PE PT RFIE REIE TE 0 0 0 0 0 a 0 0 0 0 0 0 0 0 0 0 0 1 RAW RAW Rew RAW RAW RAW RAW RAW AZW AZW Rew RAW RZW Figure 2 46 Register Content Details Bit num Name After reset Init value Access Additionally modified registers A list of additionally modified registers is displayed at the bottom of the registers list It contains registers that are influenced by the component but are not listed for the peripheral currently selected in this window The list is displayed only if such registers exist DDRP bo o o Changes Highlighting The user can watch reflections of user settings to Embedded Component Properties directly in CPU peripheral registers and bits The registers influenced by a last component settings change are highlighted with a green color see
146. mber of times to match the item n and the maximum m The form n is equivalent to n n and matches exactly n times The form n matches n or more times There is no limit to the size of n or m but large numbers will chew up more memory and slow down regular expressions execution If a curly bracket occurs in any other context it is treated as a regular character Examples foob r matches strings like foobar foobalkjdf1kj9r and foobr foob r matches strings like foobar foobalk3jdf1k39r but not foobr foob r matches strings like foobar foobbr and foobr but not foobalkj9r fooba 2 r matches the string foobaar fooba 2 r matches strings like foobaar foobaaar foobaaaar etc fooba 2 3 r matches strings like foobaar or foobaaar but not foobaaaar Metacharacters Alternatives nye You can specify a series of alternatives for a pattern using I to separate them so that feelfielfoe will match any of fee fie or foe in the target string as would f elilo e The first alternative includes everything from the on last pattern delimiter or the beginning of the pattern up to the first mje and the last alternative contains nit everything from the last to the next pattern delimiter For this reason it s a common practice to include alternatives in parentheses to minimize confusion about where they start and end Alternatives are tried from left to
147. mentation for the CPU Processor Expert User Manual Dialogs There are the following dialogs for setting the Processor Expert environment e Environment Options Processor Expert plug in environment options e Tools Setup setup dialog box for the tools and the tools menu There are the following dialog for setting the Processor Expert project User Interface e Project Options project options are options concerning the current project and options for the current CPU 2 1 Main Menu The Processor Expert Plug in is integrated into the CodeWarrior IDE application The CodeWarrior IDE main menu contains a new menu item named Processor Expert Debug Tools Processor Expert Device Initialization Window Help Generate Code Project 1 mcp Freeze Generated Gode View Tools Options Update Undo Redo Bring PE Windows to Front Arrange PE Windows Figure 2 1 Processor Expert s Integrated Menu The Processor Expert s plug in menu consists of the following items Note Processor expert s help is placed in the Codewarrior s Help menu Suspend Open Processor Expert Generate Code ProjectName mcp Freeze Generated Code View Tools Options Update Undo Redo Bring PE Windows to Front Arrange PE Windows Suspend Open Processor Expert 16 Es PA A Suspend Processor Expert for Project 1 mcp A E Processor Expert User Manual User Interface e Suspend Proc
148. mented by the user If the project option Project Options Generate ISR is enabled declarations of the ISRs that already do not exist can be generated automatically by PE during the code generation process into the Event module of the CPU component The project option is visible in the Advanced level of view The name of the CPU event module could be changed in the Advanced view mode of the Component Inspector 3 5 4 User Changes in Generated Code It s necessary to say at the beginning of the chapter that modification of the generated code may be done only at user s own risk Generated code was thoroughly tested by the skilled developers and the functionality of the modified code cannot be guaranteed We strongly don t recommend modification of the generated code to the beginners See more information for generated modules in chapter Code Generation To support user changes in the component modules Processor Expert supports the following features 1 CH file manifest constants Processor Expert automatically produce list of manifest constants for all components which encapsulate any CPU peripheral and modifies any of the CPU control registers The name of each manifest constant is in the following format C_ component method _reg_ register name additional info where e component method is name of component and optionally also component s method e register name is name of the control register e additional info is additiona
149. mer interrupt Please follow these instructions to start the tutorial e Invoke the CodeWarrior startup dialog by starting the CodeWarrior or select the File Startup dialog main menu command e Click on the Run Getting Started Tutorial button Select Processor Expert Tutorial in the tutorials contents 4 2 Tutorial Project 2 for Freescale HCS12 Microcontrollers This tutorial describes a demo project of a simple LED controller The LED controller has two color LEDs a red and a green one and one command button How it works The button sends commands external interrupts to CPU through one pin and the CPU switches the red and green LEDs lights on or off If you press the key you can see that lights of two LEDs have been changed One of them is switched off and the other one is switched on At the beginning the green LED is on and the red one is off Minimal required hardware design In the demo application the following components are used 1 CPU MC9S12DP256 Freescale processor HCS12 family 2 Red LED connected to CPU output pin PBO_ADDRO_DATAO 3 Green LED connected to CPU output pin PB1_ADDR1_DATAI 4 Button connected to CPU input pin PHO_KWHO_MISO1 Components This simple demo project uses the following components 1 MC9S12DP256 CPU component Freescale HCS12 processor family 2 BitlO General 1 bit input output component outputs to LEDs The LEDs receive 1 bit data which specifies whether the lig
150. mode of the window these commands have no use and are not available Show Used Peripherals Only After this option is enabled only the peripherals allocated by Processor Expert are shown Expand all expands the folder and all its subfolders Collapse all collapses the folder and all its subfolders e Help Help displays documentation Peripheral Usage xi View Help Interrupts Timers Channels Other Pind ADDR10_GPIO6 Pin3 ADDR13 GPIO9 Ping ADDR14_GPIO10 ADDR16_GPID12 ADDA17_GPID13 Ping ADDA18_GPIO14 Mi N ANA n PRInIe hd Figure 2 49 Peripheral Usage Window 2 15 File Editor About File Editor File editor is the Processor Expert internal editor allowing to e Edit files All common text editor functions are available for comfortable work with the source code e View files Editor is opened in a read only mode it s shown in the title of the window e Compare files A visual file comparison mode with two panels showing a differences between two files Note The Edit and View modes of the internal editor are not used in the Code Warrior plugin Internal editor is for these operations fully replaced by the native Code Warrior source code editor 71 Processor Expert User Manual User Interface Meaning of Buttons a e Switches between module Extensions switch between assembler implementation of the driver and header file of the module or implementation body file
151. n For more information about configurations see chapter 3 5 2 Configurations 2 3 2 Configurations Editor Project panel gt Configurations pop up menu gt Configurations Editor Configurations editor shows a table of all configurations and currently selected target CPUs and Embedded Components state in the configurations The leftmost gray column contains a name of one configuration in each row and the header of the table contains the names of the components For details on configurations please see the chapter 3 3 2 Configurations The first column of the table data contains the name of the currently selected target CPU for each configuration To choose a different target CPU use the pop up menu available after the right mouse button click on the appropriate cell Next columns represent the components in the project Each field in the components columns contains a Y if the component is enabled or N if the component is disabled in the specific configuration To change the value of the field from Y to N or vice versa double click the field with the left button 30 Processor Expert User Manual User Interface P Target CPU Prin ADC PI2ini_ TMA pri Po aD ADC Cpu 56F8346 Cpu 56F8346 Cpu 56F8346 Cpu 56F8346 Cpu 56F8346 gt Configurations Editor Use double click to Lv ox _ Hep enable disable selected bean Use right p x Cancel 2 3 3 CPUs Pop up Menus CPUs Folder Pop up Menu This menu is opened by rig
152. n appears only in Assistant mode of the Components Library If it s active all questions are shown If it s not the questions with only one available answer are automatically skipped Component Categories On chip periherals and Alphabet Modes In these modes the workspace contains the following controls A folder pop up menu is available by clicking the right mouse button on a folder It contains the commands Expand Collapse expands or collapses the folder Expand all expands the folder and all its subfolders e Collapse all collapses the folder and all its subfolders 37 Processor Expert User Manual User Interface Help on Components Library displays documentation for the Components Library A Component pop up menu is available by clicking the right mouse button on a component It contains the commands Add the component to the current project adds the component to the current project e Delete selected template removes the selected template from the Components Library Help on Component displays component documentation Help on Components Library displays documentation for the Components Library Components Library pop up menu is available by clicking right mouse button on the area inside the Components Library window It contains the commands e Update updates new components and templates to the tree according to the appropriate category in the Components Library window Help on Components Library
153. ng options are available e fixed value the timing cannot be changed at runtime e from a list of values allows to change the timing by selecting one of predefined values from the list using component method SetXXXMode This method sets the values s corresponding to the selected timing into appropriate prescaler and other peripheral register s The values modes in the list can be added removed by editing the timing values table e from interval allows to change a timing freely within a selected interval while all values of the interval are selected with specified precision Prescaler value is fixed in this mode timing is set only using compare reload registers value It means that there must be possible to set all values within the interval by using the same prescaler Please note that this kind of runtime setting requires runtime computations that can be time and space consuming and may not be supported on all microcontrollers Note Some of the methods used for runtime setting of timing will be enabled only if the appropriate runtime setting type is selected Timing values table This table allows to set or modify a requested value s for the configured timing Each row represents one time value and the number of rows depends on the selected type of runtime setting e For the option fixed value there is only one row Init Value containing the fixed initialization value e For the option from a list of values there is one
154. ng commands Expand All if a group is selected expands all items within the selected group Otherwise all groups in the Inspector are expanded If the expanded group contains any groups that are disabled gray the user is asked if the disabled groups should all be expanded e Collapse All if a group is selected collapses all items within the selected group Otherwise all groups in the Inspector are collapsed 41 Processor Expert User Manual User Interface New Item Into List adds a new item before the currently selected one This item is available only for the list type properties Delete Item From List deletes a selected item from the list This item is available only for the list type properties Move List Item Up Moves the selected row towards the start of the list This item is available only for the list type properties Move List Item Down Moves the selected row towards the end of the list This item is available only for the list type properties Help on the Item shows the appropriate help page for the selected item Copy Error Message to Clipboard copies the text of an error message for the selected inspector line to the clipboard 2 5 1 Inspector Items The following types of the items could be found in the Inspector Alphabetical list Descriptions Boolean Group A group of settings controlled by this boolean property If the group is enabled all the items under the group are valid if it
155. not only a value integer or real number but also the unit of that value The following units are supported e microseconds a value must be followed by us e milliseconds a value must be followed by ms e seconds a value must be followed by s e CPU ticks a unit derived from the frequency of external clock source If there is no external clock enabled or available it is derived from the value of internal clock source A value must be followed by ticks e Hertz a value must be followed by Hz e kilohertz a value must be followed by kHz e megahertz a value must be followed by MHz 50 Processor Expert User Manual User Interface e bit second a value must be followed by bits e kbit second a value must be followed by kbits Example If you want to specify 100 milliseconds enter 100 ms For more details on timing configuration please see the chapter 3 3 4 Timing Settings 2 5 3 3 Defaut Values for Properties Some properties can have a global default value Once you enter the value for the property and you confirm that it will be the default value for the property then it will be used automatically in the future If you open a project with different settings or change the value of the property in the Component Inspector a Processor Expert automatically offers the following options e use new value as default value remember the newly entered or just loaded value as the new default value change default
156. ns the modules that are not generated by Processor Expert but are required for the application such as libraries or system modules These files are not influenced by Processor Expert but they are linked to the final application Note about user generated and external modules The header file h of a module is not shown if its name without extension corresponds to an already displayed c file To access such header file there is possible to use the View Header File command of the module c file pop up See 2 3 5 User and Generated Modules Pop up Menus for details Documentations list of files attached into project as documentation with relative or absolute path No actions are made with these files Please refer to chapter 3 5 1 Code Generation for details on generated documentation files All Project Panel items are organized in folders in a tree You can expand and collapse a tree s branches by non clicking on the plus or minus signs respectively You can create your own folders in the Components folder and move components between them using mouse drag and drop function The following icons indicate the status of each project panel item Components Processor Expert didn t found any problems in the component s settings Configurations configuration is selected as active CPUs CPU is currently selected as a target CPU User Module Generated Module The module is all right and included in the project Component
157. nt of the speed mode selection if function of clocked devices is enabled Handling of such a situation may be done via events BeforeNewSpeed and AfterNewSpeed 109 Processor Expert User Manual Application Design Interrupt vectors table IVT is by default generated on the default addresses for of the current target CPU However Processor Expert offers additional configuration of the IVT On HCS12 derivatives The placement of the IVT can be configured in the Build Options tab of the CPU Component Inspector by changing the address of the memory area with the name INT_VECTORS Please note that if the IVT placement is changed the user has to provide a full IVT on the the address defined by the CPU datasheet and the vectors allocated by Processor Expert have to be redirected into the IVT generated by PE If the interrupt vector table in RAM application option is selected then it generates the table in RAM and special redirection code to ROM This code transfers program control to the selected address according the table in RAM You can use the CPU method SetIntVect to set the address of interrupt service routine It is recommended to select the event OnSWI together with this option to minimize the size of generated code Please note that the redirection is available only for interrupt vectors not used by Embedded Components in the current project On HCS12X derivatives These derivatives allow to change the placement of the interrupt vec
158. nternal interrupt service routines generated by Processor Expert If the enabled event handling routine is not already present in the event module then the header and implementation files are updated and an empty function without any code is inserted The user can write event handling code into this procedure and this code will not be changed during the next code generation All Methods and Events of each component inserted into the project are visible as a subtree of components in the Project panel Interrupt Subroutines Some components especially the Low level components and the Peripheral Initialization components please see more details in chapter 3 2 1 1 Component Categories allow to assign an interrupt service routine ISR name to a specific interrupt vector setup The name of the Interrupt service is generated directly to the interrupt vector table and the user has to do all necessary control registers handling within the user code See 5 5 3 1 Typical Usage of Peripheral Initialization Components for details ISRs items are listed in the subtree of a component in the Project panel E Yi ADCT Init ADC Z M Init TO onvComplete SR name of INT_ADCA Complete El ZeroCross ISA name of INT_ADCA ZC LE Figure 3 1 Example Of a Component With Two ISRs Highly Configurable and Extensible Library Embedded Components can be created and edited manually or with the help of Component Wizard CPU Components are a special category of
159. nts component events may be invoked B1_DisableEvent disable the component events component events are disabled Events BeforeNewSpeed AfterNewSpeed Timed components that depend on the CPU clock such as timers communication and conversion components may support speed modes defined in the CPU component in EXPERT view level The event BeforeNewSpeed is invoked before the speed mode changes and AfterNewSpeed is invoked after the speed mode changes Speed mode may be changed using the CPU component methods SetHigh SetLow or SetSlow EVENT C int changing_speed_mode 0 void B1_BeforeNewSpeed void changing_speed_mode void B1_AfterNewSpeed void changing_speed_mode Note If the speed mode is not supported by the component the component functionality is disabled as if the method Disable is used If the supported speed mode is selected again the component status is restored TRUE and FALSE Values of bool Type Processor Expert defines the TRUE symbol as 1 however true and false logical values in C language are defined according to ANSI C e False is defined as O zero e True is any non zero value It follows from this definition that the bool value cannot be tested using the expressions such as if value TRUE Processor Expert methods returning bool value often benefit from this definition and they return any non zero value as TRUE value instead of 1 The correct C
160. nu item in the Component Inspector window 3 2 2 1 CPU Properties Overview CPU Properties can be set in CPU Component Inspector The complete list of CPU properties and their description is available in the help page for the CPU To open the CPU help page select Help gt Help on Component from the menu bar in the Component Inspector window Following properties define the basic settings of the CPU e CPU type External Xtal frequency and sub clock xtal frequency e PLL settings e Initialization interrupt priority e External bus and signals e Speed modes See the following chapter Speed Modes All other functions that are not directly encapsulated by components 3 2 2 2 Speed Modes Support The CPU component supports up to three different speed modes The three speed modes is a Processor Expert specific concept which among all the other PE features and concepts ensures the portability of the PE projects between different CPU models In fact the three speed modes are a generalization of all the possible CPU clock speed modes used for power saving that can be found in most of the modern microcontrollers In the area of embedded systems power saving and power management functions are so important that we could not neglect the proper HW independent software implementation of these functions Therefore for keeping the portability HW independence of PE projects we recommend not to program the CPU speed functions manually but
161. omponent name component type component description If a peripheral is shared by several components for example several components may use single pins of the same port the icon is displayed 57 Processor Expert User Manual User Interface Note for peripherals working in several modes Some peripherals work in several modes and these peripherals can be represented by a several devices in the CPU databases For example the device TimerX_PPG and TimerX_PWM1 represents TimerX in PPG and in PWM mode These devices can be displayed on the CPU package but they are also represented as a single block in the MCU block diagram Mouse Operations For Individual Items e Single click on a component icon selects the component in the Project panel e Double click on a component icon opens its Component Inspector and selects the property specifying the peripheral used by the component e Double click on a peripheral opens the simple item structure view e Double click on an 2 icon opens a selection menu with all the components that use single parts of the peripheral Selecting one component opens it in the Component Inspector e Right button click on a component icon opens the Component pop up menu If the Component Inspector is invoked from this pop up menu an appropriate property allocating the used peripheral is selected e Right button click on an icon opens selection menu with all the components that use single parts of th
162. on below The user may also select a target specific value if portability of the application to another architecture is not required Note Some events do not support priorities because their invocation is not caused by the interrupt processing Warning Please note that Processor Expert does not allow the user decrease an event code priority with the exception of Interrupts enabled value on some platforms please see below This is because Processor Expert event routines are not generally reentrant so there is a risk that the interrupt would be able to interrupt itself during the processing If there is such functionality requested the user has to do it manually e g by calling a appropriate CPU component method setting a priority and carefully check possible problems Version specific information for HCS12X derivatives Processor Expert offers the following event priority options interrupts enabled Interrupts are enabled and the interrupts with the higher priority than the current interrupt priority can interrupt the event code The state of the register CCRH is not changed interrupts disabled All maskable interrupts are disabled The state of the register CCRH is not changed e 0 The same as interrupts disabled e 1 7 Priorities from lowest 1 to highest 7 The code generated by Processor Expert before the event invocation sets the event code priority to the specified value by writing to the CCRH register
163. opened by right clicking on the Components folder icon in Project Panel Following commands are available Expand Collapse expands collapses one level of the folder s tree Expand all completely expands the folder s tree Collapse all completely collapses the folder s tree Change folder name edits the subfolder name Delete folder deletes the subfolder and all its contents Delete all components deletes all components from the project Add component s invokes a dialog which allows the user to choose and add new components to project Add subfolder creates a new subfolder Import Imports all items from a pe file containing exported objects or whole project Export Exports selected objects in the project panel to the file Help displays documentation 32 Processor Expert User Manual User Interface Component Pop up Menu This menu is opened by clicking right mouse button on the icon of the component from the components folder of the Project panel Following commands are available Component inspector opens the Component inspector of the component Detailed help concerning the Component Inspector items can be found in the component s page of Processor Expert help Component enabled if checked the selected component is enabled included in project e Code generation allows to individually specify how the and user changes and code generation for the component are handled by Processor Expert S
164. optionally any other external tool can be added The tools can be added modified or deleted in the Tools Setup dialog Note Component Wizard can be added also to the Tools menu Help for the Component Wizard can be found in the Component Wizard Options e Environment Options Project Options Application Options opens an appropriate page within the Processor Expert Options dialog window that allows to customize all settings related to the environment and project See 2 1 1 Processor Expert Options for details e Tools Setup allows external tools to be included in the Processor Expert s plug in environment The tools may then be accessed via the Tools menu The setting changes will take effect after the restart of the Code Warrior application See 2 2 Tools Setup for details e Save desktop saves the desktop settings windows position to the DSK file The desktop file can also be saved automatically if the option Environment Options Autosave desktop is enabled in Environment Options Update e Update Processor Expert from Package this command allows the user to update or add new components from compressed packages PEupd that can be downloaded from the Processor Expert web site It is possible to select more components in the selected directory using a multi select function To add more components select the requested component using the mouse and holding down the CTRL or Shift key The information on the package con
165. or a percentage of the requested value e The Min resolution field is used for setting interval or capture component timing Allows the user to specify maximal acceptable length of one tick of the timer 48 Processor Expert User Manual User Interface In the case of interval settings type the of low limit percentage of the low limit value can be used as the unit for this value Minimal timer ticks Note This item is available only for setting of period in components where it s meaningful e g PWM PPG This item allows to set a minimal number of timer ticks in period It means that it will be possible to set a duty of the output signal to at least the specified number of distinct values for any period of the output signal at runtime Value 0 means no requirements for the timer settings Adjusted values This table displays a real values for each speed mode the currently selected row in the Timing values table These values are computed from the chosen on chip peripheral settings selected prescaler s value and the difference between a value selected by the user and the real value Status box The status box displays a status of the timing setting s If the timing requirements are impossible to meet a red error message is displayed otherwise it s blank and gray Possible settings table This table is displayed on the right part of the timing dialog if the the button Possible settings on the top is pressed The tabl
166. ox with a current question e A list of available answers for the current question If the answer already corresponds to a single component it has an icon of the component and there is a component name at the end of the list line and user double clicks it its added into the project Also a pop up menu of the component allowing to add it into the project or show it s documentation is available on right mouse button click on the line for details see 2 4 Components Library help page If more questions are necessary for the component selection the line with the answer contains a group icon Y and a in a brackets a number of components that still can possibly be selected After clicking on such line a next question is displayed Please note that a component filtering controlled by the button s on the bottom bar of the Components library window works in this mode too The questions and answers are filtered so the components that do not suit to the enabled filter s are not visible Notice that enabling of the filtering might remove some components from the list If the All questions filter button is not pressed and there is only one answer available the question is automatically skipped like the user would select an answer For details please see the Components library help page This mode of Components Library doesn t offer addition of CPU components If you would like to add another CPU component please switch to another Components Libr
167. pert on any microcontroller is very fast To create an application first choose and set up a CPU component add other components modify their properties define events and select Generate Code Processor Expert generates all code well commented from components according to your settings See 3 5 Code Generation for details This of course is only part of the application code that was created by the virtual application engineer Processor Expert CPU knowledge system and solution bank The solution bank is created from hand written and tested code optimized for efficiency These solutions are selected and configured in the code generation process Enter your code for desired events provide main code add existing source code and build the application using classic tools compiler assembler and debug it before the final burn in These are typical steps when working with Processor Expert Other components may help you to very quickly include pictures files sounds and string lists in your application The other components can be obtained from www processorexpert com or created from existing sources Other components can incorporate already existing components They can inherit their properties methods and events Assume that you want to share a component with other developers For example a component that can drive an LED segment display Because it is used often for different hardware configurations on different CPU pins then it
168. pies the Processor Expert project file PE containing settings of all components and the user modules into another directory It is useful for backing up the state of the project The stored file could be opened again using Open project command from this menu e Reload Project Reloads project from the last saved state on the disk e Add Component s allows to add components from the project Shows components library dialog e Import imports the content of the file containing exported objects e g components configurations or whole project All items from the imported file will be added into the current project e Export exports the selected objects in the project panel e g components configurations to the specified file It s possible to insert them into another project using the Import command e Cut cuts selected component with its settings to the clipboard e Copy copies selected component with its settings to the clipboard e Paste inserts component from the clipboard to the current project e Help displays related information for currently selected component or method If there is nothing selected this help page for Project Panel is displayed Pop up Menus of Objects Pop up menus of individual objects in project panel are accessible with a right mouse button click on the object s icon or label e Configurations pop up menu e CPUs pop up menu e Components and its methods events init code pop up m
169. plications Modular and reusable functions Easy to modify and port implementations Integrated development environment increases users productivity e This tool lets me produce system prototypes faster because the basic setup of the controller is easier This could mean that I will implement more of my ideas into a prototype application having a positive effect on the specification analysis and design phase PE justifies its existence even when used for this purpose alone e This system frees you up from the hardware considerations and allows you to concentrate on software issues and resolve them thoroughly e Very good for CPUs with embedded peripherals It significantly reduces project development time Primary Reasons Why Users Feel that Way e Processor Expert has built in knowledge internal definition of the entire microcontroller with all its integrated peripherals e Processor Expert encapsulates functional capabilities of microcontroller elements into concepts of configurable components e Processor Expert provides an intuitive graphical UI displays the microcontroller structure and allows the user to take advantage of predefined and already verified components supporting all typically used functions of the microcontroller e Applications are designed by defining the desired behavior using the component settings drag amp drop selections utilizing the generated methods and events subroutines and combining t
170. ponent PDF Search MC68HC908AP64 pdf Al x sen X Search J Case sensitive Regular expression a lt 3 PDF eBooks a PALA Eee Read one for free Section 13 Serial Communications Interface Modul SCI 13 1 Introduction The MC68HC908AP64 has two SCI modules SCI is a standard SCI module and SCI2 is an infrared SCI module This section describes SCI1 the serial communications interface SC module which allows high speed asynchronous communications witl peripheral devices and other MCUs NOTE When the SCI is enabled the TxD pin is an open drain output and requires a pullup resistor to be connected for proper SC operation 8 49 x 11 00in ld q 21140 BS pl Figure 2 53 PDF Search Window Note for Acrobat Reader 6 0 users The Acrobat Reader can show the following dialog box while the PDF files are switched within the PDF search window Adobe Reader One or more PDF documents are open inside a web browser If you exit Adobe Reader now those documents will be closed Are you sure you want to exit se ARE For a proper function of the PDF search the user should press the Cancel button 77 Processor Expert User Manual User Interface Three Panels Of The Window e The top panel allows the user to specify the searched text expression and enable disable additional switches influencing the search process e On the left side of the widow is a narrow panel containing as a resul
171. ponent from Component Inspector menu to see documentation for currently opened component Note Property settings influencing the hardware can often be better presented by the CPU package view using Target CPU window See 2 7 Target CPU Window for details 44 Processor Expert User Manual User Interface e Component Inspector Tl Timerint 0 x Component Items Visibility Help lt gt View Regs gt Properties Methods Events Comment Component name TH Periodic interrupt source MTIMmod y MTIMmod Counter MTIM E Interrupt service event Enabled Vintimn Lo Interrupt priority medium priority Y Interrupt period Unassigned timing Component uses entire timer nc E Initialization Enabled in init code yes 2 af of rim rbd in init BASIC ADVANCED EXPERT Component Level High Figure 2 27 Component Inspector Window The Comments page allows the user to write any comment about the component or setting used This comment will be displayed in the hint when the mouse cursor will be placed on the component The Build options page is present only in the CPU component and it provides access to the settings of the compiler or debugger selected in Project Options These settings are different for each compiler or debugger and are reset every time the compiler or debugger is changed Peripheral usage The Used page shows list of the CPU component resources The user can also manually
172. ponent in User Code User Changes in Generated Code 111 Processor Expert User Manual Application Design 3 5 1 Code Generation Processor Expert gt Generate Code ProjectName mcp Generate Code command initiates the code generation process During this process source code modules containing functionality of the components contained in the project are generated The project must be set up correctly for successful code generation If the generation is error free all generated source code files are saved to the destination directory Files Produced by Processor Expert The existence of the files can be conditional to project or Processor Expert environment settings and their usage by the components Component module This module with its header file is generated for every component in the project with exception of some components that generate only an initialization code or special source code modules Name of this file is the same as the name of the component Header file h contains definitions of all public symbols which are implemented in the component module and can be used in the user modules The module contains implementation of all enabled methods and may also contain some subroutines for internal usage only Processor Expert allows to track and review changes in the generated modules See 3 5 1 1 Tracking Changes in Generated Code for details e CPU module The CPU module is generated according to the currently active
173. r PE Key Features e Design time verifications e CPU selection from multiple CPU derivatives available e CPU pin detailed description and structure viewing e Configuration of functions and settings for the selected CPU and its peripherals e Definition of system behavior during initialization and at runtime e Design of application from pre built functional components e Design of application using component methods user callable functions and events templates for user written code to process events e g interrupts e Customization of components and definition of new components e Tested drivers Processor Expert User Manual Introduction e Library of components for typical functions including virtual SW components e Verified reusable components allowing inheritance e Verification of resource and timing contentions e Concept of project panel with ability to switch port between CPU family derivatives e Code generation for components included in the project e Implementation of user written code e Interface with Freescale CodeWarrior PE based tool solution offers the following advantages to Freescale CPU customers e In all phases of development customers will experience substantial reductions in development cost development time e Additional benefits in product development process are Integrated development environment increases productivity Minimized time to learn Freescale CPU Rapid prototyping of entire ap
174. r Component Templates and components created in Component Wizard see chapter 5 Component Wizard Description are shared by all users and they are stored in the directory SALLUSERSPROFILE ApplicationData Processor Expert version For example C Documents and Settings All Users A pplicationData Processor Expert CW08_PE3_02 Desktop File PE desktop state opened window with positions their sizes etc and state of the environment configuration options are stored in the file with extension dsk This file can be stored e For each project e One for all projects in a directory e One globally see User specific configuration paragraph in this chapter These desktop file storage options can be set using Environment Options Encode desktop file 129 Processor Expert User Manual Processor Expert Tutorials 4 Processor Expert Tutorials This tutorial is provided for embedded system designers who wish to learn quickly how to use the exclusive features of Processor Expert Reading this tutorial may be all you need to start using Processor Expert for your own application The following tutorials are available HCS12 Project 1 HCS12 Project 2 4 1 Tutorial Project 1 for Freescale HCS12 Microcontrollers A simple tutorial is available within the CodeWarrior tutorials This animated tutorial describes a periodically blinking LED project The LED is connected to one pin of the CPU and it is controlled by a periodical ti
175. r Manual Application Design 3 9 Processor Expert Files and Directories PE Project File All components in the project with their state and settings and all configurations are stored in one file with extension PE A name of this file is the same as the project name The directory where this file is located is called project directory The files that are generated and used in the project are stored relatively to this directory If the whole content of the project including subdirectories is copied or moved to another directory it is still possible to open and use it in the new location Project Directory Structure Processor Expert uses the following sub directory structure within the project directory CODE the directory containing all source code modules e DOC the directory with the project documentation files generated by Processor Expert Please see details on files generated by Processor Expert in 3 5 7 Code Generation The individual names of the code and documentation directories can be customized using the options Project Options Directory for code and Project Options Documentation User specific configuration Configuration files with user settings are stored in the directory SUSERPROFILE ApplicationData Processor Expert version For example C Documents and Settings john ApplicationData Processor Expert CW08_PE3_02 User templates and components User created templates see chapter 3 3 5 Creating Use
176. r matches strings like foobar foobbr fooblr and so on Metacharacters predefined classes w an alphanumeric character including _ W a nonalphanumeric d a numeric character D a non numeric s any space same as t n r f S anon space You may use w d and s within custom character classes Examples foob dr matches strings like foob1r foob6r and so on but not foobar foobbr and so on foob w s r matches strings like foobar foob r foobbr and so on but not foobIr foob r and so on Metacharacters word boundaries b Match a word boundary YB Match a non word boundary User Interface A word boundary b is a spot between two characters that has a w on one side of it and a W on the other side of it in either order counting the imaginary characters off the beginning and end of the string as matching a W Metacharacters lterators Any item of a regular expression may be followed by another type of metacharacters iterators Using this metacharacters you can specify a number of occurrences of a previous character metacharacter or subexpression A zero or more similar to 0 one or more similar to 1 zero or one Similar to 0 1 n exactly n times n at least n times n m at least n but not more than m times 81 Processor Expert User Manual User Interface So digits in curly brackets of the form n m specify the minimum nu
177. r options that are safe for Processor Expert projects Otherwise we couldn t guarantee the generated code operating properly CpuHCS12X CpuHCS12 Mb Ms Ml D_NO_FLOAT_ Cf CpPPAGE 0x 126 Processor Expert User Manual Application Design 3 8 Low level Access to Peripherals In some cases a non standard use of the peripheral is required and it is more efficient to write a custom peripheral driver from scratch than to use the component In addition there are special features present only on a particular chip derivative not supported by the component that could make the user routines more effective however the portability of such code is reduced Peripheral Initialization It is possible to use Processor Expert to generate only the initialization code function for a peripheral using the Peripheral initialization components The user can choose a suitable Peripheral initialization component for the given peripheral using the Peripherals tab of the Components Library See 2 4 Components Library for details Initial values that will be set to the peripheral control registers can be viewed in the Peripheral Initialization window See 2 3 Peripheral Initialization for details Peripheral Driver Implementation The rest of the peripheral driver can be implemented by the user using one of the following approaches e Direct Access to Peripheral Registers Warning Incorrect change in registers of
178. r the microcontroller applications from handling port bit operations external interrupts and timer modes up to serial asynchronous synchronous communications A D converter I2C CAN etc Processor Expert User Manual Introduction A component provides a clear interface By setting properties a user defines the future behavior of the component in runtime The user controls properties in design time by using the Component Inspector Runtime control of the component function is done by the Methods Events are interfacing hardware or software events invoked by the component to the user s code The user can enable or disable the appearance and availability of methods of the component in generated source code Disabling unused methods could make the generated code shorter See 3 6 7 General Optimizations for details Events if used can be raised by interrupt from the hardware resource such as timer SIO or by pure software reason such as overflow in application runtime You can enable or disable interrupts using component methods and define priority for event occurrence and for executing its Interrupt Service Routine ISR The hardware ISR provided by the component handles the reason for the interrupt If the interrupt vector is shared by two or more resources then this ISR provides the resource identification and the user is notified by calling the user event handling code Creating Applications Creation of an application with Processor Ex
179. rd w struct byte high low b TWREG Macros __DI Disable global interrupts __ETI Enable global interrupts EnterCritical It saves CCR register and disable global interrupts ExitCritical It restores CCR register saved in EnterCritical 116 Processor Expert User Manual Application Design For the list of macros available for Peripheral registers access please see the chapter 3 8 7 Direct Access to Peripheral Registers Constants Methods Error Codes The error codes are defined in the PE_Error module Error code value is 8 bit unsigned byte Range 0 127 is reserved for PE and 128 255 for user ERR_OK ERR_SPEED ERR_RANGE ERR_VALUE ERR_OVERFLOW ERR_MATH ERR_ENABLED ERR_DISABLED ERR_BUSY ERR_NOTAVAIL ERR_RXEMPTY ERR_TXFULL ERR_BUSOFF ERR_OVERRUN ERR_FRAMING ERR_PARITY ERR_NOISE ERR_IDLE ERR_FAULT ERR_BREAK ERR_CRC ERR_ARBITR ERR_PROTECT ERR_UNDERFLOW ERR_UNDERRUN ERR_COMMON ERR_LINSYNC ERR_FAILED ERR_QFULL 0 0 1 nn A YW WN NW N e Ra a a pa pa 2 pa pasa Fe O 0 N Dn A U NY KF OO 22 23 24 25 26 27 28 OK This device does not work in the active speed mode Parameter out of range Parameter of incorrect value Timer overflow Overflow during evaluation Device is enabled Device is disabled Device is busy Requested value not available No data in receiver Transmitter is full Bus not available Overrun is present Framing
180. re of microprocessor systems Microprocessor boards that are to be programmed by a customer must be well supported by software Processor Expert can handle software configuration and generation of drivers for microprocessor devices and off chip peripheral devices Creating an application using Processor Expert takes usually 70 less time than with standard Integrated Development Environments IDEs containing only a source code editor compiler debugger Producers of OS Processor Expert can be used to build an OS kernel or OS drivers Also due to its open component architecture and support of pure software components Processor Expert can be used to build applications benefiting from underlying operating system services Educational institutes Microprocessor oriented courses can benefit from the information available in Processor Expert about microprocessor structures and hardware independence delivered by Processor Expert Design of applications begins with definition of functionality which can be obtained very quickly by building the application from Embedded Components Students can get the results very fast without facing problems that are not related to the subject of the course for example compiler bugs and errors in the documentation Hardware and software developers Shortening of the design and learning phase speeding up of the deployment of new components full use of hardware using tested software components reduction in time and
181. rocessor Expert 2 2 0 125 3 8 Low level Access to Peripherals o ococoooocccccicoccccccccncncncncn cece 127 3 8 1 Direct Access to Peripheral Registers ooo 127 3 9 Processor Expert Files and Directories ooooocococcccccccccococococooco 129 4 Processor Expert Tutorials 130 4 1 Tutorial Project 1 for Freescale HCS12 Microcontrollers 130 4 2 Tutorial Project 2 for Freescale HCS12 Microcontrollers 22 2 22 130 4 2 1 Tutorial for Freescale HCS12 Project 2 Step 1 ocio 131 4 2 2 Tutorial for Freescale HCS12 Project 2 Step 2 0 133 4 2 3 Tutorial for Freescale HCS12 Project 2 Step 3 ooo 138 4 2 4 Tutorial for Freescale HCS12 Project 2 Step 4 ooo 139 5 Component Wizard Description 141 Processor Expert User Manual Introduction 1 Introduction Both hardware and software design have progressed so much with the ever advancing new technologies emerging everyday but their interrelationships and interdependence have been mostly neglected On one hand we often see a good new hardware architecture but the software design is too expensive for such an architecture On the other hand the computerization of nearly all mechanical gadgets all over the modern world leads to the use of embedded computer systems In situations where expense is a consideration embedded computer systems with efficient software can significantly reduce the overall design cost Processor Expert Code Wa
182. rrior plug in is designed for rapid application development of embedded applications for a wide range of microcontrollers and microprocessor systems Processor Expert Main features e The application is created from components called Embedded Components e Embedded Components encapsulate functionality of basic elements of embedded systems like CPU core CPU on chip peripherals FPGA standalone peripherals virtual devices and pure software algorithms and change these facilities to properties methods and events like objects in OOP e Processor Expert suggests connects and generates the drivers for embedded system hardware peripherals or used algorithms This allows the user to concentrate on the creative part of the whole design process e Processor Expert allows true top down style of application design the user starts the design directly by defining the application behavior instead of spending days just trying to make the chip work e Processor Expert works with an extensible components library of supported microprocessors peripherals and virtual devices e Processor Expert Peripheral Initialization components generate effective initialization code for all on chip devices and support all their features e Processor Expert allows to easily examine the details of the architecture and the relationship between the Embedded Component setup and CPU control registers initialization e The user can create his her own components using
183. rsion E Don t Write Generated Component Modules the code from component is not generated Any initialization code of the component which resides in the CPU component interrupt vector table and shared modules are updated The mode of code generation is indicated as a component s status in the project panel This mode influences only the generation of component modules component c component h 3 Mode of code generation for non component modules Processor Expert also allows to enable disable generation of the modules that not related to a specific component or that are common for several components This option can be configured in the pop up menu of the module in the Project Panel Current enable disable state of this option is signalled by the icon near the component module name in the Project Panel 4 enabled Hm disabled Code Generation e Always Write default generated component modules are always written to disk and any existing previous module is overwritten e Don t Write the content of the module is not overwritten Please note that this can lead to malfunction of components dependent on the module when the module update is required due to component s settings change Viewing User Changes in a Component Module The user changes done in a component module or component header module can be viewed using a component pop up menu commands Compare With Previously Generated Module and Compare With Previously Gen
184. s Gray cross means that component is disabled and code won t be generated for it gt Configurations Configuration is not active Double click the icon to select it as active configuration CPUs CPU is not selected as target CPU Double click the icon to select it as the Target CPU Components CPUs components CPU component s settings are wrong or conflict with another component See 3 3 3 Design Time Checking Consequences and Benefits for details Possibly incorrect setup was found in project or in component s settings The warnings are displayed in Error window including simple description Icons 4 2 near the component s icon mean the component is individually setup for preserving user changes in generated code See 3 5 4 User Changes in Generated Code for details The Project panel window allows quick access to supported methods and events using mouse See paragraph Other mouse actions 26 Processor Expert User Manual User Interface Pop up menu Project panel pop up menu is accessible by right click on the empty white area of the Project Panel Contains basic operations related to the project and components e Open Project allows the user to open Processor Expert project from disk e Save Project saves the current state of the project e g all the component and processor expert settings Project is also automatically saved when Code Warrior or project is closed e Copy Project to co
185. s entire timer YD AS1 AsynchoSetial initialization E v Bt21 Byte210 3 Enabled in init code B Configurations Y La 112pin al UB GelDir 3 CPU clock speed selec uE SetDir High speed made This bean enabled es 2 amp Geval AI Low speed mode This bean disabled This bean is dis OB Puval z Slow speed mode This bean disabled This bean is dis E H Gebit TIMO module EA PutBit Stop in wait mode no E H SetBit 3 Stop in freeze mode no EA Ceit E A Negbit E H GetRawval m E GotRawok BASIC_ ADVANCED EXPERT Z Bin Bi0 fa EA General purpose paralel 7 A T Timerint iojx COt FreeCnta Categories On Chip Prohis Alphabet Keywords ae ee Y Y EC321 EventCnti32 CPU T Registers EG User Modules AsynchroSlave n 7 __ 1 EB Interrupts Register Bit name Initialization value f Value after reset a Y testl c main 2 y Q Events c event 59 Ern oe E6 Generated Modules 89 Intemuptvector B6 Bean Modules Measurement Y EJ ASLO BS Memory Y El Bec SO InirLasH EB Peripheral Initialization Beans S fa ins FLASH Y E PE_Typesh Y ES PESLA Y E Vectors c EL6 gt Documentation 20 files Figure 1 1 CodeWarrior IDE with Processor Expert active How to Create a New Project See the chapter 4 Processor Expert Tutorials or 3 1 Quick Start in Processor Expert
186. selected component name in the Project Panel allows you to edit the name of the selected component e Double clicking on any event method initialization enable disable icon changes its enable disable state you can do it also via the component inspector e Double clicking on any event method name after code generation opens the file editor viewer at the position of the event method s code e Double clicking on any ISR opens the source code editor at the interrupt routine if its name has been specified within the component properties Automatic Hints e Placing the cursor on any event method icon name displays the event method s and parameter s description and syntax e Placing the mouse over any component icon name displays the component description 28 Processor Expert User Manual User Interface EE Configurations amp Release_O8MP16VLF Y amp Debug_08MP16VLF amp Operating System aS CPUs x a Cpu MC9SO8MP16VLF Y B Cpu MC9SO8MP16VLF e D Cpu MC68HC9084P164CB EE Components lt ADI ADC a y Bit Blo E M GetDir a M SetDir E M Setinput E A SetOutput E M Getal J M Putval i M Cial J M SetVal E M NegYal E E User Modules Y EX Project_42 c main Y EX Events c event E Generated Modules amp Component Modules Y 4D1 c e Bitl c a Cpu c Y E 10_Map c Y E PE_Const h Y E PE_Error h Y E PE_Types h Y E Vectors c gt External Modules EE Documentation ka Project_42_SIGNALS txt fii Project_42_Settings xml
187. ser Manual User Interface e Group A list of items which can be expanded collapsed by clicking on the plus minus icon or by double clicking at the row Values of the items in the group are untouched El Initialization Integer Number The user can insert a number of a selected radix Radix of the number could be switched using the icons DHJE D Decimal H Hexadecimal B Binary Only reasonable radixes are offered for the property If the radix switching icon is not present Processor Expert expects the decimal radix v Size FF5C Hj e Link to inherited component The arrow icon switches the inspector to the ancestor component that is inherited by the current component The down arrow button Y allows to change the ancestor from the list of possible ancestor See 3 3 7 Component Inheritance and Component Sharing for details B Asynchro serial communication AsynchroForT erminal y gt e Link to shared component The dialog button E switches the inspector to the shared component that is used by the current component The down arrow button Y allows to change the component from the list of the available components See 3 3 7 Component Inheritance and Component Sharing for details gt Basic Fractional Math Library MFR1 y mj e List of items A list of items may be expanded collapsed by clicking on the plus minus button in the left side of the row or by double clicking on the row The user may add remove items by
188. set properties of the Compiler and Debugger if it is supported In the CPU Component Inspector page Used it is also possible to select the peripherals that should not be used by Processor Expert These peripherals are then not available to the components in the project and can be freely used by any external module Portability e Itis possible to change the target CPU during the development of an application and even to switch between multiple CPUs This can be done simply by adding another CPU to the project and selecting it as the target CPU e To connect the new CPU peripherals to the application components correctly it is possible to specify the CPU on chip peripheral names See 3 2 2 3 Changing Names of Peripheral Devices for details This way the same peripheral could be used on different CPU derivatives even if the original name is different e Specific application options for single targets are set in Project Options Note CPU peripherals names and Application Options are in the same pop up menu as CPU inspector To open the pop up menu right click the CPU icon in the Project panel Adding a CPU to a Project 1 Inthe Components Library window select the CPU category and find the desired CPU component 2 Double click the desired CPU icon to add it to the project When the CPU component is added it appears in the upper part of the Project panel If selected as the target CPU the processor will be displayed in the Target
189. sor Expert plug in including CPU components e Target CPU Package displays the Target CPU Window in CPU Package view This window displays the target CPU CPU selected as destination with its peripherals and pins e Target CPU Block Diagram displays the Target CPU Window in Block Diagram view This window displays the target CPU CPU selected as destination block diagram with its peripherals e Error Window displays the Error window This window displays errors warnings and hints e Target CPUTiming Model displays the CPU timing hierarchy e Peripheral Initialization opens the Peripheral Initialization window for the Target CPU this command is available only if a target CPU is selected e Peripherals Usage shows the CPU Peripherals Usage window e Resource Meter displays the Resource Meter window The Resource Meter shows the current status of a chip resources usage or availability Processor Expert User Manual User Interface e Memory Map opens the Memory Map window This window shows the CPU address space and internal and external memory mapping e Installed Components Overview displays a list of installed components and CPUs with additional information about component drivers and projects with typical settings e CPU Parameters Overview displays the CPU parameters overview table and the query dialog that provides help for the selection of the most adequate processor Tools Tool 1 e Tool 2
190. system Events are offered by the High and Low Level components to help the user to service the events without any knowledge of the platform specific code required for such service Processor Expert Events can be enabled and disabled and have a user written program subroutines that are invoked when the event occurs Events often correspond to interrupts and are for that case invoked from the generated ISR Moreover the event can also be a pure software event caused by a buffer overflow or improper method parameter 94 Processor Expert User Manual Application Design Interrupts Usage in Component s Generated Code Some high level components use interrupt service routines to provide their functionality Usage of interrupts can usually be enabled disabled through property Interrupt service event If the interrupt service is used complete interrupt service routine is generated into component s driver and the generated code contains configuration of the corresponding peripheral to invoke the interrupts The user should be careful while disabling an interrupt If a component should operate properly it is necessary to allow the interrupt invocation by having interrupts enabled and if the CPU contains priority system set the corresponding interrupt priority level This can be done using the appropriate method of the CPU component Note It is a common bug in user code if the application is a waiting for a result of the component action w
191. t User Manual Application Design Timing The settings of all timed high level components are checked using the internal timing model See 3 3 4 Timing Settings for details If there is no error reported it means that Processor Expert was successful in calculating the initialization and runtime control values for all components and hence the settings should work according to the configuration 3 3 4 Timing Settings Many high level components contain a timing configuration e g speed of the serial communication period of the interrupt conversion time of the ADC etc Processor Expert allows to configure such timing using user friendly units and it also contains a model of the complete MCU timing This model allows calculation of the required values of control registers and continuous validation of the timing settings Timing Model A component timing can be viewed like a chain of elements such as dividers and multipliers between the main clock source and the device configured by the component The user sets the desired timing value using the Timing Dialog box see chapter 2 5 3 1 Dialog Box for Timing Settings or directly by specifying the value in Component Inspector see chapter 2 5 3 2 Syntax for the Timing Setup in the Component Inspector Processor Expert tries to configure individual elements in the timing chain to achieve the result and the user is informed if it was successful After leaving the Timing Dialog box the real value of t
192. t of search a list of the pages containing the required information Clicking on numbers in this listing invokes the appropriate page in the Adobe Acrobat Reader panel Unfortunately Acrobat Reader does not permit highlighting of any text results found on the page You may find on the page using the Acrobat Reader Find function see Acrobat Reader toolbar e The Acrobat Reader or Adobe Reader panel shows PDF file content This panel has it s own toolbar which allows you to browse within the PDF file This panel has also an internal Find function which is useful for locating searched phrase on the page Using the toolbar you can print move and zoom in or out on the document More documentation about controlling the Acrobat Reader plug in can be found in Adobe Acrobat Reader documentation Additional Switches e Case sensitive If this switch is enabled all letters of searched text must exactly match the text in the document including its case If the switch is disabled the case of the letters is ignored e Regular expressions If this switch is enabled the text entered as a searched phrase is treated as a regular expression Users can use a power of regular expressions For example it allows using a logical or set operators etc The syntax of regular expressions is a subset of commonly used Perl regular expressions You can find more information on regular expressions and their syntax in chapter 2 16 1 Regular Expressions Our search t
193. t of the files that have been modified by Processor Expert The user can specify which files will be saved and will replace the old ones using a check marks and a buttons All and None The user can also visually compare the changes in the currently selected file by pressing a button DIFF Pressing the OK button will save all selected modules and replace the current ones lox List of files modified during code generation Press DIFF button to compare selected file with the modified version It s also possible to select which of them will be saved to disk WA CODE ectors c M CODESCpu C Y CODENnhr3 C M CODESInhr3 H Al None DIFF Figure 3 15 List of modyfied files If the user presses the DIFF button a file editor in a comparison mode is shown It contains highlighted parts that had been changed during the code generation See 2 75 File Editor for details 114 Processor Expert User Manual Application Design Editor E test sdsd test CODE Inhr3 C READ ONLY oid Inhr3_ Init void oid Inhr3_ Init void AS 0 ita 0 A SCIi SCICR LOOP 0 SW SCIL SCICR LOOP 0 setReg SCI1 SCICR 0 setReg SCI1 SCICR 0 243 1 Read Only ls Syntax highlighting For Metrowerks DSP C Compiler Figure 3 16 A file before and after the generation After the Modified Files dialog user can also review a list of automatically deleted unused files The Environment Options Delete unused
194. ted and it is not possible to use them in other components In some timer components you can choose if you want to use only a part of the timer compare register or an entire timer If you select the entire timer the driver can be optimized to work best with the timer It can for example invoke reset of the timer whenever is it needed by the component function Interrupt Priority If the target CPU shares interrupt priority between several interrupt vectors or shares interrupt vectors Processor Expert provides checking of interrupt priority settings For detailed information about Interrupt Priority see the Priorities page Memory Processor Expert always checks the usage of the internal and external memories accessible throught CPU address and data bus Position and size of internal memory is defined by the CPU type and can be configured in the CPU Properties if supported External memories must be defined in CPU Properties Any component can allocate a specified type of memory See component descriptions for detailed information about requirements for types of memory Processor Expert provides checking of memory and protects you from making a wrong choice For example if a component requires external Flash it is not possible to enter an address in internal RAM The bits can also allocate memory Therefore you can be sure that only one component uses an allocated bit of a register in external address space 99 Processor Exper
195. ted code even if the value after reset is the same as the required initialization value If the option is set to yes the register values same as the after reset values are not initialized Comment The Comment tab allows to enter a text that will be shown in the hint when the mouse cursor will be placed on the configuration It could be any text related to the configuration for example an explanation of the configuration purpose or some necessary hardware settings 2 6 Error Window Processor Expert gt View gt Error window This window displays errors warnings and hints that are found during e project checking e code generation e running of an external tool Some errors are found right after inconsistent or incorrect data have been entered others during the code generation of a project The single messages mention the component where the error was found If an error concerns two components where conflict results for example from using the same on chip peripheral the error will be attributed to both components If the user clicks the right mouse button a pop up menu is shown allowing user to delete either tools or code generation errors warnings and hints in order to improve the readability of the Error window Errors 2 warnings 2 hints 1 a Y Ee ae Y ERROR There are errors in this bean it is impossible to code design a Y E Button Y ERROR Error in bean setting More details provides Bean Inspector for
196. tek et ee aa 13 A A see aes 96 Processor Expert tab ___ _ 25 Projecttile tt a e Pao the e aL 129 Project options _ 19 Project panel _ _ 25 Properties ceca taa at te ates ec oe hel 13 Quick staro coe se a ee eee ee ek 84 Renaming peripherals ooo 92 Reserving CPU resources 2 2 eee eens 45 Reset scenario eeee 108 Resource meter Loc 61 Review generated code occ 114 RTOS aiaa oaa a a e Sates a a a aatere 13 Search regular expressions __ _ 79 Shared ancestor component LL 105 106 Sharing pins with multiple components 107 EA A ook on TE 104 Slow speed mode eee eee e eens 90 Speed modes _ ee eee 90 Target CPU Doors taaan naa 54 13 Index Processor Expert User Manual Target switching 98 Template baii eee oe eee eee 13 TOS Sache ts ld a tend le Aa 12 TICKS scr ee ea nt A rd 50 SUMMING eta eat che E E oa 46 100 Timing units Loco 50 Tip of the day 2 052222 cere eee oe 24 TOOSSt P 22 eo a a dean 20 Tracking changes in generated code _ 114 AA A A OS 130 Update from package 18 Used CPU resources _ 45 User changes in a component code _ 33 User Interface 5 2 5 15 User Modules ones ana i 13 User modules 34 84 Using mouse in Project Panel ooo
197. tent is shown when the package is selected within an opening dialog window Undo actionname Restores the state of the project before a last operation This command affects only changes in the project 1 e adding or removing components disabling components etc It doesn t work on the source code editor actions Functionality of this command is influenced by the option Environment Options Number of UNDO operations The 0 value of this option will disable the functionality of this command Processor Expert User Manual User Interface Redo actionname Applies again the change previously discarded by a use of the Undo command This command affects only changes in the project i e adding or removing components disabling components etc It doesn t work on the source code editor actions Functionality of this command is influenced by the option Environment Options Number of UNDO operations The 0 value of this option will disable the functionality of this command Bring PE Windows to Front Sets the main Processor Expert s windows to the front on the screen Arrange PE Windows Arranges all open windows to the default placement on the screen Project Panel Components Library Cpu Panel Error Window Resource Meter Component Inspector 2 1 1 Processor Expert Options Processor Expert gt Options gt Environment Options Processor Expert gt Options gt Project Options Processor Expert gt Options gt Application Opt
198. the following tools setup options Application Working directory Parameters Input file s Output file Input files for redirection Output file for redirection Error output file for redirection Format of all messages See 2 1 2 Tools Setup for details PRJNAME current name of the project without extension DIRPRJ current directory of the project absolute path terminated with a backslash DIRDRV current destination directory of drivers absolute path terminated with a backslash DIRRELDRYV current destination directory of drivers relative or absolute path from Project Options setting terminated with a backslash S DIRRELEVENT EVENTTODRV DIREVENT current destination directory of main and event modules absolute path terminated with a backslash DIRRELEVENT current destination directory of main and event modules relative or absolute path from Project Options setting DIRBIN current destination directory of binary files maker linker and object absolute path terminated with a backslash DIRRELBIN current destination directory of binary files absolute or relative path starting from Project Options setting terminated with a backslash SDIRRELEVENT EVENTTOBIN DRVTOEVENT relative path from drivers directory to main and event modules directory drivers Driver subdir event Main and event dir from Project Options e EVENTTODRYV relative path from main and event modules directory to
199. the previous two pictures for example The highlighting works only in the case that the component was set up correctly before the change was made and the new setup is correct as well and there is no error reported in a component settings If there is an error in a component settings and no other component is influencing the register the after reset values are shown 68 Processor Expert User Manual User Interface Menu e View Sort Registers by Address If this item is checked registers are sorted in list by their address Otherwise they are sorted by name Group Registers If this item is checked groups of numbered registers with the same name are shown as expandable folders The name of each folder is the same as the name of the registers with numbers replaced by xx Show Unused Bits This option enables disables displaying the registers bits unused by the manufacturer When it is enabled the unused bits are listed with the name unused Expand all expands the folder and all its subfolders Collapse all collapses the folder and all its subfolders e Help Help displays documentation Pop up menu for a register e Register Details opens a window containing a detailed information for the register e Search Register in PDF Documentation searches the register in the CPU documentation using PDF search See 2 16 PDF Search for details This option is available only if PDF search is available and
200. the unused methods code is dead stripped by the linker but when the dependency among methods is complex some code should not be dead stripped When useless methods or events are enabled the generated code can contain spare source code because of these unused methods or events Moreover some methods can be replaced by more efficient methods that are for special purposes and therefore these methods are not enabled by default Disabling Unused Components Disable unused and test purpose components or remove them from the project Disabling of these components is sufficient because the useless code is removed but the component setting remains in the project If these components are required for later testing then add a new configuration to the project and disable these useless component only in the new configuration The previous configuration will be used when the application is tested again Moreover if it is required to use the same component with different setting in several configurations its possible to add one component for each configuration with same name and different setting Speed modes Note These optimizations are not usable for the Peripheral Initialization Components Timed components which depend on the CPU clock such as timer communication and conversion components may support speed modes defined in the CPU component in EXPERT view level The Processor Expert allows the user to set closest values for the component timing in all spe
201. there are some values set manually only these values will be used and possible timing values are limited to the values that can be achieved with the manually set clock source and or prescaler values The table contains a row for each prescaler which is used by the device selected for the component Each column contains a value corresponding to one speed mode except the last column which shows values of the prescalers that are really set It s possible to adjust the values only in the columns of the speed modes that are enabled The table can contain the following rows e Clock source the clock source is fixed for each speed mode Even if the runtime setting is used this value has to be the same for all values from the list in case of from a list of values or for the whole interval range in case of from interval See below for details on Runtime setting e Prescaler Pre prescaler the prescaler influencing the clock of the peripheral selected for the component If the runtime setting from a list of values is used this value can be different for every item of the list Otherwise it has to be fixed In some cases it s necessary to select the clock source before adjusting this value Runtime setting configuration 47 Processor Expert User Manual User Interface Note Runtime setting cannot be selected in the BASIC view mode Runtime setting type selection determines how the timing setting can be modified at runtime The followi
202. tine if its name has been specified within the component properties e Help Shows the related help for the component 2 3 5 User and Generated Modules Pop up Menus User Modules Folder Pop up Menu e Add User Module s This menu allows to add one or more user source code modules of the specified type to the project The user can choose the file extension from the sub menu and select the file using a standard windows file selection dialog Please note that when a c module is added Processor Expert automatically finds a header file h with the same name for it if it exists The header file is not visible as a separate item in the list of user files but it s accessible using the View header file command of the c module pop up menu Such header file is automatically treated as a part of the project so it cannot be explicitly added into the user files list e New User Module The user can choose a new file type and specify a file name and path The new file is added to the project Please note that when a c module is created Processor Expert creates automatically a header file h with the same name for it Such header file is not visible as a separate item in the list of user files but it s accessible using the View Header File command of the c module pop up menu It also cannot be explicitly added into the user files list e Expand Collapse expands collapses one level of the folder s tree Expand All completely expands the fold
203. tion PE_low_level_init End of Processor Expert internal initialization Init1l_Init for Interrupt Handling Some Peripheral Initialization components allow the initialization of an interrupt service routine Interrupt s can be enabled in the initialization code using appropriate properties that can be usually found within the group Interrupts After enabling the specification of an Interrupt Service Routine ISR name using the JSR name property is required This name is generated to Interrupt Vector table during the code generation process See 3 3 Interrupt Vector Table for details Please note that if the ISR name is filled it is generated into the Interrupt Vector Table even if the interrupt property is disabled 120 Processor Expert User Manual Application Design E Interrupts El Reload PWM Interrupt INT_PWM_FReload Reload interrupt Enabled Reload interrupt priority medium priority ISR name INT_PwM_Reload 1 Figure 3 18 Example Of The Interrupt Setup Enabling disabling peripheral interrupts during runtime has to be done by user s code for example by utilizing PESL or direct register access macros because the Peripheral Initialization Components do not offer any methods for interrupt handling The ISR with the specified name has to be declared according to the compiler conventions and fully imple
204. ton 13 Now is time to add component handling the button Open the Components Library window again and double click the ExtInt icon on the folder Interrupts in the in order to add the component to the project See picture below Jolx Bean Categories On Chip Peripherals Quick help gt gt CPU a 3 CPU extemal devices E amp CPU intemal peripherals amp Communication amp Converter ES Interrupts PE Ss 8 Interrupt ector kel amp Measurement Filter alljcPu Licensed Y 14 Open the component inspector for the new component double click it in the project panel and set the component properties as follows Component name type Button into the edit box Pin select PHO_KWH0_MISO1 Generate interrupt on click the option in order to display the options Select the falling edge 136 Processor Expert User Manual Processor Expert Tutorials Bean Inspector Button ExtInt 0 x lt Bean Items Visibility Help Z Beannane Baton Pin PRO KWHO MISO1 y PHO KWHO_MISO1 Pinson AAA AAA Interrupt priority medium priority El Initialization O OO Enabledininit code yes 9 BASIC l ADVANCED EXPERT h 15 Click on the Methods TAB and set all methods to don t generate 16 Click the Change component icon item of the Component menu in order to choose a new icon in the list Select the KEY icon and click the OK button You can see in the Target CPU window which pins
205. tore default template settings restores settings of the template Save component settings as template invokes template editor See details on Component Templates here Active template Shows list of currently available templates for the component with currently active template selected Change component icon allows the user change the component icon Autoconnect auto connects the component to the CPU Disconnect disconnects the component from the CPU e Items Visibility see the chapter Items Visibility for more information about view modes e Help Help on Selected tab displays documentation for the current tab Help on Inspector displays Component Inspector documentation Help on Component enabled in Component Inspector Only displays documentation for the selected component Embedded Components Page displays Embedded Components documentation e Navigation buttons allow the user to browse over the previously inspected components e View regs button present in Component Inspector Only Pressing this button opens the Peripheral initialization window View mode buttons They are placed at the bottom of the window Basic Advanced Expert They allow users to switch complexity of the view of the component s items See 2 5 2 Items Visibility for details Pop up Menu This menu is invoked by a click of the right mouse button on the specific inspector item The menu contains the followi
206. tors beginning So the Processor Expert allows to adjust both the physical placement of vectors or the placement of the generated IVT Please see the content of the property group Interrupt Reset vector table in the group Interrupt resource mapping and its documentation e PPG HW doesn t support an interrupt Aligned Center Mode Counter counts from 0 up to the value period register and then back down to 0 If the align mode is switched to Center align mode then real lengths of Period and Starting pulse width signals will be twice as much as is being displayed in the Component Inspector Note See the Internal peripheral property group of the CPU component for special settings PWM HW doesn t support an interrupt Aligned Center mode Counter counts from 0 up to the value period register and then back down to 0 If align mode is switched to Center align mode then the real lengths of Period and Starting pulse width signals will be twice as much as is being displayed in the Component Inspector Note See the Internal peripheral property group of the CPU component for special settings e EventCntr8 16 32 Functionality of this component is a subset of the pulse accumulator For work with hold registers gated time mode use the PulseAccumulator component instead of the EventCounter component e PulseAccumulator Method Latch This method causes capture of the counter in the hold registers of all capture and pulse accumulator components in PE proje
207. ually incompatible or can t be used with another device In this case the problem is reported by all components that share some timing hardware Due to dependencies between used parts of the timer there might be necessary to adjust the values of the shared elements such as prescalers to the same value 100 Processor Expert User Manual Application Design For example if two TimerInt components are using two channels of one timer and all timer channels are connected to one common prescaler it is not possible to set the values that would require a different prescaler values In this case it is useful to manually adjust the prescaler values of all components to the same value switch to Expert view mode and adjust the property in the Component Inspector window Structure of the current target CPU timing model can be viewed by using the CPU Timing Model window e The Runtime setting from interval is selected and it is not possible to set the values The required run time settings are outside the range of one prescaler This is a limitation of this mode of runtime setting Please see the text below in this chapter Run time Timing Settings Limitation Some components allow to change the timing at run time by switching among several predefined values or by setting a value from given interval For the runtime setting from interval the prescaler value is fixed and the Processor Expert allows to adjust the time using a compare reload regist
208. ule displays the generated events module of the component in the File editor e Restore Default Template Settings restores default template settings All old settings will be lost e Customize this component template saves the selected component as a template e Disconnect Component From CPU removes the link s between the component and the associated CPU peripheral s it clears the corresponding properties of the component e Remove Component From Project removes the selected component from the current project e Copy to Clipboard component with its settings is copied to the clipboard e Help displays documentation 33 Processor Expert User Manual User Interface Methods and Events This menu is opened by right clicking on a method or event icon in the Project Panel It proposes a set of commands concerning the selected method event e Enable Disable enables disables the selected method event in current project e View source method only shows generated method source Available only after successful code design e Edit code event only opens a selected event in editor Available only after successful code generation e Help displays documentation ISRs This menu is opened by righ clicking on ISR item in the Project Panel e Rename ISR opens the Component Inspector and selects the property that specifies the name of the interrupt routine e Edit Code opens the source code editor at the interrupt rou
209. ull displays all items Only Memory displays only Flash RAM and ROM e Summary displays window with summary of memory usage percentage and absolute view e Help shows this page 62 Processor Expert User Manual User Interface Memory Map DEMOCPU11 3 FFFE 8000 OFFF 0300 02FF 0100 OOFF 0000 Figure 2 42 Sample Memory Map Window 2 11 CPU Parameters Overview Processor Expert gt View gt CPU Parameters Overview You may get the technical features of a CPU by selecting the CPU Parameters Overview command of the View menu The complete database then appears together with a query window By specifying requirements on technical features you may filter the database in order to display only relevant CPUs If you press OK you will get the list of CPUs that meet your requirements If you press All all the CPUs supported by your version of Processor Expert will be listed 63 Processor Expert User Manual User Interface x Producer Number of pins Minimal RAM size all se to Family Minimal number of 10 ports Minimal ROM size all Clock MHz Minimal number of timers Minimal EPROM size Dual clock kHz Min num of compare capture regs Minimal FLASH size Operating temperature C Minimal number of 4 D channels Minimal OTP size x po pe Power supply Y Minimal number of serial channels Note Memory sizes are in minimal AAA addressable units bytes words Minim
210. umn position MSGSKP skip next string MSGEND end continuation of error message e MSGSTR stringl string2 stringl is written to error message and then string2 is skipped as in command MSGSKP 23 Processor Expert User Manual User Interface Backward compatibility The following macros are supported only for backward compatibility There is no warranty that they will be supported in the next version of Processor Expert REDDIR full path name of project directory for redirection REDINP full path name of input file for redirection REDOUT full path name of output file for redirection REDERR full path name of error file for redirection IN DIR directory of input file is a number of input file from interval 0 9 IN NAM name of input file is a number of input file from interval 0 9 IN EXT extension of input file is a number of input file from interval 0 9 IN PTH full path name of input file is a number of input file from interval 0 9 OUTDIR directory of output file OUTNAM name of output file OUTEXT extension of output file OUTPTH full path name of output file DRIVERS FORMAT list of the all generated drivers EVENTS FORMAT list of all generated event modules SHARED FORMAT list of all generated shared modules 2 2 Help and Manuals Help gt Processor Expert gt The following items are available within this menu Processor Expert Help the start page
211. user names on CPU package switches the pins and peripherals default names from catalog for user defined names A Zoom in increases the detail level of the view The whole picture might not fit the viewing area A Zoom out decreases the detail level of the view Processor Expert tries to fit the whole picture to the viewing area E Show CPU package and peripheral switches to the CPU package view mode E Show BGA CPU package switches to the CPU BGA package view mode iy Show CPU block diagram switches to the CPU block diagram view mode HEE Show CPU peripherals in a list switches to the CPU peripherals list view mode View Modes e CPU package mode a realistic view of the CPU package with pins and peripherals Each allocated peripheral contain an icon of the component that allocates it For allocated pins also the component icon with the connection is shown 54 Processor Expert User Manual User Interface 56F8011 S p 3 A 12 GPIOA6_FAULTO GPIOA6_FAULTO nonej Port A GPIO Disable Selected PWM Outputs Figure 2 33 Target CPU CPU package view mode e CPU BGA package mode This mode is available only for CPUs with grid array pins layout It is similar to the package mode but the pins hidden by package are shown and the peripherals are hidden Target CPU Cpu MPC5554 Q I ER P26 PCS_B2_SOUT_C PCS_B2 SOUT_C ia Z Figure 2 34 Target CPU BGA CPU pac
212. vice versa There is an additional signal direction information added next to each signal name and pin number information next to each pin name This document can be found in the Documentation folder of the Project Panel Sample of generated signals documentation SIGNAL LIST SIGNAL NAME DIR gt PIN NAME PIN NUMBER ED1 Output gt GPIOA8_A0 138 LED2 Output gt GPIOA9_Al 10 Sensor Input gt GPIOC5_TA1_PHASEBO 140 TestPin 1 0 gt GPIOEO_TxDO 4 Timer Output gt GPIOC4_TAO_PHASEAO 139 PIN LIST 104 Processor Expert User Manual Application Design PIN NAME PIN NUM gt SIGNAL NAME DIRECTION GPIOA8_AO 138 gt LED1 Output GPIOA9I_A1 10 gt LED2 Output GPIOC4_TAO_PHAS GPIOC5_TA1_PHAS GPIOE0O_TxDO 4 gt TestPin 1 0 m D o 9 gt Timer Output E wW o ll vV Sensor Input 3 3 7 Component Inheritance and Component Sharing Basic Terms e Ancestor is a component that is inherited used by another component e Descendant is a new component that inherits uses another component s e Shared Ancestor is a component that can be used and shared by multiple components Inheritance Inheritance means that an ancestor component is used only by the descendant component Inheritance is supported in order to allow components to access peripherals by hardware
213. vided as a hint when the user moves cursor over it Legend 61 Processor Expert User Manual User Interface white non usable space dark blue I O space blue RAM light blue ROM OTP or Firmware cyan FLASH memory or EEPROM This area can also contain a flash configuration registers area black external memory The address in the diagram is increasing upwards The sizes of individual memory areas blocks drawn in the window are different from the ratio of their real sizes to improve readability of the information Small blocks are larger and large blocks are smaller The black line crossed areas show the memory allocated by a component or compiler The address axis within one memory block goes from the left side to the right i e the left side means start of the block the right side means the end OO1FFF 001000 Figure 2 41 Sample Of Used Part Of The Memory Area Mouse Actions If you move the mouse pointer to any part of the CPU address space a detailed description of the chosen part will be displayed in the hint Double click on the used line crossed memory area will open the CPU component inspector window with the selected definition for this area same as the Edit Usage pop up menu command Pop up Menu e Edit Usage opens a Component Inspector window that allows to customize the memory setup for the selected area This command is available only for used areas line crossed e Display Mode F
214. when the target CPU is switched If it s not clear which peripheral or pin should be selected the names from the previous CPU stay filled within the properties but PE reports error for that properties and the user has to select the peripherals manually After selecting the peripheral PE offers to rename the selected peripheral to the name from previous CPU CPU Peripherals Names Editor The editor window lists all peripherals names Initially on chip peripheral devices pins ports timers converters etc have default names based on the reference manual In order to open the CPU Peripherals Names Editor follow these steps e Move the mouse pointer to the selected CPU icon on the Project panel e Press the right mouse button a popup menu will appear e Click on CPU peripherals names Alternatively the peripheral names editor can be invoked using the pop up menu of the peripheral inside the Target CPU window See 2 7 Target CPU Window for details To change the peripherals names follow these steps 92 Processor Expert User Manual Application Design e Select a peripheral type in order to display all the CPU peripherals of this type e Inthe Name edit box insert a new name for the selected CPU peripheral Note If you want to get back the default Processor Expert name press the left arrow button Press the OK button e Answer the confirmation request of the dialog box The Restore default button allows to r
215. without additional code of the application Note The polling mode of the component is switched on by disabling of the Interrupt service of the component AsynchroSerial AsynchroMaster and AsynchroSlave 3 7 Converting Project to Use Processor Expert The C project that doesn t use Processor Expert can be can be converted to Processor Expert This is useful when the user finds out that he she would like to use additional features of Processor Expert Warning Please note that in most cases this conversion involves necessary manual changes in the application code because for example the register interrupt vectors table definitions created by the user often conflicts with Processor Expert definitions Don t forget to backup the whole project before the conversion Some files will have to be removed from the project The conversion to Processor Expert is recommended to experienced users only 125 Processor Expert User Manual Application Design Conversion Steps 1 2 Select the menu command Open Processor Expert for Project Name from Processor Expert menu Start code generation using Generate Code Project name menu command from Processor Expert menu new Information window with information message about different prm files reported by Processor Expert may be opened At this point please ignore this message and go to the Files tab on Project panel window Move code from original main c located in Sources folder
216. xisting shared ancestor component from the current project Click the El button to select an existing ancestor component or create a new ancestor component using the wizard see below gt 12C bus El201 f Figure 3 11 Example of popup menu for creating a new shared ancestor component Selection Creation Wizard When a component with a link to a shared ancestor component is added to the project the following wizard dialog box appears This wizard helps you to select or create the shared ancestor component quickly Processor Expert helps you to select or create a shared bean 4 x The bean I2C12C12C12C uses shared bean for item 12C bus You may choose existing or create new appropriate bean just now Use existing bean El 201 Create new bean from template External_120 Y OK X Cancel Help Figure 3 12 Example of popup menu for creating new shared ancestor component 106 Processor Expert User Manual Application Design Run time Resources Allocation Processor Expert generated code does not check the usage of shared resources code It s up to the user to ensure the correct run time resources allocation of a shared ancestor component Often it is not possible for a shared ancestor component to be used simultaneously by several components 3 3 8 Pin Sharing Reading a Pin Value without its Initialization The InputPin component supports reading of input pin signal without any previous pin in

Download Pdf Manuals

image

Related Search

Related Contents

  

Copyright © All rights reserved.
Failed to retrieve file