Skip to main content
D.Cedric
Associate II
December 4, 2013
Question

STM324x9i-EVAL StemWin

  • December 4, 2013
  • 3 replies
  • 744 views
Posted on December 05, 2013 at 00:36

Hi there, I'm trying just a little ''Hello world'' using STemWin on STM324x9i-EVAL. I've noticed that I have to turn systick on at 1ms, run the CRC unit. With all of this set, the GUI_Init is not stuck, but there's nothing on the screen.

I've set the following defines : USE_STDPERIPH_DRIVER; STM32F429_439xx; USE_STM324x9I_EVAL; STM32F429X; USE_MB1046 Since I use MB1046, I've noticed that DMA2D_IRQhandler has to be serviced :

void
DMA2D_IRQHandler(
void
)
{
DMA2D->IFCR = (uint32_t)DMA2D_IFSR_CTCIF;
}

So does the Systick_IRQHandler and LTDC IRQHandler:

void
SysTick_Handler(
void
)
{
OS_TimeMS ++;
}
 void LTDC_IRQHandler(void)
 {
 LTDC_ISR_Handler();
 } 

here's the main code :

int main(void)
{
int xPos,yPos;
/*!< At this stage the microcontroller clock setting is already configured, 
this is done through SystemInit() function which is called from startup
files (startup_stm32f429_439xx.s) before to branch to application main.
*/ 
SysTick_Config(SystemCoreClock / 1000);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);
GUI_Init();
xPos = LCD_GetXSize() / 2;
yPos = LCD_GetYSize() / 3;
GUI_SetFont(GUI_FONT_COMIC24B_ASCII);
GUI_DispStringHCenterAt(''Hello world!'', xPos, yPos);
while (1)
{
}
}

What have I forgotten? I've tried both Keil and Ride7 IDE for the same result.
    This topic has been closed for replies.

    3 replies

    Tesla DeLorean
    Guru
    December 4, 2013
    Posted on December 05, 2013 at 00:53

    I can't say I've tried on my STm324x9I-EVAL, but on the DISCO the hardware is initialized in the bsp.c code. I might hazard you didn't bring up the SDRAM?

    I might use commas not semi-colons, and STM32F429X seems to be unnecessary.

    /**
    * @brief Inititialize the target hardware.
    * @param None
    * @retval 0: if all initializations are OK.
    */
    uint32_t LowLevel_Init (void)
    {
    /* Initialize the LEDs */
    STM_EVAL_LEDInit(LED3);
    STM_EVAL_LEDInit(LED4);
    /*Init Touchscreen */
    BSP_TSC_Init();
    /* Initialize the SDRAM */
    SDRAM_Init();
    // enable the push button
    STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_EXTI);
    /* Enable the CRC Module */
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);
    SysTick_Config(SystemCoreClock / 1000);
    return 0;
    }
    

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Tesla DeLorean
    Guru
    December 5, 2013
    Posted on December 05, 2013 at 04:27

    STM32F4xx_DSP_StdPeriph_Lib_V1.3.0\Utilities\STM32_EVAL\STM324x9I_EVAL\stm324x9i_eval_lcd.c

    STemWin_Library_V1.1.1\Utilities\STM32_EVAL\STM324x9I_EVAL\stm324x9i_eval_lcd.c

    STemWin_Library_V1.1.1\Project\STM324x9I-EVAL\Standalone\User\bsp.c

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    D.Cedric
    D.CedricAuthor
    Associate II
    December 5, 2013
    Posted on December 05, 2013 at 09:58

    Thanks Clive1, so helpful. It works fine now.. So let's start doing a real work now!

    Btw, SDRAM_Init() was the only thing missing. BSP is about the touch screen.