Forum: Mikrocontroller und Digitale Elektronik Ist Usbasp gut?


von Muco (Gast)


Lesenswert?

Hallo,
ich habe mich viel mit Arduino beschaeftigt und Projekte damit gemacht, 
jedoch habe ich das Gefuehl bekommen, dass es in der Industrie nicht 
wirklich einsetzbar ist.
Ich moechte mich mit Avr naeher beschaeftigen, weiß jedoch nicht, ob ich 
unbedingt den teuren Bootloader kaufen muss. Ich bin auf den usbasp 
gestoßen und wollte fragen, ob man damit dasselbe machen kann wie mit 
dem AVRISPmkII...
Danke

von AVRISPmkII (Gast)


Lesenswert?

Der USBASP ist in der Industrie nicht wirklich einsetzbar.

von Muco (Gast)


Lesenswert?

Was ist genau der Grund dafür?

von AVRISPmkII (Gast)


Lesenswert?

Der AVRISPmkII ist genauso ein Bastler Programmer. Profis verwenden 
einen Programmer mit dem man auch den Controller mittels In-Circuit 
Emulation debuggen kann. Dafür gibts von Atmel z.B. den JTAGICE3. Kostet 
allerdings ein paar Euro mehr.

von c-hater (Gast)


Lesenswert?

AVRISPmkII schrieb:

> Der AVRISPmkII ist genauso ein Bastler Programmer. Profis verwenden
> einen Programmer mit dem man auch den Controller mittels In-Circuit
> Emulation debuggen kann.

Nur völlig unfähige Programierer benötigen gewöhnlich "unbedingt" einen 
IC-Debugger...

Und gerade die sind dann in aller Regel nicht dazu in der Lage, diesen 
in den extrem wenigen Fällen, wo er tatsächlich nutzbringend anwendbar 
wäre, auch wirklich nutzbringend anzuwenden...

von Muco (Gast)


Lesenswert?

Also warum ist der usbasp nicht in der Industrie einsetzbar?
Was ist der Unterschied zu AVRISPmkII?

von Axel S. (a-za-z0-9)


Lesenswert?

Muco schrieb:
> Ich moechte mich mit Avr naeher beschaeftigen, weiß jedoch nicht, ob ich
> unbedingt den teuren Bootloader kaufen muss.

Du meinst sicher nicht "Bootloader", sondern "Programmieradapter".

> Ich bin auf den usbasp gestoßen und wollte fragen, ob man damit
> dasselbe machen kann wie mit dem AVRISPmkII...

Im Prinzip ja, aber.

Der AVRISP ist ein Tool vom selben Hersteller wie die µC und die (ok, 
eine der) IDE. Deswegen legt dieser Hersteller viel Wert darauf, daß 
alle diese Teile so gut wie nur möglich miteinander funktionieren. Soll 
heißen, der AVRISP unterstützt alle ISP-Protokolle (auch die für µC die 
du vielleicht gar nicht verwendest). Und er funktioniert ganz ohne daß 
du etwas konfigurieren müßtest aus dem AVR-Studio heraus.

Allerdings läßt sich Atmel das auch ganz gut bezahlen.

Der usbasp hingegen ist Open Source und Open Hardware. Jeder kann den 
bauen (China Klone des usbasp sind legal, Klone von AVRISP nicht). Im 
Gegenzug kann er nur ISP (die meisten AVR) und TPI (die ganz kleinen 
ATtiny) aber nicht PDI (xMega). Und du brauchst noch die Software 
avrdude (damit kannst du den usbasp dann auch aus dem AVR-Studio heraus 
verwenden).

Ein Problem vieler usbasp von ebay ist, daß die Chinesen da eine 
hornalte Firmware drauf brennen. Die kann dann kein TPI und auch die 
Geschwindigkeit des ISP-Interface kann man dann nicht per Software 
einstellen. Man kann die Firmware des usbasp zwar updaten, braucht dazu 
aber einen zweiten Programmer (das darf aber dann auch ein alter usbasp 
sein).

von Muco (Gast)


Lesenswert?

Danke vielmals fuer die ausfuehrliche Antwort.

von Muco (Gast)


Lesenswert?

