STM32CubeIDE Import ongelmat

Helsinki Hacklabin wikistä
Siirry navigaatioon Siirry hakuun

STM32CubeIDE Import ongelmat

STM32CubeIDE import-toiminnossa pitää huomioida, että importilla tuot (helposti, jos lähtötietoja ei ole siivottu) viitteitä ja käännöksiä toisesta ympäristöstä joka varmasti on erilainen kuin omasti. Mukana tulee myös muut tarpeelliset tai tarpeettomat projektiin talletetut tiedostot ja mahdollisesti projektissa olevat ongelmat, halusit tai et. Erityisen hankala on tunnistaa, jos projektiin on jäänyt jotain ylimääräistä, ja etenkin jos tämä projekti on kopioitu jostain aiemmasta projektista. Sinun on itse tunnistettava tarpeelliset ja tarpeettomat tiedostot.

Tyypillisesti ongelmia tulee aina, jos tuot projektia Windows-ympäristöstä projekteja Linux ympäristöön.

Program file does not exist

STM32CubeIDE-ProgramFileDoesNotExist.png

Käynnistettäessä ohjelmaa valikosta Run->Run tai Run->Debug voi tulla ilmoitus Program file does not exist

Windows käyttää kenoviivaa hakemistoerottimena ja Linux kauttaviivaa. Tämä kenoviiva jää <projekti> Debug.launch tiedostoon. Tämä pitää korjata editoimalla (hiiren oikea painike->Open) kahden <projekti>.elf tiedostoviitteen edestä kenoviivat kauttaviivaksi. Myös ...stlink.log_file viitteessä on todennäköisesti kenoviivat, mutta tämän vaikutusta en ole testannut enkä niitä editoinut.

Can't find a source file at ...

STM32CubeIDE-CantFindASourceFile.png


Käynnistettäessä ohjelmaa valikosta Run->Debug voi tulla ilmoitus Can't find a source file ... ja viittaus tiedostoon. Tämä voi tulla kaikista tiedostoista joita yrität debugata. Tämän aiheuttaa kääntäjä, joka Debug-käännöksessä vie objektitiedostoon alkuperäisen lähdekooditiedoston nimen polkuineen, jotta voisit askeltaa sitä. Tämä polku ei todennäköisesti ole sama kuin omassa ympäristössäsi. Kun olet tuonut projektin, ovat käännökset ja projektin ajotiedosto todennäköisesti ajan tasalla eivätkä käännöskomennot (make) huomaa tarvetta uuteen käännökseen.

Tämä korjataan suorittamalla valikosta komento "Project->Clean". Tarkista Console-ikkunasta, että Clean on suoritettu onnistuneesti. Jos siellä on ilmoitus "Build failed", suorita ensin "Project->Build" ja sitten "Project->Clean". Syytä tähän ilmiöön en ole tutkinut.

Tämä pulma on poistunut, jos valikosta "Project->Build" tai "Run->Debug" yhteydessä Console-ikkunassa vilisee lähdekoodien käännöskomennot.

STM32CubeIDE-kaannoskomentoja.png


Ylimääräiset tiedostot ja hakemistot ...

STM32CubeIDE-ylimaaraiset.png


Projektin tuonnin yhteydessä on mahdollista, että mukana tulee paljon tiedostoja, joita ei tarvita ja jotka ovat jääneet sinne vahingossa tai ovat muuten tarpeettomia.

Esimerkkikuvassa Doc-hakemistossa olevat tiedostot ovat todennäköisesti hyvin tarpeellisia ja hyödyllisiä ainakin tiedostonimien perusteella.

Hakemistossa Analyser_data lienee jokin logiikka-analysaattorin loki, jota on vaikea hyödyntää. Tämä on todennäköisesti tarpeeton hakemisto.

Projektihakemistosta löytyy "nucleo-f303_freeRTOS-encoder Debug.launch" tiedosto, joka on selvästi jäänyt projektista, joka on kopioitu tämän projektin pohjaksi. Tämän voi huoletta poistaa.

Myös lähdekielihakemistot voivat sisältää tiedostoja, joita ei tarvita, mutta tämä vaatii jo tarkkaa projektin tutkimista ja perehtymistä.

Aina tiedostoja poistettaessa pitää olla varma, että niitä ei todella tarvita. Älä siis hävitä Import-pakettiasi.

--Matti Nummi 31. toukokuuta 2020 kello 14.40 (EEST)