Difference between revisions of "Using ChibiStudio"

From uGFX Wiki
Jump to: navigation, search
(Using the uGFX repository with symlinks)
 
(93 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This documentation will cover the installation of ChibiStudio, ugfx and st-linkV2 for [http://www.mikroe.com/mikromedia/stm32-m4/ mikromedia STM32F4 board]. But, if you use another board/programmer it's should be working with some modifications. For the moment, ChibiStudio is only available for Windows. If you want to install it on Linux or OSX please refer to the official site of chibios.
+
This documentation will cover everything from downloading and installing ChibiStudio to getting your project run on actual hardware. In this tutorial we'll use a [http://www.mikroe.com/mikromedia/stm32-m4/ MikroMedia STM32-M4 board] but this guide can be used for just any platform as there will only be slight variations.
  
 +
Please note that ChibiStudio is part of the [http://chibios.org ChibiOS/RT project] and is in no way owned by the uGFX project.
  
 
== Installation ==
 
== Installation ==
 +
ChibiStudio is currently only available for Windows. There are however some ways to get ChibiStudio working on both Linux and Mac OS X. Please refer to the ChibiOS/RT documentation to learn how to do so. This guide will only cover using ChibiOS/RT on Windows.
  
=== ST-LinkV2===
+
The following prerequisites need to be downloaded and installed before ChibiStudio can be used:
 +
* Java runtime
 +
* Programmer / Debugger drivers (ST-Link in case of STM32)
 +
* ChibiStudio
 +
* uGFX
  
First of all, you need to install the Windows drivers for the programmer.
+
The following part of the documentation will cover downloading and installing each of those components.
  
Download the official [http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168?sc=internet/evalboard/product/251168.jsp STM32 ST-LINK utility ] form ST web site.  
+
=== Java ===
 +
ChibiStudio is an [http://eclipse.org Eclipse] based IDE and needs a Java runtime to run. <strong>Important: </strong> ChibiStudio is currently only available in a 32-Bit version and will require a 32-Bit Java runtime.
 +
 
 +
The Java runtime can be downloaded from the [http://www.oracle.com/technetwork/java/javase/downloads/index.html official Java website]. It runs well with the Java 8 runtime. In case of you haven't already a 32-Bit Java runtime installed please download and install the <strong>Java 8 JRE for Windows</strong>. You want to download the ''Windows x86 Offline'' version. Note that you have to accept the licensing terms on the top of that list before you can download the installation file.
 +
 
 +
[[File:Java_8_jre_download.png|500px]]
 +
 
 +
=== ST-Link V2===
 +
You will need a driver to communicate with your programmer/debugger (the thing that hooks up to your computer via USB). In case of STM32 this is called the ST-Link. You will to download and install the ST-Link Utility to use your programmer/debugger. This can be downloaded from the official ST website: [http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168?sc=internet/evalboard/product/251168.jsp ST-Link Utility website].  
  
 
[[File:St-linv2.png|500px]]
 
[[File:St-linv2.png|500px]]
  
 +
After you have clicked the ''Part Number'' link you will be forwarded to a new site. There you can click the ''Download'' button to download the file.
  
At the end of the installation, a wizard will as you to install the drivers (may be twice). Please install it or you won't be able to transfer a program on the board.
+
[[File:St-linv2-down.png|600px]]
  
=== ChibiStudio ===
+
Extract the archive and install the program like any regular Windows software.
  
Please download the last version of ChibiStudio with the link here : [http://sourceforge.net/projects/chibios/files/ChibiStudio/ ChibiStudio]
+
At the end of the installation, a wizard will ask you to install the drivers. It is ''important'' to install the drivers as you won't be able to communicate with the device otherwise.
 +
 
 +
At this point it is a good idea (and might be even required) to reboot your computer. After reboot, connect your ST-LinkV2 to the computer using the USB cable. Windows will present a notification in the task bar when the installation of the new driver was successful.
 +
 
 +
[[File:new-hard.png|300px]]
 +
 
 +
=== ChibiStudio ===
 +
The latest version of the ChibiStudio can be downloaded here: [http://sourceforge.net/projects/chibios/files/ChibiStudio/ ChibiStudio].In this tutorial we used ''ChibiStudio Preview 11''. However, you're encouraged to download the latest available version.
  
 
[[File:chibistudio.png|500px]]
 
[[File:chibistudio.png|500px]]
''For this documentation, we have use the version : ChibiStudio_Preview11.7z''
 
  
 +
ChibiStudio comes in a 7z archive that can just be extracted and requires no installation at all. In case of you don't have appropriate software to extract a 7z archive you may install the official freeware [http://www.7-zip.org/ 7-zip]. Once extracted you '''need''' to move the directory to ''C:\'' so that you get the resulting path ''C:\ChibiStudio''. This is critical as this path is hardcoded into the ChibiStudio startup file and it won't be able to compile anything when it's in a different location.
  
The package is a self-extracted folder that will contain all you need in one folder. Be careful, you need '''absolutely''' to extract the file into the root of you C drive.  
+
[[File:chibiasroot.png|100px]]
  
[[File:extractionChibiStudio.png|500px]]
+
=== uGFX ===
 +
As described in [[Getting_Started|this guide]] uGFX can either be downloaded as a stable release or as the git repository. Please note that it's strongly recommended to use the git repository in order to get the latest bug fixes, features and improvements.
  
Then after the extraction you need to have a folder like :
+
==== Stable release ====
 +
uGFX can be downloaded as a stable release ZIP archive from the [http://ugfx.org/download official download website]. After extracting the archive place the uGFX directory in ''C:\ChibiStudio'' so you'll end up with the path ''C:\ChibiStudio\ugfx''.
  
''c:\chibistudio''
+
==== Git repository ====
 +
Using the git repository allows to always retrieve the latest bug fixes, features and performance improvements. The uGFX git repository is located at [https://bitbucket.org/Tectu/ugfx/ BitBucket].
  
[[File:chibiasroot.png|100px]]
+
Place the repository under ''C:\ChibiStudio'' so you'll end up with the path ''C:\ChibiStudio\ugfx''.
 +
 
 +
[[File:chibifolder.png|200px]]
 +
 
 +
Congratulations, you have finished installing everything needed to start developing your first project using ChibiOS/RT and uGFX!
 +
 
 +
== Creating a project ==
 +
 
 +
=== First start of Chibistudio ===
 +
ChibiStudio needs to be started by clicking the ChibiStudio shortcut under ''C:\ChibiStudio''. Note that it is important to use this shortcut as it sets up some important environment settings.
 +
 
 +
[[File:shortcut-chibi.png|100px]]
 +
 
 +
You can copy the shorcut to your desktop or add it to your start menu. When double clicking the shortcut to start the ChibiStudio you might be presented with a warning:
 +
 
 +
[[File:run-warning.png|200px]]
 +
 
 +
Uncheck ''Always ask before opening this file'' as we know that this program comes from a trustworthy source and click the ''Run'' button.
 +
 
 +
if you haven't installed a proper 32-Bit Java runtime you will be presented with the following error:
 +
 
 +
[[File:no-java.png|300px]]
 +
 
 +
Please refer to the [[Using_ChibiStudio#Java|installation section]] to learn how to install Java to run ChibiStudio.
 +
 
 +
[[File:chibi-IDE.png|300px]]
 +
 
 +
=== Create the first demo project ===
 +
==== Getting the files right ====
 +
Close the welcome screen (pressing the 'x' in the tab). ChibiStudio is shipped with two workspaces: One for ChibiOS/RT 3.x and one for ChibiOS/RT 2.x. We'll use ChibiOS/RT 2.x in this tutorial because 3.x wasn't quite ready when this guide was written. To switch to the ChibiOS/RT 2.x workspace, use ''File -> Switch Workspace -> c:\chibistudio\workspace26''.
 +
 
 +
[[File:switchworkspace.png|300px]]
 +
 
 +
The easiest way to start a new project is by copying an example demo project. You can copy any of the demos that you'll find in the project explorer. In this tutorial we'll copy the demo project ''STM32F4xx-GPT''. A project needs to be opened before it can be copied. A double-click on the project will open it. Next, right-click on the folder icon of the project and select ''Copy''. Then, right-click on the same icon and select ''Paste''. A new window will appear giving you the ability to rename the project. Please note that the project name '''must not''' contain any spaces.
 +
 
 +
The next step is to add the required uGFX files to create a working project. The following files need to be placed into the projects directory:
 +
* Display board file
 +
* Touchscreen board file (if touchscreen is being used)
 +
* Configuration file (gfxconf.h)
 +
 
 +
In this tutorial we're using the Mikromedia STM32-M4 board. This board is already supported by uGFX and therefore all the required files are linked internally. The only thing required to copy are the configuration files ChibiOS/RT. For this, copy all file from ''C:\ChibiStudio\ugfx\boards\base\Mikromedia-STM32-M4-ILI9341\example_chibios_2.x'' to your project directory. Replace any existing files.
 +
 
 +
First we will try to run one of the built-in demos of uGFX. To do this you will need to delete the main.c as the built-in demo link a main.c file internally.
 +
 
 +
The following files and folder should be located inside of the project directory:
 +
* .build
 +
* .cproject
 +
* .project
 +
* chconf.h
 +
* halconf.h
 +
* Makefile
 +
* mcuconf.h
 +
* openocd.cfg
 +
 
 +
==== Modifying the Makefile ====
 +
Next, we need to modify the Makefile slightly. We have to specify the path to both ChibiOS/RT and uGFX. We modify the both variables accordingly:
 +
<syntaxhighlight lang=make>
 +
GFXLIB = ../../ugfx
 +
CHIBIOS = ../../chibios
 +
</syntaxhighlight>
 +
 
 +
We're already done. We can now build any of the available uGFX demos (those which can be found under ''/ugfx/demos/'') by specifying the demo path in the Makefile (settings the '''GFXDEMO''' variable):
 +
That the end. You can try to compile a demo. This will compile the gdisp basics demo as the line says :
 +
<syntaxhighlight lang=make>
 +
GFXDEMO = modules/gdisp/basics
 +
</syntaxhighlight>
 +
 
 +
Note that certain demos (such as tetris) require to link the math library. Linking the math library is archived by adding '''-lm''' to the '''LDFLAGS''' variable:
 +
<syntaxhighlight lang=make>
 +
GFXDEMO = applications/tetris
 +
LDFLAGS        = -lm
 +
</syntaxhighlight>
 +
 
 +
==== Adding the uGFX source directory ====
 +
The next step is to add the uGFX folder to the project. To do this, right-click on the project folder, select ''New -> Folder''.
 +
 
 +
[[File:new-folder.png|500px]]
 +
 
 +
In the dialog, click the ''Advanced >>'' button, select ''Link to alternate location (Linked Folder)'' and select the uGFX directory. Then click ''Finish''.
 +
 
 +
[[File:new-folder-link.png|500px]]
 +
 
 +
=== Compiling ===
 +
Compiling a project is done by clicking the hammer icon in the toolbar.
 +
 
 +
[[File:compile.png|80px]]
 +
 
 +
In case of you're getting any errors (the ''Problems'' tab in the bottom panel) you most likely haven't saved your files. If you hit any other problem please create a new thread in the [http://forum.ugfx.org uGFX community forum]. Please provide sufficient information and we will be happy to help you where we can.
 +
 
 +
[[File:compile-error.png|600px]]
 +
 
 +
Note that trying a different demo by changing the '''GFXDEMO''' variable in the Makefile requires cleaning the project first by clicking ''Project -> Clean''.
 +
 
 +
=== Final configuration of your project ===
 +
Before you can download your compiled project to the board you need to do two more things:
 +
* Change the board files (Only required for boards not supported by ChibiOS/RT)
 +
* Configuring OpenOCD
 +
 
 +
==== Changing the board files ====
 +
ChibiOS/RT requires board files. These board files set up the I/O pins of your microcontroller and do various other stuff. We need to tell ChibiStudio which board files need to be used.
 +
 
 +
To specify which ChibiOS/RT board files should be used right-click on the ''board'' directory in the project file tree and click on ''Properties''.
 +
 
 +
[[File:folder-change.png|200px]]
 +
 
 +
In the ''Resource'' tab click the ''Edit..'' button next to the ''Location'' label.
 +
 
 +
[[File:edit-properties.png|500px]]
 +
 
 +
Select the path which contains the ChibiOS/RT board files. In this tutorial we're using the Mikromedia STM32-M4 board. This board is not supported by ChibiOS/RT. However, uGFX provides the required ChibiOS/RT board files. In our case the path is: ''C:\ChibiStudio\ugfx\boards\base\Mikromedia-STM32-M4-ILI9341''
 +
 
 +
=== Configuring OpenOCD ===
 +
Next we will create a configuration for OpenOCD. OpenOCD is the piece of software that talks to your programmer (ST-Link in your case). To configure OpenOCD, click ''External Tools configuration...''.
 +
 
 +
[[File:openocd-config.png|300px]]
 +
 
 +
Copy the ''OpenOCD on ST-Link V2-1 (prompts for .cfg target configuration)'' configuration.
 +
 
 +
[[File:openocd-copy.png|300px]]
 +
 
 +
Change the name to something appropriate for your setup. In our case: ''OpenOCD for Mikromedia STM32''. Modify the argument option like: ''-c "telnet_port 4444" -f "interface/stlink-v2.cfg" -f "board/stm32f4discovery.cfg"''. If you're using a different hardware setup please modify the ''interface'' and ''board'' parameters accordingly.
 +
 
 +
[[File:Openocd-newconfig22.png|300px]]
 +
 
 +
Click ''Apply'' and ''Close''.
 +
 
 +
=== Configuring debugger ===
 +
The last thing left to do is configuring the debugger (GDB). To do this, click ''Debug configurations...''
 +
 
 +
[[File:debug-window.png|300px]]
 +
 
 +
Copy an existing debug profile that is appropriate for your platform. We pick the ''ARMCM4-STM32F407-DISCOVERY'' in our case.
 +
 
 +
[[File:copy-debug.png|500px]]
 +
 
 +
Rename the project to ''MikroMedia-demo debug'' and change the project to MikroMedia-demo.
 +
 
 +
[[File:config-gdb-project.png|600px]]
 +
 
 +
Click ''Apply'' and ''Close''.
 +
 
 +
== Run the project ==
 +
Now it's time to actually compile and flash the project to the board. The follow steps are performed to run the code on the target:
 +
# Compile
 +
# Start OpenOCD
 +
# Start Debugger
 +
# Run
 +
 
 +
=== Compile ===
 +
Make sure that your project compiled without any errors.
  
=== ugfx ===
+
=== Start OpenOCD ===
 +
Start OpenOCD by clicking the little arrow next to the green icon with the red chest, pick the profile which you created earlier. If you're successful, you should be presented with various information of your target in the output panel at the bottom:
  
For the installation of ugfx, please not that it's strangely recommended to use the [https://bitbucket.org/Tectu/ugfx/ git repository]. If you have already git installed, download it like this :
+
[[File:run-openocd.png|300px]]
  
* start a git command prompt
+
=== Start Debugger ===
* c:
+
When you start the debugger the first time you will be presented with an error window telling you that ChibiStudio can't find the ''*.elf'' file.
* cd chibistudio
+
* git clone https://bitbucket.org/Tectu/ugfx.git ugfx
+
  
But for this documentation, we will use this [http://ugfx.org/images/downloads/releases/ugfx_release_23_150516.zip direct link].
+
[[File:gdb-error.png|200px]]
  
Extract the content of the archive on the ''c:\chibbistudio''.
+
Open the ''Debug configurations..'' window again. Edit the profile which you created earlier (''MikroMedia-demo debug'' in our case) and modify the ''C/C++ Application'' path so it points to the ''*.elf'' generated in your project directory ''.build'' location: ''C:\ChibiStudio\workspace26\MikroMedia-demo\.build\MikroMedia-demo.elf'':
  
 +
[[File:gdb-realconfig.png|600px]]
  
 +
Click ''Apply'' and ''Debug''.
  
 +
If everything went smoothly the debugger should launch correctly and ChibiStudio should switch to the Debug perspective.
  
You need to extract the contain of the archive in chibistudio folder.  
+
[[File:debug-mode.png|600px]]
  
[[File:ugfxextract.png|500px]]
+
=== Run ===
 +
When the binary could successfully be flashed to the microcontroller, GDB stops the program at the beginning of the ''main()'' function. To run your program, click the ''Resume'' button:
  
Then after the extraction, you need to have a folder like :
+
[[File:resume.png|80px]]
  
''c:\chibistudio\ugfx_release_23_150516''
+
== Advanced tipps & tricks ==
 +
The following section contains a few tipps and tricks to further simplify working with uGFX and the ChibiStudio in general.
  
For best practice, and to be easier to remember, rename the folder ugfx. Then after the folder rename you should have :
+
=== Automatically save files before building ===
 +
With the default settings of ChibiStudio is is required so manually save files after modification. However, eclipse provides the option to automatically save all modified files when building the project. This feature can be enabled under ''Window -> Preferences -> General -> Workspace -> Save automatically before build''.
  
[[File:chibifolder.png|100px]]
+
=== Using the uGFX repository with symlinks ===
 +
In case of you're using the uGFX git repository instead of the stable release archive you might want to place the repository in a different location other than ''C:\ChibiStudio\ugfx''. However, you'd have to modify the path pointing to the uGFX root directory in the Makefile which might sometimes be inappropriate to do.
 +
This can be fixed by creating a shortcut from the actual location of the uGFX repository to ''C:\ChibiStudio''. However, sadly the shortcuts that you can create in the Windows file explorer are not becoming part of the file system and are therefore not visible to make. This issue can be fixed by creating a real hardlink in the file system. The process to do so has been described [http://embedded.pro/symlinks-hard-shortcuts-under-windows/ here].
  
== Configuration ==
+
[[Category:Guide]]

Latest revision as of 21:54, 7 November 2016

This documentation will cover everything from downloading and installing ChibiStudio to getting your project run on actual hardware. In this tutorial we'll use a MikroMedia STM32-M4 board but this guide can be used for just any platform as there will only be slight variations.

Please note that ChibiStudio is part of the ChibiOS/RT project and is in no way owned by the uGFX project.

Installation

ChibiStudio is currently only available for Windows. There are however some ways to get ChibiStudio working on both Linux and Mac OS X. Please refer to the ChibiOS/RT documentation to learn how to do so. This guide will only cover using ChibiOS/RT on Windows.

The following prerequisites need to be downloaded and installed before ChibiStudio can be used:

  • Java runtime
  • Programmer / Debugger drivers (ST-Link in case of STM32)
  • ChibiStudio
  • uGFX

The following part of the documentation will cover downloading and installing each of those components.

Java

ChibiStudio is an Eclipse based IDE and needs a Java runtime to run. Important: ChibiStudio is currently only available in a 32-Bit version and will require a 32-Bit Java runtime.

The Java runtime can be downloaded from the official Java website. It runs well with the Java 8 runtime. In case of you haven't already a 32-Bit Java runtime installed please download and install the Java 8 JRE for Windows. You want to download the Windows x86 Offline version. Note that you have to accept the licensing terms on the top of that list before you can download the installation file.

Java 8 jre download.png

ST-Link V2

You will need a driver to communicate with your programmer/debugger (the thing that hooks up to your computer via USB). In case of STM32 this is called the ST-Link. You will to download and install the ST-Link Utility to use your programmer/debugger. This can be downloaded from the official ST website: ST-Link Utility website.

St-linv2.png

After you have clicked the Part Number link you will be forwarded to a new site. There you can click the Download button to download the file.

St-linv2-down.png

Extract the archive and install the program like any regular Windows software.

At the end of the installation, a wizard will ask you to install the drivers. It is important to install the drivers as you won't be able to communicate with the device otherwise.

At this point it is a good idea (and might be even required) to reboot your computer. After reboot, connect your ST-LinkV2 to the computer using the USB cable. Windows will present a notification in the task bar when the installation of the new driver was successful.

New-hard.png

ChibiStudio

The latest version of the ChibiStudio can be downloaded here: ChibiStudio.In this tutorial we used ChibiStudio Preview 11. However, you're encouraged to download the latest available version.

Chibistudio.png

ChibiStudio comes in a 7z archive that can just be extracted and requires no installation at all. In case of you don't have appropriate software to extract a 7z archive you may install the official freeware 7-zip. Once extracted you need to move the directory to C:\ so that you get the resulting path C:\ChibiStudio. This is critical as this path is hardcoded into the ChibiStudio startup file and it won't be able to compile anything when it's in a different location.

Chibiasroot.png

uGFX

As described in this guide uGFX can either be downloaded as a stable release or as the git repository. Please note that it's strongly recommended to use the git repository in order to get the latest bug fixes, features and improvements.

Stable release

uGFX can be downloaded as a stable release ZIP archive from the official download website. After extracting the archive place the uGFX directory in C:\ChibiStudio so you'll end up with the path C:\ChibiStudio\ugfx.

Git repository

Using the git repository allows to always retrieve the latest bug fixes, features and performance improvements. The uGFX git repository is located at BitBucket.

Place the repository under C:\ChibiStudio so you'll end up with the path C:\ChibiStudio\ugfx.

Chibifolder.png

Congratulations, you have finished installing everything needed to start developing your first project using ChibiOS/RT and uGFX!

Creating a project

First start of Chibistudio

ChibiStudio needs to be started by clicking the ChibiStudio shortcut under C:\ChibiStudio. Note that it is important to use this shortcut as it sets up some important environment settings.

Shortcut-chibi.png

You can copy the shorcut to your desktop or add it to your start menu. When double clicking the shortcut to start the ChibiStudio you might be presented with a warning:

Run-warning.png

Uncheck Always ask before opening this file as we know that this program comes from a trustworthy source and click the Run button.

if you haven't installed a proper 32-Bit Java runtime you will be presented with the following error:

No-java.png

Please refer to the installation section to learn how to install Java to run ChibiStudio.

Chibi-IDE.png

Create the first demo project

Getting the files right

Close the welcome screen (pressing the 'x' in the tab). ChibiStudio is shipped with two workspaces: One for ChibiOS/RT 3.x and one for ChibiOS/RT 2.x. We'll use ChibiOS/RT 2.x in this tutorial because 3.x wasn't quite ready when this guide was written. To switch to the ChibiOS/RT 2.x workspace, use File -> Switch Workspace -> c:\chibistudio\workspace26.

Switchworkspace.png

The easiest way to start a new project is by copying an example demo project. You can copy any of the demos that you'll find in the project explorer. In this tutorial we'll copy the demo project STM32F4xx-GPT. A project needs to be opened before it can be copied. A double-click on the project will open it. Next, right-click on the folder icon of the project and select Copy. Then, right-click on the same icon and select Paste. A new window will appear giving you the ability to rename the project. Please note that the project name must not contain any spaces.

The next step is to add the required uGFX files to create a working project. The following files need to be placed into the projects directory:

  • Display board file
  • Touchscreen board file (if touchscreen is being used)
  • Configuration file (gfxconf.h)

In this tutorial we're using the Mikromedia STM32-M4 board. This board is already supported by uGFX and therefore all the required files are linked internally. The only thing required to copy are the configuration files ChibiOS/RT. For this, copy all file from C:\ChibiStudio\ugfx\boards\base\Mikromedia-STM32-M4-ILI9341\example_chibios_2.x to your project directory. Replace any existing files.

First we will try to run one of the built-in demos of uGFX. To do this you will need to delete the main.c as the built-in demo link a main.c file internally.

The following files and folder should be located inside of the project directory:

  • .build
  • .cproject
  • .project
  • chconf.h
  • halconf.h
  • Makefile
  • mcuconf.h
  • openocd.cfg

Modifying the Makefile

Next, we need to modify the Makefile slightly. We have to specify the path to both ChibiOS/RT and uGFX. We modify the both variables accordingly:

GFXLIB		= ../../ugfx
CHIBIOS		= ../../chibios

We're already done. We can now build any of the available uGFX demos (those which can be found under /ugfx/demos/) by specifying the demo path in the Makefile (settings the GFXDEMO variable): That the end. You can try to compile a demo. This will compile the gdisp basics demo as the line says :

GFXDEMO		= modules/gdisp/basics

Note that certain demos (such as tetris) require to link the math library. Linking the math library is archived by adding -lm to the LDFLAGS variable:

GFXDEMO		= applications/tetris
LDFLAGS         = -lm

Adding the uGFX source directory

The next step is to add the uGFX folder to the project. To do this, right-click on the project folder, select New -> Folder.

New-folder.png

In the dialog, click the Advanced >> button, select Link to alternate location (Linked Folder) and select the uGFX directory. Then click Finish.

New-folder-link.png

Compiling

Compiling a project is done by clicking the hammer icon in the toolbar.

Compile.png

In case of you're getting any errors (the Problems tab in the bottom panel) you most likely haven't saved your files. If you hit any other problem please create a new thread in the uGFX community forum. Please provide sufficient information and we will be happy to help you where we can.

Compile-error.png

Note that trying a different demo by changing the GFXDEMO variable in the Makefile requires cleaning the project first by clicking Project -> Clean.

Final configuration of your project

Before you can download your compiled project to the board you need to do two more things:

  • Change the board files (Only required for boards not supported by ChibiOS/RT)
  • Configuring OpenOCD

Changing the board files

ChibiOS/RT requires board files. These board files set up the I/O pins of your microcontroller and do various other stuff. We need to tell ChibiStudio which board files need to be used.

To specify which ChibiOS/RT board files should be used right-click on the board directory in the project file tree and click on Properties.

Folder-change.png

In the Resource tab click the Edit.. button next to the Location label.

Edit-properties.png

Select the path which contains the ChibiOS/RT board files. In this tutorial we're using the Mikromedia STM32-M4 board. This board is not supported by ChibiOS/RT. However, uGFX provides the required ChibiOS/RT board files. In our case the path is: C:\ChibiStudio\ugfx\boards\base\Mikromedia-STM32-M4-ILI9341

Configuring OpenOCD

Next we will create a configuration for OpenOCD. OpenOCD is the piece of software that talks to your programmer (ST-Link in your case). To configure OpenOCD, click External Tools configuration....

Openocd-config.png

Copy the OpenOCD on ST-Link V2-1 (prompts for .cfg target configuration) configuration.

Openocd-copy.png

Change the name to something appropriate for your setup. In our case: OpenOCD for Mikromedia STM32. Modify the argument option like: -c "telnet_port 4444" -f "interface/stlink-v2.cfg" -f "board/stm32f4discovery.cfg". If you're using a different hardware setup please modify the interface and board parameters accordingly.

Openocd-newconfig22.png

Click Apply and Close.

Configuring debugger

The last thing left to do is configuring the debugger (GDB). To do this, click Debug configurations...

Debug-window.png

Copy an existing debug profile that is appropriate for your platform. We pick the ARMCM4-STM32F407-DISCOVERY in our case.

Copy-debug.png

Rename the project to MikroMedia-demo debug and change the project to MikroMedia-demo.

Config-gdb-project.png

Click Apply and Close.

Run the project

Now it's time to actually compile and flash the project to the board. The follow steps are performed to run the code on the target:

  1. Compile
  2. Start OpenOCD
  3. Start Debugger
  4. Run

Compile

Make sure that your project compiled without any errors.

Start OpenOCD

Start OpenOCD by clicking the little arrow next to the green icon with the red chest, pick the profile which you created earlier. If you're successful, you should be presented with various information of your target in the output panel at the bottom:

Run-openocd.png

Start Debugger

When you start the debugger the first time you will be presented with an error window telling you that ChibiStudio can't find the *.elf file.

Gdb-error.png

Open the Debug configurations.. window again. Edit the profile which you created earlier (MikroMedia-demo debug in our case) and modify the C/C++ Application path so it points to the *.elf generated in your project directory .build location: C:\ChibiStudio\workspace26\MikroMedia-demo\.build\MikroMedia-demo.elf:

Gdb-realconfig.png

Click Apply and Debug.

If everything went smoothly the debugger should launch correctly and ChibiStudio should switch to the Debug perspective.

Debug-mode.png

Run

When the binary could successfully be flashed to the microcontroller, GDB stops the program at the beginning of the main() function. To run your program, click the Resume button:

Resume.png

Advanced tipps & tricks

The following section contains a few tipps and tricks to further simplify working with uGFX and the ChibiStudio in general.

Automatically save files before building

With the default settings of ChibiStudio is is required so manually save files after modification. However, eclipse provides the option to automatically save all modified files when building the project. This feature can be enabled under Window -> Preferences -> General -> Workspace -> Save automatically before build.

Using the uGFX repository with symlinks

In case of you're using the uGFX git repository instead of the stable release archive you might want to place the repository in a different location other than C:\ChibiStudio\ugfx. However, you'd have to modify the path pointing to the uGFX root directory in the Makefile which might sometimes be inappropriate to do. This can be fixed by creating a shortcut from the actual location of the uGFX repository to C:\ChibiStudio. However, sadly the shortcuts that you can create in the Windows file explorer are not becoming part of the file system and are therefore not visible to make. This issue can be fixed by creating a real hardlink in the file system. The process to do so has been described here.