NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Pin Setup Tool for AM18xx ARM Microprocessors

From Texas Instruments Wiki
Jump to: navigation, search


Return to the Sitara Linux Software Developer's Guide

TIBanner.png

Introduction[edit]

 The Pin Setup Tool for AM18xx ARM Microprocessors is a Windows-based software tool for configuring pin

 multiplexing settings for the AM1802, AM1806, AM1808 and AM1810 devices.


 Pin Setup provides a graphical user interface for selecting the peripherals that will be used in the system design 

 and for resolving pin multiplexing conflicts.  Results are saved as a C header file that includes a list of all selected

 signals and settings for the pin mux registers.


Software Installation[edit]

 The Pin Setup program is a Windows application.  It can be obtained from:  

 1. Download ZIP archive containing the executable and associated data from here  Pin Setup for AM18xx.   This is most frequently updated.

     To install, simply unzip this archive to any directory on a PC running the Windows OS. For this document, we have unzipped this

     to a directory named C:\PinSetup. 

 OR

2. If the above link does not work, you can obtain the same ZIP archive on www.ti.com on any of the AM18xx product pages in the Application Notes

    section.  Look for "AM18xx Pin Muxing Utility".

OR

3. The program is installed on your Ubuntu Linux host when an AM18x SDK is installed.  Copy the entire directory structure from your Ubuntu Linux host

    to a PC running the Windows O/S (which could be the same PC if you are running a virtual Linux machine under the Windows O/S).  You would need

    to transfer the directory structure by copying it under a virtual machine shared folder or by using a Samba server.

    Copy the entire directory structure at the location below to any directory on the Windows side (suggest: C:\PinSetup\*.*).

    /home/user/ti-sdk-am180x-evm-4.0.1.0/host-tools/pinmux_utils/windows

   OR

    /home/user/ti-sdk-am181x-evm-4.0.1.0/host-tools/pinmux_utils/windows

OR

4. Running in Linux with wine (tested on Ubuntu 10.04 LTS with wine 1.2.2 and Windows mono 2.10.8):

    Install the *Windows* version of mono by downloading and running the installer with wine.

 wine ~/Downloads/mono-*.exe

    Add C:\Program Files\Mono-VERSION\bin to your wine/windows by editing the registry key 'HKEY_CURRENT_USER/Environment/PATH'. This can be done by running

 wine regedit

    Run the pin setup utility through wine with windows mono by running:

 wine mono Pin_Setup_AM18XX/bin/PinSetup.exe

Starting the PinSetup Program[edit]

 To start running Pin Setup, open the bin subdirectory and run the program named PinSetup.exe. 


 Bin folder.PNG


 After starting the PinSetup program, the main window opens as shown below.

 Program Startup.PNG


 Using the PinSetup Program[edit]

 Main Window Features[edit]

 Device Selecter Radio Buttons[edit]

    The device selecter initially shows nothing selected (it defaults to AM1808 / AM1810).  AM1808 and

    AM1810 have the same pin muxing options and represent the superset device which uses all peripherals

    in the peripheral check box area.  If AM1806 or AM1802 is selected, the peripheral check boxes that do

    not apply will be greyed out.  Also, the signals in the details grid that are associated with the unavailable

    peripherals will have a grey background and will not be selectable.  If there are unsaved pin mux selections,

    they can be saved  using the File - Save - Pin Selections menu item before clicking a Device Selecter

    Radio Button.

   

 Registers Display[edit]

  The registers display is specific to the pin mux architecture of the AM18xx (and similar) devices.  There

  are 20 pin mux registers.  Each register is 32-bits wide and programs the signal selection for 8 device

  balls.  Each device ball in the details grid has up to 5 different multiplexed signals and controls one nibble

  of the registers display.  The signal selection is programmed with a 4-bit code as shown in the table below.

 

Pin Mux Selection Mux1 Mux2 Mux3 Mux4 Mux5
Binary Code b0001 b0010 b0100 b1000 b0000


 Clear All Button[edit]

 The Clear All Button clears all pin mux selections that have been made.  Use File - Save - Pin Selections

 before doing this to save work, if neccessary.  All pin mux registers will be set to zero, and all device balls

 in the details grid will indicate disabled.


 Close Button
