This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F2806x controlSuite SCI examples hardcoded to SCI-A (don't use either UART_xxxx or SCI_xxxx driver APIs)?

Other Parts Discussed in Thread: CONTROLSUITE

Hi Trey,

Can you perhaps explain why the controlSuite SCI examples (Example_2806xSci_Echoback and Example_2806xSci_FFDLB_int) seem to make no attempt to use either of  the more recent Mware style (stellaris-style) UART_xxxxx APIs as found in driver files C:\ti\controlSUITE\device_support\f2806x\v136\MWare\driverlib\uart.c/.h or the older SCI_xxxx APIs as provided for the older F2802x driver libraries from C:\ti\controlSUITE\device_support\f2802x\v210\f2802x_common\source\sci.c/.h?

The controlSuite SCI examples unfortunately use functions like scia_echoback_init(), scia_xmit(), scia_msg(), etc that are hardcoded to SCI-A (access SciaRegs directly).

For portability between SCI-A and SCI-B ports, I would have expected the SCI examples to do one of either

(1) Make use of the more portable and abstracted Mwave UART_xxxx apis which take a UART base register address as parameter
       i.e.   cChar = UARTCharGet(UART0_BASE);

      where UART0_BASE and UART1_BASE are defined as:

 #define UART0_BASE              0x00007050  // SCI-A
 #define UART1_BASE              0x00007750  // SCI-B
or else
(2) Make use of the SCI_xxx apis that use a SCI port handle ...
 ReceivedChar = SCI_getData(mySci);   // Get character
where mySci is a SCI_Handle object (SCI_Obj structure ptr) returned by SCI_Init as in
        ioSci = SCI_init((void *)SCIA_BASE_ADDR, sizeof(SCI_Obj));
or 
        ioSci = SCI_init((void *)SCIB_BASE_ADDR, sizeof(SCI_Obj));

Are the older SCI_xxxx APIs deprecated in favour of the Mware UART_xxxx APIs? Maybe you could provide some background on the history of the Mware folder drivers -- is this a port of Stellaris HAL or hardware abstraction layer to the C2000? And moving forward for the future, which style of API (SCI_xxx or UART_xxxx) is the preferred library interface to use for the F2806x to ensure portability across all C2000 class (and other TI) microcontrollers and DSP devices?
Regards,
Gord