Erstes Programmieren von STM 32, irgendwas mache ich falsch.

Gast #5736922
Lesenswert?

Hallo,
ich bin Anfänger und es geht um ein STM 32F407. Ich konfiguriere in 
CubeMX und übertrage den Code in System Workbench...

Nun gehe ich praktisch nach Anleitung vor, ich lasse mir von CubeMx den 
Code für mein kleines LED-Test-Projekt generieren und schreibe in der 
Workbench meinen Code in die While(1)-Schleife der main.c-Datei im 
Ordner Src.

Anschließend lasse ich über den 010-Button den Binärcode für das Board 
erstellen und dabei tritt unten schon folgende Meldung auf:

"  make: *** [Src/main.o] Error 1
Src/subdir.mk:27: recipe for target 'Src/main.o' failed "

Beim Debuggen pflanzen sich die Fehlermeldungen dann entsprechend fort. 
Was mache ich falsch?^^

Vielen Dank im Voraus
Gast #5737107
Lesenswert?

ich habe es jetzt leider gerade nicht zur Hand :(
Womöglich hat es was mit dem Speicherort zu tun, denn als der Fehler in 
der Hochschule auftrat hat ein Mitarbeiter da alles gelöscht und neu 
angelegt und meinte nur, dass ich keine Doppelklicks auf die .elf-Datei 
machen darf, da das Programm so keinen Zugriff kriegt... er war aber nur 
sehr kurz angebunden... ich habe aber auch keine Doppelklicks mehr 
gemacht außer auf dei main-Datei, damit ich dort meinen Code einfügen 
kann
#5737126
Lesenswert?

Jandro schrieb:

> c:\ac6\systemworkbench\plugins\fr.ac6.mcu.externaltools.arm-none.win32_1 
.16.0.201807130628\tools\compiler\lib\gcc\arm-none-eabi\7.2.1\include\

Geh doch mal in deinen Explorer und schau unter dem Pfad nach, ob die 
"stdint.h" in dem Ordner liegt und ob du die Datei öffnen kannst.

Wenn die Datei dort liegt, dann ist Sie zumindest in SW4STM32 schon mal 
richtig eingebunden. Wenn du Sie im Explorer mit Notpad etc. öffnen 
kannst, SW4STM32 aber keinen Zugriff hat, dann führe doch SW4STM32 mal 
mit Admin-Rechten aus...

Guten Gelingen,
Mathias
(Firma: Schweigstill IT) Persönliche Seite #5737218
Lesenswert?

Jandro schrieb:
> Klicks gemacht

Ich lese hier die ganze Zeit nur, dass Du Dich reichlich naiv und 
unbeholfen durch die Gegend klickst. Wie wäre es denn, wenn Du Dich 
stattdessen endlich einmal Zeile für Zeile durch das Build-Log arbeitest 
und versuchst, jeden (JEDEN!) einzelnen Schritt nachzuvollziehen. 
Spätestens dann, wenn Du bei Deinem Programm auf irgendeinen Fehler 
stoßen solltest, der möglicherweise mit der Kompilierung selbst zu tun 
hat, benötigst Du solche Kenntnisse.
Gast #5737219
Lesenswert?

J. T. schrieb:
> Hast du der SystemWprkbench denn auch mitgeteilt, wo deine ganzen .h
> liegen?

Muss man nicht. Das weiß der Compiler von selbst.

Jandro schrieb:
> Ich bin ein blutiger Anfänger und habe keine Ahnung, wovon du sprichst
> :D

Von der Kommandozeilenoption -std=c99 welche an den Compiler übergeben 
wird und welche den Sprachstandard setzt.
Gast #5737222
Lesenswert?

Also in der Konfiguration habe ich ja nicht viel zu tun. Ich habe für 
mein kleines LED Projekt gerade mal 2 Pins als GPIO-Output konfiguriert, 
low und no pull up/down... und im Projektmanager habe ich für 
Toolchain/IDE SW4STM32 und "Generate under root" eingestellt... ich bin 
praktisch nach Anleitung vorgegangen.. in der Clock Configuration habe 
ich gar nichts angerührt... das war alles, was ich in CubeMx gemacht 
habe
#5737241
Lesenswert?

Dr. Sommer schrieb:
> J. T. schrieb:
>> Hast du der SystemWprkbench denn auch mitgeteilt, wo deine ganzen .h
>> liegen?
>
> Muss man nicht. Das weiß der Compiler von selbst.

Aber nur bei den ganzen Standardgeschichten die bei C dabei sind. CubeMX 
schmeißt da dann noch den HAL-krams dazu. Alles weitere musst du, je 
nach Ablageort händisch angeben.

Desweiteren hab ich es auch schon einige Male gehabt, dass er mir auch 
nicht kompilieren wollte, nachdem ich dann explizit angeben hab, wo die 
Files liegen, ging es dann.
Gast #5737297
Lesenswert?

Jandro schrieb:
> Also in der Konfiguration habe ich ja nicht viel zu tun.

Da wird aber einiges automatisch angelegt. Bei Embedded-Projekten muss 
immer einiges konfiguriert werden. Da kann einiges falsch sein.

J. T. schrieb:
> Aber nur bei den ganzen Standardgeschichten die bei C dabei sind.

Um die geht es ja (stdint.h).

Jandro schrieb:
> Also hier ist der gesamte Durchlauf

Da sind 3 Zeilen abgeschnitten. Zeige es doch mal als Text. Wieso gibt 
es eigentlich seit ein paar Jahren den Trend, Programme und 
Fehlermeldungen als Screenshot zu zeigen?
#5737300
Lesenswert?

Wie sieht das denn bei dir in den includes aus? Wie man da hinkommt, hab 
ich n paar Beiträge weiter oben beschrieben.

Die "gelben" Ordner sind von Anfang an mit eingebunden bei mir, und die 
"lila" Ordner sind von mir hinzugefügt.

Du solltest eigentlich mindestens den Inc Ordner haben, da müssten die 
ganzen Sachen wie stdint.h und stdio.h usw weiter drin sein.
Angehängte Dateien:
Gast #5737309
Lesenswert?

12:26:24 **** Incremental Build of configuration Debug for project 
Blink_LED ****
make all
Building file: ../startup/startup_stm32f407xx.s
Invoking: MCU GCC Assembler
C:\Users\**\Desktop\Testprojekte\Blink_LED\Debug
arm-none-eabi-as -mcpu=cortex-m4 -mthumb -mfloat-abi=hard 
-mfpu=fpv4-sp-d16 -I"C:/Users/**/Desktop/Testprojekte/Blink_LED" -g -o 
"startup/startup_stm32f407xx.o" "../startup/startup_stm32f407xx.s"
Finished building: ../startup/startup_stm32f407xx.s

Building file: ../Src/main.c
Invoking: MCU GCC Compiler
C:\Users\**\Desktop\Testprojekte\Blink_LED\Debug
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard 
-mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' 
'-D__packed=__attribute__((_packed_))' -DUSE_HAL_DRIVER -DSTM32F407xx 
-I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Inc" 
-I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/STM32F4xx_HAL_Driv 
er/Inc" 
-I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/STM32F4xx_HAL_Driv 
er/Inc/Legacy" 
-I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/CMSIS/Device/ST/ST 
M32F4xx/Include" 
-I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/CMSIS/Include" 
-Og -g3 -Wall -fmessage-length=0 -ffunction-sections -c 
-fmessage-length=0 -MMD -MP -MF"Src/main.d" -MT"Src/main.o" -o 
"Src/main.o" "../Src/main.c"
In file included from 
C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/CMSIS/Include/core_cm 
4.h:44:0,
                 from 
C:/Users/**Desktop/Testprojekte/Blink_LED/Drivers/CMSIS/Device/ST/STM32F 
4xx/Include/stm32f407xx.h:183,
                 from 
C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/CMSIS/Device/ST/STM32 
F4xx/Include/stm32f4xx.h:149,
                 from 
C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/STM32F4xx_HAL_Driver/ 
Inc/stm32f4xx_hal_def.h:46,
                 from 
C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/STM32F4xx_HAL_Driver/ 
Inc/stm32f4xx_hal_rcc.h:45,
                 from 
C:/Users/**/Desktop/Testprojekte/Blink_LED/Inc/stm32f4xx_hal_conf.h:244,
                 from 
C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/STM32F4xx_HAL_Driver/ 
Inc/stm32f4xx_hal.h:46,
                 from 
C:/Users/**/Desktop/Testprojekte/Blink_LED/Inc/main.h:51,
                 from ../Src/main.c:42:
c:\ac6\systemworkbench\plugins\fr.ac6.mcu.externaltools.arm-none.win32_1 
.16.0.201807130628\tools\compiler\lib\gcc\arm-none-eabi\7.2.1\include\st 
dint.h:9:16:  fatal error: stdint.h: No such file or directory
 # include_next <stdint.h>
                ^~~~~~~~~~
compilation terminated.
Src/subdir.mk:27: recipe for target 'Src/main.o' failed
make: *** [Src/main.o] Error 1

12:26:26 Build Finished (took 2s.649ms)
(Firma: Schweigstill IT) Persönliche Seite #5737311
Lesenswert?

Wahrscheinlich ist der Compiler unter einem ganz anderen Pfad 
installiert als der, für den er selbst generiert wurde. Dann erwartet er 
trotzdem, dass sich die zugehörigen Bibliotheken sowie die 
Standardbibliotheken an dem ursprünglichen Pfad befinden. Ggf. muss man 
die entsprechenden Pfade für Header und Bibliotheken explizit übergeben.

Beim GCC lassen sich die Bibliothekspfade mittels "gcc 
-print-search-dirs" anzeigen. Nein, es gibt keinen Button mit dieser 
Bezeichnung, auf den man einfach klicken kann. Hier ein Teil des 
Hilfetextes von GCC 4.8:
1
  -dumpspecs               Alle eingebauten Spezifikationszeichenketten anzeigen
2
  -dumpversion             Compilerversion anzeigen
3
  -dumpmachine             Zielprozessor des Compilers anzeigen
4
  -print-search-dirs       Verzeichnisse im Suchpfad des Compilers anzeigen
5
  -print-libgcc-file-name  Name der Begleitbibliothek des Compilers anzeigen
6
  -print-file-name=<lib>   Vollen Pfad zur Bibliothek <lib> anzeigen
7
  -print-prog-name=<prog>  Vollen Pfad zur Compilerkomponente <prog> anzeigen
8
  -print-multiarch         Normalisiertes GNU-Tripel für das Ziel anzeigen,
9
                           als Komponente im Bibliothekspfad verwendet
10
  -print-multi-directory   Wurzelverzeichnis für Versionen von libgcc anzeigen
11
  -print-multi-lib         Abbildung zwischen Kommandozeilenoptionen und
12
                           mehreren Suchverzeichnissen für Bibliotheken anzeigen
13
  -print-multi-os-directory Relativen Pfad zu Betriebssystembibliotheken
14
                            anzeigen
15
  -print-sysroot           Verzeichnis der Ziel-Bibliotheken anzeigen
16
  -print-sysroot-headers-suffix Den für Headersuche verwendeten sysroot-Suffix anzeigen

Ggf. sind also auch noch einige andere eingestellten Pfade zu 
kontrollieren.
Gast #5737314
Lesenswert?

Ich würde vor allem erst mal die abhängig generierten Dateien löschen.
Andernfalls kannst Du Dich natürlich auch durch die Datumsangaben der 
Dateien hangeln. Nach Datum sortieren...

Es ist nämlich immer wieder toll, wenn die Zieldatei existiert obwohl 
der Erstellungsprozess schiefgelaufen ist.

Üblicherweise löschen die Make-Prozesse keine Dateien, sondern ersetzen 
sie nur dann, wenn es was Neues gibt.
Gast #5737345
Lesenswert?

wie gesagt kam das selbe am Rechner der Uni + Hier auf meinem privaten 
Rechner zu Hause^^.. das ist einfach verrückt... ich habe übrigens mal 
nur importiert ohne einen eigenen Code in der main-Datei einzufügen.. es 
bleibt bei den selben Fehlermeldungen...

Der Mitarbeiter hat gestern irgendetwas in den Run-Configurations 
eingestellt und dann ging es plätzlich ohne Probleme..
#5737351
Lesenswert?

Jandro schrieb:
> fatal error: stdint.h: No such file or directory

Suche mal auf dem PC nach weiteren "stdint.h" unterhalb vom Ordner 
"c:\ac6\systemworkbench\plugins\fr.ac6.mcu.externaltools.arm-none.win32_ 
1
.16.0.201807130628\tools"

Die oben angegebene Datei ist ein stub, der auf eine andere Datei 
verweisen soll - die leider auch "stdint.h" heisst (aber in einem 
anderen Verzeichnis steht).

Ich habe hier auch einen arm-gcc 7.2.1, den benutzt NXP im aktuellen 
MCUXpresso.
#5737383
Lesenswert?

J. T. schrieb:
> Suche mal nach irgendeiner stdint.h auf deiner Festplatte. Dann gehst in
> die Pfadeinstellungen und gibst diese stdint.h dort dann mal explizit
> an.
> Auf add klicken, dann bei allen drei Kästchen das Häckchen machen, auf
> Workspace klicken, den Pfad angeben, ok klicken, nochmal versuchen zu
> kompilieren.

Das ist auch nur rumdoktern an den Symptomen....
Wird mit hoher Wahrscheinlichkeit auch nicht funktionieren.
Der Fehler ist bereits viel früher gemacht worden.
Gast #5737385
Lesenswert?

Nochmal: Die Pfade zu Standard-C-Headern wie stdint.h muss man nicht 
in den Projekt-oder Compilereinstellungen angeben. Die findet der 
Compiler selbst. Wenn er das nicht tut, ist wahrscheinlich die 
Compiler-Installation kaputt. Einfach mal den Compiler neuinstallieren 
und sicherstellen dass man nicht mehrere GCC's und mehrere stdint.h auf 
dem Rechner hat.
Gast #5737398
Lesenswert?

also auf dem Rechner ist unter dem angegebenen Pfad eine stdint.h. und 
eine stdint-gcc.h. -Datei

Habe die stdint.h.-Datei mit Visual Studio geöffnet, da steht folgendes:

#ifndef _GCC_WRAP_STDINT_H
#if _STDC_HOSTED_
# if defined __cplusplus && __cplusplus >= 201103L
#  undef __STDC_LIMIT_MACROS
#  define __STDC_LIMIT_MACROS
#  undef __STDC_CONSTANT_MACROS
#  define __STDC_CONSTANT_MACROS
# endif
# include_next <stdint.h>
#else
# include "stdint-gcc.h"
#endif
#define _GCC_WRAP_STDINT_H
#endif
Gast #5737421
Lesenswert?

Harry L. schrieb:
> Falsche Konfiguration bereits im CubeMX.

Die relevante Ausgabe von CubeMX beschränkt sich hier auf die generierte 
Kommandozeile. Die sieht aber gut aus. Durch Fehlkonfiguration von 
Peripherie & Co kann man da nichts falsch machen. Das würde sich nur 
durch Fehlverhalten beim Ausführen äußern, aber nicht beim kompilieren.
Gast #5737423
Lesenswert?

das würde ich gerne, aber mir fehlt das Wissen. Nichts von dem was ich 
in meinem E-Technik-Studium gelernt habe, kann ich hier anwenden, ich 
arbeite zum ersten Mal mit einem Microcontroller. Der Arduino konnte die 
Anforderungen leider nicht erfüllen, mit dem habe ich mich schon gut 
angefreundet...
ich weiß nicht womit ich hier anfangen soll
#5737428
Lesenswert?

Dr. Sommer schrieb:
> Harry L. schrieb:
>> Falsche Konfiguration bereits im CubeMX.
>
> Die relevante Ausgabe von CubeMX beschränkt sich hier auf die generierte
> Kommandozeile. Die sieht aber gut aus. Durch Fehlkonfiguration von
> Peripherie & Co kann man da nichts falsch machen. Das würde sich nur
> durch Fehlverhalten beim Ausführen äußern, aber nicht beim kompilieren.

Eher in den Grundeistellungen zur Code-Generierung.

Böse Falle dabei:

Wenn man hier etwas ändert, ist es eine gute Idee, den bisher 
generierten Code vor dem nächsten Generieren zunächst vollst. zu 
löschen.

Wenn die Einstellungen korrekt sind, genügt ein Doppelklick im Explorer 
auf .cproject um das Projekt zu öffnen, und das Compilieren (Strg-B) 
läuft fehlerfrei ohne jede weitere Einstellung in SW4STM32 oder 
TrueStudio.

Wenn das nicht so läuft, hat man es bereits im CubeMX vermurkst und jede 
weitere Fehlersuche im Projekt selbst ist sinnlos.
#5737439
Lesenswert?

Dr. Sommer schrieb:
> Harry L. schrieb:
>> Eher in den Grundeistellungen zur Code-Generierung.
>
> Der generierte Code beeinflusst nicht die Suchpfade des Compilers.

Der Code selbst nicht, aber die Einstellungen im Project-File,und der 
Code selbst und die Directory-Struktur unterscheidet sich teilweise 
auch.

Kannst du mir ruhig glauben!
Ich hatte das ähnlich gedacht wie du, und bin am Anfang in die selbe 
Falle getappt.
Gast #5737442
Lesenswert?

Harry L. schrieb:
> Der Code selbst nicht, aber die Einstellungen im Project-File,und der
> Code selbst und die Directory-Struktur unterscheidet sich teilweise
> auch.

Die Einstellungen beeinflussen aber nur die Kommandozeile, und die 
beeinflusst den Suchpfad. Die Kommandozeile sieht aber ok aus. Es gibt 
keinen weiteren geheimen Kanal wie die Einstellungen den Compiler 
beeinflussen können.
(Firma: Schweigstill IT) Persönliche Seite #5737451
Lesenswert?

Jandro schrieb:
> das würde ich gerne, aber mir fehlt das Wissen. Nichts von dem was ich
> in meinem E-Technik-Studium gelernt habe, kann ich hier anwenden, ich
> arbeite zum ersten Mal mit einem Microcontroller.

Dann musst Du Dir eben selbst die Grundlagen erarbeiten, so wie es hier 
fast alle Fachkundigen selbst getan haben. Irgendwo "draufzuklicken" 
vermittelt nicht das notwendige Wissen.

> Der Arduino konnte die
> Anforderungen leider nicht erfüllen, mit dem habe ich mich schon gut
> angefreundet...

Damit hättest Du dann ein einfaches Hobby-Niveau erreicht, aber nicht 
das, was man von einem Ingenieur einer entsprechenden Disziplin erwarten 
kann.

Ich habe Dir bereits oben schon in aller Deutlichkeit geschrieben, wie 
beim GCC, der ja Deiner Toolchain zugrundeliegt, die entsprechenden 
vorkompilierten Pfadeinstellungen herauszufinden sind. Die Tatsache, das 
so etwas nicht durch einfaches "Draufklicken" geht, bedeutet nicht, dass 
es nicht geht, sondern Du selbst einen Weg finden musst, diese 
Information auf der Kommandozeile dem GCC zu entlocken.

> ich weiß nicht womit ich hier anfangen soll

Frag Mutti, während sie Dir die Schuhe zubindet.
(Firma: Schweigstill IT) Persönliche Seite #5737452
Lesenswert?

Jandro schrieb:
> da findet er gar nichts, obwohl ich eine Datei mit dem Namen selbst
> geöffnet habe...-.- Ich habe keine Lust mehr

Dann brich Dein Studium an und gehe Ponys streicheln. Wenn Deine 
Frustrationsgrenze so niedrig liegt, bist Du völlig fehl am Platze für 
eine anspruchsvolle technische Aufgabe.
Gast #5737466
Lesenswert?

ich habe mit Sicherheit keine niedrige Frustrationsgrenze, ich habe mich 
in meinem Studium richtig reingehängt. Meine Stärken liegen allerdings 
eher in Bereich Mathematik und Hardware. Hier allerdings frage ich mich 
gerade ernsthaft, ob es sinnvoll ist, so viel neues Wissen anzueignen, 
wo man noch nicht mal weiß, wie weit man genau in die Materie (und das 
hier ist wirklich ein komplettes komplexes und abgeschlossenes eigenes 
Universum) gehen muss, um die angeforderten Aufgaben zu erledigen und ob 
das überhaupt was bringt...
#5737480
Lesenswert?

Jandro schrieb:
> Hier allerdings frage ich mich
> gerade ernsthaft, ob es sinnvoll ist, so viel neues Wissen anzueignen,
> wo man noch nicht mal weiß, wie weit man genau in die Materie (und das
> hier ist wirklich ein komplettes komplexes und abgeschlossenes eigenes
> Universum) gehen muss, um die angeforderten Aufgaben zu erledigen und ob
> das überhaupt was bringt...

Dann lass es doch jemand anderen machen wenn Du denkst daß das nicht zu 
Deinen Aufgaben gehört.
#5737481
Lesenswert?

Jandro schrieb:
> ich habe mit Sicherheit keine niedrige Frustrationsgrenze, ich habe mich
> in meinem Studium richtig reingehängt. Meine Stärken liegen allerdings
> eher in Bereich Mathematik und Hardware. Hier allerdings frage ich mich
> gerade ernsthaft, ob es sinnvoll ist, so viel neues Wissen anzueignen,
> wo man noch nicht mal weiß, wie weit man genau in die Materie (und das
> hier ist wirklich ein komplettes komplexes und abgeschlossenes eigenes
> Universum) gehen muss, um die angeforderten Aufgaben zu erledigen und ob
> das überhaupt was bringt...

* falsches Studienfach!
* falsche Einstellung!

Mach lieber ne klassische Ausbildung!

Studieren bedeutet, sich sein Wissen zu erarbeiten.
#5737497
Lesenswert?

Jandro schrieb:
> nun bekomme ich in dieser Projektarbeit
> aber dennoch erstmals eine Krise.. und zwar richtig.

Das wundert mich nicht.
Du hast bisher keinen einzigen Tip, den du hier bekommen hast umgesetzt.

Statt dessen nutzt du das hier, um dich auszukotzen.

Das Beispielprojekt von mir hast du auch nicht ausprobiert - sonst wärst 
du nämlich bereits einen Schritt weiter, und hättest den Fehler 
eindeutig auf SW4STM32 oder deine CubeMX-Config eingrenzen können.

Systematisches Vorgehen geht anders...

Ich bin an dem Punkt raus....sinnlos.
Gast #5737501
Lesenswert?

und warum soll das E-Technik-Studium bei meinen Stärken Mathematik und 
Hardware denn das falsche Studienfach sein? Ich studiere doch keine 
Informatik, wobei mir natürlich klar ist, dass die Software heute einen 
höheren Stellenwert einnimmt... dennoch sind die Elektroings ja primär 
immer noch für die Hardware zuständig, oder nicht?
Gast #5737528
Lesenswert?

also, ich habe jetzt versucht dein Beispielprojekt zu komoilieren. Auch 
dort kommt es zu der gleichen Fehlermeldung. Also liegt es nicht an der 
Konfiguration in CubeMX.
Also wohl doch irgendwo im Dschungel der Workbench, durch die ich mich 
erst mal richtig durchkämpfen muss. Ich weißbisher noch zu wenig über 
die ganzen Vorgänge, die darin stattfinden
(Firma: Schweigstill IT) Persönliche Seite #5737537
Lesenswert?

Jandro schrieb:
> und warum soll das E-Technik-Studium bei meinen Stärken Mathematik und
> Hardware denn das falsche Studienfach sein? Ich studiere doch keine
> Informatik, wobei mir natürlich klar ist, dass die Software heute einen
> höheren Stellenwert einnimmt... dennoch sind die Elektroings ja primär
> immer noch für die Hardware zuständig, oder nicht?

Ein Großteil aller heutigen elektronischen Schaltungen enthält 
mindestens einen Microcontroller. Und zumindest die Grundfunktionen 
sollte JEDER Hardwareentwicklung programmieren können, um die Hardware 
überhaupt in Betrieb nehmen zu können. Wenn Du im Berufsleben bei jeder 
Kleinigkeit rufst: "Mimimi, da muss mir jemand helfen!", dann wirst Du 
völlig zu recht ausgezählt und entsorgt. So einfach ist das.

Du scheiterst auf Grund Deiner Unselbstständigkeit aber nicht erst an 
der Programmierung, sondern bei viel, viel grundlegenderen Themen. Und 
da helfen Dir Deine gute Studiumsnoten gar nichts.

Aber offenbar mangelt es Dir auch am Textverständnis. Wo sind denn nun 
die Suchpfadinformationen zu Deinem GCC?
#5737544
Lesenswert?

Jandro schrieb:
> Ich weißbisher noch zu wenig über
> die ganzen Vorgänge, die darin stattfinden

Dann wird es jetzt Zeit alle Termine für die nächsten paar Wochen 
abzusagen und mal ein C-Tutorial von Anfang bis Ende durchzuarbeiten, 
eins von der Sorte bei denen man am Anfang Compiler und/oder Linker noch 
von Hand an der Kommandozeile aufruft und sich mal damit vertraut macht 
was für Vorgänge beim Übersetzen eines C-Programms stattzufinden haben 
und wann und in welcher Reihenfolge dies geschieht und was das für das 
Verständnis der Sprache selbst, ihrer Struktur und ihren Eigenarten für 
Auswirkungen hat.

IDE kommt erst ganz zum Schluß, dann wenn man weiß welche 
Arbeitsschritte die IDE zu leisten hat und warum die stattfinden.

Aber ich fürchte es ist bereits zu spät und der eingeschlagene Kurs soll 
fortgesetzt werden, auch wenn keiner weiß wie man das Schiff steuert. 
Eisberg voraus!
#5737586
Lesenswert?

Jandro schrieb:
> arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard
> -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))'
> '-D__packed=__attribute__((packed))' -DUSE_HAL_DRIVER -DSTM32F407xx
> -I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Inc"
> -I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/STM32F4xx_HAL_Driv
> er/Inc"
> -I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/STM32F4xx_HAL_Driv
> er/Inc/Legacy"
> -I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/CMSIS/Device/ST/ST
> M32F4xx/Include"
> -I"C:/Users/**/Desktop/Testprojekte/Blink_LED/Drivers/CMSIS/Include"
> -Og -g3 -Wall -fmessage-length=0 -ffunction-sections -c
> -fmessage-length=0 -MMD -MP -MF"Src/main.d" -MT"Src/main.o" -o
> "Src/main.o" "../Src/main.c"