[edit]

 The Close Button exits the program.  This can also be done using the File - Exit menu item, or by double-

 clicking the title bar icon, or by clicking the title bar X icon.  Unsaved work must be saved first using the

 File - Save - Pin Selections menu item.
 

 Details Grid[edit]

  Each row of the details grid represents a programmable device ball.  Device balls that only have a single

  signal definition are not shown in the tool.   Each device ball has up to 5 selectable signal definitions

  shown in the Mux1 - Mux5 columns.  The status column indicates "Enabled" if a signal is selected,

  "Disabled" if no signal is selected or "Conflict" if a previously selected signal was unselected due

  to a conflict (conflicts are shown with a red background).   The details grid view can be scrolled up and

  down using the vertical scrollbar.


  Enable Collision Warnings[edit]

   If Enable Collision Warnings is checked, a collision warning dialog box will open each time a signal

  selection is attempted and another signal in the same row of the details grid is already selected.   The option is given to

  either not select the new signal or to unselect the existing signal and select the new signal.  In the

  later case, the newly selected signal changes to green (selected) and the previously selected signal

  changes to red (conflict) and the status column indicates "Conflict".


  If Enable Collision Warnings is not checked, the collision warning dialog box does not appear.  When the program

  attempts to select new signals, the selection will only occur if there is no conflict.


  Changing Pin Mux Selections[edit]

  Pin Mux selections and unselections can be made in several ways.

     Using Peripheral Check Boxes[edit]

     The peripheral check boxes are used to select or unselect a group of signals that comprise a peripheral interface.

     When a peripheral is checked, the program attempts to select all member signals of the interface.

     When a peripheral is unchecked, the program unselects all member signals of the interface.

    Double-Clicking Individual Cells[edit]

    An individual signal in the details grid can be selected or unselected by double-clicking its cell.

    Using the Context Menu  [edit]

    The details grid contains a context menu with the menu items shown below.  Click on a cell first, to select it,

    before using the context menu.

   

Context Menu Item Function
Select Pin Selects the signal
Unselect Pin Unselects the signal
Clear Collision Removes collision status and red background.
Find... Open signal finder dialog box
Clear All Clears all pin mux selections

 

Resolving Conflicts[edit]

As an example of conflict resolution, first select the SPI0 peripheral, then the UART0 peripheral.  A collision dialog box appears

indicating a conflict.  The decision to select the new signal or not can be made on a signal-by-signal basis or you can click

Yes to All or No to All.  

 Collision Warning.PNG


If Yes to All is selected, the UART0 signals will get selected as shown below. Note that the PINMUX3 register is selecting Mux2

for the UART0 signals. The conflicting SPI0 signals are no longer selected but are shown in red to indicate that a conflict occurred there.

After Selecting UART0.PNG 


If No to All is selected, the UART0 signals do not get selected and no change is made as shown below. Note that the

PINMUX3 register is selecting Mux1 for the SPI0 signals.


After Not Selecting UART0.PNG

Menu Items[edit]

 File - Save - Header File[edit]

  The File - Save - Header File manu item saves a list of the selected signals and #define constants

  for the Pin Mux register values.  The default location is the My Documents folder.  A file save dialog

  allows you to specifiy where to save the header file and to give the file a name.

 Saved Header File.PNG

 File - Save - Pin Selections[edit]

The File - Save - Pin Selections menu item is used to save your work. The saved file can be read in

using the File - Load - Pin File menu item. This file contains a list of all currently selected signals.

saves the list of the selected signals and #define constants. Save your work before exiting the

program, changing the device selecter radio buttons or clicking the Clear All button.

 File - Load - Pin File[edit]

  The File - Load - Pin File loads a file that was saved using the File - Save Pin Selections menu item.

 File - Exit[edit]

 The File - Exit menu item closes the program.  Program can also be closed by double-clicking the title bar icon at

 in upper left corner or by clicking the X icon.  Save work using the File - Save - Pin Selections before exiting the

 program.

 Edit - Find[edit]

  The Edit - Find menu item open the Find Pin dialog.   A signal name is entered.  A asterisk "*" may be used

  as a wild card character.  The is the option to search for the matching signal(s) or to select or unselect the

  matching signals. 

 Find Pin.PNG


  Below is the result of searching for the RMII* signals.


Find Pin Results.PNG

 Help - About[edit]

  The Help - About menu item displays the program version information.

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Pin Setup Tool for AM18xx ARM Microprocessors here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Pin Setup Tool for AM18xx ARM Microprocessors here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Pin Setup Tool for AM18xx ARM Microprocessors here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Pin Setup Tool for AM18xx ARM Microprocessors here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Pin Setup Tool for AM18xx ARM Microprocessors here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Pin Setup Tool for AM18xx ARM Microprocessors here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Pin Setup Tool for AM18xx ARM Microprocessors here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Pin Setup Tool for AM18xx ARM Microprocessors here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Pin Setup Tool for AM18xx ARM Microprocessors here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity