Voor alle zekerheid testen we ons PATH nog eens vanop de commandolijn:
echo $PATH
U ziet op het einde ons nieuw path naar de gcc-arm binary staan.
Nog een check te doen :
ga naar uw map
cd ~/stm32f103c8t6
en dan
nano Makefile.incl
Kijk na of volgende regel zich in dit bestand bevindt ( bovenaan)
PREFIX ?= arm-none-eabi
Opslaan en saven ( dat weet je ondertussen al wel hoe)
Test met volgend commando :
type arm-none-eabi-gcc
dit moet je zien :
Dit volstaat voorlopig wat testen betreft , hoe het afloopt ondervinden we laters wel.
Builden van de stm32 software
Dit is een belangrijk gedeelte. Builden betekent dat we alle geïnstalleerde software gaan " samensteken" , dit houdt onder andere in , het compileren ervan.
cd ~/stm32f103c8t6
en nu het belangrijkste commando
make
een stukje van make
Laat alles maar lopen en let of er geen fouten optreden , een " warning" kan niet zoveel kwaad , maar een rode melding , dat duidt op een serieus probleem.
Ik kan alleen maar zeggen , als je dit voorhebt, dat je kunt proberen om met het commando
make clean
de boel op te kuisen en opnieuw met make te proberen .
een stukje van make clean in onderstaande foto
Builden van de ST-Link software
Hiervoor heb ik volgende link gevolgd.
https://freeelectron.ro/installing-st-link-v2-to-flash-stm32-targets-on-linux/
Eerst enkele afhankelijkheden installeren met git
sudo apt-get install git make cmake libusb-1.0-0-dev
en daarnasudo apt-get install gcc build-essential
Normaal zijn er al enkele van deze afhankelijkheden geïnstalleerd ,maar dat geeft niets , Linux erkent dat en gaat gewoon verder.
Dan de soft zelf:
Maak dat je op de homedirectory staat.
cd /home/"uwnaam" of cd ~
nieuwe map aanmaken
mkdir stm32
( of elke ander naam die je wilt maar niet naar de stm32f103c8t6 map gaan )
cd stm32
soft clonen
git clone https://github.com/texane/stlink
Er is nu een map stlink aangemaakt, ga ernaar toe met
cd stlink
En nu gaan we builden .
cmake . Vergeet het punt niet erachter !
daarna nog
make
Sommige Linux releases vragen nog het volgend commando uit te voeren na een make commando
sudo ldconfig
Dit is wat bovenstaand commando doet volgens de man-page ( man = manual)
configure dynamic linker run-time bindings
Wat hieronder volgt wijkt af van hetgeen op de website staat. De st-* files staan niet onder de map stlink maar onder de map bin , dus eerst naar bin met
!!! 9 mei 2020 Correctie
Na contacname met de author , is dit zijn antwoord. hij heeft het pad aan gepast , dus cd bin staat nu ook op de website
cd bin
De gebuilde binaries worden naar hun plaats gekopieerd met :
sudo cp st-* /usr/local/bin
*******************************************************************************
Dit hieronder hoeft niet , zie " Comments" hierboven
ik heb ook de andere files daarnaar toe gekopieerd , weet echter niet of dit moet .
sudo cp test-* /usr/local/bin --> hoeft dus niet !
********************************************************************************
Dan nog een belangrijk deel , het kopieren van de udev rules naar hun plaats:
eerst terug naar de map stlink vanuit de bin map, dit kan met
cd ..
en dan
sudo cp etc/udev/rules.d/49-stlinkv* /etc/udev/rules.d/
Ik denk dat het een goed idee is om te rebooten , zodat de udev rules gelezen kunnen worden
Na reboot :
Testen !
Steek de ST-Link in een usb poort , maar zonder dat de STM32 verbonden is
Eerste commando:
lsusb
Op de eerste lijn ziet ge de ST_LINK /V2 zitten .
Dan de volgende test.
st-info --probe
Dit geeft hetvolgend resultaat:
U ziet dat " unknown devide " maar dat is logisch , er hangt nog geen stm32 aan ! Het voornaamste is : "Found 1 stlink programmers"
Volgende test.
st-flash --debug read dummy.file 0 256
Als je dit krijgt is er zekers communicatie met de STLINK
Dat is het voor vandaag .
Geen opmerkingen:
Een reactie posten