-
Notifications
You must be signed in to change notification settings - Fork 14
Getting Started with HydraBus and STM32CubeIDE
The aim of this page is to explain How to Build / Flash and Debug HydraBus firmware with STM32CubeIDE on Windows & Linux.
- HydraBus v1
- HydraNFC Shield v2
- STLINK-V3SET (Programmer/Debugger)
- 10x high quality Dupont Wire 2.54mm female to female with min length 8cm (do not exceed 10cm if possible especially to reach maximum speed with SWD 24MHz...)
- Only 9x "Dupont Wire 2.54mm female to female" are required but it is always better to have more/spare ...


- Download and install STM32CubeIDE v1.4 or more for Linux or Windows
- Note1: STM32CubeIDE is free but it requires a registration on ST website to download it
- Note2: All steps in this page have been validated with STM32CubeIDE v1.4.0 and using firmware https://github.com/hydrabus/hydrafw_hydranfc_shield_v2/commit/4638274402310b327aa2df5df8ccb05e2bc68964
- Note3: All steps in this page have been validated with STM32CubeIDE v1.9.0 and using firmware https://github.com/hydrabus/hydrafw_hydranfc_shield_v2/commit/7457e1092a16faa43949f7b7410b6145f96b4785
- Install git from http://msysgit.github.io
- Install Python 3.x see https://www.python.org/downloads/windows
- Default Install Example:
C:\Python3\ - Add in environment variable
PATHthe path to Default Install:C:\Python3\ - Open a Command Prompt window (
cmd.exe) and type following commands:
git clone https://github.com/hydrabus/hydrafw_hydranfc_shield_v2.git hydrafw_hydranfc_shield_v2 --recursive
cd hydrafw_hydranfc_shield_v2/
cd ./scripts
python get-pip.py
python -m pip install GitPython --upgrade
python -m pip install intelhex --upgrade
Note: For get-pip.py if you need a proxy for internet access set following variables before to launch python get-pip.py:
set http_proxy=http://proxy.myproxy.com
set https_proxy=https://proxy.myproxy.com
cd ~
sudo apt-get install git dfu-util python putty
git clone https://github.com/hydrabus/hydrafw_hydranfc_shield_v2.git hydrafw_hydranfc_shield_v2 --recursive
cd ~/hydrafw_hydranfc_shield_v2
cd ./scripts
sudo python get-pip.py
sudo python -m pip install GitPython --upgrade
sudo python -m pip install intelhex --allow-external intelhex --allow-unverified intelhex
cd ..
- For Debian / Ubuntu on 64bits/amd64 system see https://wiki.debian.org/Multiarch/HOWTO in order to enable multi architecture for i386 support.
- When multiarch is enabled you shall also install libc6-i686:i386 (Debian) or libc6:i386 (Ubuntu)
Note: For get-pip.py if you need a proxy for internet access set following variables before to launch python get-pip.py:
export http_proxy=http://proxy.myproxy.com
export https_proxy=https://proxy.myproxy.com
sudo -E python get-pip.py

- Select menu
File -> Import...-
Select
General -> Existing Projects into Workspace -
Click on
Next
-
Click on
Deselet All -
Select only
hydrafw_hydranfc_shield_v2project -
Click on
Finish
-
- Select
hydrafw_hydranfc_shield_v2project (click on project with right mouse button)-
A contextual menu appears, select
Clean Project
-
Clean shall display in Console
Build Finished. 0 errors, 0 warnings.
-
-
To Enable Debug build (with symbols) you shall change Makefile
- export HYDRAFW_DEBUG ?= 0 to export HYDRAFW_DEBUG ?= 1
- export HYDRAFW_DEBUG ?= 0 to export HYDRAFW_DEBUG ?= 1
-
Select
hydrafw_hydranfc_shield_v2project (click on project with right mouse button)- A contextual menu appears, select
Build Project - Build shall display in Console
Build Finished. 0 errors
- A contextual menu appears, select
- Select
hydrafw_hydranfc_shield_v2project (click on project with right mouse button)- A contextual menu appears, select
Debug As -> Debug Configurations...
- Debug Configuration view appears, double click on
STM32 Cortex-M C/C++ Application- The entry
hydrafw_hydranfc_shield_v2 Debugis automatically created
- The entry
- A contextual menu appears, select
- Select
DebuggerTab and configure it like in picture- When all is configured click on
Debugbutton
- When all is configured click on
- Debug session is started and program is stopped in start of main() code (you can click on
Resume (F8)to resume execution of code)
- Select menu
Window -> Show View -> SVWto add all different Serial Wire Viewer features
- Add
SWV TraceLog,SWV ITM Data ConsoleandSWV Data Trace Timeline Graph - Then select
SWV TraceLogand click onConfigure traceicon to configure SWV
- Interesting things to configure are mainly to enable
TimestampsandITM Sitmulus Ports 0(for SWO/SWV ITM Data Console especially for debug trace and crash/exception details)
- Then click on
OKbutton - Last step is to start the Trace(using Serial Wire Viewer settings) by clicking on
Start Tracebutton and finally click onResume (F8)button to see the trace and data in live
- Add
We can see in real-time the different trace and console data during execution of code
