以下是我的问题的简要摘要......
我无法增加超过16的协调员数量,并且PAN和协调员的连接表有限。 PAN在其连接表中最多可包含16个节点,而协调器仅支持8个节点。我有PIC18F87J11 FAMILY,我正在使用MPLAB C18编译器。
协调员:
协调员可以将NUM_COORDINATOR设置为16,但在其连接表中只显示8个节点。 CONNECTION_SIZE必须为8或更低,任何更高的数字都会产生错误。
将连接大小从8增加到16会产生以下错误。
Error - section '__CONNECTION_TABLE' can not fit the section. Section '__CONNECTION_TABLE' length=0x000001d0
Errors : 1
将协调器的数量从16增加到32会产生以下错误。
Error - section 'RANDOM_SEND_BUFFER' can not fit the section. Section 'RANDOM_SEND_BUFFER' length=0x00000118
Errors : 1
PAN:
PAN可以将NUM_COORDINATOR设置为16,并在其连接表中显示16个节点。 CONNECTION_SIZE必须为16或更低,任何更高的数字都会产生错误。 16个节点已连接到网络后,终端设备无法连接到网络。
将连接大小从16增加到32会产生以下错误。
Error - section '__CONNECTION_TABLE' can not fit the section. Section '__CONNECTION_TABLE' length=0x000001c0
Errors : 1
将协调器的数量从16增加到32会产生以下错误。
Error - section 'RANDOM_SEND_BUFFER' can not fit the section. Section 'RANDOM_SEND_BUFFER' length=0x00000118
Errors : 1
这是我用于 ConnectionTable
的代码#if defined(__18CXX)
#pragma udata __CONNECTION_TABLE
#endif
CONNECTION_ENTRY ConnectionTable[CONNECTION_SIZE];
这是我用于 RANDOM_SEND_BUFFER
的代码 #if defined(__18CXX)
#pragma udata RANDOM_SEND_BUFFER
#endif
有人可以向我解释为什么我会收到这些构建错误吗?
谢谢!
答案 0 :(得分:0)
默认情况下,链接器部分的最大大小为256字节。 您必须在链接描述文件中扩展节的大小。
另请阅读:How do I create a variable larger than 256 bytes in MPLAB C18?