Hallo :)
Zur Zeit arbeite ich mit dem Arduino. Da diese Entwicklungsumgebung
einen Grenzen setzt, möchte ich gerne weg von diesen Fertigprodukten.
Meine Idee ist, einen ATMEGA selber zu programmieren. Dazu bräuchte ich
allerdings eine IDE, in den ich mein Programm schreiben kann, einen
Compiler, der mein geschriebenes Programm in Maschinensprache umwandelt
und per USB an den ATMEGA sendet, ein Programm, womit ich selber über
Buttons und Checkboxen (wie bei VBA in Excel) mir ein Bedienungsprogramm
schreiben kann, welches dann eine ausführbare Datei sein soll (z.B. eine
*.exe).
Hat jemand eine Idee welche Programme dafür am besten geeignet sind?
Lieben Gruß, André
da schon öfter behandelt nur ein paar stichworte zum googlen bzw zum
nachlesen in der artikelsammlung:
avr-gcc (win-avr unter windows), avrdude, avrisp, und wenn ich deinen
kenntnisstant einbeziehe irgend so ein .net/...# teil... also irgendwas
aus dem visual-studio express
73
Windows oder Linux? Unter Windows gibt es das AVR Studio und die aus
AVR-GCC hervorgegangene Atmel-Toolchain, beides als kostenlosen
Download. Unter Linux, siehe oben.
Für die Entwicklung von PC-Software mit einer schnell zusammenklickbaren
Oberfläche verwende ich persönlich gern Lazarus (ähnlich wie früher
Delphi), aber das ist eine andere Sprache (Pascal statt C). Mit etwas
Einarbeitung kommt man aber zu schnellen Ergebnissen, gerade was die
Oberfläche angeht.
André schrieb:> Vielen Dank für die ganzen Antworten :-)>> Das ganze soll auf Windows basieren.
Dann lade dir doch einfach das Atmel Studio. Das ist doch genau dafür
da.
André schrieb:> Zur Zeit arbeite ich mit dem Arduino. Da diese Entwicklungsumgebung> einen Grenzen setzt, möchte ich gerne weg von diesen Fertigprodukten.
Wieso setzt sie dir Grenzen?
Die Arduino IDE stellt dir ein Haufen fertige Funktionen und
Definitionen zur Verfügung - nicht mehr und nicht weniger. Als Compiler
wird genauso wie bei Atmel Studio u.a. GCC verwendet, also ein ganz
normaler Compiler-
> Meine Idee ist, einen ATMEGA selber zu programmieren.
Dann tue das, die Arduino IDE hindert nicht daran. Du mußt nur
akzeptieren, dass es noch eine Programmebene oberhalb von setup() und
loop() gibt, die du sonst sowieso als erstes selber anlegen müßtest.
André schrieb:> Ich möchte weg von Fertigprodukten
Dann nimm den Sand hinter meinen Haus, daraus kann man Silizium machen,
Chips fertigen, und hat alles selbst gemacht.
Mike schrieb:
>Wieso setzt sie dir Grenzen?>Die Arduino IDE stellt dir ein Haufen fertige Funktionen und>Definitionen zur Verfügung - nicht mehr und nicht weniger. Als Compiler>wird genauso wie bei Atmel Studio u.a. GCC verwendet, also ein ganz>normaler Compiler-
Ich musste mir extra einen Arduino Mega kaufen, weil mir der Speicher
des Arduino Uno nicht ausreicht.
Der Nachteil nun ist, das der IC auf den Arduino-Mega keine DIP-genormte
Pins hat. Die Pins des ATMEGA2560 sind viel zu klein um diese später auf
eine Platine zu löten. Daher hatte ich den IC ATMEGA 1284P-PU im Auge
gefasst. Er hat die richtige Speichergröße die ich brauche und ist
DIP-genormt, sodass ich diesen auf einen IC-Sockel stecken kann. Nur
leider hat dieser IC mehr Pins als der IC auf den Arduino-Uno. Und die
IDE des Arduinos würde diesen IC auch nicht erkennen, da dieser im
Programm nicht vorgesehen ist. Das meine ich mit Grenzen setzen.
Daher möchte ich den ATMEGA 1284P-PU selber fertig löten mit allen
notwendigen Bauteilen, doch das Programmieren würde dann nicht mehr mit
der Arduino-IDE funktionieren. Daher brauche ich ein anderes Programm
wie z.B. das AVR Studio. Ich hoffe das funktioniert damit dann.
Ach echt? Das funktioniert? Da muss ich mich mal genau belesen. Kann ich
auch das Compiler-Programm außerhalb von der Arduino-IDE verwenden?
So z.B.: Compiler.exe MeinProjekt.ino
Dann müsste ich nicht immer die Arduino-IDE aufrufen um fertige Projekte
zu kompilieren und zu überspielen.
Lade dir von Microchip das MPLAB herunter, eine komplette
Entwicklungsumgebung.
Man kann damit die Bausteine schon simulieren, wenn man sie gar nicht
mal besitzt.
Irgend einen Kit haben die auch immer, der samt Stromversorgung rein nur
an USB funktioniert.
André schrieb:> Kann ich auch das Compiler-Programm außerhalb von der Arduino-IDE> verwenden?
Im Prinzip schon, das läuft aus der Kommandozeile/"DOS"-Box oder wie
immer du es nennen möchtest. Aber warum?
> Dann müsste ich nicht immer die Arduino-IDE aufrufen um fertige Projekte> zu kompilieren und zu überspielen.
Wenn das Projekt fertig ist, reicht es den .elf oder .hex-File auf den
Prozessor zu spielen, z.B. mit einem ISP Programmer und AVRdude.
cyblord ---- schrieb:> Arsenico schrieb:>> Zurück zur Natur !>> Zweige und Laub...
Und am Strand Silikate an elektrolytischer Lösung
Überall beruflicher Stress :-\
In der Küche bin ich lange weg von Fertigprodukten. Aber beim Basteln
greife ich gern drauf zurück.
Den überteuerten Ardinomist kann man abhaken, aber wozu gibts denn
Chinamann uns seine schönen Clones?
Da bekommt man feine Sachen wie Ethernet usw für wenig Geld und muss
sich nicht um Platinen oder sowas kümmern.
T.roll schrieb:> Ach bestehen Halbleiter jetzt nur noch aus Silizium?
Natürlich nicht. In dem Chip steckt auch viel Liebe drin, wie bei Omas
Apfelkuchen.
Rolf Magnus schrieb:> Natürlich nicht. In dem Chip steckt auch viel Liebe drin, wie bei Omas> Apfelkuchen.
Neben Silizium enthalten moderne Chips vor allem schwarzen, grauen oder
weißen Rauch. Eventuell gesprickt mit leisen oder lauten Knacksern.
Die diversen Rauche stecken auch im Apfelkuchen, kommen aber nicht ganz
so schnell heraus.
...
Wenn man wirklich möglichst viel zu Fuss machen will ist vor allem eine
Kommandozeilenumgebung mit einer gewissen Ergonomie vorteilhaft ... und
da ist eine BASH in einem guten Terminalemulator (die man auf jedem
modernen Betriebssystem haben kann) den Windows-Bordmitteln doch meiner
Meinung nach weit überlegen.
Texteditoren für Programmierer gibt es auch zuhauf... Probier mal
Notepad++, PSPAD, Emacs-w32* ...
*Emacs auf Windows ist immer ein bisschen holprig von der Integration,
und sehr sehr idiosynkratisch .. aber dafür sind die automatische
Einrückung und das Syntax-Highlighting von fantastischer Qualität.
Glückwunsch zur Überschreitung der physikalischen Beschränkungen, ebenso
Glückwunsch für die exakte Artikulation der Absicht. Ich befürchte
allerdings, dass ein Mikrocontroller die falsche Einstellung zur Lösung
deines (unbekannten und speicherintensiven) Problems ist. Nur weil er
mit der Vorsilbe micro 10^-6 suggeriert sind Probleme damit nicht
automatisch auf diesen Maßstab verkleinert.
Man darf die verwendeten Bibliotheken gern ausdünnen, Funktionen die man
nicht benötigt, darf man gern entfernen und auch unbenutzte Variablen
können verschwinden (so der Compiler und Linker nicht schlau genug
eingestellt sind, das wegzuoptimieren). Braucht man noch immer zuviel
Speicher, gibt es diesen in Form von externen Bausteinen zum dazukaufen.
Das ist nicht wirklich rasant (keine Speicherverwaltung, selbst
verkabelt), aber prinzipiell möglich.
Wenn noch immer der Speicherbedarf zur Problemlösung den verfügbaren
Rahmen sprengt, ist eine andere Architektur angeraten, eine mit
Speicherverwaltung, vielleicht sogar paralleler Verarbeitung, einer
Arithmetisch-Logischen-Untereinheit usf. Wie wäre ein Raspberry PI, ein
x86 SoC (System on a Chip) oder etwas ARM-Architektur mit Android?
Nicht das Problem ist das Problem, sondern die Einstellung zum Problem
ist das Problem.
Mal eine ganz andere Frage.
Gibt es Kurse, in denen man Grundkenntnisse erlernen kann? Wo man sein
Steckboard mitbringen kann? Wo man eine Einführung in C++ usw. bekommen
kann?