Noch eine Frage: Microchip ist da glaube ich kostenguenstiger oder? Da 
gibt es beispielsweise den Pickit3 habe ich gesehen.
Kann man da auch ganz normal in C programmieren? Gibt es große 
Unterschiede?
Danke

von Axel S. (a-za-z0-9)


Lesenswert?

Muco schrieb:
> Noch eine Frage: Microchip ist da glaube ich kostenguenstiger oder? Da
> gibt es beispielsweise den Pickit3 habe ich gesehen.

Das Original PICKIT ist kaum preiswerter als das AVRISP. Allerdings kann 
es im Gegensatz zu letzterem auch debuggen. Wirklich billig ist das 
PICKIT3 nur wenn man einen Klone kauft.

> Kann man da auch ganz normal in C programmieren? Gibt es große
> Unterschiede?

Die kleinen PICs bis einschließlich PIC18 sollte man im Interesse seiner 
geistigen Gesundheit ausschließlich in C programmieren. PIC24 (und 
dsPIC) sind intern ganz anders aufgebaut. Und PIC32 ist in Wirklichkeit 
MIPS.

Aus Sicht eines C-Programmierers sind Unterschiede vorhanden, aber nicht 
gravierend. OK, hängt davon ab on man überhaupt schon mal was anderes 
als einen AVR gesehen hat. Sonst könnte der Kulturschock schon etwas 
größer sein als angenommen.

Leider sind die Toolchains bei PIC alle etwas angestaubt. Für die 
kleinen (bis PIC18, wie gesagt) gibt es kostenlos nur einen nicht- 
optimierenden Compiler. Der Compiler für PIC24 ist ein alter gcc, 
anscheinend nicht mehr(?) gepflegt. Und auch hier gibts den kompletten 
Satz Features nur gegen Bares. PIC32 sollte dann wieder ok sein.

Andererseits würde ich mich im Zweifel eher Richtung ARM orientieren, 
wenn es etwas größer sein darf. Toolchain ist exzellent und die meisten 
Typen kommen mit Bootloader, so daß ein USB-Serial Wandler oder gleich 
direkt USB zum Flashen ausreicht.

von K. J. (Gast)


Lesenswert?

Axel S. schrieb:
> Die kleinen PICs bis einschließlich PIC18 sollte man im Interesse seiner
> geistigen Gesundheit ausschließlich in C programmieren. PIC24 (und
> dsPIC) sind intern ganz anders aufgebaut. Und PIC32 ist in Wirklichkeit
> MIPS.

So ein quatsch ASM aufm PIC ist doch super simpel ehr alles >PIC18 
sollte man nicht mehr in ASM Programieren.


>
> Leider sind die Toolchains bei PIC alle etwas angestaubt. Für die
> kleinen (bis PIC18, wie gesagt) gibt es kostenlos nur einen nicht-
> optimierenden Compiler. Der Compiler für PIC24 ist ein alter gcc,
> anscheinend nicht mehr(?) gepflegt. Und auch hier gibts den kompletten
> Satz Features nur gegen Bares. PIC32 sollte dann wieder ok sein.
>

Auch Quatsch siehe SDDC, angestaubt sind die auch nicht die meisten 
werden weiterentwickelt, naja die Optimierungen braucht man meist auch 
nicht wirklich vor alledem nicht als Anfänger, das kommt dann aber auch 
auf den Compiler drauf an manchmal gibt es dann stat der 
Optimirungsbegrenzung auch eine Größenbegrenzung aber die ist meist auch 
recht human, bei MicroC sind es 2k Programm Wörter.


> Andererseits würde ich mich im Zweifel eher Richtung ARM orientieren,
> wenn es etwas größer sein darf. Toolchain ist exzellent und die meisten
> Typen kommen mit Bootloader, so daß ein USB-Serial Wandler oder gleich
> direkt USB zum Flashen ausreicht.

Da hast du mal recht für den Neuanfang würde ich auch ehr zu "Cortex M3" 
oder ähnlichen Tendieren als ich angefangen habe gabs das noch nicht ist 
halt auch ne frage was man machen möchte, ich Programmiere meine 
PIC16/18 immer noch in ASM und komme gut damit klar.

