With the increasing complexity of modern microprocessors, the correct setup of clock system and peripherals from scratch is becoming a challenge. Some chip vendors provide intuitive tools for a graphical configuration of the device and automatic code generation.
To make it easy to use these device configuration tools alongside IAR Embedded Workbench, IAR Systems has implemented functionality for adding project connections. Adding a project connection will automatically include the generated code to the project. If those files are changed from the device configuration tool, they will be updated automatically in IAR Embedded Workbench.
Before you start, make sure that project connections are enabled in IAR Embedded Workbench: Go to Tools > Options and the Project tab, where you select Enable project connections.
To start using project connections, you need to have an open project, which can be empty, but must have the proper device selected in Options > General Options > Device. From the Project menu, you will then be able to select Add Project Connection. This opens a dialog box where you can choose the external tool you want to set up a connection with.
Automated integration with Freescale’s Processor Expert Software and Infineon’s DAVE code generator is already available. Project connection functionality uses a file in the XML format to find all project files to import, which makes it possible to set up integrations with other tools as well.
Now browse for the .xml file in the project folder of the configuration tool:
After the import of the .xml file, all the generated code is added to the IAR Embedded Workbench project automatically:
The required include directories (Options > C/C++ Compiler > Preprocessor) are added to the project as well.
If the configuration tool generates a linker control file (.icf), like Freescale’s Processor Expert does, this has to be added manually through the Linker Options in the IAR Embedded Workbench:
This article is written by Martin Gisbert, Field Application Engineer at IAR Systems Germany.