1

I am new to OpenThread and am looking into porting OpenThread to IAR IDE. I wanted to know if there is any documentation, or where I might find more information on the different defines that are used(how they get enabled, what Thread device would use them, etc).

Needless to say, I am also inexperienced with the gnu autoconf toolset, and have been attempting to figure it out... I have noticed that there seems to be two categories of defines, those that start with "OPENTHREAD_ENABLE_" that tend to be compiler enabled defines (-DOption pushed by autoconf) and those that are in the openthread-core-config.h (OPENTHREAD_CONFIG_).

So in order to build say, a router enabled end device, what all defines are required (ignoring optional features)? (and secondary question, which files would be required?)... When building with the autoconf environment, the file selection tends to change depending on the type of thread target being built... I have been using the cc2538 project as an example to attempt to port to IAR...

I've used the command

make SHELL="/bin/bash -x" -f examples/Makefile-cc2538

In an attempt to see all compile lines, but I still seem to be missing something, since my builds still fail.. (linking)...

Any help is greatly appreciated

-mike

m.stamer
  • 11
  • 1

1 Answers1

1

There are two header files that specify config as part of the build:

  1. src/core/openthread-core-default-config.h includes configuration defines that represent parameters for features and protocols (e.g. number of children to support, buffer sizes, etc.).
  2. build/cc2538/include/openthread-config.h includes configuration defines that is autogenerated as part of ./configure. The OPENTHREAD_ENABLE* defines live here and indicate what features to compile in/out.

We are working on a build guide that includes more information about these defines. Until then, I suggest you take a look at the above files for reference.

jhui
  • 694
  • 4
  • 3