-
Notifications
You must be signed in to change notification settings - Fork 12
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
PATH
the 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_v2
project -
Click on
Finish
-
- Select
hydrafw_hydranfc_shield_v2
project (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
-
Select
hydrafw_hydranfc_shield_v2
project (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_v2
project (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 Debug
is automatically created
- The entry
- A contextual menu appears, select
- Select
Debugger
Tab and configure it like in picture- When all is configured click on
Debug
button
- 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 -> SVW
to add all different Serial Wire Viewer features- Add
SWV TraceLog
,SWV ITM Data Console
andSWV Data Trace Timeline Graph
- Then select
SWV TraceLog
and click onConfigure trace
icon to configure SWV - Interesting things to configure are mainly to enable
Timestamps
andITM Sitmulus Ports 0
(for SWO/SWV ITM Data Console especially for debug trace and crash/exception details) - Then click on
OK
button - Last step is to start the Trace(using Serial Wire Viewer settings) by clicking on
Start Trace
button 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