Such die Projekteinstellungen durch, suche nach C-Standard, Stelle dort 
auf C99. Im (zitierten) Compiler-Aufruf muss dann -std=c99 auftauchen.
Gast #5737595
Lesenswert?

Hier in diesem Forum wird mir verkauft, dass jeder Ingenieur "von Werk 
aus" einen Microcontroller programmieren muss. Wenn dem so ist, warum 
wurden dann die Controller geschweige denn deren Programmierung im Laufe 
meines ganzen Studiums (und ich habe bereits alle Prüfungen absolviert) 
noch nie ansatzweise thematisiert? Ich habe im 2. Semester 
Grundkenntnisse in C++ erworben, des weiteren kenne ich mich 
mittlerweile sehr gut mit MatLab und Simulink aus, was ich besonders für 
regelungstechnische Anwendungen verwendet habe. Zu meinem Schwerpunkt 
gehört aber nicht nur die Regelungs-sondern auch die Messtechnik, somit 
wollte ich zumindest ein vorzeigbares Projekt in meinem Studium haben, 
das sich auch auf dieses Gebiet bezieht.
Und da bin ich nun hier und brauche diese Programmierung sekundär für 
meine Sensorauswertung, den (eigentlich größeren) physikalischen Teil 
des Projektes habe ich bereits erledigt. Um so mehr frustet mich das 
ganze gerade sehr... ich habe leider gar nicht die Zeit, mich zu sehr 
mit den Grundlagen hinter der IDE zu beschäftigen...
Gast #5737609
Lesenswert?

