PinMux Tool v4 User Guide

Table of Contents

Overview

PinMux determines a mux configuration for your system once you’ve specified the peripheral signals your system requires external pinouts for. This determination is automatic based on your requirements - you do not need to manually try multiple configurations or resolve conflicts. Once determined, the tool can either generate source code that configures the device at runtime, or a summary file showing the configuration.

Getting Started Video

Support

Please submit your questions, comments, and recommendations at the CCS TI E2E Community

Devices Supported

MSP432, CC3200, AM335x, AM437x, AM5726, AM5728, 66AK2G02, F2807x, F2837xS, F2837xD, TM4C123xx, and TM4C129xx.

An early version of enhanced PinMux tool capabilities allowing generation of SDK board.c/board.h files for TI Drivers Configuration is available. Further documentation can be found here.

Download the Latest Offline PinMux Tool

The latest downloadable version is available from this page: Download Latest

Access the latest Cloud PinMux Tool

The latest version of the Cloud-based PinMux Tool is available on the TI Cloud Tools Portal here: https://dev.ti.com

NOTE: the offline and Cloud versions of PinMux may be different versions due to differences in release schedules.

Getting Started

After installing, launch the tool, select your device and hit configure. You'll then see a screen similar to this. The left side lists all the peripheral types available on the device. The middle gives specifics on an individual specific peripheral. The picture on the far right shows what device pins are in use or available. Drawing
To start inputting your system's requirements. Select a peripheral type from the list on the left and select “Add” in the middle column. The tool will automatically select external pins for the signals of that peripheral. Those pins will appear green in the picture on the right. You do not have to select them yourself. Drawing
If your system doesn't need every signal on the peripheral, unselect the signal using the checkbox to its left. The fewer signals selected, the less external pins are used and therefore available for other peripheral signals. Drawing
Some devices may expose Use Cases for some peripherals to allow you to quickly eliminate the signals you won't need. Drawing
Once finished, optionally give this selection a name and then begin adding another peripheral. Drawing
Every time you change something, all pin assignments (both new and existing) are recalculated in order to satisfy all requirements. If a pin conflict occurs, that means there is no way to configure the device to meet the specifications you've entered and you'll have to remove something. See below for more information on resolving conflicts. Once all specifications are entered, you can select “Generate”, browse to a folder, and hit ok. The tool will generate one or more source files in that folder that will configure the system at runtime.

Overrides

You can choose to ignore the selections made by the tool and instead override either the specific peripheral selected and/or the external pin selected. This is done by clicking on the drop down entry beside the choice and choosing a specific choice. Since there may be dependencies between the choices within a peripheral, the available choices you can override a subsequent choice to may be restricted. Unavailable choices will be shown, but will be grayed out. For this reason, a lock icon will appear next to overrides. To remove the override, select “Any” from the list of available choices. Overriding choices will not allow you to fix pin conflicts. The tool always recalculates all assignments on any change, so anything you could change has already been tested. Overriding will only shift the pin conflict to another signal. Instead, overriding is intended for cases where part of the configuration must match something that already exists in the design that can't change, or you would prefer the external pins to be located on a specific part of the chip to reduce connections. Drawing

Pin Conflicts

As the tool always recalculates all assignments on any change, you will not be able to resolve a pin conflict by manually choosing different choices. You will only eliminate a pin conflict by removing a signal or an entire peripheral, or by removing an override you previously setup. Click the “Pin Conflict” button for details on why none of the choices would work. Using the conflict details and the pin diagram, you can determine what is preventing the desired pin allocation. You will need to remove currently allocated pins to allow the design to fit.

Choice Unavailable on Peripheral

Where there pin conflict details say that a choice “is unavailable on” the chosen peripheral, this means the external pin can only be connected to this signal type on a different peripheral. A different peripheral was not automatically chosen because of

Keep in mind that not every signal is always available on every peripheral

Choice Already in Use

Where there pin conflict details say a choice “is in use by” means that another signal is already muxed to that external pin. The other signal is also constrained in its choices, or another choice would have been chosen for it. The details view will indicate the specific requirement and signal that’s using it.

Choice Not Valid in IOSet

Some devices also have IOSets. An IOSet is a group of several specific muxing choices that are valid for this peripheral. Although other choices might appear possible, they’d introduce timing problems on the peripheral if used. IOSets can be viewed in the “View IO Sets” link, which really exists only for reference. If the conflict details indicates this is the error, it means that another signal’s choice is restricting what IOSet can be used, and thus eliminates this choice for the current signal.

Target Specific Documentation