3.1.9. HALCoGen
Note
A documentation of the tool HALCoGen can be found in HALCoGen tool documentation, the Waf tool wrapper for this project in this section, information on configuring HALCoGen in the context of the toolchain of this project in HALCoGen and an example on how to use a pre-generated HAL instead of generating it in the compilation step in How to Use Generated Sources from HALCoGen.
The tool is located in tools/waf-tools
.
Implements a waf tool to use TI HALCoGen (https://www.ti.com/tool/HALCOGEN)
- class f_hcg.NodeStructure(xml_file_path)
Bases:
object
Holds all relevant information on generated files based on a HALCoGen configuration file
- parse_xml()
Parses information on generated files from the HALCoGen configuration file.
- f_hcg.configure(conf)
configuration step of the TI HALCoGen Code Generator.
checks whether the platform is Win32 or not, as HALCoGen is only supported on Win32.
searches for the HALCoGen program
Adds the include path of the F021 Flash API to
INCLUDES
- class f_hcg.hcg_compiler(*args: Any, **kwargs: Any)
Bases:
waflib.Task.Task
Class to implement running the HALCoGen code generator
- color = 'PINK'
color in which the command line is displayed in the terminal
- Type
str
- ext_out = ['.h', '.c', '.asm']
task produces headers therefore it must run before c-tasks
- Type
list of string
- keyword()
displayed keyword when generating sources from a HALCoGen project
- run()
Runs the HALCoGen code generator
Copy the HALCoGen sources to the build directory
Run HALCoGen
Get CPU clock frequency that is set by HALCoGen from FreeRTOSConfig.h and copy it to our configuration file
Copy the HALCoGen sources again to the output directory. This needs to be done, as HALCoGen re-writes the timestamp of the HALCoGen file when the tool is run. With this step the sources and build directory are synchronized.
- vars = ['HALCOGEN', 'HALCOGEN_SRC_INPUT']
variables this task depends on
- Type
list of string