Hier in diesem Forum wird mir verkauft, dass jeder Ingenieur "von Werk 
aus" einen Microcontroller programmieren können muss. Wenn dem so ist, 
warum wurden dann die Controller geschweige denn deren Programmierung im 
Laufe meines ganzen Studiums (und ich habe bereits alle Prüfungen 
absolviert) noch nie ansatzweise thematisiert? Ich habe im 2. Semester 
Grundkenntnisse in C++ erworben, des weiteren kenne ich mich 
mittlerweile sehr gut mit MatLab und Simulink aus, was ich besonders für 
regelungstechnische Anwendungen verwendet habe. Zu meinem Schwerpunkt 
gehört aber nicht nur die Regelungs-sondern auch die Messtechnik, somit 
wollte ich zumindest ein vorzeigbares Projekt in meinem Studium haben, 
das sich auch auf dieses Gebiet bezieht.
Und da bin ich nun hier und brauche diese Programmierung sekundär für 
meine Sensorauswertung, den (eigentlich größeren) physikalischen Teil 
des Projektes habe ich bereits erledigt. Um so mehr frustet mich das 
ganze gerade sehr... ich habe leider gar nicht die Zeit, mich zu sehr 
mit den Grundlagen hinter der IDE zu beschäftigen...
Gast #5737680
Lesenswert?

