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.

Graphics driver, how can be integrated?

Other Parts Discussed in Thread: SYSBIOS

 Hi, After mitigating  ENET issue, I need use a graphic driver, after inserting SSD driver from QS-Wheather I code does'nt wrork. I am still new on this product and I plan finish read manuals on next week.

 Code base come from SYSBIOS UDP echo where I added command interpreter from my linux code. It regularly get command and data from UDP buffer then dispatch it to draw routines but nothing appear on Display.

 Initializazion is called after main init, draw has a simple call wrapper to use my original Linux code as is but I think something of SYSBIOS or TIRTOS interfere with device drivers.

 Is some example of ready to use device driver available on examples?

Thank you

******************************************************

#include "drivers/kentec320x240x16_ssd2119.h"

Main init call:

    BIOS_getCpuFreq(&cpuFreq);
    cpuFreq.lo = 10*(cpuFreq.lo/12);
    BIOS_setCpuFreq(&cpuFreq);

    /* Call board init functions */
    Board_initGeneral();
    Board_initGPIO();
    Board_initEMAC();

    /* Turn on user LED */
    GPIO_write(Board_LED0, Board_LED_ON);
    Kentec320x240x16_SSD2119Init(cpuFreq.lo);


    System_printf("Starting the UDP Echo example\nSystem provider is set to "
                  "SysMin. Halt the target to view any SysMin contents in"
                  " ROV.\n");
*************************************************************************************

Function calling low level pixel draw, this is not working...

#define makecol(r,g,b)    ((((r) & 0x00f8) << 8) |                  \
                                 (((g) & 0x00fc) << 3) |                  \
                                 (((b) & 0x00f8) >> 3))

void *screen;
void putpixel(void *pvDisplayData, int32_t i32X,int32_t i32Y, uint32_t ui32Value)
{
Kentec320x240x16_SSD2119PixelDraw(pvDisplayData, i32X,i32Y,ui32Value);
}

 This to use allegro library call untouched.

  • Roberto Romano said:
    /* Turn on user LED */
        GPIO_write(Board_LED0, Board_LED_ON);
        Kentec320x240x16_SSD2119Init(cpuFreq.lo);

     Found, Kentec driver use a set of I/O that is declared on driver but don't provide setting of direction and mode, this on TIVAWare is done in PinoutSet().

     I started build a skeleton of display driver but I am too early in integrating this, I need learn before to do secure integration but I got project working.

     All is ok than if I enable DMA to LCD, enabling DMA assignment (marked in Yellow) again ENET stop work. How and where signaling has to be in place?

     This part is to be integrated in DK_TM4C129X.c or a custom file must be created to add this function? Is TI planning integrate an LCD device driver in TIRTOS for <TIVA>?

    /*
     *  ======== DK_TM4C129X_initLCD_SD ========
     */
    void DK_TM4C129X_initLCD_SD()
    {
        /* Enable and configure the peripherals used by the LCD. */
        //
        // PF6-7/PJ6/PS4-5/PR0-7 are used for the LCD.
        //
        GPIOPinConfigure(GPIO_PF7_LCDDATA02);
        GPIOPinConfigure(GPIO_PJ6_LCDAC);
        GPIOPinConfigure(GPIO_PR0_LCDCP);
        GPIOPinConfigure(GPIO_PR1_LCDFP);
        GPIOPinConfigure(GPIO_PR2_LCDLP);
        GPIOPinConfigure(GPIO_PR3_LCDDATA03);
        GPIOPinConfigure(GPIO_PR4_LCDDATA00);
        GPIOPinConfigure(GPIO_PR5_LCDDATA01);
        GPIOPinConfigure(GPIO_PR6_LCDDATA04);
        GPIOPinConfigure(GPIO_PR7_LCDDATA05);
        GPIOPinConfigure(GPIO_PS4_LCDDATA06);
        GPIOPinConfigure(GPIO_PS5_LCDDATA07);
        GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_6);
        GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_6, GPIO_PIN_6);
        GPIOPinTypeLCD(GPIO_PORTF_BASE, GPIO_PIN_7);
        GPIOPinTypeLCD(GPIO_PORTJ_BASE, GPIO_PIN_6);
        GPIOPinTypeLCD(GPIO_PORTR_BASE,
                           (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 |
                            GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7));
        GPIOPinTypeLCD(GPIO_PORTS_BASE, GPIO_PIN_4 | GPIO_PIN_5);
    //    DK_TM4C129X_initDMA();
        /* Initialize the LCD driver */
        //LCD_SD_init();
    }
    //#endif /* TI_DRIVERS_LCD_SD_INCLUDED */

     Also in Kentec driver this line has to be commented out:

        //
        // Configure the LCD controller for LIDD-mode operation.
        //
        LCDModeSet(LCD0_BASE, LCD_MODE_LIDD, ui32SysClock, ui32SysClock);

        //
        // Configure DMA-related parameters.
        //
    //    LCDDMAConfigSet(LCD0_BASE, LCD_DMA_BURST_4);

        //
        // Set control signal parameters and polarities.
        //
        LCDIDDConfigSet(LCD0_BASE, LIDD_CONFIG_ASYNC_MPU80);

  • Hi Roberto,

    Roberto Romano said:

     Found, Kentec driver use a set of I/O that is declared on driver but don't provide setting of direction and mode, this on TIVAWare is done in PinoutSet().

    Is this driver provided as part of Tivaware?  Did you find it via a third party?

    Roberto Romano said:

    All is ok than if I enable DMA to LCD, enabling DMA assignment (marked in Yellow) again ENET stop work. How and where signaling has to be in place?

    ...

        //
        // Configure DMA-related parameters.
        //
    //    LCDDMAConfigSet(LCD0_BASE, LCD_DMA_BURST_4);

    Can you elaborate on what you mean by "where signaling has to be in place"?  

    Roberto Romano said:

     This part is to be integrated in DK_TM4C129X.c or a custom file must be created to add this function? Is TI planning integrate an LCD device driver in TIRTOS for <TIVA>?

    Yes, the DK_TM4C129X.c file is the proper file to add board/pin configurations.  Currently, an LCD device driver is not on the TI-RTOS roadmap.

    Regards,

    -- Emmanuel

  • Emmanuel Trinidad - Alicea said:
    Is this driver provided as part of Tivaware?  Did you find it via a third party?

     Hi Emmanuel, this drive is part of all example thru the various board and is the same used on old stellaris adapted to TIVA new stile;.