- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 23

Thema: LunaAVR, neue objektbasierte Programmiersprache für AVR

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    @schumi:
    Was man sehen kann sind die Hardware-Abbildungen der AVR-Controller, es fehlt aber noch Einiges. Ich denke da an Software-SPI und Software-UART um ein paar Beispiele zu nennen. Ich entwickle Software in verschiedenen Sprachen, von Assembler bis Java. Der Compiler selbst wird mit RealStudio entwickelt, was die Möglichkeit für zusätzliche Linux und Apple-Binarys eröffnet.

    @thewulf:
    Mitwirkende sind Willkommen. Ausgetestet werden soll inwieweit Designfehler innerhalb der Sprache existieren und ob eigene Projekte portiert werden können. Der Themenbereich meiner Projekte ist auf meine eigenen Anforderungen eingeschränkt. Andere Entwickler haben auch andere Schwerpunkte. Hier sollen die sicher noch vorhandenen Schwächen aufgezeigt werden. Fehlersuche natürlich ebenso.

    Ein gewaltiges Projekt. Aber brauchen wir das wirklich? Ich sehe den Bedarf nicht.
    Ich habe auch keinen wirklichen "Bedarf" gesehen. Wenn man aber so herangeht, müsste man ehrlich sein und sagen, dass es für das iPhone eigentlich auch nie wirklich einen "Bedarf" gab, es gab zu damaliger Zeit ja genügend Nokias in ausreichender Größe, Form und Farbe.

    Das Projekt ist entstanden, weil ich es einfach machen wollte: Eine eigene Programmiersprache mit bestimmten Ideen die ich für die Programmierung nützlich erachte (Beispiel: Objektbasierung). Im Verhältnis ist der Aufwand für Mikrocontroller vergleichsweise gering. Jetzt stelle ich das Projekt hier vor, nicht mehr und nicht weniger. Einfach um zu schauen, ob es Andere interessant finden und ihnen als Werkzeug nützlich wäre.

    Auch stelle ich das Projekt absichtlich in seiner Entstehungsphase vor, damit interessierte Anwender oder Entwickler die Möglichkeit haben frühzeitig an der Gestaltungsrichtung teilzuhaben. Es mag in seinem momentanen propritären Zustand für meine Zwecke und meine Schwerpunkte ausreichen, wird es aber sicher nicht für Andere. Ich werde in naher Zukunft eine Testversion zusammenstellen, die es den einzelnen ernsthaft Interessierten erlaubt sich ein Bild zu machen, Fehler aufzuzeigen, Richtungsempfehlungen zu äußern oder selbst z.Bsp. an dem Bibliothekscode mitzuwirken. Die bis dahin anstehenden wichtigen Fragen die sich vorab stellen, möchte ich jedoch im Vorfeld klären, nicht erst wenn viele Stunden möglicherweise sinnloser Arbeit Mehrerer investiert sind.

    Wie kann man sich diesen Performancegewinn vorstellen? Höheren Motordrehzahlen möglich oder kompliziertere Instrumente?
    Das sind kürzere Bearbeitungszeiten von Routinen und wirkt sich beispielsweise auf umfangreiche Berechnungen die in gewissen Programmbereichen in Echtzeit erfolgen müssen oder in Interrupt-Serviceroutinen aus.

    Dazu ein Beispiel:

    Die ersten Versionen einer programmierbaren Zündsteuerung habe ich in Bascom geschrieben. Nun muss man wissen, dass hier neben der einfachen Timerei, der Echtzeitberechnung von bestimmten Werten auch weitere Sensorik dazu kam wie Temperatur und Lastzustand usw. Zusätzlich noch die Echtzeitkommunikation mit der PC-Software, Anzeige und Modifikation aktueller Werte. Hier musste ich feststellen, dass bei der Ausgabe über UART Variablen durch die Interruptroutinen überschrieben wurden und auch die parallele Kommunikation während des Betriebs instabil war. Hier kam man technisch einfach an die Grenzen, egal wie man optimiert hat.

    Schlussendlich hab ich das Ganze verworfen und alles in Assembler geschrieben. Ab diesem Zeitpunkt ist die Echtzeitberechnung verbliebener Werte (Vorberechnung mit Tabellen fand schon statt) in seiner Dauer von 300 µs auf 30-68 µs pro Signal geschrumpft, die Echtzeitkommunikation stört die Timer nicht mehr und Variablen werden nicht mehr überschrieben. Da Assembler mächtig tipparbeit ist und ich schon eine eigene große Funktionsbibliothek erstellt hatte, dachte ich man könne das Ganze ja auch einfacher haben und eine eigene Sprache schreiben. Der Code ist aus LunaAVR ist dadurch prinzipiell derselbe wie in meinen Assemblerversionen. ..und ja, dadurch sind auch höhere Drehzahlen möglich.

    Gruß, rgf
    Geändert von rgf (06.11.2011 um 18:21 Uhr)

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Sehe ich das richtig, dass das für Bascom'ler einen Geschwindigkeitsschub bringt, aber für C'ler alles wie beim alten bleibt?

    mfg

  3. #3
    Zitat Zitat von Wsk8 Beitrag anzeigen
    Sehe ich das richtig, dass das für Bascom'ler einen Geschwindigkeitsschub bringt, aber für C'ler alles wie beim alten bleibt?

    mfg
    Ich möchte die Diskussion ungern auf die Geschwindigkeit reduzieren. Jede Sprache hat sicher ihre Vor- und Nachteile in bestimmten Anwendungsgebieten.
    Mein Anliegen ist vielmehr, die Objektidee in eine AVR-Programmiersprache zu übernehmen und möglichst sinnvoll auszunutzen, gleichzeitig jedoch den direkten Hardwarezugriff nicht zu stark zu abstrahieren bei einer gleichzeitig leicht verständlichen Semantik auch für Anfänger. Es ist nicht das Ziel Andere Werkzeuge zu ersetzen. Wenn wie in diesem Fall ein Geschwindigkeitsvorteil herauskommt, bin ich darüber natürlich nicht betrübt.

    Gruß, rgf

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Ich möchte die Diskussion ungern auf die Geschwindigkeit reduzieren. Jede Sprache hat sicher ihre Vor- und Nachteile in bestimmten Anwendungsgebieten.
    Das will ich auch nicht unbedingt, ich will auch nicht darüber diskutieren ob deine Sprache jetzt sinnvoll ist oder nicht, aber ich programmiere die AVRs in C und wenn bei dieser Sprache prinzipiell keine Vorteile gegenüber C rausspringen was performance und so betrifft, sehe ich keinen Sinn darin wieder eine neue Sprache zu lernen.
    Bei Neueinsteigern ist die Situation natürlich wieder anders, diese können sich aussuchen was ihnen besser liegt.

    mfg

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Die Vorteile von neuen Sprachen kristallisieren sich erst mit der Zeit heraus. Für Einsteiger wird es eine einfachere und bequemere Art zu programmieren sein. Wer unbedingt Performance braucht, wird sowieso auf ASM oder andere Controller ausweichen.

    Aber wenn man das Ganze objektorientiert benutzen kann, und der Compiler/die IDE bereits einiges an Grundobjekten mitbringt, dann lohnt sich ein Blick auf jeden Fall. Wer aber nicht mitentwickeln will, sollte sich noch gedulden, da die Entwicklung ja noch nicht abgeschlossen ist.

  6. #6
    Hallo Zusammen,

    den aktuellen Stand der Entwicklung könnt ihr ab sofort auf dieser Seite einsehen.
    Interessierte Tester/Mitwirkende können sich über das dortige Kontaktformular anmelden.

    Gruß, rgf

  7. #7
    Nach einem Gespräch mit den aktiven Testern, sind wir größtenteils der Meinung das die Testversion einen Stand erreicht hat, bei dem sie der allgemeinen Öffentlichkeit durchaus zugänglich gemacht werden kann. Sie kann also ab sofort auch von nicht angemeldeten Testern heruntergeladen werden.

    Ich bitte dazu zu bedenken, das es sich nachwievor um eine reine Testversion und nicht um die Endversion handelt. Sie kann in gewissem Umfang sicher problemlos als Entwicklungswerkzeug genutzt werden, dient aber vornehmlich als Version zur Fehlersuche und Weiterentwicklung. Dazu bitte auch die Hinweise in der readme lesen.

    Rückmeldungen können über die im readme enthaltene Mailadresse, hier im Forum oder auf der Dokumentationsseite erfolgen.

    Download aktuelle Testversion

    Gruß, rgf

Ähnliche Themen

  1. programmiersprache
    Von stani im Forum AVR Hardwarethemen
    Antworten: 21
    Letzter Beitrag: 05.11.2008, 19:49
  2. AVR-Programmiersprache
    Von Christoph2 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 15
    Letzter Beitrag: 03.04.2006, 22:30
  3. Was ist die Programmiersprache
    Von Ganxta2 im Forum Elektronik
    Antworten: 23
    Letzter Beitrag: 22.01.2006, 09:59
  4. Neue Programmiersprache entwickeln
    Von MrQu im Forum AVR Hardwarethemen
    Antworten: 28
    Letzter Beitrag: 15.11.2005, 21:05
  5. Programmiersprache?
    Von Rama-k im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 07.06.2004, 13:54

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test