Jandro schrieb:
> also auf dem Rechner ist unter dem angegebenen Pfad eine stdint.h. und
> eine stdint-gcc.h. -Datei
> Habe die stdint.h.-Datei mit Visual Studio geöffnet

Dass heisst, die Datei

c:\ac6\systemworkbench\plugins\fr.ac6.mcu.externaltools.arm-none.win32_1
.16.0.201807130628\tools\compiler\lib\gcc\arm-none-eabi\7.2.1\include\st
dint.h

existiert und kann geöffnet werden. In der reklamierten Zeile steht:

#include_next <stdint.h>

Und diese Datei findet er nicht. Die Frage sollte daher lauten, welche 
Datei sucht er dort eigentlich? Das steht in der Fehlermeldung leider 
nicht konkret drin (der Pfad fehlt).

Aber nach "include_next <stdint.h>" kann man googeln, und dann findet 
man zum Beispiel diesen Beitrag, der sehr ähnlich aussieht:
https://stackoverflow.com/questions/23973971/no-stdint-h-file-on-debian

Die Lösung dort war: "I got past this problem by installing 
libnewlib-arm-none-eabi: sudo apt-get install libnewlib-arm-none-eabi". 
Auch andere ähnliche Problemberichte enden stets damit, die newlib 
Library zu installieren.

