{"id":776,"date":"2021-03-26T12:39:59","date_gmt":"2021-03-26T12:39:59","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=776"},"modified":"2026-02-12T09:35:05","modified_gmt":"2026-02-12T09:35:05","slug":"installation-and-utilisation-of-cpp-sdk","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk","title":{"rendered":"Installation and use of the CPP SDK"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Software-installation\" >Software installation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#User-template-retrieval\" >User template retrieval<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Code-edition\" >Code edition<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Folders-organization\" >Folders organization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Renaming-the-project\" >Renaming the project<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Specifying-the-number-of-devices-used\" >Specifying the number of devices used<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Code-compilation\" >Code compilation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Loading-the-code-into-the-device\" >Loading the code into the device<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\/#Further-readings\" >Further readings<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This note describes how to install and get started with the imperix C++ Software Development Kit (SDK).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-software-installation\"><span class=\"ez-toc-section\" id=\"Software-installation\"><\/span>Software installation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>After registration, the installer of the CPP SDK can be downloaded directly from imperix\u2019s website, at <a href=\"https:\/\/imperix.com\/downloads\/\">https:\/\/imperix.com\/downloads\/<\/a>.<\/p>\n\n\n\n<p>Download the latest version of CPP SDK, execute the installer, and follow the instructions.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">When asked by the installer, it is recommended to keep the default destination folder <code>C:\\imperix\\BB3_CPP_SDK<\/code> and to avoid spaces or special characters in the pathname.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-user-template-retrieval\"><span class=\"ez-toc-section\" id=\"User-template-retrieval\"><\/span>User template retrieval<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To launch the imperix C++ IDE, search for \u201cimperix C++ IDE\u201d in the Windows start menu and click on it, or use the desktop shortcut. The first launch of the IDE can be slower because Eclipse sets up the environment and makes some configuration.<\/p>\n\n\n\n<p>The IDE will then ask for a workspace directory. The workspace is the location in your file system where Eclipse stores its preferences and other resources. Chose your workspace folder and click on <strong>Launch<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"738\" height=\"373\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-127.png\" alt=\"Workspace location dialog\" class=\"wp-image-777\" style=\"width:554px;height:auto\" title=\"Product notes &gt; PN146: Installation and utilisation of CPP SDK &gt; image-20200709-183350.png\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-127.png 738w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-127-300x152.png 300w\" sizes=\"auto, (max-width: 738px) 100vw, 738px\" \/><\/figure>\n<\/div>\n\n\n<p>Once launched, the Eclipse environment will look like the following screenshot.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-128.png\" alt=\"Base Eclipse environment\" class=\"wp-image-778\" title=\"Product notes &gt; PN146: Installation and utilisation of CPP SDK &gt; image-20200710-083157.png\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-128.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-128-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-128-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<p>The first step is to retrieve the base source code from the root of the installation directory (by default located at <code>C:\\imperix\\BB3_CPP_SDK\\BB3_CPP_Template.zip<\/code>)<\/p>\n\n\n\n<p>Select <strong>File<\/strong> -&gt; <strong>Import&#8230;<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-129.png\" alt=\"Importing an existing file into the Eclipse environment\" class=\"wp-image-779\" title=\"Product notes &gt; PN146: Installation and utilisation of CPP SDK &gt; image-20200710-083527.png\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-129.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-129-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-129-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<p>Under <strong>General<\/strong>, select <strong>Existing Projects into Workspace<\/strong> and click <strong>Next<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-130.png\" alt=\"Import existing project into workspace\" class=\"wp-image-780\" title=\"Product notes &gt; PN146: Installation and utilisation of CPP SDK &gt; image-20200710-083657.png\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-130.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-130-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-130-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<p>Check the box <strong>Select archive file<\/strong> and browse the installation directory to find the zip file <code>BB3_CPP_Template.zip<\/code> and click on <strong>Finish<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-131.png\" alt=\"Select an archive file\" class=\"wp-image-781\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-131.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-131-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-131-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The same procedure applies to import code examples provided by imperix.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-code-edition\"><span class=\"ez-toc-section\" id=\"Code-edition\"><\/span>Code edition<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-folders-organization\"><span class=\"ez-toc-section\" id=\"Folders-organization\"><\/span>Folders organization<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The picture below shows the coding environment of the imperix C++ IDE. The project template contains several folders (as shown in the Project Explorer on the left), which are organized as follows.<\/p>\n\n\n\n<p><strong>My_functions<\/strong> is the folder where all user files should be stored. By default, it contains only two files that the user can freely modify :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>user.h<\/code>, which typically contains the prototypes of the user-defined routines as well<br>as some data types definitions.<\/li>\n\n\n\n<li><code>user.cpp<\/code>, which serves as the code root and contains the initialization and main interrupt<br>service routines used to control the application.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_1.png\" alt=\"\" class=\"wp-image-14631\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_1.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_1-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_1-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<p>The <strong>Includes <\/strong>folder contains the headers of the corresponding user-accessible routines. By browsing the includes, the user can get a quick overview of the available peripheral driver routines, as well as all the necessary information regarding their use.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_2.png\" alt=\"\" class=\"wp-image-14633\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_2.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_2-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_2-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<p>The <strong>API <\/strong>folder contains ready-to-use routines that are popular in power electronic applications (controllers, coordinate transformations, PLLs, data structures, etc&#8230; ). Users are recommended to use these predefined routines. If necessary, these routines can be modified.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_3.png\" alt=\"\" class=\"wp-image-14634\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_3.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_3-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/folders_organization_3-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<p>The <strong>Debug<\/strong> folder contains all the files produced by the compilation of the project.<\/p>\n\n\n\n<p><strong>Cockpit.launch<\/strong> and <strong>makefile.defs<\/strong> are configuration files, they should not be modified.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-renaming-the-project\"><span class=\"ez-toc-section\" id=\"Renaming-the-project\"><\/span>Renaming the project<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>To rename the project, the following procedure should be followed. Due to an <a href=\"https:\/\/bugs.eclipse.org\/bugs\/show_bug.cgi?id=415531\">Eclipse bug<\/a>, not following the procedure will lead to a <a href=\"https:\/\/imperix.com\/doc\/help\/cpp-sdk-troubleshooting\">resource is out of sync with the file system<\/a> error.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Right-click on the project, click <strong>Rename&#8230; <\/strong>(or press F2), and enter the new name<\/li>\n\n\n\n<li>Right-click on the project and click <strong>Properties <\/strong>(or press Alt+Enter)<\/li>\n\n\n\n<li>Click on <strong>C\/C++ Build and <\/strong>select the <strong>Refresh Policy<\/strong> tab<\/li>\n\n\n\n<li>Delete the resource with the old project name<\/li>\n\n\n\n<li>Click <strong>Add Resource&#8230;<\/strong> and select the folder with the name of the project and click <strong>OK<\/strong><\/li>\n\n\n\n<li>Click <strong>Apply and Close<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-135.png\" alt=\"Project properties\" class=\"wp-image-787\" title=\"Product notes &gt; PN146: Installation and utilisation of CPP SDK &gt; image-20200710-092332.png\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-135.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-135-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-135-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-folders-organization\"><span class=\"ez-toc-section\" id=\"Specifying-the-number-of-devices-used\"><\/span>Specifying the number of devices used<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Since SDK 2025.1, as shown on the image below, Cockpit reads how many devices are used by the user code to properly display the assignment between the user code (project) and targets. <\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"234\" height=\"182\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-307.png\" alt=\"\" class=\"wp-image-32330\"\/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"228\" height=\"224\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-308.png\" alt=\"\" class=\"wp-image-32331\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>When using the <a href=\"https:\/\/imperix.com\/software\/acg-sdk\/\">ACG SDK<\/a>, the number of used devices is automatically retrieved. With the CPP SDK however, users must explicitly specify this information using the <code>NUMBER_OF_DEVICES<\/code> macro, as illustrated below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"276\" height=\"117\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-310.png\" alt=\"\" class=\"wp-image-32340\"\/><\/figure>\n<\/div>\n\n\n<p>Alternatively, this information can be manually edited from Cockpit, using the <em>No. of devices<\/em> field.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"222\" height=\"180\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-311.png\" alt=\"\" class=\"wp-image-32341\"\/><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">If the Eclipse IDE underlines the NUMBER_OF_DEVICES in orange, please try the following:<br><strong>Right-click on the project<\/strong> \u2192 <strong>Index <\/strong>\u2192  <strong>Rebuild<\/strong><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-code-compilation\"><span class=\"ez-toc-section\" id=\"Code-compilation\"><\/span>Code compilation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">By default, the code is automatically rebuilt each time the user saves a file. This behavior can be changed by going to <strong>Project <\/strong>\u2192 <strong>Properties <\/strong>\u2192 <strong>C\/C++ Build<\/strong> \u2192 <strong>Behavior <\/strong>tab and unchecking <strong>Build on resource save<\/strong><\/div>\n\n\n\n<p>The compilation can be manually launched by clicking on the \u201cBuild\u201d icon at the top left corner of the IDE, or by pressing \u201cCTRL+B\u201d. The console window displays build information as well as any errors. The executable is generated in the \u201cdebug\u201d folder (.elf file)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-loading-the-code-into-the-device\"><span class=\"ez-toc-section\" id=\"Loading-the-code-into-the-device\"><\/span>Loading the code into the device<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The code upload and flashing are handled by the <a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\" target=\"_blank\" rel=\"noreferrer noopener\">imperix Cockpit<\/a> utility software. The easiest way to launch Cockpit is to select your project and click on the \u201crun\u201d icon, directly within the imperix C++ IDE, as shown in the screenshot below. Cockpit opens automatically and loads the executable onto the connected B-Box or B-Board.<br>Related getting-started instructions are available in <a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers\" target=\"_blank\" rel=\"noreferrer noopener\">Programming and operating imperix controllers<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"761\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/loading_the_code_into_the_device-1.png\" alt=\"\" class=\"wp-image-14636\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/loading_the_code_into_the_device-1.png 1010w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/loading_the_code_into_the_device-1-300x226.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/03\/loading_the_code_into_the_device-1-768x579.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-further-readings\"><span class=\"ez-toc-section\" id=\"Further-readings\"><\/span>Further readings<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/programming-imperix-controllers\">Programming and operating imperix controllers (PN138)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\">Cockpit \u2013 User guide (PN300)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/cpp-sdk-troubleshooting\">CPP SDK troubleshooting (PN147)<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This note describes how to install and get started with the imperix C++ Software Development Kit (SDK). Software installation After registration, the installer of the&#8230;<\/p>\n","protected":false},"author":4,"featured_media":3016,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[14,3],"tags":[],"software-environments":[105],"provided-results":[],"related-products":[31,32,92,166,51,110],"guidedreadings":[],"tutorials":[],"user-manuals":[136],"coauthors":[70],"class_list":["post-776","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-getting-started-cpp-sdk","category-help","software-environments-c-plus-plus","related-products-b-board-pro","related-products-b-box-rcp","related-products-b-box-micro","related-products-b-box-rcp-3-0","related-products-cpp-sdk","related-products-tpi","user-manuals-cpp-sdk"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Installation and use of the CPP SDK - imperix<\/title>\n<meta name=\"description\" content=\"This note describes the installation and utilisation of CPP Software Development Kit (SDK), using the dedicated Eclipse IDE.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installation and use of the CPP SDK - imperix\" \/>\n<meta property=\"og:description\" content=\"This note describes the installation and utilisation of CPP Software Development Kit (SDK), using the dedicated Eclipse IDE.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-26T12:39:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-12T09:35:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN146.png\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Beno\u00eet Steinmann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Beno\u00eet Steinmann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk\"},\"author\":{\"name\":\"Beno\u00eet Steinmann\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/a69a3bda75b05d0923cc76d7268cc94f\"},\"headline\":\"Installation and use of the CPP SDK\",\"datePublished\":\"2021-03-26T12:39:59+00:00\",\"dateModified\":\"2026-02-12T09:35:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk\"},\"wordCount\":813,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN146.png\",\"articleSection\":[\"Getting started with CPP SDK\",\"Product notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk\",\"name\":\"Installation and use of the CPP SDK - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN146.png\",\"datePublished\":\"2021-03-26T12:39:59+00:00\",\"dateModified\":\"2026-02-12T09:35:05+00:00\",\"description\":\"This note describes the installation and utilisation of CPP Software Development Kit (SDK), using the dedicated Eclipse IDE.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN146.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_PN146.png\",\"width\":450,\"height\":300,\"caption\":\"CPPSDK\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/getting-started-cpp-sdk\\\/installation-and-utilisation-of-cpp-sdk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/help\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Getting started with CPP SDK\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/help\\\/getting-started-cpp-sdk\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Installation and use of the CPP SDK\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"name\":\"imperix\",\"description\":\"power electronics\",\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imperix.com\\\/doc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\",\"name\":\"imperix\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"width\":350,\"height\":120,\"caption\":\"imperix\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/a69a3bda75b05d0923cc76d7268cc94f\",\"name\":\"Beno\u00eet Steinmann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g3b3f3d8e66019ebcb2848094940b98c0\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g\",\"caption\":\"Beno\u00eet Steinmann\"},\"description\":\"Benoit is an embedded systems expert and the leader of software and firmware developments at imperix. On the knowledge base, he is the author of numerous software reference documents.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/benoit-steinmann\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/steinmann\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Installation and use of the CPP SDK - imperix","description":"This note describes the installation and utilisation of CPP Software Development Kit (SDK), using the dedicated Eclipse IDE.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk","og_locale":"en_US","og_type":"article","og_title":"Installation and use of the CPP SDK - imperix","og_description":"This note describes the installation and utilisation of CPP Software Development Kit (SDK), using the dedicated Eclipse IDE.","og_url":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk","og_site_name":"imperix","article_published_time":"2021-03-26T12:39:59+00:00","article_modified_time":"2026-02-12T09:35:05+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN146.png","type":"image\/png"}],"author":"Beno\u00eet Steinmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Beno\u00eet Steinmann","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk"},"author":{"name":"Beno\u00eet Steinmann","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/a69a3bda75b05d0923cc76d7268cc94f"},"headline":"Installation and use of the CPP SDK","datePublished":"2021-03-26T12:39:59+00:00","dateModified":"2026-02-12T09:35:05+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk"},"wordCount":813,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN146.png","articleSection":["Getting started with CPP SDK","Product notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk","url":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk","name":"Installation and use of the CPP SDK - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN146.png","datePublished":"2021-03-26T12:39:59+00:00","dateModified":"2026-02-12T09:35:05+00:00","description":"This note describes the installation and utilisation of CPP Software Development Kit (SDK), using the dedicated Eclipse IDE.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN146.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_PN146.png","width":450,"height":300,"caption":"CPPSDK"},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/help\/getting-started-cpp-sdk\/installation-and-utilisation-of-cpp-sdk#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Product notes","item":"https:\/\/imperix.com\/doc\/category\/help"},{"@type":"ListItem","position":3,"name":"Getting started with CPP SDK","item":"https:\/\/imperix.com\/doc\/category\/help\/getting-started-cpp-sdk"},{"@type":"ListItem","position":4,"name":"Installation and use of the CPP SDK"}]},{"@type":"WebSite","@id":"https:\/\/imperix.com\/doc\/#website","url":"https:\/\/imperix.com\/doc\/","name":"imperix","description":"power electronics","publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imperix.com\/doc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imperix.com\/doc\/#organization","name":"imperix","url":"https:\/\/imperix.com\/doc\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","width":350,"height":120,"caption":"imperix"},"image":{"@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/a69a3bda75b05d0923cc76d7268cc94f","name":"Beno\u00eet Steinmann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g3b3f3d8e66019ebcb2848094940b98c0","url":"https:\/\/secure.gravatar.com\/avatar\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/22a9252907f853f91d07b143dfcc84f6ec0cc31f6b72408b503a7026eed5b109?s=96&d=mm&r=g","caption":"Beno\u00eet Steinmann"},"description":"Benoit is an embedded systems expert and the leader of software and firmware developments at imperix. On the knowledge base, he is the author of numerous software reference documents.","sameAs":["https:\/\/www.linkedin.com\/in\/benoit-steinmann\/"],"url":"https:\/\/imperix.com\/doc\/author\/steinmann"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=776"}],"version-history":[{"count":33,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/776\/revisions"}],"predecessor-version":[{"id":42795,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/776\/revisions\/42795"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/3016"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=776"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=776"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=776"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=776"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=776"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=776"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=776"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}