STM32F4-discovery LCD linking question
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2014-08-30 11:15 PM
Dear friends.
Please help with the following error:
Error[Li005]: no definition for ''LTDC_LayerInit''
Here is the part of the program:
/* Initialize the LCD */
LCD_Init();
/* LCD Configuration */
LCD_LayerInit();
Both functions are located in the same stm32f429i_discovery_lcd.c file. Why LCD_Init() is ok and LCD_LayerInit() is not?
I use EWARM 7.2.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2014-08-31 2:12 AM
LTDC not LCD
The missing function is actually in one of the library files, which needs to be part of your project. STM32F429I-Discovery_FW_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_ltdc.cUp vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2014-08-31 5:41 AM
Thanks, Clive1.
Several others errors appeared and I added all required header and source files. But I still did not see anything on the screen. Bellow is the code. How can I learn to use LCD libraries? How can I find my mistake inside below code using debugger? /* Includes ------------------------------------------------------------------*/ #include ''main.h'' #include ''stm32f429i_discovery_lcd.h'' #include ''stm32f4xx.h'' #include ''stm32f4xx_ltdc.h'' #include ''stm32f4xx_fsmc.h'' /** @addtogroup Template * @{ */ int main(void) { /* Initialize the LCD */ LCD_Init(); /* LCD Configuration */ LCD_LayerInit(); /* Enable LCD display */ LCD_DisplayOn(); /* Set foreground layer */ LCD_SetLayer(LCD_FOREGROUND_LAYER); /* Clear the LCD */ LCD_Clear(LCD_COLOR_WHITE); /* Set the LCD Back Color */ LCD_SetBackColor(LCD_COLOR_WHITE); /* Set the LCD Text Color */ LCD_SetTextColor(LCD_COLOR_BLUE); LCD_DisplayStringLine(LCD_LINE_0, (uint8_t *)'' STM324x9I-EVAL ''); LCD_DisplayStringLine(LCD_LINE_1, (uint8_t *)'' Example on how to ''); LCD_DisplayStringLine(LCD_LINE_2, (uint8_t *)'' use the IO Expander ''); /* Infinite loop */ while (1) { } } #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */ void assert_failed(uint8_t* file, uint32_t line) { /* User can add his own implementation to report the file name and line number, ex: printf(''Wrong parameters value: file %s on line %d\r\n'', file, line) */ /* Infinite loop */ while (1) { } } #endif- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2014-08-31 10:51 AM
I'd probably start by testing/review the examples for the specific board I'm using rather than a different board.
STM32F429I-Discovery_FW_V1.0.1\Projects\Peripheral_Examples\LTDC_Display_2Layers\readme.txt Then I'd evaluate what is being done differently between the two. Like configuration of pins, and external memory banks.Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2014-09-01 7:26 AM
Studding the example LTDC_Display_2Layers. How can I obtain the hex array of the picture (such as st_logo1.h)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2014-09-01 8:05 AM
Generating data as an include file is a pretty simple, I've coded quick applications to do such. There are other apps that do more specific BMP conversion, colour level stuff.
http://www.segger.com/emwin-bitmap-converter.html
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2014-09-01 10:24 PM
Thanks, Clive1.
The program solved the question. However I changed const uint32_t ST_LOGO_1[19200] = { 0xFFFFFFFF, ... to const uint16_t ST_LOGO_1[38400] = { 0x3161,...