Das hat der Jim in Beitrag "Re: Erstes Programmieren von STM 32, irgendwas mache ich falsch." 
bereits angesprochen. Ich denke, du solltest in diese Richtung weiter 
forschen.

Du könntest auch versuchen, allen Benutzern Leserechte auf das 
Verzeichnis c:\ac6 incl. Unterverzeichnissen zu geben.
Gast #5737772
Lesenswert?

Du solltest Dir ein dickeres Fell zulegen. Niemand macht dich übel 
herunter. Anstatt Dich auf solche Gefühle zu konzentrieren, kümmere dich 
lieber auf deine Aufgabe und beantworte meinen vorherigen Beitrag.

Ich bin durchaus bereit, extra für Dich eine frische Windows 
Installation zu machen um Dir zu helfen. Aber damit das Sinn ergibt, 
brauche ich Infos von Dir.
Gast #5737790
Lesenswert?

Also ich generiere für den Test mittlerweile nur noch über CubeMX einen 
Code, der einen GPIO_Output konfiguriert, ich füge noch nicht mal 
eigenen Benutzercode hinzu.

Das Projekt wird von CubeMX mit Toolchain "SW4STM32" angelegt und beim 
Importieren wird das Projekt auch sofort erkannt.
Nun mache ich in der Workbench nichts anderes, als für übertragene 
Projekt die Binärdatei erstellen zu lassen..dabei ändere ich nichts an 
den Einstellungen in der Workbench.
Angehängte Dateien:
#5737809
Lesenswert?

Jandro schrieb:
> Ich bin E-Techniker und kein Programmierer

sorry das finde ich etwas billig, ich glaube die meisten User im 
wordclock Thread sind keine Programmierer
Beitrag "WordClock mit WS2812"
https://www.mikrocontroller.net/articles/WordClock_mit_WS2812

und trotzdem schaffen es offensichtlich etliche, auch Nichtstudierte.

vielleicht kann Frank. M. Moderator oder jemand aus dem Thread dir 
helfen für die ersten Schritte mit dem STM32?
Gast #5737828
Lesenswert?

naja aber es wird ja so getan, als ob ich das bei meiner Qualifikation 
zwingend können muss, aber dem ist nicht so. Wie gesagt wurde es nicht 
ansatzweise gelehrt, nur grundlegende Programmierkenntnisse.. aber es 
ist ja jetzt auch völlig egal. Ich muss das jetzt irgendwie 
draufbekommen und fürchte, es wird ein hartes Wochenende ;)
#5737839
Lesenswert?

https://www.youtube.com/watch?v=u_TVAudWabI&t=66s

Evtl hilft dir das weiter, es geht zwar nicht direkt um deine Hardware, 
sondern um das F7-Discoboard, aber bevor ich mir das angesehen hab, 
hatte ich auch immer ewige Probleme mit irgendwelchen includes und 
hinundher-Verweisen.

Der macht da einige Einstellungen in der Workbench, und nachdem ich die 
auch gemacht hatte, ging es dann plötzlich. Ich war auch schon am 
Verzweifeln ;-)

Und nach und nach kristallisiert sich langsam so etwas wie eine Ahnung 
von Sinn heraus, was man mit den ganzen Einstellungen so macht.
Gast #5737891
Lesenswert?

"Ich bin E-Techniker und kein Programmierer!"

Dann programmiere Doch nicht! Wenn ich kein Pilot bin, setzte ich mich 
auch nicht hinter das Steuer eines Flugzeugs. Will ich es doch, dann 
muss ich mich mal auf den Hosenboden setzen und die Thematik von Grund 
auf aufarbeiten. Dein Lernprozess geht über das Studium hinaus, das 
ganze Leben lang oder denkt die Generation von heute das nach dem 
Studium nichts mehr kommt und Sie die Größten in Ihrem Fachbereich sind?

