{"id":6896,"date":"2020-05-01T21:48:05","date_gmt":"2020-05-01T19:48:05","guid":{"rendered":"https:\/\/playembedded.org\/?p=6896"},"modified":"2024-02-04T12:21:31","modified_gmt":"2024-02-04T11:21:31","slug":"assembling-chibistudio-from-scratch","status":"publish","type":"post","link":"https:\/\/playembedded.org\/blog\/assembling-chibistudio-from-scratch\/","title":{"rendered":"Assembling ChibiStudio from scratch"},"content":{"rendered":"<h2 class=\"wp-block-heading level_1\" id=\"1_About\">About<\/h2>\n\n\n\n<p>Recently I had to assemble ChibiStudio for Windows from scratch and I decided to write down a simple to-do list to be consistent over time. Looking back at the list, it was so detailed I start to think about an article to share this experience and enable everyone to assemble their own environment and maybe get feedback from experts out there and improve our process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading level_1\" id=\"2_Premise\">Premise<\/h2>\n\n\n\n<h3 class=\"wp-block-heading level_2\" id=\"3_The_need_for_an_IDE\">The need for an IDE<\/h3>\n\n\n\n<p>ChibiStudio was an idea by Giovanni (the creator of ChibiOS) to enable the community to easily ramp up with ChibiOS. It&rsquo;s basically an ensemble of free and open-source software and some custom configurations.<\/p>\n\n\n\n<p>When I had to take over this process I was pointed to the &ldquo;Elder Scroll&rdquo;, an article from the old wiki of chibios.org written in 2008 and later updated in 2012 but now discontinued. Even if aged, the article still provided some references.<\/p>\n\n\n\n<h3 class=\"wp-block-heading level_2\" id=\"4_The_path_constraint\">The path constraint<\/h3>\n\n\n\n<p>If you ever installed ChibiStudio on Windows, you will surely remember that you need to extract it having its root folder located at C:\\ChibiStudio. This constraint comes from some hard-coded configuration in the Eclipse file that cannot be modified programmatically: for some of them, you need to do some specific procedure from Eclipse&rsquo;s GUI.<\/p>\n\n\n\n<p>If you are going to create your own ChibiStudio setup, decide the location of your toolchain before starting the procedure because it would be complicated to relocate it afterward. from here and out we will refer to this location as [ChibiStudio root]<\/p>\n\n\n\n<p>A small side note, I actually created a semi-automatic mechanism that allows relocating your ChibiStudio setup but I will talk about that in another How-to.<\/p>\n\n\n\n<h2 class=\"wp-block-heading level_1\" id=\"5_Let_us_start\">Let us start<\/h2>\n\n\n\n<h3 class=\"wp-block-heading level_2\" id=\"6_Eclipse_installation\">Eclipse installation<\/h3>\n\n\n\n<p>ChibiStudio is built starting from <em>Eclipse IDE for Java Developers<\/em> and subsequently extended with the <em>C\/C++ Development Tools<\/em>. The Java version comes with some features that ChibiStudio uses to generate the board files. Picking up the version for C\/C++ Developers you need to install and configure more things.<\/p>\n\n\n\n<p>Nowadays Eclipse comes with an installer we strongly discourage it in this case because the setup is not portable. My suggestion is to pick up the package from <a href=\"https:\/\/www.eclipse.org\/downloads\/packages\/\">here<\/a>.<\/p>\n\n\n\n<p>Differently from the past Eclipse now includes directly Java. So now you just have to download <a rel=\"noreferrer noopener\" href=\"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/technology\/epp\/downloads\/release\/2022-12\/R\/eclipse-java-2022-12-R-win32-x86_64.zip\" target=\"_blank\">Eclipse IDE for Java Developers 2022-12-R<\/a> and extract it in the directory <em>[ChibiStudio root]\/eclipse<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading level_2\" id=\"7_Installing_Eclipse_additional_packages\">Installing Eclipse additional packages<\/h3>\n\n\n\n<p>Launch eclipse from <em>[ChibiStudio root]\/eclipse\/eclipse.exe<\/em>. At the first launch, he will ask about a workspace: it&rsquo;s time to prepare things for a later step: choose the folder of your final workspace and check &ldquo;Use this as the default and do not ask again&rdquo;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"619\" height=\"280\" src=\"https:\/\/playembedded.org\/wp-content\/uploads\/2023\/02\/Creating-a-new-workspace-PE.png\" alt=\"\" class=\"wp-image-8801\" srcset=\"https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2023\/02\/Creating-a-new-workspace-PE.png 619w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2023\/02\/Creating-a-new-workspace-PE-300x136.png 300w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2023\/02\/Creating-a-new-workspace-PE-150x68.png 150w\" sizes=\"auto, (max-width: 619px) 100vw, 619px\"><figcaption class=\"wp-element-caption\">Creating the workspace for the very first time<\/figcaption><\/figure>\n<\/div>\n\n\n<p>In my case, I am preparing the Workspace User that would be later finalized and duplicated to create all the additional workspaces released with ChibiStudio. The next step is to install all the required packages to Eclipse.<\/p>\n\n\n\n<p>Go in the dropdown menu <em>Help -&gt; Install new Software<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1013\" height=\"977\" src=\"https:\/\/playembedded.org\/wp-content\/uploads\/2023\/02\/Installing-new-packages-in-ChibiStudio-PE.png\" alt=\"\" class=\"wp-image-8802\" srcset=\"https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2023\/02\/Installing-new-packages-in-ChibiStudio-PE.png 1013w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2023\/02\/Installing-new-packages-in-ChibiStudio-PE-300x289.png 300w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2023\/02\/Installing-new-packages-in-ChibiStudio-PE-150x145.png 150w\" sizes=\"auto, (max-width: 1013px) 100vw, 1013px\"><figcaption class=\"wp-element-caption\">Installing new packages in ChibiStudio<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Select the repository associated with your release (in my case <em>2020-03 &ndash; http:\/\/download.eclipse.org\/releases\/2020-03<\/em>) and install the following packages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>General Purpose Tools -&gt; TM Terminal Serial Connector Extensions<\/em><\/li>\n\n\n\n<li><em>Mobile and Device Development -&gt; C\/C++ GDB Hardware Debugging<\/em><\/li>\n\n\n\n<li><em>Mobile and Device Development -&gt; C\/C++ Memory View Enhancements<\/em><\/li>\n\n\n\n<li><em>Programming Languages -&gt; C\/C++ Development Tools<\/em><\/li>\n\n\n\n<li><em>Web, XML, Java EE and OSGi Enterprise Development -&gt; Eclipse XML Editor and Tools<\/em><\/li>\n\n\n\n<li><em>Web, XML, Java EE and OSGi Enterprise Development -&gt; Eclipse XSL Developer Tools<\/em><\/li>\n<\/ul>\n\n\n\n<p>We now need to add some new repositories:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>ChibiStudio &ndash; http:\/\/chibios.org\/eclipse\/chibistudio_new<\/em><\/li>\n\n\n\n<li><em>EmbSysRegView &ndash; http:\/\/embsysregview.sourceforge.net\/update<\/em><\/li>\n\n\n\n<li><em>Freemarker &ndash; https:\/\/ddekany.github.io\/jbosstools-freemarker\/updates<\/em><\/li>\n\n\n\n<li><em>Plant UML &ndash; http:\/\/hallvard.github.io\/plantuml\/<\/em><\/li>\n<\/ul>\n\n\n\n<p>We now need to install some extra plugin<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>ChibiStudio Eclipse Compontents -&gt; ChibiOS Eclipse Tools from ChibiStudio<\/em><\/li>\n\n\n\n<li><em>embsysregview -&gt; Embedded System Register View (SFR) from EmbSysRegView<\/em><\/li>\n\n\n\n<li><em>embsysregview -&gt; EmbSysRegView Data from EmbSysRegView<\/em><\/li>\n\n\n\n<li><em>FreeMarkerIDE-&gt; FreeMarkerIDE<\/em><\/li>\n\n\n\n<li><em>FreeMarkerIDE -&gt; FreeMarkerIDE Source<\/em><\/li>\n\n\n\n<li><em>FreeMarkerIDE -&gt; JBoss Tools Freemarker Tests<\/em><\/li>\n\n\n\n<li><em>FreeMarkerIDE -&gt; JBoss Tools Freemarker Tests Developer Resources<\/em><\/li>\n\n\n\n<li><em>PlantUML Eclipse support -&gt; PlantUML Ecore Feature<\/em><\/li>\n\n\n\n<li><em>PlantUML Eclipse support -&gt; PlantUML Feature<\/em><\/li>\n<\/ul>\n\n\n\n<p>Finally, as we are using ChibiStudio to prepare even the ChibiOS Debug View plugin we use to install another plugin from <em>The Eclipse Project Updates<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Eclipse Plugin Development Tools -&gt; Eclipse Plug-in Development Environment<\/em><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading level_2\" id=\"8_Tools_preparation\">Tools preparation<\/h3>\n\n\n\n<p>The next step is to set up the tool folder. This folder is <em>[ChibiStudio root]\/tools<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading level_3\" id=\"9_Adding_GCC_for_ARM\">Adding GCC for ARM<\/h4>\n\n\n\n<p><span style=\"font-size: 1em;\">We usually add the latest version and the previous version of GCC for ARM from <a rel=\"noreferrer noopener\" href=\"https:\/\/developer.arm.com\/downloads\/-\/arm-gnu-toolchain-downloads\" data-type=\"URL\" data-id=\"https:\/\/developer.arm.com\/downloads\/-\/arm-gnu-toolchain-downloads\" target=\"_blank\">here<\/a> under the folder <em>[ChibiStudio root]\/tools\/GNU Tools ARM Embedded\/<\/em><\/span><em>[version]<\/em>. For example, while building ChibiStudio 2023-02, I added <code>10.3 2021.10<\/code> and <code>11.3 2022.08<\/code><\/p>\n\n\n\n<p>The reason for the second compiler is that in the past, it happened that the latest version of GCC suffered some bugs for some specific architecture. So we usually prefer to bring in, together with the latest version, also the version we largely used in the previous release of ChibiStudio.<\/p>\n\n\n\n<p>For every version of GCC you need to do a small edit: copy <em>.\\bin\\arm-none-eabi-gcc-x.x.x.exe<\/em> as <em>.\\arm-none-eabi\\bin\\gcc.exe<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading level_3\" id=\"10_Adding_msys2\">Adding msys2<\/h4>\n\n\n\n<p>This could be tricky because there is no simple way to list all the msys2 programs that you need and it is definitely overkill to dump the entire msys2 in ChibiStudio. I have a list of tools and related dependencies you do need for ChibiStudio that you can copy directly from your msys2.<\/p>\n\n\n\n<p>The root folder is <span style=\"font-size: 1em;\"><em>[ChibiStudio root]\/tools\/msys2\/<\/em>. Here you do need to create two folders <em>usr<\/em> and <em>tmp. <\/em>Finally, this is the list of tools I added to the <\/span>latest version of ChibiStudio in <span style=\"font-size: 1em;\"><em>[ChibiStudio root]\/tools\/msys2\/usr\/bin.<\/em><\/span><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">17.08.2021  15:32           632.832 awk.exe\n17.08.2021  15:32            33.859 basename.exe\n17.08.2021  15:32         2.201.842 bash.exe\n17.08.2021  15:32            37.695 cat.exe\n17.08.2021  15:32           111.647 cp.exe\n17.08.2021  15:32            32.782 dirname.exe\n17.08.2021  15:32            34.731 echo.exe\n17.08.2021  15:32                28 egrep\n17.08.2021  15:32                28 fgrep\n17.08.2021  15:32           287.353 find.exe\n17.08.2021  15:32           209.682 grep.exe\n17.08.2021  15:32           201.124 make.exe\n17.08.2021  15:32            69.421 mkdir.exe\n02.07.2021  10:25         3.609.331 msys-2.0.dll\n12.04.2021  23:29            40.313 msys-crypt-0.dll\n26.10.2020  15:25            72.966 msys-gcc_s-seh-1.dll\n20.12.2020  17:37           581.162 msys-gmp-10.dll\n08.09.2020  18:20         1.023.499 msys-iconv-2.dll\n31.05.2017  12:56            43.904 msys-intl-8.dll\n17.07.2020  08:46         2.717.824 msys-mpfr-6.dll\n17.02.2020  08:44           310.530 msys-ncursesw6.dll\n18.06.2021  22:00           286.198 msys-pcre-1.dll\n23.03.2021  00:23         3.390.663 msys-perl5_32.dll\n25.07.2021  23:10           263.878 msys-readline8.dll\n17.08.2021  15:32           117.888 mv.exe\n17.08.2021  15:32            14.391 perl.exe\n17.08.2021  15:32            62.343 rm.exe\n17.08.2021  15:32            59.687 rmdir.exe\n17.08.2021  15:32           169.392 sed.exe\n17.08.2021  15:32         2.201.842 sh.exe\n17.08.2021  15:32            34.467 sleep.exe\n17.08.2021  15:32            38.316 tee.exe\n17.08.2021  15:32           104.903 touch.exe\n17.08.2021  15:32            33.828 uname.exe<\/pre>\n\n\n\n<h4 class=\"wp-block-heading level_3\" id=\"11_Adding_the_OpenOCD\">Adding the OpenOCD<\/h4>\n\n\n\n<p>Download the latest version of OpenOCD that I periodically build from <a href=\"https:\/\/playembedded.org\/download\/\">the download page of this website<\/a> or eventually build your own by looking at&nbsp;<a href=\"https:\/\/playembedded.org\/building-openocd-under-windows-using-msys2\/\">Building OpenOCD under Windows using MSYS2<\/a>.<\/p>\n\n\n\n<p>Add OpenOCD under <span style=\"font-size: 1em;\"><em>[ChibiStudio root]\/tools\/openocd <\/em>checking that<em> openocd.exe<\/em> is located at <em>[ChibiStudio root]\/tools\/openocd\/bin\/openocd.exe<\/em><\/span><\/p>\n\n\n\n<h4 class=\"wp-block-heading level_3\" id=\"12_Adding_ChibiStudio_tools\">Adding ChibiStudio tools<\/h4>\n\n\n\n<p>We now need to add some additional tools for ChibiStudio in <span style=\"font-size: 1em;\"><em>[ChibiStudio root]\/tools\/chibistudio\/<\/em><\/span>. We have to add basically  only the folder<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">https:\/\/sourceforge.net\/p\/chibios\/code\/HEAD\/tree\/branches\/chibistudio_trunk\/tools\/makelaunch\/<\/pre>\n\n\n\n<h4 class=\"wp-block-heading level_3\" id=\"13_Adding_ChibiOS\">Adding ChibiOS<\/h4>\n\n\n\n<p>Add the latest stable version of ChibiOS. You can download it from <a rel=\"noreferrer noopener\" href=\"https:\/\/sourceforge.net\/projects\/chibios\/files\/ChibiOS%20Releases\/\" target=\"_blank\">the ChibiOS official release page on Sourceforge<\/a> or directly check out from the SVN repository. There is a stable branch for each release. For example, the branch of ChibiOS 21.11.x is at <\/p>\n\n\n\n<p><em>https:\/\/svn.code.sf.net\/p\/chibios\/code\/branches\/stable_21.11.x.<\/em><\/p>\n\n\n\n<p>We usually add the latest stable releases (the zip file instead of the SVN repo) and the latest snapshot of the trunk from <em>https:\/\/svn.code.sf.net\/p\/chibios\/code\/trunk.<\/em> <span style=\"font-size: 1em;\">For every ChibiOS release added we create an additional workspace.<\/span><\/p>\n\n\n\n<p>For example, ChibiStudio 2022-02 comes with<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ChibiOS 20.3.4 &ldquo;Conca&rdquo;<\/li>\n\n\n\n<li>ChibiOS 21.11.3 &ldquo;Montepertuso&rdquo;<\/li>\n\n\n\n<li>ChibiOS trunk r16117<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading level_3\" id=\"14_Creating_the_launchers\">Creating the launchers<\/h4>\n\n\n\n<p>For every GCC version, we need to create a launcher. The launcher is a batch file that temporarily sets some variable<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@echo off\nset CHIBISTUDIO=%~dp0\nset FMPP=%CHIBISTUDIO%\\tools\\fmpp\\bin\\fmpp.bat\nset BASH=%CHIBISTUDIO%\\tools\\msys2\\usr\\bin\\bash.exe\nset OPENOCD=%CHIBISTUDIO%\\tools\\openocd\\bin\\openocd.exe\nset JLINK=%PROGRAMFILES(X86)%\\SEGGER\\JLink\\JLinkGDBServerCL.exe\nset PATH=%CHIBISTUDIO%\\tools\\msys2\\usr\\bin;%PATH%\nset PATH=%CHIBISTUDIO%\\tools\\openocd\\bin;%PATH%\nset PATH=%CHIBISTUDIO%\\tools\\GNU Tools ARM Embedded\\11.3 2022.08\\arm-none-eabi\\bin;%PATH%\nset PATH=%CHIBISTUDIO%\\tools\\GNU Tools ARM Embedded\\11.3 2022.08\\bin;%PATH%\ncd eclipse\nstart eclipse.exe<\/pre>\n\n\n\n<h4 class=\"wp-block-heading level_3\" id=\"15_Configuring_the_first_Workspace\">Configuring the first Workspace<\/h4>\n\n\n\n<p>The next step is about configuring our workspace and testing our setup. Let us launch ChibiStudio through the launcher. This will configure the environment variables and make the IDE ready to perform the basic operations. Note that all the configurations we are going to apply in the next steps will be stored in the metadata of the workspace.<\/p>\n\n\n\n<p>Here are the things to do<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>add the perspectives C and Debug <\/li>\n\n\n\n<li>close the perspective Java<\/li>\n\n\n\n<li>disable all the <em><strong>Code Analysis<\/strong><\/em> options in <em><strong>Preferences &gt; C\/C++ &gt; Code Analysis<\/strong><\/em><\/li>\n\n\n\n<li>import the <a href=\"https:\/\/playembedded.org\/wp-content\/uploads\/2021\/07\/chibios_style.zip\">ChibiOS Style XML<\/a> in <strong><em>Preferences &gt; C\/C++ &gt; Code Style &gt; Formatter<\/em><\/strong><\/li>\n\n\n\n<li>in the C\/C++ perspective\n<ul class=\"wp-block-list\">\n<li><span style=\"font-size: 1em;\">Change the view of <em><strong>Project Explorer<\/strong><\/em> from hierarchical to flat in the <strong><em>three-dot menu &gt; Projects Presentation &gt; Flat<\/em><\/strong><\/span><\/li>\n\n\n\n<li>Add <strong><em>PlantUML <\/em><\/strong>at the bottom<\/li>\n\n\n\n<li>Save the perspective as&nbsp; &ldquo;C\/C++&rdquo; replacing the existing one (<em><strong>Windows &gt; Perspective &gt; Save as<\/strong><\/em>)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>in the debug perspective\n<ul class=\"wp-block-list\">\n<li>close the<em><strong> Project Explorer<\/strong><\/em><\/li>\n\n\n\n<li>move the <em><strong>Debug<\/strong><\/em> window on top of the <em><strong>Editor<\/strong><\/em><\/li>\n\n\n\n<li>close the <em><strong>Debug Shell<\/strong><\/em><\/li>\n\n\n\n<li>from <em><strong>Windows &gt; Show View<\/strong><\/em> open <em><strong>Registers, Memory, Disassembly, Terminal, EmbSysReg<\/strong><\/em> (under <em><strong>Other &gt; Debug<\/strong><\/em>) and <em><strong>ChibiOS Debug View<\/strong><\/em> (under <strong><em>Other &gt; ChibiOS\\RT<\/em><\/strong>)<\/li>\n\n\n\n<li>move Registers in the top left window<\/li>\n\n\n\n<li>move Disassembly in the top left window splitting it horizontally<\/li>\n\n\n\n<li>save the perspective as &ldquo;Debug&rdquo; replacing the existing one<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Set C\/C++ perspective as the default in <em><strong>Preferences &gt; General &gt; Perspectives<\/strong><\/em><\/li>\n\n\n\n<li>In <em><strong>Preferences &gt; General &gt; Workspace <\/strong><\/em>check the box <em><strong>Refresh using native hooks or polling<\/strong><\/em><\/li>\n\n\n\n<li>In <em><strong>Preferences &gt; General &gt; Workspace<\/strong><\/em> you need to add two <em><strong>linked resource<\/strong><\/em>\n<ul class=\"wp-block-list\">\n<li><strong><em>CHIBIOS&nbsp;<\/em> <\/strong>pointing to the release in use (e.g. <em>C:\\ChibiStudio\\chibios203<\/em>)<\/li>\n\n\n\n<li><strong><em>CHIBISTUDIO<\/em> <\/strong>pointing to you installation root (e.g. <em>C:\\ChibiStudio<\/em>)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>In <em><strong>Preferences &gt; General &gt; Workspace<\/strong><\/em> choose  <strong>Report missing project encoding as: Ignore<\/strong><\/li>\n\n\n\n<li>In <em><strong>Preferences &gt; C\/C++ &gt; Editor<\/strong><\/em>&nbsp;uncheck&nbsp;<strong><em>Report problems as you type<\/em><\/strong>.<\/li>\n\n\n\n<li>Import the demos you need from the ChibiOS release you intend to use within this workspace (they are under <em>[chibios]\/demos<\/em>, <em>[chibios]\/testhal<\/em> and <em>[chibios]\/testex<\/em>)<\/li>\n\n\n\n<li>Import ChibiOS tools that are located in under <em>[chibios]\/tools<\/em><\/li>\n<\/ul>\n\n\n\n<p>At this point, your setup should be ready to go. But we typically use to perform some optional additional operations<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We change the name of the workspace with the name of the current ChibiStudio version and the version of ChibiOS in use. This in <strong><em>Preferences &gt; General &gt; Workspac<\/em><\/strong><em><strong>e<\/strong><\/em>:\n<ul class=\"wp-block-list\">\n<li>Enable Show Name (e.g. &ldquo;ChibiStudio 2023-02 &ndash; ChibiOS 21.11.x&rdquo;)<\/li>\n\n\n\n<li>Enable Show full workspace path<\/li>\n\n\n\n<li>Disable Show Product Name<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Copy the Documents Project from an old workspace<\/li>\n\n\n\n<li>Copy and update the readme (C:\/ChibiStudio\/readme.txt)<\/li>\n\n\n\n<li>Import Documents<\/li>\n<\/ul>\n\n\n\n<p>After testing the first workspace we also duplicate it for every release we have in ChibiStudio. Usually, we create the Workspace User first as it is the more generic and then we duplicate it 3 times (e.g. workspace216, workspace203, workspace_trunk)<br>For each workspace:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>import the demos from the right release<\/li>\n\n\n\n<li>update the linked resources changing CHIBIOS<\/li>\n\n\n\n<li>Update the name indicating the release of ChibiOS in use<\/li>\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>About Recently I had to assemble ChibiStudio for Windows from scratch and I decided to write down a simple to-do list to be consistent over time. Looking back at the list, it was so detailed I start to think about an article to share this experience and enable everyone to assemble their own environment and [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":9845,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1290],"tags":[1302],"coauthors":[241],"class_list":["post-6896","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-custom-toolchain-assembly","tag-toolchain","cobalt"],"views":9858,"jetpack_featured_media_url":"https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2020\/05\/Assembling-ChibiStudio-from-scratch-PE.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/posts\/6896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/comments?post=6896"}],"version-history":[{"count":0,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/posts\/6896\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/media\/9845"}],"wp:attachment":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/media?parent=6896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/categories?post=6896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/tags?post=6896"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/coauthors?post=6896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}