Hallo, um gleich vorweg kar zu stellen: Ich habe noch nie eine kommerzielle Software-Entwicklung durchgeführt. Dies ist nur mein Hobby ! Doch jetzt brauche ich Eure Ratschläge, denn mein uC S/W Projekt wird größer und größer, denn es sind schon mehr als 20 uC Boards verbaut und jedes Board hat eine andere Software. Ich arbeite mit den ATmegas und dem Atmel Studio 6 und schreibe die S/W in C. Das wäre nicht weiter schlimm, aber wenn jetzt doch mal das eine Board umprogrammiert wird, weil sich das andere Board verändert hat, wird es langsam grenzwertig. Und jetzt die Fragen: 1. Wie handhabt ihr es mit der Versions-Verfolgung ? 2. Legt ihr jedesmal ein neues Projekt im Atmel-Studio an oder überschreibt ihr das alte einfach in der Hoffnung, man weiß noch welche Version in welchem Controller läuft ? 3. Gibt es im Atmel Studio ein hilfreiches Add-On, mit dem man dieses Problem lösen kann (habe bisher nichts dergleichen gefunden) ? Ich bin gespannt auf Eure Vorschläge ! Grüße Manni
Was ist mit git? Um viele verschiedene Varianten zu unterhalten, gibt's kaum was effizienteres für den "Quick-hack"-Modus. Wenn du lieber sauber und zentral arbeitest (also das nie erreichte Ideal), nimm SVN. Tortoise als GUI war zumindest vor ner Weile mal auch den Windows-Anwendern genehm, wie das mit Atmel-Studio harmoniert, keine Ahnung.
Manfred L. schrieb: > 1. Wie handhabt ihr es mit der Versions-Verfolgung ? Ich nutze einfach TeamServer von Winzigweich. Weil ich es eh' schon habe. Die komfortable Integration in's VS kann man leider für die Atmel-Gülle vollkommen knicken, obwohl es auf VS aufsetzt (und damit leider auch echte Entwicklungsarbeit im Team), aber die Grundlagen einer Versionsverwaltung funktionieren natürlich trotzdem. Man braucht halt nur neben dem Atmel-Kram ein weiteres "echtes" VS, über das man die Interaktionen mit dem TFS abwickelt. Das Schicke an diesem pragmatischen Konzept ist: man kann es auch benutzen, wenn man statt des sinn- und planlos aufgeblähten Atmel-Studio das historische AVR-Studio benutzt. ;o) Aber klar: Wenn ich nicht sowieso für den meisten Kram VS und TFS benutzen würde, hätte ich sicher für die AVR8-Sachen auch eine andere Lösung gewählt. Richtig gut würde aber wohl keine laufen, denn die unüberwindbare Krux ist, dass dieser Atmel-Kram sowas einfach in keinster Weise unterstützt. Wenn du allerdings deine Entwicklung ohne die Atmel-Tools erledigst, dann ergeben sich auch andere Möglichkeiten für die Versionsverwaltung. Das bezahlst du aber wiederum mit herben Einbußen für die eigentliche Entwicklungsarbeit. Muss man echt nicht haben...
Hallo, erst mal vielen Dank für die Rückmeldungen !! Ich habe mir das die SVN angesehen, bin aber nicht so richtig zufrieden damit, denn meinen S/W Code möchte ich nicht auf irgendwelchen externen Servern ablegen. Ich dachte eher in die Richtung auf Directories auf dem PC. So wie ich das sehe und so wie c-hater beschrieben hat, gibt es anscheinend kein überzeugendes Konzept einer S/W Version Handling in der Atmel Studio 6 Environment. Ich werde mich dann wohl damit begnügen müssen, jeweils ein neues Projekt anzulegen und alles schön durchzunummerieren. Dank nochmals an Euch ! Manni
Manfred L. schrieb: > Ich habe mir das die SVN angesehen, bin aber nicht so richtig zufrieden > damit, denn meinen S/W Code möchte ich nicht auf irgendwelchen externen > Servern ablegen. Ich dachte eher in die Richtung auf Directories auf dem > PC. GIT ohne Remote erfüllt deinen Zweck. Backups musst du dann natürlich selber machen. In der Verwendung würdest du dann immer nur comitten und nie pushen.
Lokales SVN Repository... https://tortoisesvn.net/docs/nightly/TortoiseSVN_de/tsvn-qs-guide.html HTH Alex
Ich würde wegen seiner dezentralen Natur eher zu Git als Subversion (SVN) raten, vor allem bei einem relativ kleinen, überschaubaren Projekt. Aber anstatt hier einfach ein Versionskontrollsystem hinzuklatschen rate ich dem Threadersteller, sich dazu erst mal mit deren Konzept und Funktionsweise auseinanderzusetzen. Gibt genügend gute Tutorials im Internet. Ansonsten erinnert es an das Prinzip: "Ich schmeiß dich mal ins Wasser, sieh zu, wie du schwimmen lernst." Jemand, der noch nie damit gearbeitet hat, kann schnell überfordert sein, lernt dann hastig ein paar Grundlagen aber nicht den richtigen Umgang damit und macht am Ende viel falsch.
Wichtig, ausserhalb, dh zusaetzlich zu der Versionierung... Den Geraeten Seriennummern geben. Der Hardware Hardware Versionen geben. Zu jeder Hardware version gehoeren Schema und Layout. Sowie einen Beschrieb, was an dieser Version gegenueber dem Vorgaenger verbessert wurde, wie, und womit. Der Firmware Firmware Versionen & Builds geben. Zu Allen ein Beschrieb, was die Weiterentwicklung wie, und womit verbessert. Zu den Seriennummern in einer Liste die Hardware Version, die Firmware Version & Build festhalten. Zusaetzlich Messungen, Feststellungen, und Wuensche.
Manfred L. schrieb: > denn meinen S/W Code möchte ich nicht auf irgendwelchen externen > Servern ablegen Du kannst dir lokal auch dies installieren (SVN Sever): https://www.visualsvn.com/server/ und dann per Tortoise zugreifen. Dann hast du es lokal.
Manfred L. schrieb: > Hallo, > > erst mal vielen Dank für die Rückmeldungen !! > > Ich habe mir das die SVN angesehen, bin aber nicht so richtig zufrieden > damit, denn meinen S/W Code möchte ich nicht auf irgendwelchen externen > Servern ablegen. Wie kommst du darauf, dass du das müsstest? Was du für einen Server (intern oder extern) nutzt und ob du überhaupt einen nutzt oder alles lokal machst, ist dir überlassen. > Ich dachte eher in die Richtung auf Directories auf dem > PC. Taugt nix. Ein vernünftiges Versionierungstool ist meiner Meinung nach essenziell.
Manfred L. schrieb: > Ich arbeite mit den ATmegas und dem Atmel Studio 6 und > schreibe die S/W in C. Atmel Studio ist doch sowieso angezählt. Denke schon mal über MPLAB X nach.
Investiere einen Tag in tortoise/SVN. SVN ohne tortoise ist wie ein Compiler ohne IDE, was für Freaks. Einfach installieren, in einem lokalen Ordner rechte Maustaste und "repository erzeugen", schon geht's los, ohne Server. SW in verschiedenen Versionen ohne SVN (oder andere VCS) ist verschwendete Lebenszeit. Gerade wenn Du allein arbeitest, kannst Du täglich zigmal problemlos einchecken: Led blinkt: einchecken. Auch gedimmt: einchecken. Pointer Fehler nach 11s: schauen, ob das auch schon in Version blinkt war...
Schau dir mal noch https://gitea.io/en-us/ an, das ist ein Nachbau von github.com, der allerdings auch lokal betrieben werden kann. Egal ob unter Windows, Linux, Mac und x86_64 oder arm. Es unterstützt https://git-lfs.github.com/ zum Handhaben von großen Binärdateien. Eine andere github-Alternative ist noch https://about.gitlab.com/ aber im Vergleich zu gitea ist es richtig langsam. Grüße, schotter
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.