Hallo, ich habe bei einem STM32 einen externen Oscillator als Taktgeber vorgesehen. Diesen kann ich jedoch über einen GPIO an/ausschalten. Wenn ich zuerst versuche den Oscillator zu verwenden, ohne dass dieser aktiviert ist, kann ich mich dann aus dem Controller aussperren, vor allem wenn ich dafür die HAL Routine nutze?
die STM haben einen Bootloader in den man starten kann wenn der Pin BOOT=1 ist. Dann kommt man wieder per SWD dran und kann korrigierten Code hochladen.
J. S. schrieb: > die STM haben einen Bootloader in den man starten kann wenn der > Pin > BOOT=1 ist. Dann kommt man wieder per SWD dran und kann korrigierten > Code hochladen. Nicht nötig. So gut wie alle Programmer ziehen den Reset-Pin auf Low und flashen dann. Da spielt es keine Rolle was für Code im Flash ist. Der Code kann völlig kaputt sein, den Takt abschalten, egal. Aussperren kann man sich nur indem man per Option Bytes den Bootloader und das SWD/JTAG-Interface permanent abschaltet und zuvor kaputten Code flasht.
wenn der Reset Pin am SWD angeschlossen ist. Ich habe mehrere Boards wo das nicht so ist, teilweise ist Reset nicht mal auf einem Headerpin rausgeführt und ich musste den am Reset Taster anlöten. Boot Button ist da vorhanden, aber lästig wenn die App die MCU ständig in den deep sleep schickt. Bei den LPC hat im deep power down auch der Reset keine Funktion mehr, den muss man über WakeUp wieder starten, der liegt aber auch nicht auf dem SWD Interface.
Ada J. Quiroz schrieb: > ich habe bei einem STM32 einen externen Oscillator als Taktgeber > vorgesehen. Diesen kann ich jedoch über einen GPIO an/ausschalten. Tja, es gibt mittlerweile über 1300 verschiedene (ohne wenn's teilweise nur Gehäusevarianten sind). Bei machen lässt sich die PLL gar nicht auf HSE umschalten, wenn der HSE gar keinen stabilen Takt liefert. Bei anderen wird bei Ausfall des HSE automatisch (oder konfigurierbar) auf HSI umgeschaltet. Also: Nichts genaues weiß man nicht ... Wer nicht mal den Typ des "STM32" benennen kann, ist m. E. einfach ein Chaot.
Andreas B. schrieb: > Wer nicht mal den Typ des > "STM32" benennen kann, ist m. E. einfach ein Chaot. dann lohnt ein Blick ins Datenblatt. J. S. schrieb: > Ich habe mehrere Boards wo > das nicht so ist, +1 das ist das Problem!
J. S. schrieb: > wenn der Reset Pin am SWD angeschlossen ist. Ich habe mehrere Boards wo > das nicht so ist Das ist ja wohl dein Problem. SWD ohne Reset ist Mist und fällt einem irgendwann auf die FÜße. Mit Reset kann man die Dinger immer wieder neu flashen, egal was man bei den Clock Einstellungen verzockt hat. Ein großer Vorteil gegenüber den Fuse-Bits bei AVR. Aber klar, schmeiß den Vorteil weg und lass Reset weg. Und dann heul im Forum rum. Kein Mitleid. Kriege deine Entwicklung auf die Kette.
J. S. schrieb: > Ich habe mehrere Boards wo das nicht so ist Cyblord -. schrieb: > Aber klar, schmeiß den Vorteil weg und lass Reset weg. Und dann heul im > Forum rum. Kein Mitleid. Kriege deine Entwicklung auf die Kette. Stell dir mal vor, er hat die Boards im Sinne von "besitzen" oder "damit arbeiten müssen", aber er hat sie nicht selbst entwickelt und kann das auch nicht beeinflussen. Ist jetzt nicht soooo ungewöhnlich, oder?
Steve van de Grens schrieb: > Stell dir mal vor, er hat die Boards im Sinne von "besitzen" oder "damit > arbeiten müssen", aber er hat sie nicht selbst entwickelt und kann das > auch nicht beeinflussen. Ist jetzt nicht soooo ungewöhnlich, oder? Natürlich ist das ungewöhnlich. Man akzeptiert nicht einfach irgendeine Hardware. Wenn die entsprechenden Belegung für SWD nicht drauf sind, kann man damit nicht entwickeln. Dann kann man vielleicht noch Fädeln o.ä. Aber einfach akzeptieren ist nicht.
Cyblord -. schrieb: > Natürlich ist das ungewöhnlich. Man akzeptiert nicht einfach irgendeine > Hardware. Wenn die entsprechenden Belegung für SWD nicht drauf sind, > kann man damit nicht entwickeln. Dann kann man vielleicht noch Fädeln > o.ä. > Aber einfach akzeptieren ist nicht. Gerade in großen Unternehmen, in denen die Hardware- und Firmwareentwicklung streng getrennt sind, kann man sich als Softwareentwickler nicht darauf verlassen, dass die Debuganschlüsse überhaupt auf der Leiterplatte vorhanden sind.
Cyblord -. schrieb: > Aber klar, schmeiß den Vorteil weg und lass Reset weg. Und dann heul im > Forum rum. > Kein Mitleid. Kriege deine Entwicklung auf die Kette. Hat dein Chef dich heute morgen wieder gefickt? SWD kommt ohne Resetleitung aus, Reset kann über die SWD Daten/Taktleitungen ausgelöst werden. Es funktioniert zuverlässig solange man den CPU Kern nicht schlafen lässt. Krieg du deine Software Entwicklung in den Griff, ich kann es auch ohne HW Reset wenn nötig.
Andreas S. schrieb: > Gerade in großen Unternehmen, in denen die Hardware- und > Firmwareentwicklung streng getrennt sind, kann man sich als > Softwareentwickler nicht darauf verlassen, dass die Debuganschlüsse > überhaupt auf der Leiterplatte vorhanden sind. ja, Arduino mit seiner professionellen Portenta Machine Control SPS hat das auch fertiggebracht die SWD Pins für IO und Steuersignale zu verbraten.
Andreas S. schrieb: > Gerade in großen Unternehmen, in denen die Hardware- und > Firmwareentwicklung streng getrennt sind, kann man sich als > Softwareentwickler nicht darauf verlassen, dass die Debuganschlüsse > überhaupt auf der Leiterplatte vorhanden sind. J. S. schrieb: > SWD kommt ohne Resetleitung aus, Reset kann über die SWD > Daten/Taktleitungen ausgelöst werden. Es funktioniert zuverlässig > solange man den CPU Kern nicht schlafen lässt. > Krieg du deine Software Entwicklung in den Griff, ich kann es auch ohne > HW Reset wenn nötig. Kann ich auch. Will ich aber nicht. Mir scheint ihr habt wenig zu melden und müsst fressen was die HW euch hinwirft. Ich entscheide welche HW akzeptabel ist oder nicht. Ich reviewe die Schaltung vorher, gerade im Hinblick auf Debug-Schnittstellen usw. Und SWD hat einen Reset oder die HW entwickelt die SW dafür selber. Da müsst ihr wohl erst noch hinkommen. Braucht ihr ein Rezept für ein paar Eier von Dr. Cox?
:
Bearbeitet durch User
Cyblord -. schrieb: > Ich entscheide welche HW akzeptabel ist oder nicht. Also Arbeitsverweigerung? In welchen Betrieben kann man vom Vorgesetzten angelieferte Schaltungen ablehnen ohne gegangen zu werden? Gerade in Zeiten von Rezession und Massenentlassungen wo selbst hochqualifizierte Fachkräfte Schwierigkeiten haben Stellen zu finden? Ich habe tatsächlich letztens mit einem Board ganz ohne SWD arbeiten müssen, programmieren ging nur über den Bootloader. Das Board wurde von einem ehemaligen Mitarbeiter entwickelt und sollte wiederverwendet werden. Hätte ich dem Vorgesetzten, und damit auch dem Kunden, sagen sollen "kann ich nicht machen"? Es hing ein lukrativer Auftrag dran.
Und ich rede von Chinaboards, z.B. ein STM32H743 Board das ich noch für ca 25 € gekauft hatte. Wenn der Controller davon schon 15 € kostet, dann mache ich mir auch nicht die Mühe ein eigenes Board zu entwerfen nur weil am SWD keine Resetleitung liegt. In der 4ma machen meine Kollegen die Entwürfe und da wurde die Resetleitung bisher auch nicht auf dem Programmieranschluss herausgeführt. Aber wir reden wie normale Menschen miteinander und jetzt wird das gemacht, inklusive Rx/Tx auf dem SDC14 Stecker. So einfach geht das.
Niklas G. schrieb: > Also Arbeitsverweigerung? Unsinn. > In welchen Betrieben kann man vom Vorgesetzten > angelieferte Schaltungen ablehnen Mein Vorgesetzter liefert keine Schaltungen an. Macht der Paketdienst. Die Entscheidung was da drauf kommt, trifft man hoffentlich vorher. > Ich habe tatsächlich letztens mit einem Board ganz ohne SWD arbeiten > müssen, programmieren ging nur über den Bootloader. Das Board wurde von > einem ehemaligen Mitarbeiter entwickelt und sollte wiederverwendet > werden. Hätte ich dem Vorgesetzten, und damit auch dem Kunden, sagen > sollen "kann ich nicht machen"? Es hing ein lukrativer Auftrag dran. Wenn es um kritische Dinge im Bestand geht, muss man natürlich kreativ werden. Wie gesagt, man kann auch immer was fädeln, Stecker irgendwo anlöten usw.
J. S. schrieb: > Und ich rede von Chinaboards, z.B. ein STM32H743 Board das ich noch für > ca 25 € gekauft hatte. Wenn der Controller davon schon 15 € kostet, dann > mache ich mir auch nicht die Mühe ein eigenes Board zu entwerfen nur > weil am SWD keine Resetleitung liegt. Ja dann musst DU mit dem Schrott halt leben den du da gekauft hast.
J. S. schrieb: > In der 4ma machen meine Kollegen die Entwürfe und da wurde die > Resetleitung bisher auch nicht auf dem Programmieranschluss > herausgeführt. Ist schlicht ein Problem der Person die das entscheidet. Eine Debug-Belegung sollte ja nun kein Zufall sein. Es sollte jemanden geben der sich das ausdenkt. Mit einer Begründung. > So einfach geht das. Jaja so einfach. Wenn man die HW machen lässt, wälzen die EINFACH solche Probleme auf die SW ab. Deshalb muss man Tacheles reden und dafür sorgen dass die das richtige machen. Oder sie löten dann halt bei 25 Mustern höchstselbst Stecker auf oder fädeln. Geht auch. Woran erkennt man den netten und verständigen Mitarbeiter? DER fädelt am Ende den Unsinn von anderen und das ganze Projekt verzögert sich auch noch. Nett hat keinen Erfolg.
:
Bearbeitet durch User
Cyblord, was ist los mit dir? Ich kenne dich schon lange, aber so mies gelaunt ist neu.
Niklas G. schrieb: > J. S. schrieb: >> die STM haben einen Bootloader in den man starten kann wenn der >> Pin >> BOOT=1 ist. Dann kommt man wieder per SWD dran und kann korrigierten >> Code hochladen. > > Nicht nötig. So gut wie alle Programmer ziehen den Reset-Pin auf Low und > flashen dann. Da spielt es keine Rolle was für Code im Flash ist. Der > Code kann völlig kaputt sein, den Takt abschalten, egal. > Leider ist das nicht immer so ... Im aktuellen CubeMx V6.10.0 Code Generator ist ein Bug der bei einem H7 mit 400/480 MHz die Flash wait-cycles falsch einstellt und dann lässt er sich nicht mehr mit VS-Code und GDB über ST-Link neu beschreiben. Meldung: can't reset Target. Mit dem ST stand alone Programmer kann man aber löschen oder ein funktionierendes Programm darüber bügeln.
Andreas S. schrieb: > Gerade in großen Unternehmen, in denen die Hardware- und > Firmwareentwicklung streng getrennt sind, kann man sich als > Softwareentwickler nicht darauf verlassen, dass die Debuganschlüsse > überhaupt auf der Leiterplatte vorhanden sind. Dann liefert man eben eine SW aus und lässt den HW-Entwickler testen. Dann lernt der das.
🐻 Bernie - Bär schrieb: > Dann liefert man eben eine SW aus und lässt den HW-Entwickler testen. > Dann lernt der das. Der war gut! Die finalen Tests machen immer die SW-Leute. Die finden dann auch die Fehler in Mechanik und Elektronik und müssen sich drum kümmern dass es funktioniert, während der Rest schon die nächsten tollen Projekte konzipiert.
Niklas G. schrieb: > Die finalen Tests machen immer die SW-Leute. Es ging mir nicht um die finalen Tests. Die machen die Tester. Es ging um die angedeutete Inbetriebnahme der Software, wenn das debuggen nur eingeschränkt möglich ist, weil der Prototyp das nicht angemessen berücksichtigt ist. Dazu möchte ich mit Heinweis auf dieses Thema hier Beitrag "Meeting-Hölle/Scrum" anmerken, daß in meinen Projekten die anfängliche Diskussion über die zu implementierenden inbetriebnahmeunterstützenden Testfunktionen ein zentraler Bestandteil der Konzeptphase ist. Würden das mehr Leitende im Auge haben, täten sich beide, SW- und HW-Entwickler, erheblich leichter. Etwas mehr Investition in Planungsdokumentation und damit weniger Stress bei Fehlersuchen. Dazu allerdings ist ein ausgereiftes Konzept nötig, das in der Vorentwicklungsphase niedergelegt und manifestiert wird; besonders was die Schnittstellen zwischen den Personen und die zu übergebenden Infos und Leistungen angeht. Das aber möchten manche nicht, weil sie sich in ihrer Denkfaulheit alle Türen offen lassen möchten, um alles aus dem Stegreif entscheiden zu können, womit sie das Projekt verscrummmen. Dieser Sorte fällt alles was sie brauchen erst ein, kurz bevor sie darüber stolpern und erwarten dann, dass es die anderen "agil" umsetzen und liefern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.