von Axel S. (a-za-z0-9)


Lesenswert?

K. J. schrieb:
> Axel S. schrieb:
>> Die kleinen PICs bis einschließlich PIC18 sollte man im Interesse seiner
>> geistigen Gesundheit ausschließlich in C programmieren. PIC24 (und
>> dsPIC) sind intern ganz anders aufgebaut. Und PIC32 ist in Wirklichkeit
>> MIPS.
>
> So ein quatsch ASM aufm PIC ist doch super simpel ehr alles >PIC18
> sollte man nicht mehr in ASM Programieren.

Oh. Ein PIC-Fanboy! <seufz> Mein Beileid!

>> Leider sind die Toolchains bei PIC alle etwas angestaubt.
...

> Auch Quatsch siehe SDDC

SDCC für PIC sehe ich eher als Machbarkeitsstudie denn als ernsthaften 
Compiler. Aber zugegeben, ich verwende keine PICs, insofern bin ich da 
sicher nicht auf dem letzten Stand.

> die Optimierungen braucht man meist auch
> nicht wirklich vor alledem nicht als Anfänger

Err, Nein. Falsch. Ganz falsch. Gerade als Anfänger will man einen guten 
Compiler, der alle Optimierungen macht. Weil man sonst nie zu Potte 
kommt. Diese kostenlosen "Compiler" von Microchip sind nichts anderes 
als der "erste Schuß kostenlos" vom Dealer. Damit wollen sie Kunden 
anfixen und sonst nichts.

von Lothar (Gast)


Lesenswert?

Axel S. schrieb:
> Der AVRISP ist ein Tool vom selben Hersteller wie die µC
> Allerdings läßt sich Atmel das auch ganz gut bezahlen.

Der ICE-BASIC ist inzwischen billiger als der AVRISPmkII

http://de.farnell.com/atmel/atatmel-ice-pcba/debugger-atmel-arm-avr-pcba-kit/dp/2407171

Dieses Tool ist auch als günstigerer und zuverlässiger Programmer für 
AVR verwendbar (aber auch für ARM / CPLD / FPGA):

http://www.exp-tech.de/bus-pirate-sparkfun-version

Aber der Hinweis soll hier nicht fehlen: AVR ist einfach teuer. Einen 
8051 oder ARM kann man einfach mit einem USB-seriell Kabel für 5 EUR 
flashen und Debugger gibt es ab 15 EUR

von W.A. (Gast)


Lesenswert?

Axel S. schrieb:
> Man kann die Firmware des usbasp zwar updaten, braucht dazu
> aber einen zweiten Programmer (das darf aber dann auch ein alter usbasp
> sein).

... oder ein passend programmierte Arduino (Arduino IDE - Beispiel 
11.ArduinoISP).

von Olaf (Gast)


Lesenswert?

> Aber der Hinweis soll hier nicht fehlen: AVR ist einfach teuer. Einen
> 8051 oder ARM kann man einfach mit einem USB-seriell Kabel für 5 EUR
> flashen und Debugger gibt es ab 15 EUR

Das kann nicht von Bedeutung sein. Schliesslich konnte man bei Renesas 
schon vor >15Jahren ueber RS232 flashen und seit mindestens 10Jahren 
auch auch kostenlos auf Sourcelevel debuggen. Hat noch nie einen in 
Deutschland interessiert. Der deutsche Bauer kennt nur seine eigene 
Zuckerruebe. .-)

Ich nutze im uebrigen zum basteln gerne einen steinalten (sind von 2000) 
SH7045. Perfekte gcc Unterstuetzung, natuerlich flashen ueber RS232 
(auch unter Linux), Cache, hatten damals schon Peripherie bis zum 
abwinken eingebaut und war angeblich mal der schnellste Microntroller 
der Welt.
Wollte ich nur mal so erwaehen damit ihr seht was ihr verpasst habt. :-)

