首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MPLab X集成开发环境下设置Harmony Configurator的TCP协议栈

在MPLab X集成开发环境下设置Harmony Configurator的TCP协议栈
EN

Stack Overflow用户
提问于 2015-05-23 18:01:32
回答 2查看 1.8K关注 0票数 1

我已经在我的Harmony配置中添加了TCP/IP协议栈,但是它给出了下面的错误。我的问题是如何使用MPLAB®Harmony集成软件框架v1.04.01在MPLab X集成开发环境V3上正确设置TCP/IP协议栈。

尝试运行代码时出错:

代码语言:javascript
复制
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/drivers/usart.c:81:19: error: 'U3MODE' undeclared here (not in a function)
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/drivers/usart.c:81:40: error: 'U3STA' undeclared here (not in a function)
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/drivers/usart.c:81:60: error: 'U3TXREG' undeclared here (not in a function)

nbproject/Makefile-tcp_ip.mk:693: recipe for target 'build/tcp_ip/production/_ext/28866467/usart.o' failed
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/drivers/usart.c:81:82: error: 'U3RXREG' undeclared here (not in a function)
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/drivers/usart.c:81:104: error: 'U3BRG' undeclared here (not in a function)
make[2]: *** [build/tcp_ip/production/_ext/28866467/usart.o] Error 1
make[2]: *** Waiting for unfinished jobs....

"/opt/microchip/xc32/v1.34/bin/xc32-gcc" -g -x c -c -mprocessor=32MX460F512L -ffunction-sections -O1 -D__XC \
    -I../src -I../../../../microchip/harmony/v1_04_01/framework -I../src/system_config/tcp_ip/framework -I../src/system_config/tcp_ip -I../../../../microchip/harmony/v1_04_01/bsp/pic32mx460_pim+e16 -I../../../../microchip/harmony/v1_04_01/third_party/rtos/FreeRTOS/Source/portable/MPLAB/PIC32MXI../../../../microchip/harmony/v1_04_01/third_party/rtos/FreeRTOS/Source/include \
    -MMD -MF build/tcp_ip/production/_ext/682004257/system_debug.o.d -o build/tcp_ip/production/_ext/682004257/system_debug.o ../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_debug.c

"/opt/microchip/xc32/v1.34/bin/xc32-gcc" -g -x c -c -mprocessor=32MX460F512L -ffunction-sections -O1 -D__XC -I../src \
    -I../../../../microchip/harmony/v1_04_01/framework -I../src/system_config/tcp_ip/framework -I../src/system_config/tcp_ip -I../../../../microchip/harmony/v1_04_01/bsp/pic32mx460_pim+e16 -I../../../../microchip/harmony/v1_04_01/third_party/rtos/FreeRTOS/Source/portable/MPLAB/PIC32MXI../../../../microchip/harmony/v1_04_01/third_party/rtos/FreeRTOS/Source/include \
    -MMD -MF build/tcp_ip/production/_ext/1577513309/tcpip_manager.o.d -o build/tcp_ip/production/_ext/1577513309/tcpip_manager.o ../../../../microchip/harmony/v1_04_01/framework/tcpip/src/tcpip_manager.c

"/opt/microchip/xc32/v1.34/bin/xc32-gcc" -g -x c -c -mprocessor=32MX460F512L -ffunction-sections -O1 -D__XC -I../src \
    -I../../../../microchip/harmony/v1_04_01/framework -I../src/system_config/tcp_ip/framework -I../src/system_config/tcp_ip -I../../../../microchip/harmony/v1_04_01/bsp/pic32mx460_pim+e16 -I../../../../microchip/harmony/v1_04_01/third_party/rtos/FreeRTOS/Source/portable/MPLAB/PIC32MXI../../../../microchip/harmony/v1_04_01/third_party/rtos/FreeRTOS/Source/include \
    -MMD -MF build/tcp_ip/production/_ext/682004257/system_command.o.d -o build/tcp_ip/production/_ext/682004257/system_command.o ../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.c


nbproject/Makefile-tcp_ip.mk:699: recipe for target 'build/tcp_ip/production/_ext/682004257/system_command.o' failed
make[2]: Leaving directory '/home/myworkarea/HttpTester/firmware/HttpTester.X'
nbproject/Makefile-tcp_ip.mk:78: recipe for target '.build-conf' failed
make[1]: Leaving directory '/home/myworkarea/HttpTester/firmware/HttpTester.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
In file included from ../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.c:46:0:

../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.h:49:21: error: redefinition of typedef 'SYS_CMD_HANDLE'
../../../../microchip/harmony/v1_04_01/framework/system/command/sys_command.h:251:21: note: previous declaration of 'SYS_CMD_HANDLE' was here
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.h:83:2: error: conflicting types for 'SYS_CMD_API'
../../../../microchip/harmony/v1_04_01/framework/system/command/sys_command.h:370:2: note: previous declaration of 'SYS_CMD_API' was here
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.h:95:2: error: conflicting types for 'SYS_CMD_DEVICE_NODE'
../../../../microchip/harmony/v1_04_01/framework/system/command/sys_command.h:489:2: note: previous declaration of 'SYS_CMD_DEVICE_NODE' was here
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.h:103:2: error: conflicting types for 'SYS_CMD_DEVICE_LIST'
../../../../microchip/harmony/v1_04_01/framework/system/command/sys_command.h:510:2: note: previous declaration of 'SYS_CMD_DEVICE_LIST' was here
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.h:109:15: error: conflicting types for 'SYS_CMD_FNC'
../../../../microchip/harmony/v1_04_01/framework/system/command/sys_command.h:559:15: note: previous declaration of 'SYS_CMD_FNC' was here
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.h:116:2: error: conflicting types for 'SYS_CMD_DESCRIPTOR'
../../../../microchip/harmony/v1_04_01/framework/system/command/sys_command.h:580:3: note: previous declaration of 'SYS_CMD_DESCRIPTOR' was here
../../../../microchip/harmony/v1_04_01/framework/tcpip/src/system/system_command.h:124:2: error: conflicting types for 'SYS_CMD_DESCRIPTOR_TABLE'
../../../../microchip/harmony/v1_04_01/framework/system/command/sys_command.h:602:3: note: previous declaration of 'SYS_CMD_DESCRIPTOR_TABLE' was here
EN

回答 2

Stack Overflow用户

发布于 2015-05-31 15:32:47

因为包含了定义相同typedefs的两个头文件,所以会出现"redefinition“错误。冲突的文件包括:

代码语言:javascript
复制
...\v1_04_02\framework\system\command\sys_command.h

代码语言:javascript
复制
...\v1_04_02\framework\tcpip\src\system\system_command.h

它包含在文件中

代码语言:javascript
复制
...\v1_04_02\framework\tcpip\src\system\system_command.c

仅当包含和谐组件"TCPIP Stack -> Use TCP/IP Commands“而不包含"Services -> Command -> Use Command Processor System Service”时,才包含文件system_command.c。

要消除冲突(和错误),请禁用"TCPIP Stack -> Use TCP/IP Commands",或启用"Services -> Command -> Use Command Processor System Service“(我不知道此组件的用途,但如果启用它,代码将增长约30 30)。

票数 1
EN

Stack Overflow用户

发布于 2015-05-24 05:41:50

它看起来像一些头文件,可在两个不同的位置,都包括在内。

每个头文件中的多重保护代码应该已经阻止了这种情况的发生。

此外,在UART 3中定义寄存器的头文件似乎也丢失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30411362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档