Hallo, Ich bin zurzeit am Entwickeln an einem Neuen Programmiergerät. Es benötigt nur 4 Pin an der Zielplatine, die mit einem Einzigen RJ45 Stecker herausgeführt werden. Durch eine kleine Schaltung auf der Zielplatine lassen sich relativ viele Ports herausführen- (SWD,Uart,I2c,SPI,GPIOs). Der Programmierer erkennt durch ein kleines EEPROM die Ports und schließt sie richtig an den Programmiergeräten an. (Z.b. am Stlink v2,Arduino etc...). Das ganze soll modular aufgebaut sein. Vorteile: - In maximal Ausstattung nur 4 Pins benötigt - Minimal werden 2 Pins benötigt - Zielspannung kann automatisch angelegt werden (1-40V DC) - Kein Kabelsalat nötig - Mehrere Platinen können gleichzeitig Programmiert werden. - Mehrere Pins von unterschiedlichen Zielplatinen können automatisch verbunden werden zum Testen. - Theoretisch sind unendlich viele Ports am Zielgerät möglich Das ich das für mich Bauen werde ist klar. Aber wenn Interesse daran besteht, könnte ich es Open-Source machen. Ich wäre auch an mithilfe Interessiert. Da ich recht viele Platinen entwickle, wäre es so Ideal zum Debuggen und Testen.
:
Verschoben durch Moderator
Was ist die Zielgruppe? Es sind schon genügend Programmer in allen Varianten verfügbar.
D. C. schrieb: > Was ist die Zielgruppe? Es sind schon genügend Programmer in allen > Varianten verfügbar. Es geht darum ein Gerät zu bauen das alle Programmiergeräte abdeckt ohne ein zusätzliches Kabel zu benutzen. Und ein Gerät mit allen Bussystemen zu debuggen
Ich versuche mal morgen ein genaues Konzept auf zu Zeichen damit man sich besser vorbereiten kann, wie ich das meine
Jakob P. schrieb: > Hallo, > Ich bin zurzeit am Entwickeln an einem Neuen Programmiergerät. > Es benötigt nur 4 Pin an der Zielplatine, die mit einem Einzigen RJ45 > Stecker herausgeführt werden. Durch eine kleine Schaltung auf der > Zielplatine lassen sich relativ viele Ports herausführen- > (SWD,Uart,I2c,SPI,GPIOs). Wozu braucht man das? Wenn Du keinen Bootloader hast, brauchst Du das, was der µC nativ kann: SWD, UPDI, PDI, ISP, you-name-it. Wenn Du einen Bootloader hast, brauchst Du nur einen (dedizierten) Pin. Es gibt auf dieser Welt genug halbduplex und unidirektionale Bootloaderprotokolle, die man auch mit GPIO machen kann. Man braucht auf dem Ziel noch nicht einmal einen HW-Uart sondern kommt mit einer SW-Lösung aus.
Jakob P. schrieb: > die mit einem Einzigen RJ45 Stecker herausgeführt werden. Ich schließe da ein Ethernet an. Was passiert dann?
Vermutlich willst du das drölfzigste Universalgerät entwickeln. Bedenke, dass immer neue Targets hinzu kommen. Irgendwann wirst du dein Gerät nicht mehr weiter pflegen wollen, und dann verliert es seine Universalität. Deswegen nutzen nur wenige Hobbybastler solche Universalgeräte. Kosten/Nutzen stehen da in einem schlechten Verhältnis. W Wie es im Profi Bereich aussieht, weiß ich nicht. Ich schätze, dass auch dort spezielle dem Anwendungsfall angepasste Geräte nützlicher sind.
>4pins >RJ45 Äh ja, nee... ein 4P4C oder 6P4C (RJ14) wäre da doch besser? Wie soll das überhaupt gehen, beliebige Protokolle und Spannung durch 2-4 Pins zu blastern?
Stefanus F. schrieb: > Wie es im Profi Bereich aussieht, weiß ich nicht. Da legt man auf den RJ45-Stecker wie gewohnt Ehternet oder Profinet oder EtherCAT und schließt dann Geräte an, die das auch können.
Jakob P. schrieb: > Es benötigt nur 4 Pin an der Zielplatine, die mit einem Einzigen RJ45 > Stecker herausgeführt werden. Durch eine kleine Schaltung auf der > Zielplatine lassen sich relativ viele Ports herausführen- > (SWD,Uart,I2c,SPI,GPIOs). RJ45 ist schon mal zu gross. Und denk an die Massenproduktion,ein TagConnect macht sich da besser. Aber ganz abgesehen davon: Schon mal vom Buspirate gehört? Schon mal mit JTAG und OpenOCD gearbeitet? Aus jahrelanger Erfahrung mit solchen Testgeräten relativiert sich ein me-too-Ansatz schnell mal, ich würde dir dringend nahelegen, obige bestehende Lösungen zu erweitern anstatt ein eierndes Rad neu zu erfinden.
D. C. schrieb: > Was ist die Zielgruppe? Es sind schon genügend Programmer in allen > Varianten verfügbar. Ich werde im Prototypen auch fertige Programmiergeräte einbauen. Was ich entwickle soll die Verschaltung automatisch machen und mit wenigen Pins auskommen. Jens M. schrieb: > Wie soll das überhaupt gehen, beliebige Protokolle und Spannung durch > 2-4 Pins zu blastern? Mit einer kleinen, Raffinierten Schaltung. Gut, 4 Logische Pins, 2 Für den Strom. Allerdings lassen sich ja wie gesagt theoretisch Unendlich viele Ports herausführen. Jens M. schrieb: > Äh ja, nee... ein 4P4C oder 6P4C (RJ14) wäre da doch besser? Eine RJ45 Buchse ist günstig, gut geschirmt, lässt sich mit sehr hohen Frequenzen benutzen und ist mechanisch sehr stabil. Lothar M. schrieb: > Da legt man auf den RJ45-Stecker wie gewohnt Ehternet oder Profinet oder > EtherCAT und schließt dann Geräte an, die das auch können. Bei z.B. der Fritzbox ist der DSL Anschluss auch als RJ45 ausgeführt. So ein Programmiergerät ist halt auch nichts für Vollidioten, nur für Idioten. In der Theorie sollte es aber nach meiner Belegung zu keinem Fehler führen. Das Programmiergerät kann das Erkennen, die Schaltung am Board wird so verschalten, das kein Problem auftreten kann. . . schrieb im Beitrag #5947765: > PoE mit 48V :P Kein Problem :D, Da raucht nichts ab, nicht mal mit den billigen China Adaptern. Wilhelm M. schrieb: > Jakob P. schrieb: >> Hallo, >> Ich bin zurzeit am Entwickeln an einem Neuen Programmiergerät. >> Es benötigt nur 4 Pin an der Zielplatine, die mit einem Einzigen RJ45 >> Stecker herausgeführt werden. Durch eine kleine Schaltung auf der >> Zielplatine lassen sich relativ viele Ports herausführen- >> (SWD,Uart,I2c,SPI,GPIOs). > > Wozu braucht man das? > > Wenn Du keinen Bootloader hast, brauchst Du das, was der µC nativ kann: > SWD, UPDI, PDI, ISP, you-name-it. > > Wenn Du einen Bootloader hast, brauchst Du nur einen (dedizierten) Pin. > Es gibt auf dieser Welt genug halbduplex und unidirektionale > Bootloaderprotokolle, die man auch mit GPIO machen kann. Man braucht auf > dem Ziel noch nicht einmal einen HW-Uart sondern kommt mit einer > SW-Lösung aus. Wenn das mit dem Bootloader immer so einfach ist dann Frage ich mich wieso es noch Programmiergeräte gibt? Ich will keinen unnötig großen Bootloader auf jedem Gerät haben, der macht nur unnötigen Aufwand. Außerdem kannst du selbst mit einem Pin auch nur ein Gerät Programmieren, Ich kann da unendlich viele anschließen. Inklusive GPIOs und Bus. Es wird kein bisschen extra Software auf dem Zielgerät benötigt. Das wird alles Passiv erledigt. Stefanus F. schrieb: > Vermutlich willst du das drölfzigste Universalgerät entwickeln. Bedenke, > dass immer neue Targets hinzu kommen. Irgendwann wirst du dein Gerät > nicht mehr weiter pflegen wollen, und dann verliert es seine > Universalität. Darum habe ich mir auch schon Gedanken gemacht. Im gerät selbst werden ja schon fertige Programmiergeräte eingebaut. Das ganze wird Natürlich modular aufgebaut. Wenn man ein neues Programmiergerät hat, lässt es sich sehr einfach einrichten. So, ich hoffe das ich erstmal alle Fragen beantworten konnte. Die "Client" Schaltung werde ich aber erst reinstellen wenn wirklich alles getestet ist. Wie gesagt, sie ist sehr klein, sehr raffiniert und billig, dazu noch sehr groß skalierbar.
Jakob P. schrieb: > Ich will keinen unnötig großen > Bootloader auf jedem Gerät haben, der macht nur unnötigen Aufwand. Vielleicht bist du in der 8bit Welt hängen geblieben. Alle mir bekannten 32bit Mikrocontroller haben einen fest installierten Bootloader außerhalb des Flash-Programmspeichers, kostet also kein Byte extra. > wieso es noch Programmiergeräte gibt Weil man damit in der Regel nicht nur das Programm überträgt, sondern auch diverse Konfigurationen vornehmen kann und damit Debuggen kann. Das bieten Bootloader in der Regel nicht.
Jakob P. schrieb: > Ich werde im Prototypen auch fertige Programmiergeräte einbauen. Machen wir auch. Wir haben dann eine vierpolige Buchse (OK, 5polig, wobei der 5. Pin nicht genutzt wird): USB. Darüber kann man dann beliebige Busprotokolle transportieren. ;-)
Moin, IO-Spannungen von 1.8V...5V (automatisch?) einstellbar? Gruss WK
Das was du beschreibst ist irgendwie eine Art Lauterbach - der kostet halt pro Adapter 2000euro (bin mir sicher die haben einen Grund fuer deren Preise, da es nicht leicht ist alle Controller abzudecken die es gibt) Willst du durch Preis glaenzen? Das heisst mit Gratis arbeiten?
> Das ganze wird Natürlich modular aufgebaut. Wenn man ein neues > Programmiergerät hat, lässt es sich sehr einfach einrichten. Bis das erste Target kommt, dessen Anforderungen nicht in dein Konzept passen. Selbst wenn derzeit alles ins Konzept passt, kann ich mir nicht vorstellen, wie du alleine oder ein kleines Team von sagen wir mal 5 Leuten alle aktuell interessanten µC unterstützen wollen. Bevor ihr fertig seid, kommen weitere dazu. Das wird ein Fass ohne Boden, ihr werdet vermutlich nie fertig und das Projekt angesichts dieser Erkenntnis einstellen. Und dann habt ihr am Ende einen weiteren Programmieradapter auf den Markt gebracht, der die richtig fertig wurde und nur vielleicht 80% vom aktuellen Bedarf abdeckt, mit fallender Tendenz. > Das ganze wird Natürlich modular aufgebaut. Wenn man ein neues > Programmiergerät hat, lässt es sich sehr einfach einrichten. Bis das erste Target kommt, dessen Anforderungen nicht in dein Konzept passen. Außerdem: Die einzelnen Targets mögen (noch) sehr einfach sein, in der Summe artet es aber in eine elende Fleißarbeit aus. Selbst im AVR spezifischen Umfeld haben viele Hersteller von Programmieradaptern aufgehört, neue Modelle nach zu pflegen.
Jakob P. schrieb: > Ich wäre auch an mithilfe > Interessiert. Heißt: Du hast eine Idee - mehr nicht.
Stefanus F. schrieb: > Vielleicht bist du in der 8bit Welt hängen geblieben. Alle mir bekannten > 32bit Mikrocontroller haben einen fest installierten Bootloader > außerhalb des Flash-Programmspeichers, kostet also kein Byte extra. > Also ich benutze nur noch 32bit Mikrokontroller, aber ja, 8bit gehen auch. >> wieso es noch Programmiergeräte gibt > > Weil man damit in der Regel nicht nur das Programm überträgt, sondern > auch diverse Konfigurationen vornehmen kann und damit Debuggen kann. Das > bieten Bootloader in der Regel nicht. Der Kandidat hat 100 Punkte! Auch nicht den Geschwindigkeitsvorteil beim Programmieren nicht vergessen. Stefanus F. schrieb: > Bis das erste Target kommt, dessen Anforderungen nicht in dein Konzept > passen. > > Selbst wenn derzeit alles ins Konzept passt, kann ich mir nicht > vorstellen, wie du alleine oder ein kleines Team von sagen wir mal 5 > Leuten alle aktuell interessanten µC unterstützen wollen. Bevor ihr > fertig seid, kommen weitere dazu. Das wird ein Fass ohne Boden, ihr > werdet vermutlich nie fertig und das Projekt angesichts dieser > Erkenntnis einstellen. Ja, da hast du auch vollkommen recht. Deswegen werden in das Gerät auch aktuelle Programmiergeräte wie der Stlinkv2(3?) eingebaut. Die Schaltung ändert ja nichts an den eigentlichen Signalen, mit einer schlauen Software kann man auch neue Programmiergeräte "Eintragen" ohne auch nur die Geräte Software anrühren zu müssen. Alles wird eingestellt von einem Kleinem PC Programm. Dergute W. schrieb: > IO-Spannungen von 1.8V...5V (automatisch?) einstellbar? Sowohl die Versorgungsspannung, als auch die I/O Spannung werden automatisch eingestellt. Jörg W. schrieb: > Jakob P. schrieb: >> Ich werde im Prototypen auch fertige Programmiergeräte einbauen. > > Machen wir auch. Wir haben dann eine vierpolige Buchse (OK, 5polig, > wobei der 5. Pin nicht genutzt wird): USB. Darüber kann man dann > beliebige Busprotokolle transportieren. ;-) Wenn man es darauf anlegt, könnte man zusätzlich auch noch USB durchtunneln. USB ist aber vor allem recht aufwändig und kosten spielig, bei gleicher Funktionalität (Z.b. 2xStm32, 6xUarts, 2xI2C Bus) müsstest du schon sehr viele ICs und USB Hub Ics verbauen, damit das funktioniert. Meine Schaltung kann das alles, benötigt dafür nur 4 Pins (2 für Power), und Sehr wenig Bauteile die auch noch sehr billig sind. Stefan schrieb: > Das was du beschreibst ist irgendwie eine Art Lauterbach - der kostet > halt pro Adapter 2000euro (bin mir sicher die haben einen Grund fuer > deren Preise, da es nicht leicht ist alle Controller abzudecken die es > gibt) > > Willst du durch Preis glaenzen? Das heisst mit Gratis arbeiten? So teuer wird das ganz sicher nicht. Du kannst ja eigene Adapter in das Gerät einbauen, und das ganz einfach. Über die Software lässt sich das Programmiergerät einrichten. Genauso wie die Pinbelegungen auf dem Zielgerät.
Johann J. schrieb: > Jakob P. schrieb: >> Ich wäre auch an mithilfe >> Interessiert. > > Heißt: Du hast eine Idee - mehr nicht. Fertig ist das Ding noch lange nicht. Vielleicht erstmal den ersten Text ganz durchlesen und nicht nur überfliegen... Jakob P. schrieb: > Das ich das für mich Bauen werde ist klar. Aber wenn Interesse daran > besteht, könnte ich es Open-Source machen. Ich wäre auch an mithilfe > Interessiert.
Stefan schrieb: > Das was du beschreibst ist irgendwie eine Art Lauterbach - der kostet > halt pro Adapter 2000euro (bin mir sicher die haben einen Grund fuer > deren Preise, da es nicht leicht ist alle Controller abzudecken die es > gibt) Also ein Lauterbach Trace Debugger kostet etwas mehr, in der Vollausstattung kann man einen Kleinwagen dagegen eintauschen.. Die Hardware ist meist nicht das Problem. Die Software ist furchtbar aufwendig, muss gegen alle Targets und Flash-Konfigurationen gepflegt werden, sonst fliegt das Zeug in die Schublade. Schlaue Entwickler, die damit Geld verdienen wollen, portieren allenfalls noch OpenOCD für spezifische Targets auf eine kleine Kiste und verkaufen sie mit passendem Frontend :-)
Das Konzept ist schon mal schlecht, wenn es um einzelne zu flashende Prototypen geht kann man das getrost über die Hersteller Flash-Tools machen oder über einen Bootloader über eine vorhandene Schnittstelle und wenn es wirklich um Stückzahlen geht macht es keinen Sinn mehr da manuell einen Stecker anzustöpseln an jedes Target. Das ganze wird dann vollautomatisch über Inline Flashsysteme gemacht, und die PCB danach automatisch direkt in den ICT gefahren, bei kleineren Stückzahlen machen auch noch semiautomatische Systeme wie Nadelbettadapter Sinn, die Kontaktierung erfolgt dann über die Testpads, ein dedizierter Steckverbinder entfällt. Es gibt Gründe warum der Markt für Universalprogrammer sehr klein ist, entweder sind die Geräte billig und unterstützen nur einige ausgewählte Typen oder sie sind teuer und spezialisiert auf Massenproduktion oder ähnliche Anwendungsgebiete, die Geräte können dann zwar recht viel, aber die Software wird dann zum Beispiel für jeden zu programmierenden Controller-Typ einzeln lizensiert. Schaut man sich bei Lauterbach und Co. um wird man feststellen, dass solche Programmer ohne Software gerne mal mittlere 4 stellige Beträge kosten. Zudem erzeugt das Konzept unnötige Kosten und benötigt unnötig viel Platz, man müsste bei jeder Platine ein EEPROM und einen Stecker etc... verbauen welche nach der Inbetriebnahme komplett nutzlos sind.
Jakob P. schrieb: > Deswegen werden in das Gerät auch > aktuelle Programmiergeräte wie der Stlinkv2(3?) eingebaut. Wie stellst du dir das vor? Du willst bestehende Geräte in deins integrieren, aber dann irgendwie eine RJ45 Buchse dazwischen packen? Hast Du Dir Gedanken über Copyright gemacht? Die ST-Link Adapter darfst du meines Wissens nach gar nicht irgendwo einbauen. > mit einer schlauen Software kann man auch neue Programmiergeräte > "Eintragen" ohne auch nur die Geräte Software anrühren zu müssen Klingt für mich, als ob du Künstliche Intelligenz im Sinne von "Entwickelt sich selbst weiter" realisieren willst. Ich glaube du gehst das zu naiv an. > Sowohl die Versorgungsspannung, als auch die I/O Spannung werden > automatisch eingestellt. Wie soll das bei Targets gehen, die vom Programmieradapter versorgt werden? Irgendwer muss die gewünschte Spannung eingeben, das kann nicht voll-automatisch gehen.
Jakob P. schrieb: > So teuer (2000€) wird das ganz sicher nicht. > Du kannst ja eigene Adapter in das > Gerät einbauen, und das ganz einfach. Über die Software lässt sich das > Programmiergerät einrichten. Genauso wie die Pinbelegungen auf dem > Zielgerät. Du willst also ernsthaft ein halbes Gerät vermarkten, dass jeder selbst vervollständigen muss? Das wird eine Totgeburt - reine Zeitverschwendung.
Stefanus F. schrieb: > Vielleicht bist du in der 8bit Welt hängen geblieben. Alle mir bekannten > 32bit Mikrocontroller haben einen fest installierten Bootloader > außerhalb des Flash-Programmspeichers, kostet also kein Byte extra. Das ist vielleicht ein wenig unvorsichtig formuliert. Ich habe da zuerst mal raus gelesen, Du kennst nicht viel. Mir fallen wenigstens drei 32 Bit Controller Familien von drei Herstellern ein, die keinen fest eingebauten Bootloader haben. Was noch lange nicht bedeutet, dass die meisten das haben oder nicht. Aber selbst wenn einer eingebaut ist, der muss dann auch noch die Schnittstelle und das Protokoll unterstützen was man benötigt, jenseits von UART wird das schnell sehr dünn. Ich benutze XCP CAN Bootloader, da nützt mir selbst ein vorhandener UART Bootloader gar nichts und meine Controller haben nicht mal den.
Stefanus F. schrieb: > Jakob P. schrieb: >> So teuer (2000€) wird das ganz sicher nicht. >> Du kannst ja eigene Adapter in das >> Gerät einbauen, und das ganz einfach. Über die Software lässt sich das >> Programmiergerät einrichten. Genauso wie die Pinbelegungen auf dem >> Zielgerät. > > Du willst also ernsthaft ein halbes Gerät vermarkten, dass jeder selbst > vervollständigen muss? Das wird eine Totgeburt - reine > Zeitverschwendung. Ein neues Programmiergerät anzulernen wird so leicht sein wie einen Drucker zu installieren. Die Platine ist Modular, der Stecker kann sehr leicht selbst besteckt werden, die Software ist mit einem Assistenten ausgestattet. Leichter kann man es wirklich nicht mehr machen, und nein das ist kein fertig Gerät, sondern aus gutem Grund möglichst offen und einfach zu benutzen. Stefanus F. schrieb: > Hast Du Dir Gedanken über Copyright gemacht? Die ST-Link Adapter darfst > du meines Wissens nach gar nicht irgendwo einbauen. Brauche ich gar nicht, das Gerät ist so einfach und Modular, das ich nur das Kabel und den Stlink mitgeben muss. Außerdem, sollte Interesse bestehen wird alles öffentlich gemacht, das kann sich also jeder selbst nachbauen. Stefanus F. schrieb: > Klingt für mich, als ob du Künstliche Intelligenz im Sinne von > "Entwickelt sich selbst weiter" realisieren willst. Ich glaube du gehst > das zu naiv an. Selbst weiterentwickeln tut sich das nicht, aber es lassen sich neue Programmiergeräte manuell nachrüsten. Stefanus F. schrieb: > Wie soll das bei Targets gehen, die vom Programmieradapter versorgt > werden? Irgendwer muss die gewünschte Spannung eingeben, das kann nicht > voll-automatisch gehen. Doch, das wird vollautomatisch gehen. Dafür sind Programmierbare Netzteile verbaut. Die Passende Spannung wird dazu aus dem Target EEPROM ausgelesen. René F. schrieb: > Das Konzept ist schon mal schlecht, wenn es um einzelne zu flashende > Prototypen geht kann man das getrost über die Hersteller Flash-Tools > machen Das ist ganz genau der Sinn, ich versuche zu erreichen das man entweder das Hersteller Tool oder eine alternative nutzen kann. Sonst wäre das gerät auch nicht so leicht erweiterbar René F. schrieb: > Schaut man sich bei Lauterbach und Co. um wird man feststellen, dass > solche Programmer ohne Software gerne mal mittlere 4 stellige Beträge > kosten. > > Zudem erzeugt das Konzept unnötige Kosten und benötigt unnötig viel > Platz, man müsste bei jeder Platine ein EEPROM und einen Stecker etc... > verbauen welche nach der Inbetriebnahme komplett nutzlos sind. Betrachte es als abgespeckte, viel billigere Version, die man nach belieben Erweitern kann. Für die Serienproduktion ist das Gerät nicht gedacht. Eher für Stückzahlen von 10-100 Stück und natürlich in erster Linie für Test Platinen. Das Gerät sollte man auch für den Service benutzen können, für Updates oder zum Testen, ohne das Etwas ausgebaut werden muss
Jakob P. schrieb: > Meine > Schaltung kann das alles, benötigt dafür nur 4 Pins (2 für Power), und > Sehr wenig Bauteile die auch noch sehr billig sind. Äääähm Schaltung? Bis jetzt bist die Du uns aber schuldig geblieben. Nun mal Butter bei die Fische - zeig uns mal die Schaltung.
Jakob P. schrieb: > Also ich benutze nur noch 32bit Mikrokontroller, aber ja, 8bit gehen > auch. Du selbst schreibst das beste Argument dagegen. Angenommen du würdest nur eine Box bauen, in der du alle aktuellen Programmiergeräte anschließt und die du dann an x-beliebige Controller anschließen kannst. Wir setzen auch voraus, dass das alles ganz toll klappt, auch ein Netzwerkkabel oder was auch immer kann nicht zum Schaden führen. Also ein perfektes Gerät. Nun kommen zwei Punkte dazu, die das alles kippen. Du selbst benutzt nur noch 32 Bit Controller und wahrscheinlich vom selben Hersteller. Ich habe eine Menge Programmiergeräte. Ob einen Segger oder ein PicKit3, ich habe diese Geräte, die ich aber vielleicht überhaupt nicht benutzen werde. Der Atmel ICE ist mein vorrangiges Programmiergerät. Damit kann ich alle AVR programmieren. Was anderes werde ich (außer vielleicht einmal ein fertiges File auf einen Pic brennen) wahrscheinlich auch nicht machen. Weiter kommt hinzu, deine eigenen Platinen kannst du alle an deine Superbox anschließen, aber was ist mit einem fertigen Board vom Hersteller, was ist damit? Dann baust du nämlich den Programmer aus oder machst noch ein Adapterkabel an deinen Adapter. Grundsätzlich bin ich allen Ideen gegenüber aufgeschlossen, aber allein schon, dass die meisten hier bei ihrer Produktfamilie und deren Controller bleiben, macht das schon überflüssig. Irgendwann kauft man von diesem Hersteller dann den HyperduperspezialfürvielGeldProgrammer und ist glücklich damit.
Moin, Koennt' ich noch einen Knopf fuer Weltfrieden haben und einen Analogeingang fuer Klimawandel? SCNR, WK
Dergute W. schrieb: > Koennt' ich noch einen Knopf fuer Weltfrieden haben und einen > Analogeingang fuer Klimawandel? Das würde sich auch hier gut machen: Beitrag "Was sollte meine Uhr noch können?" Vielleicht sollte man die beiden Projekte sowieso kombinieren.
F. F. schrieb: > Weiter kommt hinzu, deine eigenen Platinen kannst du alle an deine > Superbox anschließen, aber was ist mit einem fertigen Board vom > Hersteller, was ist damit? > Dann baust du nämlich den Programmer aus oder machst noch ein > Adapterkabel an deinen Adapter. > Grundsätzlich bin ich allen Ideen gegenüber aufgeschlossen, aber allein > schon, dass die meisten hier bei ihrer Produktfamilie und deren > Controller bleiben, macht das schon überflüssig. Irgendwann kauft man > von diesem Hersteller dann den HyperduperspezialfürvielGeldProgrammer > und ist glücklich damit. Daran wurde auch gedacht, es gibt einen abwärtsmodus, der es erlaubt an das einen Port ein Gerät ohne die extra Bauteile anzuschließen, die Erkennung wird dann durch Widerstände realisiert
Jakob, deine Idee in Ehren, aber du hast meinen Beitrag nicht verstanden. Die meisten werden eh nur einen Programmer brauchen.
Habe ich es richtig verstanden? Ich brauche also: - Dein Gerät - Programmer der in dein Gerät eingebaut wird - Pro Target eine RJ45 Buchse - Pro Target ein EEPROM Wie programmiere ich den EEPROM? Mit einer zweiten RJ45 Buchse? Wieso eigentlich den ungeeignetesten Steckverbinder für dein Vorhaben? Kannst ja auch einen M12 Hybrid nehmen oder GPIB. Welche Vorteile bringt dein Gerät??? Ich sehe gerade keinen einzigen.
@TO Du hast zwar an alles gedacht, aber bis jetzt ist es nur heiße Luft. Zeige mal einen Schaltplan, ein paar Codeschnipsel, also irgendwas das zeigt das Dein Projekt was Konkretes ist und nicht nur ein Hirngespinnst. Derzeit ist es nämlich nur Letzteres. Nachdenken kann man man über vieles aber irgendwann muß es halt auch mal konkret werden.
D. C. schrieb: > Wie programmiere ich den EEPROM? Mit einer zweiten RJ45 Buchse? > Wieso eigentlich den ungeeignetesten Steckverbinder für dein Vorhaben? > Kannst ja auch einen M12 Hybrid nehmen oder GPIB. Rj45 damit man es auf die Platine einfach löten kann, man kann natürlich auch eine andere Buchse auf die andere Seite machen, wenn man es selber baut kann man auch die Wunsch Buchsen verbauen. Das eeprom wird direkt im System über die Buchse Programmiert, deswegen benötigt man keine zweite Buchse. Wenn du mal alles durchgelesen hättest, würdest du das auch merken. Die geheime schaltung werde ich mal posten wenn das komplett getestet ist.
Das gibt es doch schon. Einfach eine RJ45-Buchse in ein PICKIT2 bauen.
Moin. Auch wenn meine Meinung vielleicht etwas zynisch klingt: Ich verstehe beim besten Willen nicht, was der Mehrwert deiner Entwicklung und dieses ganze Theater drum herum sein soll. Ich habe einen AVR-MK2-USB, einen ATMEL ICE, einen PicKit, einen Segger J-Link und einen ST-LINK/V2. Damit kann ich so ziemlich alle (also nicht ganz alle) gängigen, erschwinglichen Microcontroller, die von einer großen Community vertreten werden, abdecken. Spezialfälle außen vor. Und siehe ATMEL ICE: den habe ich mir gekauft, um die aktuelle Serie ATTINY flashen zu können, die benötigen nämlich UPDI, welches noch relativ neu ist. Dafür kann ich den MK2 eigentlich entsorgen. Ich bin froh, nur ein kleines Schächtelchen neben meiner Tastatur liegen zu haben und nicht deine ominöse Black-Box, die mir keinen Vorteil bringt und dafür den ganzen wertvollen Platz wegnimmt. Welchen Adapter ich anschließe, hängt von meinem Projekt ab und kostet mich nur einen beherzten Griff in meine Schublade, so schlimm ist das nicht. So viel Rüstzeit darf wohl sein. Die Software läuft perfekt, da brauche ich mich nicht über ständige Programm- oder Scriptfehler zu ärgern. Ein Adapterstecker ist in wenigen Minuten angefertigt. Wenn ich mit der Serienfertigung Geld verdienen möchte, gibt es für diesen Zweck fertige, perfekt zugeschnittene Lösungen, die getestet sind, mit Garantie und Support. Einen Ausfall aufgrund eines Softwarefehlers des Programmers kann man sich da nicht erlauben. Gutes Werkzeug kostet viel Geld, welches man aber doppelt und dreifach einspart, weil es Ärger und Zeit und damit Kosten spart. Es sei denn, man ist Herr einer Bastelbude, die nicht vom Fleck kommt, weil alles selber gebaut und das Rad jedes mal neu erfunden werden muss, nur damit man etwas eigenes und vermeintlich billiges hat. Dafür kenne ich bereits einige negative Beispiele. Ich kaufe deshalb keine Multitool-Zange, weil diese nichts richtig kann und obendrein noch schnell kaputt geht. Dann lieber auf den Anwendungsfall abgestimmtes einzelnes Werkzeug, auch wenn es teurer zu sein scheint. Alles andere ist Bastelei und Damelei. Du hast gerade abgefühlt, welchen Anklang deine Erfindung finden würde. Und das in einem Forum, wo nicht nur Hobbybastler schreiben, sondern echte Vollprofis, die seit Jahren mit Programmierung und Elektronik ihren Lebensunterhalt verdienen. Mich beschleicht aber das Gefühl, dass du die Wahrheit nicht verträgst, weil sie nicht deinen Vorstellungen entspricht. Lass dir eines gesagt sein: wenn du mit der Box und der Software fertig bist, ist sie so veraltet, dass du sie gleich wieder einstampfen wirst. Es wird dich so viel Zeit kosten, sie nas Laufen zu bekommen, dass du niemals effektiv damit arbeiten wirst. Wie komplex und fehlerbehaftet so ein Projekt sein kann, erfährt man spätestens, während man daran arbeitet. Oder man lässt sich belehren und lässt es ganz. Ich sehe das als Zeitverschwendung, die dir nichts bringt. Wenn du dir Helfen lassen willst, solltest du die Hilfe auch annehmen: LASS ES!
Matthias F. schrieb: > Moin. > Auch wenn meine Meinung vielleicht etwas Danke für den konstruktiven Beitrag, ich möchte halt alle CPUs mit einem einzigen Kabel programmieren können und nicht die ganze Zeit beim testen umstecken müssen. Das ist vor allem nervig wenn man mehrere CPUs auf dem Board hat. Wie gesagt, die machine Kann nicht wirklich dass Board programmieren, es leitet die Kommunikation an ein externes eingebautes Programmiergerät weiter. Somit kann es nicht wirklich altern, wenn ein neues Programmiergerät rauskommt, schließt man es einfach an, man hat dadurch alle Vorteile von diesem Gerät, ohne das man großartig Software umschreiben muss, toll oder?. Zudem sind sehr viele debug Features integriert und das halt in einem Gerät. Wenn ich eine Platine entwickle liegen halt gerne mal 4 programmer herum. Das nervig umstecken und die Fehlersuche würden dadurch entfallen außerdem lässt es sich auch im zusammen gebauten Zustand warten. Das Ding muss aber erstmal fertig entwickelt werden. Ich baue ja auch nur Geräte auf die man sich zu 100% verlassen kann. Das soll mit richtig guter Software und Design kommen und wird auch keine billige bastellosung. Rj45 auch deshalb damit man das Kabel schnell tauschen kann wenn es gebrochen ist.
Jakob P. schrieb: > Lothar M. schrieb: >> Da legt man auf den RJ45-Stecker wie gewohnt Ehternet oder Profinet oder >> EtherCAT und schließt dann Geräte an, die das auch können. > Bei z.B. der Fritzbox ist der DSL Anschluss auch als RJ45 ausgeführt. Aber es geht nicht kaputt, wenn man die verwechselt. So weit haben die Jungs da wenigstens gedacht... Auch ich habe eine RJ45-Buchse und andere "genormte" Steckverbinder schon zweckentfremdet. Und dabei so belegt, dass weder mein Gerät noch das am anderen Ende des Kabels kaputt geht. Auch nicht, wenn da POE drauf ist. > ist halt auch nichts für Vollidioten, nur für Idioten. Nur 1x ging das Zweckentfremden schief. Du glaubst nicht, wie schnell die "Idioten" Monteure (= ausgebildete Elektrofachkräfte) das herausgefunden und mich "gelobt" haben. Die hatten schlicht nicht erwartet, dass da was kaputtgeht. Nennen wir es einfach "Lernprozess"... > sollte es aber nach meiner Belegung zu keinem Fehler führen. Zeig mal. > In der Theorie In der Praxis zeigt sich das schnell. Jakob P. schrieb: > Rj45 damit man es auf die Platine einfach löten kann RJ45 ist zudem riesig. Und das nur für einen Programmierstecker, den man im Idealfall (wenn man nicht gerade laufend Bananensoftware erzeugt) nur 1x im Geräteleben braucht. Ich verwende als Programmierstecker auf meinen Leiterplatten den ZH von JST in verschiedenen Polzahlen. STM32 Controller brauchen z.B. 4 Pins und damit gerade mal 7,5mm in der Breite.
:
Bearbeitet durch Moderator
Jakob P. schrieb: > Das ist vor allem nervig wenn man mehrere CPUs auf dem > Board hat. Wie gesagt, die machine Kann nicht wirklich dass Board > programmieren, es leitet die Kommunikation an ein externes eingebautes > Programmiergerät weiter. Das erscheint aber nur dann sinnvoll, wenn mehrere Controller mir identischer Schnittstelle gleichzeitig vorhanden sind (was eher selten vorkommt), ansonsten muss sowieso eine zusätzliche Schnittstelle herausgeführt werden. Man könnte bspw. die Signale über Reed-Relais verteilen und mit einem einfachen Kippschalter arbeiten. Bei zwei Controllern kein Problem. Dass mehr als zwei Controller mit identischer Schnittstelle gleichzeitig existieren, ist schon eher selten. Mir ist schon klar, worauf Du hinaus willst, nur, wie gesagt, wäre das für einen eingefleischten Elektroniker ein leicht lösbares Problem. Und wenn ich ein Programm schreibe, dann flashe ich das zum Testen normalerweise direkt in der IDE, da wäre jeder Automatismus zur Schnittstellenumschaltung eine potentielle Fehlerquelle, da die komplette Toolchain umgekrempelt werden müsste. Dann lieber manuell. Und was das debuggen angeht: kann man ohnehin nur 1x pro Debugger. Der spricht nicht mit mehreren Controllern gleichzeitig (jedenfalls ist mir keine erschwingliche Lösung bekannt). Habe ich also Bedarf, mehr als einen Controller gleichzeitig zu debuggen, komme ich nicht umhin, mir einen oder mehrere Debugger/Programmer zu kaufen. Das gleiche gilt für das Aufspielen der Firmware mittels Booloader. So schlimm finde ich das Umstecken nicht. Aber wie gesagt: das ist nur meine Meinung und meine Erfahrung.
Matthias F. schrieb: > Und > was das debuggen angeht: kann man ohnehin nur 1x pro Debugger. Der > spricht nicht mit mehreren Controllern gleichzeitig Mit dem schon erwähnten Lauterbach TRACE32 ist so etwas durchaus möglich. Und wenn z. B. Prozessor A in einen Breakpoint läuft, können auch B und C automatisch angehalten werden, allerdings mit einer gewissen Verzögerung. Es gibt aber auch einige andere JTAG-basierten Debugger, bei denen man einstellen kann, welcher Kern in einer langen JTAG Chain angesprochen werden soll, z. B. von Xilinx/Digilent.
Dass wir uns hier nicht falsch verstehen: du machst hier quasi "Werbung" für ein Produkt, welches nur als Idee funktioniert. Es existiert bisher weder eine Schaltung noch die Software dazu, zumindest ist hier keine Existenz nachweisbar. Hinzu kommt, dass die Komplexität der Angelegenheit niedrig erscheint, aber durch unterschiedlichste Faktoren die Zuverlässigkeit beeinträchtigt werden kann. Die Idee ist gut gemeint, ich sehe da allerdings ein Fass ohne Boden. Im Prinzip ist deine Schaltung, sofern ich deine Idee richtig verstanden habe, nichts anderes als ein Schnittstellenmultiplexer. Du benötigst den/die entsprechenden Programmer, einen USB-Hub, ein Netzteil, ein paar USB-Kabel, Bauelemente für das Multiplexing, einen Schnittstellenbaustein, um mit deinem PC zu kommunizieren, den Multiplexer an sich und ein Script, welches den Multiplexer steuert. Für das reine Flashen oder VIELLEICHT bei einer Kleinsereinfertigung kann man so vorgehen. Das ist aber auch nicht gänzlich unüblich. Nur mit dem simultanen Debuggen mehrerer Controller wird das IMHO nichts.
Andreas S. schrieb: > Mit dem schon erwähnten Lauterbach TRACE32 ist so etwas durchaus > möglich. Natürlich. Es gibt ja nichts, was es nicht gibt. Nur sind diese Werkzeuge deshalb so teuer, weil der Hersteller eine Menge Gehirnschmalz hineingesteckt hat und die Patente darauf besitzt. Wäre es wirklich so einfach, wie der TO meint, wären diese Geräte nicht so teuer. Ich mag es auch sehr gerne bequem, aber ich wäge für mich ab zwischen Preis und Zuverlässigkeit. Ein Gerät im Experimentalstadium ist für ernsthaften Gebrauch ungeeignet. Für den Hobbyisten reicht es normalerweise, umzustecken oder umzuschalten. Für mehr muss man eben tief in die Tasche greifen.
Matthias F. schrieb: > Du hast gerade abgefühlt, welchen Anklang deine Erfindung finden würde. > Und das in einem Forum, wo nicht nur Hobbybastler schreiben, sondern > echte Vollprofis, die seit Jahren mit Programmierung und Elektronik > ihren Lebensunterhalt verdienen. Mich beschleicht aber das Gefühl, dass > du die Wahrheit nicht verträgst, weil sie nicht deinen Vorstellungen > entspricht. Lass dir eines gesagt sein: wenn du mit der Box und der > Software fertig bist, ist sie so veraltet, dass du sie gleich wieder > einstampfen wirst. Es wird dich so viel Zeit kosten, sie nas Laufen zu > bekommen, dass du niemals effektiv damit arbeiten wirst. Wie komplex und > fehlerbehaftet so ein Projekt sein kann, erfährt man spätestens, während > man daran arbeitet. Oder man lässt sich belehren und lässt es ganz. Ich > sehe das als Zeitverschwendung, die dir nichts bringt. Wenn du dir > Helfen lassen willst, solltest du die Hilfe auch annehmen: LASS ES! Genau so ist es! Und Du wirst wohl während der Entwicklungszeit von der Herstellern dreimal rechts überholt werden. Das ist mir selbst mit einem Bootloader gegangen, der ohne HW-Serial und nur einem Pin auskommt. Der läuft zwar prinzipiell überall, aber MicroChip kam dann mit UPDI und viele anderen haben einen Bootloader fertig unkaputtbar drin. Aber wir können in drei Jahren ja nochmal schauen, was Dein Projekt dann macht.
Andreas S. schrieb: > Es gibt aber auch einige andere JTAG-basierten Debugger, bei denen man > einstellen kann, welcher Kern in einer langen JTAG Chain angesprochen > werden soll Das sollte bei JTAG eigentlich immer so sein. Das konnte entsprechend schon das uralte Atmel JTAGICE. (Es gibt natürlich auch halbseidene Sieht-nur-so-aus-wie-JTAG-Implementierungen, die gar kein Chaining beherrschen. Bei denen geht das natürlich nicht.)
Jakob P. schrieb: > Ein neues Programmiergerät anzulernen wird so leicht sein wie einen > Drucker zu installieren. Erkläre doch mal dein Konzept, anstatt um den heißen Brei zu reden. Du wolltest doch Hilfe bekommen, oder nicht? Wenn es so geht, wie einen neuen Drucker zu installieren, dann setzt du also einen fertigen Treiber voraus. Oder soll deine Box etwa lediglich aus einem USB Hub bestehen, dem du andere Anschlüsse verpasst?
Jakob P. schrieb: > Danke für den konstruktiven Beitrag, ich möchte halt alle CPUs mit einem > einzigen Kabel programmieren können und nicht die ganze Zeit beim testen > umstecken müssen. Arbeitest du denn an "allen" CPU's gleichzeitig? Nein. Welchen Vorteil bringt es, beim CPU Wechsel ein Modul auszutauschen, anstatt einen anderen Programmieradapter aus der Schublade zu holen? Keinen. Welchen Vorteil bringt es, mehr oder weniger zickige Programmieradapter mit weiterer Hardware und Software noch komplexer zu machen? Keinen. Bist du wirklich imstande, dein Ziel zu erreichen, "alle" Mikrocontroller zu unterstützten? Nein. Wirst du alle anderen programmierbaren Dinge (z.B. EEproms, Sensoren) unterstützen können, die deine "Kunden" benötigen? Nein. Also, was soll das dann? Setze dich lieber in den nächsten Park unter einen Baum und lies einen unterhaltsamen Roman. Wenn du dabei nett lächelst, wird vielleicht sogar eine nette Frau auf Dich aufmerksam. Das bringt Dir mehr.
Jakob P. schrieb: > Danke für den konstruktiven Beitrag, ich möchte halt alle CPUs mit einem > einzigen Kabel programmieren können und nicht die ganze Zeit beim testen > umstecken müssen. Vielleicht solltest du mal erwähnen mit welchen CPUs du konkret schon Erfahrung hast. Also eine vollständige Auflistung der CPUs (korrekter wohl µCs) welche du selbst schon programmiert hast und wo du weißt wie das geht. Deine Aussage "alle CPUs" ist so natürlich Schwachsinn. Das weiß jeder der schon mit vielen CPUs, µCs und Herstellern gearbeitet hat. Nur wenn du diesen allgemeinen Anspruch aufgibst und dich konzentrierst auf das was du selber kennst und brauchst, kann daraus irgendwann mal was werden. Also kleine Schritte sonst liegst du mit deinem hypothetischen Projekt schneller auf der Nase als du schaun kannst. Oder willst du wirklich "bessere" Lauterbachs, Seggers, RealICEs, .... bauen. Sorry, dass kannst du nicht. Das kann man hier aus jedem deiner Posts rauslesen.
Wenn das Teil 1702A programmieren kann und unter 200 Euro kostet, kaufe ich einen.
Wolfgang R. schrieb: > Wenn das Teil 1702A programmieren kann und unter 200 Euro kostet, kaufe > ich einen. :-)) Hast du noch 1702A irgendwo? ;)
Wir können dem TO vielleicht helfen, indem wir mal die Mikrocontroller-Serien auflisten, die wir da gerne drin hätten. Ich fange mal an: AVR über ISP AVR über PDI AVR über TPI AVR über UPDI AVR über JTAG (also letztendlich alle AVR Modelle) STM32 über SWD, incl. SWO STM32 über JTAG STM32 über UART (Bootloader) AT90C2051 EEproms über I²C ESP8266 über UART Ich bin sicher, dass die Liste mindestens 10x so lang wird, wenn alle ihre Wünsche eingetragen haben. Das Ding muss alle Mikrocontroller debuggen und tracen können, die diese Funktion anbieten. Parallel dazu muss es mindestens eine UART Schnittstelle anbieten, die "krumme" Baudraten bis mindestens 2Mbit unterstützt. Das Ganze natürlich zum PC hin galvanisch getrennt aber ohne zusätzliches Netzteil. Es muss "krumme" Versorgungsspannungen für Batteriebetriebene Geräte unterstützen. Die Zuordnung der virtuellen COM-Ports muss fest sein. Es muss auch ohne Einschränkungen unter Linux laufen, und zwar mit jeder gängigen IDE und auf der Kommandozeile. Ich erwarte ein einziges Anwendungsprogramm, das alle Targets abdeckt und einheitlich bedient wird. Wenn es das alles kann, dabei wirklich komfortabler ist, als einzelne Geräte und nicht zusätzlich den Kauf der ganzen Einzelgeräte erfordert, dann (und nur dann) besteht eine Chance, dass man mein Interesse dafür wecken kann. Bitte nicht vergessen: USB ist nicht der Weisheit letzter Schluss. Irgendwann wird eine andere Schnittstelle zum Standard werden.
Stefanus F. schrieb: > Das Ding muss alle Mikrocontroller debuggen und tracen können, die diese > Funktion anbieten. Ein reiner Programmer muss meines Erachtens kein Debugging anbieten. > Bitte nicht vergessen: USB ist nicht der Weisheit letzter Schluss. > Irgendwann wird eine andere Schnittstelle zum Standard werden. Hier könnte man RJ45 mit Ethernet sinnvoll einsetzen, am besten noch mit PoE. Dann benötigt der perfekte Universal Programmer aufjedenfall noch einen Pintreiber für HV-Programmierung, schließlich kann nicht alles mit Logikpegeln programmiert werden. Ein Multiplexing zum rangieren der Signalanschlüsse wäre auch nicht schlecht, ein integriertes einstellbares Netzteil zum versorgen der Targets und ein ADC zur Spannungsüberwachung sind ebenso ein Muss ;) Ich persönlich würde mich noch für GALs und verwandte PLDs interessieren, so ein GALEP ist nicht wirklich günstig. Zu den Minrocontrollern und programmierbaren Logikchips kommen dann natürlich noch alle möglichen *PROMs dazu.
Hi Leute, wieder richtig lustig! Während ich hier durchgelesen habe, hat mein Opa jeden beliebigen Controller aus der Bastelkiste schon 10-mal programmiert und ein Profi schaut eh nicht rein. Also ?! Gruß Rainer
Jörg W. schrieb: > Wolfgang R. schrieb: >> Wenn das Teil 1702A programmieren kann und unter 200 Euro kostet, kaufe >> ich einen. > > :-)) > > Hast du noch 1702A irgendwo? ;) Ich hab welche, auch im K1003. ..und ich habe einen "Programmieradapter" des K1510 (PAPEL) dafür, mit TTL anzusteuern. Der Leidensdruck war aber in den letzen Jahren gering. Gruß, Holm
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.