2020-02-17 9:00 AM
Good afternoon,
I recently started working with TouchGFX and encountered a problem while flashing the programm on my board STM32F746NGH6 (with the display: ETEM043005XDH6)
After reading & understanding the code of the examples as well as building my own examples, I tried to rebuild the UART (RS232) example.
The Simulator compiles and runs without any problem.
Unfortunately when trying to "Run Target" flashing the programm on my board I encoutered a problem with the UART Library used.
It seems that it cannot find the reference I defined earlier in my code.
I tried the entire day to fix the problem but none of the fixes I tried worked out.
Could you please clarify the way to import such libraries which have been defined in the code or link me to a tutorial? I couldn't find anything.
Following files I looked through:
#include <gui/model/Model.hpp>
#include <gui/model/ModelListener.hpp>
#ifndef SIMULATOR
extern "C"
{
#include "Calibration_Parameters.h"
#include "stm32f7xx_hal.h"
#include "stm32f7xx_hal_spi.h"
#include "stm32f7xx_hal_tim.h"
//#include "stm32f7xx_hal_uart.h"
//#include "stm32f7xx_hal_usart.h"
//#include "etem043005xdh6_usart.h"
extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart6;
}
#endif
Model::Model() : modelListener(0)
{
}
void Model::tick()
{
}
/**********************************************************************************************************/
//
// RS232 and RS498 Transmission of Slider Value
//
/**********************************************************************************************************/
#ifndef SIMULATOR
void Model::send_data(unsigned char data)
{
unsigned char tt[10];
tt[0] = 0x0D; //CR
tt[1] = 0x0A; //LF
tt[2] = (data / 100) + '0';
data %= 100;
tt[3] = (data / 10) + '0';
tt[4] = (data % 10) + '0';
//HAL_UART_Transmit(&huart2,tt,5,200);
//HAL_UART_Receive(&huart6, tt, 5, 200); //RS232 Receive Data
HAL_UART_Transmit(&huart6,tt,5,200); // RS232 Blocking, Interrupt function under development
// HAL_UART_Transmit(&huart2,tt,5,200); // RS485 Blocking, Interrupt function under development
}
#endif
/*******************************************************************************************************/Any help or links would be highly appreciated.
Rafael
2020-02-18 7:14 AM
Hi,
Your code compiled as far as i can see. It is when linking that the issue appears, you should have a look at your makefile. I am not an expert but I will have a talk with some people internally and come back to you asap. Another option is to use IAR to define the right path.
2020-02-20 2:07 AM
I was able to fix the problem by (hardcode) adding the dependencies to Makefile.
Is there also an easier way to build paths? I am not familiar with IAR, do you have further information regarding this?
For upcoming projects we need to be able adding pathes without editing the Makefile, if possible.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.