Routing Details view
The table is empty when a new configuration is created, which means no pin is configured. Each row represents configuration of a single pin and if there are no conflicts, then the code is immediately updated. For Boards/Kits, the pins are routed already.
Add a row with the Add new row button in the view toolbar.
Configure the pin/signal by selecting the Peripheral first, then the required Signal, and finally, the pin to Route to.
Use the columns in the right side of the table to configure the electrical features.
You can also use the Pins and Peripheral Signals views to route pins and peripheral signals and view/modify the configuration in the Routing Details view. If the feature is not supported, n/a is displayed.
To highlight peripheral/pin information in the Package and Pins views, right-click the row and select Highlight.
To display pins or signals only, use the Pins and Signals buttons in the view toolbar.
To add a row to the end of table, click the Add new row button.
To remove the selected row, click the Delete the selected row button.
To delete a specific row or insert a new row at a given position, right-click and use the dropdown list commands.
To add a specific number of rows, enter the number in the field.
To clear the table, type 0.
To change the order of the rows, use the arrow icons to move one row up or down.
To filter table entries by text, enter the text string in the type filter text field.
To copy the row, right-click any cell in the row and select Copy. You can later paste the copied row into the Routing Details view of another functional group or configuration by right-clicking the table and choosing Paste.
The gray background indicates read-only items.
Properties configured in Routing Details view
The properties of pins and internal signals that can be configured are shown in dedicated columns. The properties include:
- Common properties available for all pins and internal signals
- # - Package pin number/coordinate
- Peripheral - Name of the selected peripheral module
- Signal - Name of the selected peripheral signal/signal function
- Arrow - Arrow indicating input, output, input/output, or not specified direction of the signal
- Routed pin/signal - Name of the pin or internal signal
- Label - Pin label with max length of 128 characters; By submitting empty label the identifier is deleted as well
- Identifier - Pin identifier used for #define code generation
- Direction - Pin direction
- General Purpose Input Output (GPIO) properties available only for GPIO pins
- GPIO initial state - GPIO output initial state. It is available only if pin direction is set to output.
- GPIO interrupt - Configuration of interrupt request for the pin. It is available only if pin direction is set to input.
- Processor-specific properties
- Properties that may differ for different processors, for example configuration of pull ups, open drain, drive strength, slew rate, power groups
Tip:
- Click the Routing Details Legend button in top right corner of the view to
display a dialog explaining all the properties and their values.
Figure 2. Routing Details Legend
Generation of initialization code
The Pins tool generates initialization code only for pins and internal signals configured in the Routing Details view. Generally, initialization code is generated always if it is necessary for proper routing of the pin or internal signal to selected peripheral signal. On the other hand, the code related to the direction, GPIO functionality or processor-specific properties is automatically optimized out in the following cases:
- The selected value of the property is same as the after-reset value. It is signalized by the italic font of the value. It is the default state after adding pin or internal signal to Routing Details view. To generate the code even if the value is same as after-reset value, select the value from the drop-down menu: the value is shown with normal font and code is generated. To return to the after reset value select “Reset” from the drop-down menu: the value is again shown with italic font and no code is generated.
- A “No init“ value is selected. In this case the property is not initialized: no code is generated and the tool does not perform any validations of potential conflicts between pins or internal signals.
- A “Not specified” value is selected in case of the direction property.
Additionally, it is possible to force generation of full initialization code of all properties using “Full pins initialization option” in Functional groups. If this option is enabled, the after-reset values are ignored, it is not possible to use “Reset” value from drop-down menu and the initialization code is generated unless “No init” or “Not specified” value is selected. For more information about the “Full pins initialization option” option, refer to Functional group properties section in this documentation.
Validation of routing
The Pins tool automatically performs validation of the selected properties. An error is shown for a property in to Routing Details view in the following cases:
- Value of the property is in conflict with value of other property. Typically conflicts arise when two pins or internal signals configures same register and bitfield with different initialization value. To resolve the conflict, configuration of one of the pins or internal signals have to be changed.
- There is no after-reset value specified for the property. In this case error indicates that user has to select value of the property or select “No init” or “Not specified” to indicate that the property can be ignored by the tool.
- The property has to be set by the user. In this case, the “No init” or “Not specified” are not available and user must decide what value will be used. Typical use case is when routing of the internal signal would not be complete without such selection or when it is necessary to confirm by the user the intended usage of the pin or signal.