The input/output signals of a typical microcontroller peripheral might be multiplexed to one or two pin locations. NXP’s I/O Switch Matrix allows peripheral functions to be assigned to any functional pin on the microcontroller. For these specific microcontroller designs, there are two pin assignment classifications for the peripheral input/output signals. These are “fixed pin functions” and “movable pin functions.” A fixed pin function, typically related to an analog peripheral, clock generator, or other function requiring specially tuned I/O structures, normally has one pin to which the feature can be enabled. A movable pin function, which is typically a digital peripheral, can be assigned to any functional pin that is not a power or ground pad. For example, UART functions are assignable to any of the available port pins using the Switch Matrix to route the signals. The same is true for SPI, I2C, timer input/output, and more. Pin functions are assigned at run time by user code.