-
Notifications
You must be signed in to change notification settings - Fork 92
how to build flash and use hydrafw on linux
Benjamin Vernoux edited this page Jun 12, 2024
·
36 revisions
- Official compiler for hydrafw v0.10 release is GCC ARM 4.9 2015q3(GNU_ARM_4_9_2015q3)
- This new version versus GCC ARM 4.7 2013 q3 improve lot of stuff (mainly it generate better/more compact code and GDB debugger support python ...)
- WARNING: GCC ARM 4.8.x & GCC ARM 5.0/5-2016-q1 up to GCC ARM 8-2019-q3-update (https://bugs.launchpad.net/gcc-arm-embedded/+bug/1570613) shall be avoided as they crash during link of chibios ...
- This issue is fixed with https://launchpad.net/gcc-arm-embedded/+milestone/8-2018-q4-major or more
- Since 8600bd92a5ed083174e0867355f65a743dcfb9df, it is possible to use GCC 8.1 and newer to compile hydrafw
cd ~
sudo apt-get install gcc make git dfu-util putty
wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
tar xjf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
echo 'PATH=$PATH:~/gcc-arm-none-eabi-4_9-2015q3/bin' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/hydrabus/hydrafw.git hydrafw
cd ~/hydrafw
git submodule init
git submodule update
cd src/build-scripts
make clean all
- 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)
cd ~/hydrafw/src
make clean
make
See the Wiki Getting-Started-with-HydraBus-flash-and-use-hydrafw-on-linux
sudo su
apt-get install git dfu-util gcc-arm-none-eabi binutils-arm-none-eabi
pip install intelhex
git clone https://github.com/hydrabus/hydrafw
cd hydrafw/src
git submodule init
git submodule update
make
dfu-util -d 0483:df11 -a 0 -D build/hydrafw.dfu
There is a bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866 and here https://bugs.launchpad.net/gcc-arm-embedded/+bug/1570613) that prevents ChibiOS to be compiled with ARM GCC in versions 5.x, 6.x and 7.x. If the build fails with a message like :
lto1: internal compiler error: in add_symbol_to_partition_1, at lto/lto-partition.c:xxx
Update: https://bugs.launchpad.net/gcc-arm-embedded/+bug/1570613
- In GCC Bugzilla #69866, Rguenth (rguenth) wrote on 2021-12-07: Fixed.
- Bug Watch Updater (bug-watch-updater) on 2021-12-09 Changed in gcc: status: Confirmed → Fix Released
Issue fixed in https://launchpad.net/gcc-arm-embedded/+milestone/8-2018-q4-major
Solution: Use GCC ARM 4.9 2015q3(GNU_ARM_4_9_2015q3) or ARM GCC >= 8-2018-q4-major (https://bugs.launchpad.net/gcc-arm-embedded/+bug/1570613)
- CHANGELOG
- Console commands
- Binary mode guide
-
NFC/HydraNFC v1 guide
- Read UID of an ISO/IEC_14443 Tag
- Read UID and data of a MIFARE Ultralight Tag
- Read UID of an ISO/IEC 15693 Tag
- Emul ISO14443a Tag
- Emul MIFARE Ultralight Tag
- Emul Mifare Classic Tag
- Unique NFC sniffer design
- Launch NFC sniffer from console
- Sniffer ISO14443A wireshark pcap
- Autonomous/stand-alone sniffer mode
- Sniffer ISO14443A real-time infinite trace mode
- HydraFW-HydraNFC-v1.x-TRF7970A-Tutorial