Hallo! Ich bin der (Un)-glücklicher Besitzer eines ICC7AVR-Compilers. Über zehn Jahre lang habe ich brav nur Philips-Kontroller programmiert. Waren die zehn glücklichste Jahre ( Embedded Systems- entwickelt, Windows + uC)meiner Karriere! Ab Juli dieses Jahres, habe ich mich leider - für die neue Entwicklung-, für AVR - Mikrokontroller entschieden. Um noch tiefer in Unglück zu stürzen, habe ich den ICC7AVR-Compiler gekauft ( Assembler programmiere ich seit 1996 nicht mehr. C- ist der Industrie-Standard) Der Compiler hat einige wenige Gemeinsamkeiten mit dem ANSI & Borland, nicht viele aber es geht. Die Pin-Adressierung (z.B.)ist extrem primitiv und aufwendig. Egal!. Bis jetzt funktioniert alles(2 Kontroller, Touchscreen, LAN, USB, Ansteuerung von zwei potentiostatischen Sensoren, LCD usw., aber - und hier ist das Problem- ich kann die zwei Controller nur mittels LPT-Port programmieren! Mit dem Laptop(neu, ohne RS232 und LPT) kommt eine Fehlermeldung. Die Fehlermeldung sagt, dass keine Verbindung aufgebaut werden kann. Der Händler hat mir zwei AVR-PG1 Seriellport ISP Adapter verkauft, aber wie ich die einsetzen soll, hatte keine Ahnung. Ich habe versucht mit den Delay -Werte rum zu spielen, aber der Compiler findet den Prozessor trotzdem nicht. Er hat mir auch ein JITAG- Adapter angeboten, aber konnte nicht garantieren, dass die Programmierung des Prozessors mittels eingebauten IDE-ISP des Compilers die Programmierung klappen würde(obwohl er die ICCAVR-Compiler in Deutschland vertreibt!) Die Laptops haben keine LPT oder RS232-Schnittstelen mehr, sodass nur mittels USB-RS232 könnte ich den AVR-PG1 anschließen. Aber es klappt nicht. Der USB-RS232 Umsetzer funktioniert, weil mein Philips-Programmierer(RS232-Anschluss) geht. Ich habe auch mit einem USB- UmsetzerLPT + STK-200/300 Adapter versucht. Es gibt aber keine Möglichkeit eine neue LPT- Adresse einzustellen(PCMCIA- braucht die Root- Adresse) Mein 2.Philips-Programmiergerät geht mit der PCMCIA-Karte ohne Probleme, weil in seiner Software die Adresseinstellung möglich ist. Hat jemand geschafft direkt mit der ISP- des ICC7AVR-Compilers(mittels USB-RS232- oder USB-LPT Unsetzer) einen AVR- Controller zu programmieren? Könnte mir jemand helfen? Danke, Alex
ICC7AVR mit AVRISPMKII geht ohne Probleme und ist in die Oberfläche eingebunden. Wenn man schon einen Compiler kauft ist ein MKII immer drin!! Ein ICCUser
Ich wünsche euch ein gutes neues Jahr! Ich bedanke mich für eure Kommentare. Hinsichtlich AVR-Studios, kann ich leider nicht, ich muss alles in C- programmieren. Es kommt vor, dass bei der Kunde ich schnell Änderungen machen muss, sodass neue Funktionen dem Kunden zur Verfügung stehen. Die Zeit darf auf keinem Fall länger als 30Min bis Max.1Std sein. Durch Wiederverwendung von Funktionen, geht das sehr schnell und sicher. Das geht aber nur in Hochsprache. ************** Hinsichtlich: USB-Programmierer: Die Händler(Elektronikladen und Sanders) konnten nicht garantieren, dass dieses Gerät mit dem ICC7AVR zusammen arbeiten kann. Die paar Euro um sowas zu kaufen hätte ich sicher gehabt. Habe öfters nachgefragt, keine klare Antwort! ******************** Ja, ich habe auch gesehen dass die „IS-Prog“ in dem ICC7AVR beinhaltet ist. Leider klappt es nicht, den Controller zu programmieren. Es sieht so aus, dass ich immer wieder etwas falsch mache. Das Programmierkabel für den RS232-Anschluss habe ich von Olimex(Elektronikladen). Das erste war defekt(eine SMT-Diode nicht gelötet, spät bemerkt), das zweite ist OK, aber die ICC7AVR-Programmierroutine findet den Controller nicht. Nicht einmal wenn ein RS232-Schnittstelle hardwaremäßig zur Verfügung steht(Computer BJ1998). Mit der PCMCIA oder USB-RS232 Adapter geht dann auch nicht. ********************** Der Controller(ATMEGA128) arbeitet mit 4MHz-Clock. Mit einem STK200-Programmierkabel(LPT) klappt die Programmierung ohne Probleme. ********************* Wenn jemand mir ganz klar und ausführlich die Einstellungen die ich im ICC7AVR vornehmen muss, um mittels PCMCIA- oder USB-RS232 Adapter programmieren zu können, erklären könnte, wäre ich sehr dankbar! *********************** Ein Teil der Steuerung die ich programmieren muss, habe ich als J*jpg-Bild angehängt. Die Pin- Belegung des ISP-Buchsen-Leisters: Pin 1: MOSI, Pin 2: Vcc, usw. Ich wünsche euch ein angenehmes Wochenende, Grüße Alex
Hallo Alex, ICC erzeugt dir ein HEX-File (wenn du es so einstellst unter Projekt/Options/Compiler). Im AVR-Studio kann man dieses Auswählen (Program/Flash/Input HEX File) und dann programmieren. Wenn deine Programme also mit dem Studio arbeiten ist dein Problem umgangen bis du einen ISPMKII hast. gruß hans
>Hinsichtlich AVR-Studios, kann ich >leider nicht, ich muss alles in C- programmieren. Du kannst mit dem AVR Studio und WinAVR (GCC Compiler) wunderbar in C Programmieren.
> aber der Compiler findet den Prozessor trotzdem nicht.
Der Compiler kostet richtig Geld, leistet auch sehr viel. Aber die
Prozessorsuche ist überhaupt nicht seine Aufgabe.
Dein Gejammere kann ich nicht nachvollziehen.
"Wenn deine Programme also mit dem Studio arbeiten ist dein Problem umgangen bis du einen ISP MKII hast." Siehst du, genau so eine klare Aussage konnte der Händler nicht machen. Kein Händler konnte mich versichern, dass mit dem ISP MKII direkt aus dem ICC7AVR der Prozessor programmiert werden kann. Wenn ich schon 400€ für den Compiler ausgegeben habe, wäre ein MKII sicher kein Problem gewesen. Wichtig! Arbeitest du mit diesem Programmieradapter +ICC7AVR? Mit dem HEX-File ist klar, seit 1990 arbeite ich ausschließlich mit Hex, ist auch leichter zu editieren(Text-Strings zu überprüfen). Ich werde deinen Vorschlag folgen. Weil ich all dies (leider) nicht aus Hobby mache, sondern ich (ausschließlich)aus Patente und Neuentwicklungen leben muss, bleibt so gut wie keine Zeit zu experimentieren, ob ein bestimmtes Programmiergerät(Einrichtung) wirklich funktioniert oder nicht. Vielleicht habe ich zu viel mit Philips gearbeitet??. Auf jedem Fall, vielen Dank!. ****************************************** "Du kannst mit dem AVR Studio und WinAVR (GCC Compiler) wunderbar in C Programmieren." Das ist war, aber wenn man über 15Jahre lang mit ANSI-C & Microsoft C++ gearbeitet hat, ist zeitraubend diese GCC- Schlüsselwörter und die viele nicht ANSI Routinen neu zu erlernen, sodass in brauchbarer Zeit die Entwicklung dem Kunden übergeben werden kann. Wenn ich etwas mehr Zeit gehabt hätte für die Entwicklung dieses Programms, dann hätte ich vielleicht mit GCC versucht. Ich habe mir die ganze Dokumentation des GCC-Compilers ausgedruckt. Der Unterschied zum ANSI war für mich aber zu groß, und die Handhabung des Compilers in Vergleich mit dem KEIL, MICROCHIP oder RAISONANCE auch zu kompliziert (bitte nicht vergessen, meine Familie lebt aus meine Entwicklungen, und die Konkurrenz auf dem Markt verlangt dass: „Was der Kunde heute bestellt, soll bis spätestens GESTERN ausgeliefert werden!). Deshalb habe ich den ICC7AVR (ist etwas näher an ANSI- als GCC) gekauft, leider ohne erst zu testen ob auch die RS232- Programmierung mit dem angebotenen Programmierkabel wirklich funktioniert(nur mittels LPT habe ich die Funktion geprüft) Wenn ich gewusst hätte was auf mich wartet, dann wäre ich beim KEIL und Philips geblieben. Das Programm für den beiden Controller und für den PC ist so gut wie fertig(103KB + 111KB + 402MB+ 8MB-Setup - ), sodass lediglich für die Software-Wartung noch eine Rolle spielt, ob ich mittels RS/USB programmieren kann oder nicht. ***************************************************************** "Der Compiler kostet richtig Geld, leistet auch sehr viel. Aber die Prozessorsuche ist überhaupt nicht seine Aufgabe. Dein Gejammere kann ich nicht nachvollziehen." Das ist natürlich falsch! Er muss imstande sein den Prozessor zu finden(aber natürlich nicht in der Schublade oder auf der Platine!) und ihn zu identifizieren (so wie er mittels LPT- Anschluss tut), sodass er ihn beschreiben kann. Wenn er aber jedes mal meldet, dass der Prozessor nicht identifiziert werden kann weil das Kabel oder die Spannungsversorgung nicht angeschlossen wäre(obwohl vor ein paar Sekunden mittels LPT programmiert wurde), dann stimmt etwas mit den Übertragungsroutinen des Compilers nicht, oder habe ich etwas falsch eingestellt. Diese Meldung ist auf jedem Fall falsch, weil wenn das Programmierkabel nicht angeschlossen wäre und der Compiler das Problem richtig erkennt, dann würde die Meldung „COM1- Schnittstelle kann nicht geöffnet werden“ kommen müssen! ********************************************** Ich bedanke mich für eure Kommentare und ein schönes Wochenende, Gruß Alex!
ich bezweifle jetzt mal gaaaanz stark das man den GCC nicht dazu überreden kann ansi c kompatible zu sein dazu können die gcc freaks hier im Board aber sicher mehr sagen.
Hallo Alex, ICC verwendet zum Programmieren eigentlich das AVR-Studio bzw. die Command-Line Version STK500.EXE Daher muß! das Studio bzw. die EXE installiert sein. Den Programmer kannst du dann unter Tools anwählen (oder ISP-Dialog, das Icon rechts IC mit 11001). Dort stellst du auch die Fuses etc. ein. Es sind noch einige weitere Einstellungen möglich, für den Normalfall jedoch nicht nötig. Auser evtl. die Automatische Programmierung nach dem compielern. Ich Arbeite mit ISPMKII unter WINXP direkt aus ICC7 z.B. mit MEGA324P, AT90PWM3B etc... Ein Umsetzen von ICC <-> GCC ist meist Aufwändig, da insbesondere die Incudes und Macros nicht immer passen. gruß hans
„ich bezweifle jetzt mal gaaaanz stark das man den GCC nicht dazu überreden kann ansi c kompatible zu sein dazu können die gcc freaks hier im Board aber sicher mehr sagen.“ Ja , ich bin mir sicher dass so etwas möglich ist. Das einzige Problem ist die „ZEIT“! Auf jedem Fall, die sogenannten „Freaks“ sind meist viel, viel schneller als ein profi- Entwickler, weil die so gut wie alle Funktionen und „Macken“ des GCC-Compilers kennen. Die die aus Entwicklungen leben müssen(wie ich, z.b.), kennen nur die Funktionen die für die tägige Arbeit nötig sind. D.h.: Du hast 1000% Recht! ********************************************* Hallo Hans! Vielen Dank für die Beschreibung! Wen ich richtig verstanden habe, obwohl die STK500.exe gestartet sein muss, du bist NICHT an die Hardware STK500 gebunden! Ich habe die STK500 nicht, und für meine Arbeit kann ich auch nicht diese Platine einsetzen/dazwischenschalten. Das AVR-Studio muss im Hintergrund(als Instanz) gestartet werden? Entschuldige bitte dass ich so viele Frage stelle, aber du hast (gegenüber mir) nicht abzustreitende Kenntnisse/Vorteile - Sachen die für dich so klar sind, dass du dir gar nicht vorstellen kannst dass ich sie nicht kenne, aber nach 18 Jahren Philips-Controller und nur 2,5 Monate ATMEL, kann ich sicher nicht auf deinem Niveau sein! Einen angenehmen Tag, Alex
Das ist aber ein recht schlechtes Argument überleg mal wie lange du jetzt schon mit der Programmer geschichte rumspielst. Ein AVRISPmkII odr auch mein Programmer + AVR Studio und ein einziges Flag -ansi welches sich mittels google beim ersten Treffer finden liess erschlagen alle deine Probleme. Du kannst im AVR Studio wunderbar auch debuggen. Fr den preis des IAR hättest du schon 2 JTAG ICE mkII gekauft welche dir sehr viel mehr Zeit ersparen als die Suche nach dem ansi schalter des gcc.
>überleg mal wie lange du jetzt schon mit der Programmer geschichte >rumspielst. Für jemanden, der permanent "Patente" produziert, macht das eh keinen guten Eindruck. Und daß ein Compiler einen Prozessor suchen soll, läßt sich mir die Nackenhaare streuben. Ich glaubte zunächst auch, daß es ein IAR wäre. Das ist wohl nicht der Fall. IAR ist erst bei V4 oder V5 angekommen und für 400 Euro gibt es dort nichts zu kaufen. ImageCraft nennt seine Compiler auch ICCAVR. Wenn man viel Jahre andere Controller verwendet hat, ist es doch eine Kleinigkeit, auf Atmel umzusteigen. Zumindest, wenn man weiß, was man will und wie ein µC überhaupt funktioniert.
Hallo Alex, STK500.EXE ist eine Anwendung, die z.B. auf DOS-Ebene das Programmieren ermöglicht. Diese Anwendeung wird von Atmel mit dem Studio zusammen ausgeliefert und von ICC verwendet. Als Link die Atmel-Info: Protokoll http://www.atmel.com/dyn/resources/prod_documents/doc2591.pdf Software Command Line http://www.atmel.com/dyn/resources/prod_documents/doc1925.pdf (hier 5.4 sind die STK500 Befehle) ICC benutz diese Anwendung um Atmel-konform zu sein. Um dies zu tun, muß ICC lediglich wissen, wo die STK500.EXE gespeichert ist (ISP-Dialog unter ISP-Options). Der Name STK500 stammt zwar vom Starterkit bezieht sich jedoch auf die ISP-Programmierung die auch mit dem KIT möglich ist. Der ISPMKII mit USB wird ebenfalls unterstützt. gruß hans (PS: ein laufendes Studio mit verbundenem Programmer blockiert die Schnittstelle für STK500/ICC !)
„Das ist aber ein recht schlechtes Argument überleg mal wie lange du jetzt schon mit der Programmer geschichte rumspielst.“ Ja, ich habe mir überlegt. Ins gesamt rund 2Std. Danach habe ich bemerkt dass etwas falsch läuft. Ich habe die Anlage mittels LPT programmiert. Das Programm musste ich aber in Module aufteilen, weil die Programmierung des Controllers zu lange dauert(~100KB je Controller- und sind zwei Stück!) ***************************+ „Und daß ein Compiler einen Prozessor suchen soll, läßt sich mir die Nackenhaare streuben.“ Ich merke dass du echte Probleme mit dem Vorgehensweise eines Rechners/Prozessors/WIN-Softwareentwicklung hast. Ich könnte dir vorschlagen, bei UNI-Darmstadt den Kurs Softwareengineering zu versuchen. Die Prüfungen sind sehr hart, aber wenn ich die geschafft habe, dann schaffst du das mit links. Alternativ, versuch in München- oder Stuttgart- Ditzingen bei Microsoft. Ist aber extrem teuer. Ich habe das in 2001-2003 gemacht, aber nur weil ich die Microsoft Zertifizierung gebraucht habe. *****************************************************+ Hallo Hans! Entschuldige bitte, dass ich mich so viele Tage nicht gemeldet habe. Ich habe die Anlage mit den zwei ATMEGA128 beim Kunde(Bezirksklinikum) einbauen müssen. Die wollten aber – obwohl in dem Auftrag es nicht aufgeführt war) noch eine Softwareschnittstelle für einen Chromatograph, für Fernanalyse. Da habe ich natürlich Speicherprobleme bekommen. Aber das ist mein Problem, hat mit meiner primären Frage nichts zu tun. Morgen soll der MK2 ankommen. Bin leider nicht in der Firma. Am 16. Dez.2008 habe ich noch drei Handelsvertretungen für diese ATMEGA- Trinkwasser-Anlage in Hannover, Berlin und Würzburg eröffnet, und morgen besuche ich diese Niederlassungen. Deine Hilfe war für mich sehr wichtig. Ich würde mich bei dir auch persönlich bedanken. Weiß nicht wo du wohnst, aber ich bin ziemlich viel unterwegs bei Gesundheitsämter, Krankenhäuser, Ing-& Planungsbüros, meist in Bayern, aber mit den neuen Handelsvertretungen auch in Mitte und Ostdeutschland. Vielleicht werden wir uns trotzdem, irgendwann treffen? Ich vergebe manchmal, ( wenn meine Mitarbeiter nicht mehr schaffen) gut bezahlte Teilaufträge auch außerhalb. Hard, Layout, Design, Software( Plattform Microsoft nicht, aber Philips, Microchip und ab jetzt auch ATMEL). So könnte ich mich bei dir, für deine Unterstützung bedanken. Ab Herbst 2009 brauche ich auch Personal(Teilzeit) für die Hard- & Softwarewartung dieser Anlagen(die mit ATMEGA128, für die mit Philips, nicht) Montag bin ich in Erlangen. Bist in der Nähe? Vielen Dank für deine Hilfe, ich wünsche dir einen angenehmen Abend, Gruß Alex
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.