"Nichts von dem was ich in meinem E-Technik-Studium gelernt habe, kann 
ich hier anwenden, ich arbeite zum ersten Mal mit einem Microcontroller. 
"

Welche Uni/FH war das denn? Nur damit man hier mal vor einem Studium an 
dieser Lokalität warnen kann! Ich habe noch keine Uni/FH gesehen, wo im 
E-Technikstudium nicht mindestens einmal eine Signalverarbeitung auf 
einem DSP oder Microcontroller durchgekaut wurde. In Theorie und Praxis!

Du hast doch oben erwähnt das das Problem bereits einmal durch einen 
Hiwi(?) o.ä. bereits gelöst wurde. Was hindert Dich daran bezüglich des 
Problems dort nochmal vorzusprechen und sich Notizen zu Problemlösung zu 
machen?

Mit welcher IDE bist Du vertraut? Du hast doch geschrieben das du
mit der Arduino-Welt klargekommen bist. Welche Werkzeuge hast Du da 
benutzt? STM32 gibt es auch in der Arduino-Welt. Reichen die Boards 
nicht für die gestellte Aufgabe aus?

Andernfalls, was zwingt Dich die AC6 einzusetzen? Gibt es nicht die 
Möglichkeit auf eine andere IDE zu wechseln die Dir vielleicht 
"sympathischer" ist.

Ich will Dich hier nicht angreifen, sondern Dir helfen. Möglicherweise 
gibt es für Dich andere Wege zum Ziel. Vielleicht finden wir diese.
Gast #5737906
Lesenswert?

Jandro schrieb:

> warum wurden dann die Controller geschweige denn deren Programmierung im
> Laufe meines ganzen Studiums (und ich habe bereits alle Prüfungen
> absolviert) noch nie ansatzweise thematisiert?

Weil ein Studium keine Schule ist! Dem Inschenör ist nichts zu schwör, 
weil er gelernt hat, sich selbständig in neue Problembereiche 
einzuarbeiten. Embedded sind die SW-Entwickler erheblichenteils 
E-Techniker, die schwerpunktmäßig keine Programmierung im Studium 
hatten.

Du wirst Dich nach dem Studium noch ganz schön umgucken, denn 
Regelungstechnik geht in der Realität nicht mit Matlab, sondern mit 
Mikrocontrollern. In Software, weil man das viel flexibler anpassen 
kann.
Gast #5737930
Lesenswert?

Wenn die Arduino IDE (ich hatte bereits bei der Recherche kurz darüber 
gelesen) wirklich geeignet ist, wäre das wirklich super. Ich brauche für 
meine Anwendung die "Encoder"-Funktion eines Timers des Boards. Und zwar 
müssen Inkremental-Signale eines Sensors hochgezählt und ausgewertet 
werden. Das wären maximal 120.000 Signale pro Sekunde, die erfasst 
werden müssen.
Gast #5737987
Lesenswert?

Jandro schrieb:
> Also ich generiere für den Test mittlerweile nur noch über CubeMX
> einen
> Code, der einen GPIO_Output konfiguriert, ich füge noch nicht mal
> eigenen Benutzercode hinzu.
>
> Das Projekt wird von CubeMX mit Toolchain "SW4STM32" angelegt und beim
> Importieren wird das Projekt auch sofort erkannt.
> Nun mache ich in der Workbench nichts anderes, als für übertragene
> Projekt die Binärdatei erstellen zu lassen..dabei ändere ich nichts an
> den Einstellungen in der Workbench.


Ich habe den Thread jetzt nicht vollständig gelesen. Ich bin auch kein 
Programmierer, aber mich wundert das nicht, dass das nicht funktioniert, 
wenn du als Anfänger gleich Eclipse verwendest...
Da hatte ich schon anfangs nur das Problem rein C zu programmieren. Mit 
den Einstellungen und dem Kram gleich anfangs als Anfänger. Naja..
Das ist ein IDE und Benutzerproblem und nicht STM32.

Ich wette, wenn du Keil uVision 5 herunterlädst, die Datei im CubeMx 
entsprechend auf KeilV5 umstellst, funktioniert deine LED auf Anhieb.
Das schwöre ich dir. Das bekommt auch meine Oma hin.
Und sonst würde ich einfach mal wieder zu dem Mitarbeiter gehen anstatt 
hier wochenlang zu diskutieren.

Und vergiss beim nächsten Mal nicht einen Kugelschreiben mitzunehmen.
Wenn man sich Dinge schon nicht merken kann, notiert man es sich 
wenigstens. Vor allem im Studim.
Gast #5738131
Lesenswert?

Stefanus F. schrieb:
> Ich bin durchaus bereit, extra für Dich eine frische Windows
> Installation zu machen um Dir zu helfen. Aber damit das Sinn ergibt,
> brauche ich Infos von Dir.

Darauf hast du (jandro) mit einem Screenshot geantwortet. Ist das dein 
Ernst? Soll ich jetzt nur auf Basis des Screenshots eine komplette 
Windows Installation samt IDE und deinem Quelltext vornehmen, um dein 
Problem nachzuvollziehen?

Dann mache ich garantiert mindestens 50 Sachen anders als du und dann 
wird es bei mir funktionieren.

Bei mir funktioniert das Zusammenspiel zwischen CubeMX und der System 
Workbench tadellos ohne manuelles Eingreifen. Ich kann Dir also mit 
Sicherheit bestätigen, dass die verwendete Software prinzipiell 
out-of-the-box funktioniert. Nur bei Dir nicht. Irgend etwas machst du 
anders und falsch.

Ich brauche Links zu sämtlichen Downloads mit exakt den Versionen, die 
du verwendet hast. Und ich brauche eine Auflistung jedes einzelnen 
Mausklicks bzw. Befehls. Meine Frage nach deinen Umgebungsvariablen hast 
du ausserdem ignoriert.

Dein Gejammer über mangelnde Hilfsbereitschaft ist unangemessen. Wir 
wollen Dir helfen, doch das hängt von Deiner Mitarbeit ab. Mit dem 
groben Tonfall hier musst du klar kommen, das wird sich in absehbarer 
Zeit nicht ändern Was die Berufswahl angeht: Programmierer lernen ihr 
ganzes Leben lang weiter. Es gibt ständig neue Bauteile und 
Arbeitsmittel. Es spielt keine Rolle, wie viel du dazu im Studium 
gelernt hast - im Beruf wirst du mit 99% Wahrscheinlichkeit sowieso mit 
anderen Mitteln arbeiten müssen, als du im Studium gelernt hast.

Also, hör auf zu jammern und beantworte meine Fragen, damit Dir geholfen 
werden kann. Oder suche Dir eine andere Ausbildung, von der du nach 
Abschluss den Rest des Lebens zehren kannst. Zum Beispiel Friseur oder 
Schreiner.
Gast #5738363
Lesenswert?

