µC/TCP-IP is configurable at compile time via approximately 70 #defines
in the application’s net_cfg.h
file. µC/TCP-IP uses #defines
because they allow code and data sizes to be scaled at compile time based on enabled features and the configured number of network objects. This allows the ROM and RAM footprints of µC/TCP-IP to be adjusted based on application requirements.
Most of the #defines
should be configured with the default configuration values. A handful of values may likely never change because there is currently only one configuration choice available. This leaves approximately a dozen values that should be configured with values that may deviate from the default configuration.
It is recommended that the configuration process begins with the default configuration values which in the next sections will be shown in bold.
The sections in this chapter are organized following the order in µC/TCP-IP's template configuration file, net_cfg.h
.
Compile Features
Constant | Description | Possible Values |
---|---|---|
NET_CFG_OPTIMIZE_ASM_EN | Select portions of µC/TCP-IP code may call optimized assembly functions by configuring If optimized assembly files/functions are included in the µC/TCP-IP build set Set to | DEF_ENABLED or DEF_DISABLED |
Debug Features
Constant | Description | Possible Values |
---|---|---|
NET_DBG_CFG_MEM_CLR_EN | Is used to clear internal network data structures when allocated or de-allocated. By clearing, all bytes in internal data structures are set to ‘0’ or to default initialization values. This configuration is typically set it to DEF_DISABLED unless the contents of the internal network data structures need to be examined for debugging purposes. Having the internal network data structures cleared generally helps to differentiate between “proper” data and “pollution”. | DEF_ENABLED or DEF_DISABLED |
NET_DBG_CFG_TEST_EN | Is used internally for testing/debugging purposes. | DEF_ENABLED or DEF_DISABLED |
Argument Check
Most functions in µC/TCP-IP include code to validate arguments that are passed to it. Specifically, µC/TCP-IP checks to see if passed pointers are NULL
, if arguments are within valid ranges, etc. The following constants configure additional argument checking.
Constant | Description | Possible Values |
---|---|---|
NET_ERR_CFG_ARG_CHK_EXT_EN | Allows code to be generated to check arguments for functions that can be called by the user and, for functions which are internal but receive arguments from an API that the user can call. Also, enabling this check verifies that µC/TCP-IP is initialized before API tasks and functions perform the desired function. | DEF_ENABLED or DEF_DISABLED |
NET_ERR_CFG_ARG_CHK_DBG_EN | Allows code to be generated which checks to make sure that pointers passed to functions are not NULL, and that arguments are within range, etc. | DEF_ENABLED or DEF_DISABLED |
Counter Management
µC/TCP-IP contains code that increments counters to keep track of statistics such as the number of packets received, the number of packets transmitted, etc. Also, µC/TCP-IP contains counters that are incremented when error conditions are detected.
Constant | Description | Possible Values |
---|---|---|
NET_CTR_CFG_STAT_EN | Determines whether the code and data space used to keep track of statistics will be included. | DEF_ENABLED or DEF_DISABLED |
NET_CTR_CFG_ERR_EN | Determines whether the code and data space used to keep track of errors will be included. | DEF_ENABLED or DEF_DISABLED |
Timer Management
Constant | Description | Possible Values |
---|---|---|
NET_TMR_CFG_NBR_TMR | ||
NET_TMR_CFG_TASK_FREQ |
Interfaces
Constant | Description | Possible Values |
---|---|---|
NET_IF_CFG_MAX_NBR_IF | ||
NET_IF_CFG_LOOPBACK_EN | DEF_ENABLED or DEF_DISABLED | |
NET_IF_CFG_ETHER_EN | DEF_ENABLED or DEF_DISABLED | |
NET_IF_CFG_WIFI_EN | DEF_ENABLED or DEF_DISABLED | |
NET_IF_CFG_TX_SUSPEND_TIMEOUT_MS |