Die Erwaehnung von Industrie und Arduino/AVR in einem Satz ist schon 
erheiternd. Es mag einen gefallen oder nicht, aber Industrie heisst 
derzeit ausschliesslich ARM. Ich hab schon FAEs gesehen die sich dafuer 
entschuldigt haben das ihre Firma noch kein ARM hat. Oder schaut euch 
mal die MSP432 von TI an. Vor einem halben Jahr konnte man bei google 
noch eine Diplomarbeit oder Diss finden/einsehen wo jemand an dem MSP432 
als Nachfolger der MSP430 entwickelt hat. Das scheinen sie komplett 
eingestampft zu haben und dafuer einen ARM in MSP432 umbenannt zu haben.

Wenn ich heute in meiner Firma noch was anderes wie ARM verwenden will 
dann ist das zwar moeglich, aber das muss ich gut begruenden.

Andererseits denke ich das man sich als Anfaenger da nicht verrueckt 
machen sollte. Wenn man einen Microcontroller kann, dann kann man alle. 
Ich steig in ein paar Tagen auf jeden beliebigen Controller um. Wichtig 
ist viel eher das man diese Copy&Paste Mentalitaet ablegt, Datenblaetter 
liesst und selber mal seinen Arsch hoch bekommt.

Ich persoenlich finde die Dominanz von ARM im uebrigen erstaunlich. Ich 
frag mich immer ob dies ein Zeichen von sich verbreitender Doofheit ist. 
Man kann zwischen verschiedenen Cores praktisch so schnell wechseln wie 
man einen Compiler installieren kann. Kleine Unterschiede mag es geben 
sind aber irrelevant/beherschbar. Zwischen verschiedenen ARMs zu 
wechseln ist dagegen wegen der unterschiedlichen Peripherie mit 
ERHEBLICHEM Aufwand verbunden.

Olaf

von Muco (Gast)


Lesenswert?

Danke vielmals für die ganzen Antworten.
Was gibt es zu Infineon zu sagen? Es ist ja schlussendlich ein deutsches 
Produkt :)
Also ich glaube bis jetzt klingt AVR für mich am besten. Ich möchte halt 
mit etwas beginnen, das auch in der Industrie gut einsetzbar ist.

von Olaf (Gast)


Lesenswert?

> Was gibt es zu Infineon zu sagen? Es ist ja schlussendlich ein deutsches
> Produkt :)

Nach meiner Einschaetzung ist das eine dicke Firma die in irgendwelchen 
Nischen aktiv ist.

> Also ich glaube bis jetzt klingt AVR für mich am besten. Ich möchte halt
> mit etwas beginnen, das auch in der Industrie gut einsetzbar ist.

Wie ich schon sagte, es ist egal womit du anfaengst und deshalb kann es 
natuerlich auch AVR sein. Aber Industrie bedeutet derzeit ARM! Es ist 
vermutlich klueger wenn du dir als Anfaenger ein STM32 Entwicklungskit 
besorgst. Damit wirft ST doch nur so um sich. Du hast dann fuer 
10-20Euro eine Hardware mit der du sofort loslegen kannst, du bekommst 
bereits einen Debugger mitgeliefert und weil du doch so 
Industrieglaeubig bist, dein Gehirn bekommt sogar schon eine IAR 
Vorpraegung. :-)
Such zum beispiel mal nach STM32F0-Discovery. Die haben in Japan Y800 
gekostet. Also 6-7Euro und da ist sogar bereits eine Lochrasterplatine 
und Steckerleisten dabei.

Olaf

von Sven S. (sven_s370)


Lesenswert?

Also ich Nutze immer noch meinen Selbstbau usbasp, und das seit über 5 
Jahren.

Habe mir auch mal den AVR ISK MK2 besorgt, den habe ich gleich wieder 
zur seite gelegt.

Der USBASP ist der einzige der unter MacOS X ohne anstand läuft, braucht 
aber die libusb bzw. Crosspack. Alles andere habe ich nicht zum laufen 
bekommen. Das schlimme ist, das ich mit einen Arduino Mega 2560 zugelegt 
habe, der hat ein CDC device drauf, sollte eigentlich unter MacOS X ohne 
Treiber gehen, geht aber nicht. Und die Arduino Oberfläche ist auch 
nicht zu gebrauchen.

Ich nutze weiterhin den avr gcc und usbasp als RS232 Schnittstelle nehme 
ich nur die FTDI Interface Schnittstelle und den richtigen Treiber dazu.
Somit habe ich alles abgedeckt was ich dazu brauche.

