Forum: Mikrocontroller und Digitale Elektronik ICC7AVR-ISP-


von Frank M. (pseudoki)


Lesenswert?

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

von Flo (Gast)


Lesenswert?

warum nimmst du nicht einen richtigen USB Programmer?

Frohes Neues Flo

von ICCUser (Gast)


Lesenswert?

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

von Christian U. (z0m3ie)


Lesenswert?

Deine Probleme hätteste du mit dem kostenlosen AVR Studio+Open Source 
GCC warscheinlich alle nicht.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

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

von hans (Gast)


Lesenswert?

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

von Christian U. (z0m3ie)


Lesenswert?

>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.

von Gast (Gast)


Lesenswert?

> 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.

von Frank M. (pseudoki)


Lesenswert?

"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!

von Christian U. (z0m3ie)


Lesenswert?

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.

von hans (Gast)


Lesenswert?

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

von Alex (Gast)


Lesenswert?

„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

von Christian U. (z0m3ie)


Lesenswert?

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.

von Gast (Gast)


Lesenswert?

>ü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.

von hans (Gast)


Lesenswert?

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 !)

von Frank M. (pseudoki)


Lesenswert?

„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
Noch kein Account? Hier anmelden.