LIB Memory Heap Configuration
µC/DNSc is using µC/LIB to allocated internal data such as OS objects (semaphore, mutex), application buffers and connection control structure, etc. µC/DNSc internal tasks stack is also allocated using µC/LIB. Therefore µC/LIB memory module must be configured properly for µC/DNSc. If the heap size is not configured large enough, an error will be returned during DNS client initialization.
Since the needed heap size is related to the module configuration (dns-c_cfg.*
) it’s not possible to provide an exact formula to calculate it. Thus to optimize the heap size, you should try different heap size until no error is returned for all instance initialized.
Note: The memory module must be initialized by the application prior to calling DNSc_Init()
. We recommend initializing the memory module before calling starting the RTOS, or near the top of the startup task.
Please refer to section µC/LIB Documentation for more details on the µC/LIB module and its configuration.