Hallo, ich mache mal nen neuen Fred auf dafür. Dass die beliebten Blue Pills langsam in die Jahre kommen dürfte jedem aufgefallen sein. Die F103 Chips werden immer teurer und sind mit über 10 Jahren Marktpräsens auch als "out of date" zu bezeichnen. Je mehr ein Chip verschwinden soll, desto teurer wird er gemacht, das war schon immer so. Inzwischen kosten STMF103, sofern noch verfügbar bis zu 20 Euro / Stück. Die schwarzen Boards kommen als Black Pill daher, kosten ca 5-10 Euro und sind mit STM32F401CE (512k Flash) oder STM32F411 bestückt (1Mb Flash). Sind den F103 in allem überlegen. Mehr Hubraum, mehr PS, mehr Schnickschnack. Ich selbst bin noch ein Fan der veralteten EmBitz IDE mit einem China ST-Link V2 und EBlink als Debug Server, CooCox gibt es ja schon lange nicht mehr und alles andere ist kostenpflichtig. Leider gibt es diese Chips in Embitz (2014) nicht als Auswahl, man muss sich selbst was stricken. Das Linker File anzupassen ist noch das einfachste, ebenso die GCC Direktiven was die FPU angeht, die Float16 rechnen kann. Schwieriger wird es beim startup Code, der zumindest für mich ein Brief mit 7 Siegeln ist. Überladen mit if def else und nur Assembler. Fakt ist, dass der Cortex M4 Startup Code von ST von 2012 nicht mehr läuft, er löst eine Prozessor Bus Exception aus, bzw. ungültigen Befehl. Vermutlich, der Debugger schmiert einfach ab. Hat jemand diese älteren IDE mit den Black Pills schon in seiner Tool-Chain ans laufen gekriegt? Wichtig wäre zu wissen welche Parameter eingestellt werden müssen. Und vor allem suche ich eine lauffähige startup.s für den GCC die mit der CMSIS und der SPL zusammen spielt was die Benamung der tausend Handler angeht.
Christian J. schrieb: > Ich selbst bin noch ein Fan der veralteten EmBitz IDE mit einem China > ST-Link V2 und EBlink als Debug Server, CooCox gibt es ja schon lange > nicht mehr und alles andere ist kostenpflichtig. Wie kommst du drauf? Die CubeIDE von ST z.B. ist vollkommen kostenlos. https://www.st.com/en/development-tools/stm32cubeide.html
Ok, ist aber hier jetzt nicht Thema. Thema sind die alten Tool-Chains in die man sich eingearbeitet hat, die ne Menge Anpassung erfahren habe, wo die Debug Scripte und Werkzeuge drin sind, eine eigene GCC Version kompiliert wurde usw. Da stecken nicht nur Stunden, da stecken Tage drin.
Christian J. schrieb: > Da stecken nicht nur Stunden, da stecken Tage drin. Die Du da jetzt auch gleich nochmal reinstecken kannst um mit dieser veralteten Toolchain auf einen aktuellen Stand zu kommen. Nimm gleich was aktuelles. Das kostet genauso viel (oder weniger) Zeit und Du bekommst im Zweifelsfall auch Hilfe dafür.
Man braucht für den Startcode genau NULL Assembler https://gitlab.com/amesser-group/ecpp/atsam4s/-/blob/master/src/ecpp/HAL/Atmel/ATSAM4S/Exceptions.cpp
Andreas B. schrieb: > Nimm gleich was aktuelles. Ich will aber nicht. Da zb die von Segger an deren Hardware gebunden ist und keine Fake Chips aus China flashen kann, weil die Core-ID abgefragt wird. habe deren Debugger gleich wieder zurück geschickt, war rausgeworfenes Geld.
und in dem EB Forum gibt es keine Leidensgenossen? Es gibt ja doch noch EB Anhänger und das Blackpill ist ja auch kein Exot. Der Fehler kann auch noch aus dem Linkerscript kommen, da holt sich der Startup Code ja die Adressen für Flash/Ram und die Init Daten her.
Christian J. schrieb: > Da zb die von Segger an deren Hardware gebunden ist > und keine Fake Chips aus China flashen kann, weil die Core-ID abgefragt > wird. habe deren Debugger gleich wieder zurück geschickt, war > rausgeworfenes Geld. Black magic Probe. Hatte ich aber in einem anderen Thread schon erwähnt
Johannes S. schrieb: > Der Fehler kann auch noch aus dem Linkerscript kommen, da holt sich der > Startup Code ja die Adressen für Flash/Ram und die Init Daten her. Habe ich mit Frank schon abgeglichen, die einzigen fixen Adressen die da drin - neben tausend kyrptischen Befehlen - stehen sind ROM 0x800000, RAM 0x200000 und die Vector Table. Ist bei allen M4 gleich. Der Rest aller Segmente baut auf diesen Adresse auf und ist wie ein Sandwich geschichtet, also txt, bss, usw. usw. Der Stack kommt von oben, der Heap liegt zuoberst. Bei F407er habe ich damals (Discovery Board) noch eigene Segmente für BKRAM (4kb) und CCRAM (64kb) von insgesamt 196kb eingebaut und deren Regionen zugewiesen, da das RAM nicht an einem Stück liegt. Dadurch konnte ich jeder Var zuweisen wo sie liegt. zb int var1 __section(CCRAM....) Die hat der 401 aber wohl nicht wie ich gelesen habe bei der ersten Durchsicht der Reference. es gilt wohl auich zu klären, ob das Problem nicht beim EBlink DGB Server liegt und dem St-Link V2 Klone. Dazu werde ich mal die berühmte rote LED einschalten und gucken ob der Code da hin kommt.
Andreas B. schrieb: > Black magic Probe. Hatte ich aber in einem anderen Thread schon erwähnt Ja, wenn mir jemand dafür das ganze Drumherum gibt, Scripte, Integration in die IDE usw. Dann, wenn ich mit allem was ich habe nicht weiterkommen, erst dann steige ich um, weil das ein Riesenaufwand ist einen Source Debugger ans Laufen zu kriegen. Auch wenn da der Server mit drin ist, EmBitz erwartet das aber nicht, der hat die ganze Bedienung eines Servers mit drin und zwar in Form von Scripten. Nachher liegt das teure Ding (60 Euro) auf dem Tisch und du fragst dich verzweifelt wie du es ans Laufen kriegen sollst. Denn ich finde darüber nicht einen einzigen Hinweis, wie die BMP in bestehende IDE integriert werden soll! Alles so einfach? Und das scheint mir sehr komisch zu sein... vermutlich setzt es einfach kaum einer ein! Der Markt ist geschwemmt mit st link klonen aber nicht mit BMP's. Der hier kriegt es auch nicht wirklich ans Laufen.... https://mcuoneclipse.com/2019/06/23/black-magic-open-source-debug-probe-for-arm-with-eclipse-and-gdb/ "Hi Nadu, Building a hardware debug probe is very easy compared to the software/tools support. In my case the black magic debug probe is collecting dust because it does not support well the devices I’m mostly using, to bad. My recommendation is that you go straight using the J-Link, you will get much better and professional support that way. Erich"
Christian J. schrieb: > Die F103 > Chips werden immer teurer und sind mit über 10 Jahren Marktpräsens auch > als "out of date" zu bezeichnen. Je mehr ein Chip verschwinden soll, > desto teurer wird er gemacht, das war schon immer so. Inzwischen kosten > STMF103, sofern noch verfügbar bis zu 20 Euro / Stück. Klar werden Chips teurer aufgrund der niedrigeren benötigten Stückzahlen, wenn sich ihr Lebenszyklus dem Ende neigt, der STM32F103C8T6 aufm Blue Pill Board kostet aber bei Abnahme einer Rolle nicht einmal 3€ das Stück bei den Distributoren, selbst die teuerste STM32F103 Variante kostet als Einzelstück nicht mal annähernd 20€ bei DigiKey, die Aussage ist also Humbug. Momentan nutzen es nur einige Händler, welche noch Chips vorrätig haben aus, das der Markt leergekauft wurde.
der Artikel ist von 2019, der U. Bonnes und andere haben inzwischen wieder viele viele Stunden Arbeit da reingesteckt auch neuere targets zu unterstützen (wobei F401/411 auch alte Kamellen sind). Und man muss nicht gleich die 60$ HW kaufen, ein Bluepill lässt sich auch zur BMP flashen. Ich habe eine Handvoll 2,50 € STLink Clones (als es die noch so günstig gab) und die rennen alle wie die Wutz. In VSCode, nix ellenlange Scripts, 5 Zeilen Config und das wars und GCC Versionen kann ich nach belieben tauschen. Auf dem Blackpill läuft seit Wochen eine LED Matrix mit Laufschrift 'Schalke ist der geilste Club der Welt'. Geholfen hats auch nicht :( die teurere org HW vom BMP hat Buffer für die SWD drauf, damit können auch andere Targetspannungen als 3,3 V genutzt werden. Sonst ist die SW gleich.
Christian J. schrieb: > Ich will aber nicht. Das Problem kenne ich :-) Weil ich von Coocox noch nicht losgekommen bin, habe ich mir keine 411, sondern 401 Blackpills bestellt. Die werden von Coocox 1.7.8 noch unterstützt. Weiß nicht, ob Dir das etwas bringt. Nachdem ich aber meine AVR-IDE umgestellt habe und trotz Fluchen und Schimpfen nicht daran gestorben bin, wede ich hier mitschmökern und irgendwann nochmal den Mut fassen, auch für den STM32 was Neues zu probieren.
Christian J. schrieb: > Die F103 > Chips werden immer teurer und sind mit über 10 Jahren Marktpräsens auch > als "out of date" zu bezeichnen. Je mehr ein Chip verschwinden soll, > desto teurer wird er gemacht, das war schon immer so. Inzwischen kosten > STMF103, sofern noch verfügbar bis zu 20 Euro / Stück. Das stimmt so nicht. Die Chips werden immer noch in Massen eingesetzt und sind nicht als EOL oder NRND deklariert. Ganz im Gegenteil, die Teile sind so teuer, weil ST nicht hinterher kommt die zu bauen.
Jan schrieb: > Ganz im Gegenteil, die > Teile sind so teuer, weil ST nicht hinterher kommt die zu bauen. Die absolute Mehrheit wird gar nicht mehr von ST gebaut. ARM hat Lizenzen in die ganze Welt geteilt, legal oder illegal wird da produziert. Die Lizenznehmer packen nur ihre Prime Cells dran. China ist Nr.1 und verknappt den Markt derzeit und China schert sich einen Dreck um Rechte. Kopieren, den Markt schwemmen und die eigentlichen Hersteller verdrängen heisst die Devise. Übrigens haben nicht nur Bastler Probleme, auch bei den Firmen stehen Linien still, weil nicht geliefert werden kann. Gerade bei VW hier neben an fehlen Chips.
Jan schrieb: > Ganz im Gegenteil, die > Teile sind so teuer, weil ST nicht hinterher kommt die zu bauen. Das betrifft momentan alle Halbleiterhersteller.
Andreas B. schrieb: >> Teile sind so teuer, weil ST nicht hinterher kommt die zu bauen. > Das betrifft momentan alle Halbleiterhersteller. Eben, wer wie ich in einer Massen-Industrie arbeitet für Elektronik kennt die Sorgen... die Einkäufer wissen nicht mehr wo sie die Reels her bekommen sollen für die Picker, Placer und Chip Shooter. Lieferzeiten bis 2022... Gabs 2002 auch mal, die große Kondensator Krise...
Christian J. schrieb: > Denn ich finde darüber nicht einen einzigen Hinweis, wie die BMP in > bestehende IDE integriert werden soll! Alles so einfach? Und das scheint > mir sehr komisch zu sein... vermutlich setzt es einfach kaum einer ein! > Der Markt ist geschwemmt mit st link klonen aber nicht mit BMP's. > > Der hier kriegt es auch nicht wirklich ans Laufen.... Du wirst immer Beispiele finden von Leuten die irgend etwas nicht hinbekommen. Das sollte kein Maßstab sein. In diesem Thread steht ganz unten mit welchem Script man den BMP laufen läßt: Beitrag "LPC debuggen mit Black magic probe auf STlinkV2 clone" (Screenshot gede) Das funktioniert genauso unter MCUXpressoIDE. Zu 99% auch unter der STM GUI.
Ich hab auch auf die harte Tour lernen müssen, dass es eine ziemlich blöde Idee ist sich auf IDEs zu verlassen. Ich glaub es gibt sogar einen Post hier von mir in diesem Forum, in dem ich damals geschrieben hab ich nutze Eclipse weils komfortabler ist als Make und Co. Nun, diese Zeiten sind glücklicherweise vorbei. Grad wenn du beruflich auch damit zu tun hast und nicht "nur bastelst" würde ich dir raten dir CMake anzueignen. Es gibt nichts angenehmeres als ein Jahre altes Projekt zu öffnen, 2x Zeilen in Bash einzutippen und ein fertiges Binary ausgespuckt zu bekommen. Das selbe Projekt lässt sich in der IDE dann vermutlich nicht mal mehr öffnen... oder alle Einstellungen sind futsch, oder oder oder. Ein tieferer Einblick in Linkerscripts, Startup-Code und C Runtime schadet sicherlich auch nicht.
Vincent H. schrieb: > oder alle Einstellungen sind futsch, oder oder oder. oder es funktioniert einfach noch. Gerade bei LPC/MCUXpresso habe ich viele Updates mitgemacht und kann immer noch 10 Jahre alte Projekte öffnen und genauso kompilieren wie früher. Das Problem ist nur, diese IDE mag nur LPC. Für ST gibts dann wieder ein anders konfiguriertes Eclipse, für Nordic wieder ein anderes. Oder man baut das selber mit Gnu MCU Eclipse, hat dann aber nicht mehr den Komfort der angepassten IDE. EmBitz ist da einfacher, ist aber leider eine One Man Show und es hängt im wesentlichen an dem Chef Entwickler.
Vincent H. schrieb: > Nun, diese Zeiten sind glücklicherweise vorbei. Grad wenn du beruflich > auch damit zu tun hast und nicht "nur bastelst" würde ich dir raten dir > CMake anzueignen. Es gibt nichts angenehmeres als ein Jahre altes > Projekt zu öffnen, 2x Zeilen in Bash einzutippen und ein fertiges Binary > ausgespuckt zu bekommen. Ich arbeite in einer Firma (Konzern) wo professionell Software entwickelt wird für diverse Controller in Steuergeräten, zb SPS. Und ich kann Dir sagen, dass da niemand mit Cmake etc arbeitet oder der Kommandozeile. Alle SW Arbeitsplätze sind mit IAR oder Keil ausgerüstet und arbeiten nur mit der IDE. Auch der GCC findet keine Verwendung, aus gutem Grund sogar: Den lässt der TÜV nicht zu. Und mit denen liegen Verträge vor, dass auch in 10 Jahren Projekte noch importiert werden können. Ich bastel aber inzwischen nur noch, meine berufliche Zeit mit Software liegt über 15 Jahre zurück. Seitdem macht es auch mehr Spass :-) Debugger: Mit wäre schon geholfen, wenn mir jemand sagt, wie man dem EBlink Server Parameter mit gibt? Denn alles was in dieser Zeile steht führt dazu, dass der gar nichts mehr tut. Aktuell läuft der auf Default, da fehlt einiges. zb kriege ich die Speed nicht eingestellt. Aber das kann auch am unfertigen EmBitz liegen...
Der EBLink ist doch im GitHub, incl Beschreibung.
Christian J. schrieb: > Ich arbeite in einer Firma (Konzern) wo professionell Software > entwickelt wird und Christian J. schrieb: > Ich bastel aber inzwischen nur noch, meine berufliche Zeit mit Software > liegt über 15 Jahre zurück. Seitdem macht es auch mehr Spass :-) passt nicht zusammen. 15 Jahre sind in dem Bereich eine Ewigkeit.
Christian J. schrieb: > Und ich > kann Dir sagen, dass da niemand mit Cmake etc arbeitet oder der > Kommandozeile. Alle SW Arbeitsplätze sind mit IAR oder Keil ausgerüstet > und arbeiten nur mit der IDE. Hört sich aber ziemlich rückständig an, heutzutage wird doch eh alles was an Kunden rausgeht auf Build Servern durch direkte Ansteuerung von Compiler, Linker und co. mit z.B. Jenkins gebaut, weil es so auch Jahre später möglich ist, einen identischen Build wieder zu erzeugen. Klassische Builds in der IDE, kenne ich nur noch während der Entwicklungsphase.
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.