Christopher C. schrieb:
> Bevor du mit SystemWorkbench verzweifelst und aufgibst, benutze lieber
> TrueStudio. Die IDE ist ausgereifter und funktioniert meiner Erfahrung
> nach OutOfTheBox.

Die IDE ist in beiden Fällen die gleiche. Beide funkti0onieren 
OutOfTheBox.

Für mich bietet die System Workbench den Vorteil, Projekte ohne 
"Firmware" (=HAL) anlegen zu können.
Gast #5738581
Lesenswert?

Also ich benutze nun tatsächlich Atollic und damit klappt alles 
reibungslos, ich weiß nicht was genau los war. Aber wenigstens kann ich 
jetzt meine Aufgaben ohne Schwierigkeiten erledigen.

Stefanus F. schrieb:
> Ich bin durchaus bereit, extra für Dich eine frische Windows
> Installation zu machen um Dir zu helfen.

Ich möchte nicht, dass sich jemand so viel Mühe geben muss. Aber vielen 
Dank für das Angebot. Nun hat es scih aber wie es aussieht erledigt
Gast #5738601
Lesenswert?

Jandro schrieb:
> Also ich benutze nun tatsächlich Atollic und damit klappt alles
> reibungslos, ich weiß nicht was genau los war. Aber wenigstens kann ich
> jetzt meine Aufgaben ohne Schwierigkeiten erledigen.

Ich habe mir spasseshalber mal die Workbench installiert, und versucht, 
ein nacktes Projekt zu compilieren: Fehlermeldung...
Liegt also nicht (nur) an dir.
Seitdem STM Atollic uebernommen hat, wirde die Workbench wohl nur nocht 
von Leuten benutzt, die das Ding schon verwendet (und angepasst) haben.
Fuer Anfaenger ist das Truestudio wohl eher erste Wayhl.
Gast #5738610
Lesenswert?

Nop schrieb:

> Embedded sind die SW-Entwickler erheblichenteils
> E-Techniker, die schwerpunktmäßig keine Programmierung im Studium
> hatten.

Oder die "umgekehrte" Richtung: Informatiker, die nicht schwerpunktmäßig 
E-Technik hatten. ;o)

µC-Programmierung ist nunmal an der Grenze zweier Fachgebiete 
angesiedelt. Aber: bei jedem der beiden Studiengänge kann man genug 
mitnehmen, um sich genau auf dieser Grenzlinie mit überschaubarem 
Aufwand in den angrenzenden Bereich einzuarbeiten.

Man muss es bloss wollen und man darf nicht stinkendfaul sein. Das ist 
eigentlich schon alles.

Natürlich muss man darüber hinaus bereit sein, lebenslang 
selbstständig weiter zu lernen. Das ist, was jeder Ingenieur als 
wesentliches Rüstzeug aus dem Studium mitgenommen haben sollte...

Blöd für Faule und Lernverweiger. Wenn man keinen Bock auf Lernen hat, 
sollte man lieber BWL oder sowas machen. Nur da kann man auch dann 
relativ viel Geld verdienen, wenn man von nix eine Ahnung hat und nur 
Scheisse baut.
Gast #5738627
Lesenswert?

c-hater schrieb:

> Man muss es bloss wollen und man darf nicht stinkendfaul sein. Das ist
> eigentlich schon alles.

Ich hab in meiner Abschlußarbeit ein größeres Projekt gehabt, das 
letztlich in Assembler auf einem Evalboard zu implementieren war. Daß 
Assembler in keiner Vorlesung drangewesen war (nur C) und ich das vorher 
noch nicht gemacht hatte, ist mir als besonderes Hindernis nichtmal 
aufgefallen. Ich hielt es für völlig normal, daß man sich selbständig 
einarbeitet.
Gast #5738633
Lesenswert?

c-hater schrieb:
> Natürlich muss man darüber hinaus bereit sein, lebenslang
> selbstständig weiter zu lernen. Das ist, was jeder Ingenieur als
> wesentliches Rüstzeug aus dem Studium mitgenommen haben sollte...

Also ich bin in jedem Fall dafür bereit mich in meinem Beruf 
weiterzubilden. Mein Studium habe ich (vielleicht abgesehen von den 
letzten Wochen vor den Klausurenphasen) mit Spaß durchgezogen.
Hier in diesem Fall muss ich eben einen Kompromiss zwischen Umfang von 
neuem Wissen und der für das Projekt vorgesehenen Zeit finden. Es ist 
nicht so, dass ich hier unebegrenzt Zeit habe um mir das komplette 
Grundwissen von Mikrocontrollern anzueignen. Von daher muss ich abwägen 
ob es wirklich sinnvoll ist all das zu machen, was hier von einigen 
Usern als notwendig empfunden wird... das ist hier ein kleines Projekt 
für die Uni und kein Lebenswerk ;)
Beitrag #5738642 wurde von einem Moderator gelöscht.
Gast #5738655
Lesenswert?

Jandro schrieb:

> Von daher muss ich abwägen
> ob es wirklich sinnvoll ist all das zu machen, was hier von einigen
> Usern als notwendig empfunden wird...

Mit welcher Kompetenz willst du das Abwägen? Du hast doch ganz 
offensichtlich absolut keine Ahnung.

> das ist hier ein kleines Projekt
> für die Uni und kein Lebenswerk ;)

Du lernst nicht für das kleine Uni-Projekt, sondern für dich selber. Das 
genau ist die Erkenntnis, die dir noch fehlt, um wirklich erwachsen zu 
werden.
Gast #5738672
Lesenswert?

Naja es ist ein Zähler. Ein Drehsensor liefert pro Umdrehung 4000 
Signalechsel, die zu erfassen sind... dabei muss das ganze für 30 
Umdrehungen pro Sekunde ausgelegt werden.
Wir haben es am Oszilloskop mit einem gesetzten HIGH-Output während des 
Schleifenablaufs überprüft. Das triviale Nutzerprogramm war einfach 
langsamer als 2 aufeinanderfolgende Flanken des Signals (zumindest ab 
einer gewissen Drehgeschwindigkeit).
Gast #5738683
Lesenswert?

@ Jandor

Vielleicht wäre es sinnvoll, wenn Du Dir andere Maßstäbe zu dem Thema 
anschaust.

Ich stelle mal in den Raum, - und das entspricht meiner Beobachtung -, 
dass ein Hardwerker im Embedded-Bereich grob zu wissen hat, wie ein 
Compiler, ein Linker und eine IDE arbeitet und auch sonstige 
Software-Werkzeuge, wie Tabellenkalkulation etcpp. Wo 
Installationsverzeichnisse sind und was darin enthalten ist. 
Entsprechende Dokumente über Compiler und IDE muss er lesen und 
verstehen können.

Die Kommandozeile sollte er bedienen können. Dateien suchen, Dateipfade 
überprüfen können. Da der PC ein Basiswerkzeug ist, sollte er auch 
dessen Grundfunktionen verstehen und verwenden können.

Das läuft darauf hinaus, zumindest für Prototypen Minimal-Programme 
erstellen zu können um etwa einfache Funktionstest durchzuführen.