von ARM-Entwickler (Gast)


Lesenswert?

Olaf schrieb:
> Ich persoenlich finde die Dominanz von ARM im uebrigen erstaunlich. Ich
> frag mich immer ob dies ein Zeichen von sich verbreitender Doofheit ist.
> Man kann zwischen verschiedenen Cores praktisch so schnell wechseln wie
> man einen Compiler installieren kann. Kleine Unterschiede mag es geben
> sind aber irrelevant/beherschbar. Zwischen verschiedenen ARMs zu
> wechseln ist dagegen wegen der unterschiedlichen Peripherie mit
> ERHEBLICHEM Aufwand verbunden.

Du sprichst in Rätseln. Welche "Cores" meinst du? Da du von 
verschiedenen Compilern sprichst, denke ich, du meinst nicht die Cores 
einer Serie, sondern wirklich ganz verschiedene, also z.B. TriCore, RX, 
SH, Mips. Und du denkst, du kannst zwischen denen schneller wechseln als 
zwischen den Cortexen verschiedener Hersteller? Träumst du?

von Wolfgang (Gast)


Lesenswert?

Olaf schrieb:
> Die Erwaehnung von Industrie und Arduino/AVR in einem Satz ist schon
> erheiternd. Es mag einen gefallen oder nicht, aber Industrie heisst
> derzeit ausschliesslich ARM.

Ack

Ich findes es auch erheiternd, dass für alles gleich ein ARM herhalten 
muss.

von ARM-Entwickler (Gast)


Lesenswert?

Muco schrieb:
> Ich moechte mich mit Avr naeher beschaeftigen, weiß jedoch nicht, ob ich
> unbedingt den teuren Bootloader kaufen muss. Ich bin auf den usbasp
> gestoßen und wollte fragen, ob man damit dasselbe machen kann wie mit
> dem AVRISPmkII...

Verwenden den USBASP und gut ist. Für dich als Lernenden ist es doch 
völlig unerheblich, wie in der Industrie Boards geflashed werden. Der 
AVR eignet sich gut zum lernen, da er bei weitem nicht so komplex wie 
die ARM-Cortexe ist und man im Internet viele Tipps bekommt. Wenn du 
dann mal fit bist in Bezug auf bare-metal Programmierung (Interrups, 
Timern, Ports, DMA, EEProms, Display ansteuern, embedded C allgemein -> 
Gebrauch von volatile) und dich dann den "höheren Layern" gewidmet hast 
(z.B. Zugriff auf SD-Karten) dann bist du i.A. mit der Terminologie der 
embedded Programmierung vertraut und dich schrecken auch andere 
Architekturen nicht mehr. Auch ist es gut, schon mal einen 8-bitter mit 
seinen beschränkten Resourcen programmiert zu haben. Andererseits können 
sich hier aber auch manche Fehler einschleichen, wenn man später auf 
32-Bitter umsteigt.
Mancher Code, der für 8-bitter gut ist, ist für 32-Bitter schlecht.

von Cetur (Gast)


Lesenswert?

Der AVRISP MKII ist auf jeden Fall eine gute Wahl, wenn man einen 
soliden, einfachen Programmieradapter benötigt.

Preis-Leistungs-Verhältnis und Zuverlässigkeit sind top!

von ARM-Entwickler (Gast)


Lesenswert?

ARM-Entwickler schrieb im Beitrag #4429025:
> Und du denkst, du kannst zwischen denen schneller wechseln als
> zwischen den Cortexen verschiedener Hersteller? Träumst du?

Diese Aussage heißt übrigens nicht, dass das Wechseln von Cortexen 
verschiedener Hersteller sehr einfach ist. Wer z.B. die StdPeriphieLib 
vom STM verwendet, tut sich schon schwer, dann auf LPC zu gehen. Nur ist 
es m.E. auch nicht schwerer, als auf MIPS von Microchip zu gehen.
Bei den Cortexen kann ich z.B. meine Entwicklungsumgeben gleich lassen,
ich verwende arm-none-eabi-gcc  mit Makefiles. Damit kann ich sehr schön 
Code für LPC und STM32 generieren.

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.