cancel
Showing results for 
Search instead for 
Did you mean: 

STM324x9i-EVAL StemWin

D.Cedric
Associate II
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.
3 REPLIES 3
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 Up vote any posts that you find helpful, it shows what's working..
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 Up vote any posts that you find helpful, it shows what's working..
D.Cedric
Associate II
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.