Continuing further - this series, "tease out an 8 bit port from lunchlaunchpad." http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/279206.aspx
Poster desired a "full, 8 bit port" for connection to outside world. (LCD - his case) Employed PA2-PA7 (avail on header) and PE0 + PE1 to create. Issue then becomes one of "blending" SW - to best exploit this full, 8 bit port's creation...
Again - suspect that PA0/PA1 (usual use - UART) explains their "not present" status - board's headers. Poster chose a separate port (E) from which to harvest the requisite 2 GPIO to create normal/customary - 8 bit data bus. (choosing Px0/Px1 simplifies)
Issue remains - how then to best synthesize code - to complete this process? Now - to this reporter - the choice of PA2-PA7 as the "majority" port in bus creation proves advantaged. (i.e. avoids dreaded "bit shifts.") Yet as Port A is rich in communication capability - another port offering PX2-PX7 (as/if available) - may prove superior.
StellarisWare (and its off-shoot) provides a very effective means to speed & ease this synthesis. Key is the function, "GPIOPinWrite()," specifically its masking, Parameter 2. To illustrate:
GPIOPinWrite(GPIO_PORTX_BASE, PORTX_MASK, DATA);
Prior to that call - assign: PORTX_MASK = 0xFC; and DATA = the "full" (yes full) 8 bit data byte to be synthesized. Beauty here is Parameter 2's mask - which "strips out" - the lowest 2 bits from our potential data byte. That's step one. Follow with:
GPIOPinWrite(GPIO_PORTY_BASE, PORTY_MASK, DATA);
Precede this 2nd PinWrite call with: PORTY_MASK = 0x03; Note: DATA remains unchanged from prior PinWrite! A great simplification - courtesy of the creators of StellarisWare. (exploited here - this reporter)
Note further - both of these Port Masks prevent the unwanted intrusion of these Port writes into any other Port bits which may be active! When accessing these "8 bit data Ports" for other purposes (i.e. manipulating another bit(s) w/in that Port) - a "complementing mask" must be employed - to avoid over-writing this 8 bit data port.
Nothing here, "locks one in" - to such a 6-2 Port/Pin distribution. Simply insure that each "mask" is proper for your pin distribution. (i.e. 7-1 distribution yields 0xFE & 0x01 masks, 5-3 distribution yields 0xF8 & 0x07 masks, etc) Note that the total of both masks must yield 0xFF...
This technique may be employed beyond Text Lcds - Graphic displays - even simple "bus-latch" (i.e. HC573) & CPLDs/FPGAs most always enforce an 8 bit (or beyond) data bus width requirement... (which now you may quickly/easily deliver)
Hope this technique proves useful... Imagination, Focus, Need - often enable richer & cost-reduced applications...