Das ist vom Umfang her etwas deutlich anderes als Software zu 
entwickeln . DAS mag man vielleicht "Lebenswerk" nennen. Aber, wenn Du 
mir den Vergleich gestatten willst, Du weigerst Dich, einen PC zu 
bedienen, weil Du Hardware entwickelst.
Das wird kein Auftraggeber oder Arbeitgeber auf die Dauer hinnehmen und 
Dir einen PC-Bediener zur Seite stellen um eine Datei zu suchen.
Gast #5738688
Lesenswert?

Jandro schrieb:
> Ein Drehsensor liefert pro Umdrehung 4000
> Signalechsel, die zu erfassen sind... dabei muss das ganze für 30
> Umdrehungen pro Sekunde ausgelegt werden.

Also 60 kHz.

> Das triviale Nutzerprogramm war einfach
> langsamer als 2 aufeinanderfolgende Flanken des Signals

Falscher Lösungsansatz, das macht man mit einem Counter.

Abgesehen davon würde ein Arduino Nano das auch mit der Polling Methode 
locker flockig schaffen:
1
uint32_t counter=0;
2

3
#define READ_SENSOR (PORTB & (1<<PB0))
4

5
for (;;) // forever
6
{
7
    while (!READ_SENSOR) {};
8
    counter++;
9
    while (READ_SENSOR) {};
10
}

Damit komme ich auf mehr als 1 MHz. Du musst etwas grob falsch gemacht 
haben.
Gast #5738693
Lesenswert?

c-hater schrieb:
> Jandro schrieb:
>
> Von daher muss ich abwägen ob es wirklich sinnvoll ist all das zu
> machen, was hier von einigen Usern als notwendig empfunden wird...
>
> Mit welcher Kompetenz willst du das Abwägen? Du hast doch ganz
> offensichtlich absolut keine Ahnung.
>
> das ist hier ein kleines Projekt für die Uni und kein Lebenswerk ;)
>
> Du lernst nicht für das kleine Uni-Projekt, sondern für dich selber. Das
> genau ist die Erkenntnis, die dir noch fehlt, um wirklich erwachsen zu
> werden.

Du hast so recht, aber
wem erzählst du das?
er kapierts eh nicht...
und hat für alles eine Entschuldigung..
Gast #5738696
Lesenswert?

Jandro schrieb:
> ich muss noch dazu sagen, dass ich beim Arduino noch eine
> "Encoder"-Library mit eingebunden habe

Damit fängt das Problem schon an. Solche Trivialitäten programmiert man 
vernünftigerweise selbst. Vermutlich hast du gar nicht versucht, 
herauszufinden, woran es genau scheitert, sondern einfach auf ein Pferd 
mit viel mehr Power gesetzt, richtig?

Beim STM32 wird Dir das gleiche Problem früher oder später erneut 
begegnen, das ist so sicher wie das "Amen" in der Kirche.
Gast #5738699
Lesenswert?

Jandro schrieb:

> nicht so, dass ich hier unebegrenzt Zeit habe um mir das komplette
> Grundwissen von Mikrocontrollern anzueignen.

Von einem Entwickler für embedded-SW würde man sogar erwarten, daß er 
den Controller ohne CubeMX und ohne HAL programmieren kann, also nach 
Datenblatt.

Daß Du hier über die vereinfachende Abkürzung mit CubeMX und HAL 
rangehst, IST bereits im Hinblick darauf, daß das nicht Dein Kerngebiet 
ist.

Woran Du gestrauchelt bist, hat außerdem gar nichts mit Mikrocontrollern 
zu tun, sondern damit, daß Du schon mit Dateipfaden auf einem PC 
überfordert warst.

Guck Dir Dein Eingangsposting doch mal an - was muß ich wo klicken? Wenn 
Du diese Mentalität nicht sehr schnell ablegst, wirst Du nach dem 
Studium keine Probezeit überstehen.
Gast #5738727
Lesenswert?

ist wirklich okay jetzt, es gibt bei uns an der Uni ein Fachgebiet für 
intelligente eingebettete Systeme, die Studenten dort schlagen einen 
anderen Weg als wir MSR-ler ein (Mess-Steuer-Regelungstechnik). Die 
Möglichkeiten in meinem Schwerpunkt (und es sind einige) habe ich schon 
alle aufgezeigt bekommen...

Im Übrigen kenne ich keinen Ingenieur im Freundeskreis, dessen 
Arbeitgeber sich für seine Projektarbeit im Studium interessiert hat. 
Wissenschaftlich gesehen ist das sowieso kalter Kaffee
Gast #5738732
Lesenswert?

Jandro schrieb:

> Im Übrigen kenne ich keinen Ingenieur im Freundeskreis, dessen
> Arbeitgeber sich für seine Projektarbeit im Studium interessiert hat.

Ich hab meinen ersten Job genau wegen des Assemblerprojektes aus dem 
Studium bekommen - die Firma brauchte da Verstärkung, wollte sich aber 
finanziell keinen weiteren alten Hasen leisten. Ein Frischling mit 
Assemblerkenntnissen war für die Firma ein Volltreffer. Ach ja - ET, 
nicht Informatik.
Gast #5738739
Lesenswert?

Jandro schrieb:
> als wir MSR-ler ein (Mess-Steuer-Regelungstechnik). Die
> Möglichkeiten in meinem Schwerpunkt (und es sind einige) habe ich schon
> alle aufgezeigt bekommen...
Scheuklappen? MSR ist relativ abstrakt. Hast schon schon mal einen 
digitalen Regler aufgebaut&programmiert?

> Im Übrigen kenne ich keinen Ingenieur im Freundeskreis, dessen
> Arbeitgeber sich für seine Projektarbeit im Studium interessiert hat.
> Wissenschaftlich gesehen ist das sowieso kalter Kaffee
Demnach hast einen sehr kleinen Freundeskreis bzw. wenig Ingenieure 
dabei.
Studium kann fast jeder, interessant wird man fuer Arbeitgebern, wenn 
auch mal ueber den Tellerrand geguckt hat. Und begeistert von solchen 
Studienarbeiten erzaehlen kann. Wenn man sonst noch nichts (ausse gute 
Noten) vorweisen kann.
Gast #5738777
Lesenswert?

STK500-Besitzer schrieb:
> Wenn man sonst noch nichts (ausse gute Noten) vorweisen kann.

Gute Noten sind ja nicht schlecht (d'oh), aber sie sagen ja nur aus, daß 
man bekannte Grundlagen auf künstlich gestellte Situationen relativ 
theoretisch anwenden kann. Sie sagen wenig über die Kompetenz zur 
Problemlösung aus, was aber genau das ist, was in der Industrie gefragt 
ist.

Früher(tm) war es ja noch üblich, daß man sich mal in die Uni-Bibliothek 
gewagt hat, um eigenständig für Probleme außerhalb von Schema F zu 
recherchieren. Das dürfte wohl größtenteils dem Bologna-Prozeß zum Opfer 
gefallen sein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren