Hello,
I will need more information about what you have already tried, what is your freemaster_cfg.h file and how is your project set up. The most common reasons for not being able to connect are:
- Missing FreeMASTER driver code in the project. You need to add all the driver files and configure the driver in freemaster_cfg.h. In this file, you select the FMSTR_TRANSPORT to be FMSTR_SERIAL or FMSTR_CAN or other. Then you also need to define what low-level communication driver to use (define FMSTR_SERIAL_DRV or FMSTR_CAN_DRV with a low-level driver name).
- Bad UART baudrate setting or target clock settting. These two issues are closely related. When using UART, you need to specify the baudrate at which to communicate. This is easy on PC, but it may be a challenge in the target application as the baudrate heavily depends on clocks settings, dividers etc. FreeMASTER driver does not configure the UART; it is the main application's responsibility to configure and enable UART module before calling FMSTR_Init()
You can define FMSTR_DEBUG_TX as 1 in the freemaster_cfg.h which will make the driver to transmit a dummy sequence +@V onto UART bus periodically. With this, you should be able to hook a logic analyzer to see start bit width and determine if the communication is correct.
Did you try any FreeMASTER-enabled example application on your target platform?
BTW: In any case, you should be able to establish a basic connection without dealing with any of the above using a JTAG probe (P&E Micro) and access the memory directly without any CPU cooperation.
Regards,
Michal