abeowitz wrote on Saturday, October 06, 2018:
I’m trying to build a TCP/IP application using FreeRTOS 10 + TCP/IP on an STM32F767ZI-Nucleo-144 board.
- Starting with CubeMX and FreeRTOS 9. Got LED’s and printf’s working on UART 3.
- I then replaced the FreeRTOS 9 files with version 10 files from their official SVN repository.
This worked. - I started following the tutorial, copied the IP files over, created a config file, and am stuck at this step:
https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Initialising_TCP.html
Of the many errors, the first is:
undefined reference to ucMACAddress in NetworkInterface.c
The tutorial defines it as a global in main.c:
static uint8_t ucMACAddress[6] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 };
but NetworkInterface.c references it this way:
/* ucMACAddress as it appears in main.c */
extern const uint8_t ucMACAddress[ 6 ];
I’ve tried various combinations to get around this, like removing const, as that clearly is wrong, (plus global header file, main.h, commenting out, etc.) but am unable to figure out how to get these variables (and other errors) cleaned up so I can proceed in the tutorial.
I’m an intermediate C programmer, but I get lost when trying to merge these libraries with disparate header files and global variables.
Any guidance would be appreciated. Thanks!