Forum: Mikrocontroller und Digitale Elektronik Verwirrung wegen JTAG


von marco (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebes Forum,

ich bin noch Anfänger was µC angeht und bin gerade etwas verwirrt, was 
das Programmieren über eine Jtag-Schnittstelle angeht. Hintergrund ist 
folgender: An unsere FH haben wir in einem Praktikum eine Starter-Kit 
Platine von Silabs bekommen, die aus der Hauptplatine mit mcu und einem 
sog. Base-Adapter zum Übertragen des Programms auf den µC besteht. Es 
ist ein C8051F020 verbaut mit on-chip-debugging. Man kann demnach 
Breakpoints setzten oder in den single-Step Modus gehen. Als ich auf der 
Website des Herstellers gesehen habe dass das MCU Starter-Kit nur 40$ 
kostet, war ich irgendwie überrascht. 40 Dollar mit JTAG???
Die JTAG-Adapter für die AVR's sind doch unfassbar teuer! Wie passt das 
zusammen? Gibt es etwa für die JTAg-Adapter von Atmel noch weitere 
spezielle Funktionen, die die Teile so teuer machen?
Oder hab ich da was ganz falsch verstanden. Mit einem einfachen 
ISP-adapter kann man doch keine Breakpoints setzen, oder?

Es geht um das Toolstick University Starter Kit:

http://www.silabs.com/products/mcu/Pages/MCUniversity.aspx
(muss runtergescrollt werden)

Gruß Marco

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

marco schrieb:
> Die JTAG-Adapter für die AVR's sind doch unfassbar teuer!

Das ist ein weiterer Vorteil von ARM, die Debugschnittstelle ist 
offengelegt. Und die nicht-offengelegte Debugschnittstelle und diese 
Vielzahl von (teueren) Atmel Adapter, die genau den Baustein nicht 
programmieren können, den Du gerade brauchst, ein entscheidendes 
Argument gegen Atmel.

Cortex mit Debugschnittstelle geht noch viel billiger, z.B 8.87 Eure für 
das F3Discovery Kit bei Mouser. Wenn man zusätzlich noch die Uart 
Verbindung zwischen Debug CPU und F3 nutzen will, zeigt
http://embdev.net/articles/ARM#JTAG_Debugging eine Umbauanleitung um die 
Black magic probe Firmware auszuspielen

von Frank K. (fchk)


Lesenswert?

marco schrieb:

> Die JTAG-Adapter für die AVR's sind doch unfassbar teuer! Wie passt das
> zusammen? Gibt es etwa für die JTAg-Adapter von Atmel noch weitere
> spezielle Funktionen, die die Teile so teuer machen?

Der JTAGice mkii ist deswegen so teuer, weil Atmel für das AVR Studio 4 
einiges an Funktionalität von der PC-Software in die JTAG-Hardware 
verlegt hat, wahrscheinlich um das ganze schneller zu machen. Wenn Du so 
ein Teil aufschraubst, wird Dir auch ganz schnell klar, wo der Preis 
herkommt: zwei Mega128, ein separater USB-Chip, extra RAM etc etc.

Außerdem JTAG ist nur die Schnittstelle - ähnlich wie bei einem Drucker. 
Die haben alle Parallelport oder USB, aber sie brauchen unterschiedliche 
Druckertreiber. Beim einen muss der PC mehr arbeiten, beim anderen macht 
der Drucker selber die meiste Arbeit.

fchk

von marco (Gast)


Lesenswert?

Frank K. schrieb:
> marco schrieb:> Die JTAG-Adapter für die AVR's sind doch unfassbar teuer! Wie 
passt das> zusammen? Gibt es etwa für die JTAg-Adapter von Atmel noch weitere> 
spezielle Funktionen, die die Teile so teuer machen?Der JTAGice mkii ist deswegen 
so teuer, weil Atmel für das AVR Studio 4 einiges an Funktionalität von der 
PC-Software in die JTAG-Hardware verlegt hat, wahrscheinlich um das ganze 
schneller zu machen. Wenn Du so ein Teil aufschraubst, wird Dir auch ganz schnell 
klar, wo der Preis herkommt: zwei Mega128, ein separater USB-Chip, extra RAM etc 
etc.Außerdem JTAG ist nur die Schnittstelle - ähnlich wie bei einem Drucker. Die 
haben alle Parallelport oder USB, aber sie brauchen unterschiedliche 
Druckertreiber. Beim einen muss der PC mehr arbeiten, beim anderen macht der 
Drucker selber die meiste Arbeit.fchk

Frank K. schrieb:
> weil Atmel für das AVR Studio 4
>
> einiges an Funktionalität von der PC-Software in die JTAG-Hardware
>
> verlegt hat,

Das ist wohl auch der Grund weshalb µVision von Keil nicht kostenlos ist 
und Atmel Studio schon.

Danke für die Infos. Da überlegt man sich gleich zweimal ob man 
überhaupt mit Avr's anfangen möchte.
Außerdem gibts bei ARM noch das komfortable Configuration Wizard zum 
einstellen der SFR's. Gibt bei den Atmel glaub ich auch nicht.

von Frank K. (fchk)


Lesenswert?

> Das ist wohl auch der Grund weshalb µVision von Keil nicht kostenlos ist
> und Atmel Studio schon.

Keil war eine separate Firma, die mit diesen Tools ihr Geld verdient 
hat, und als ARM die übernommen hat, haben sie das einfach so laufen 
lassen, weil es profitabel war.

Das AVR/Atmel Studio wird durch die Chip-Preise querfinanziert und ist 
daher kostenlos.

> Außerdem gibts bei ARM noch das komfortable Configuration Wizard zum
> einstellen der SFR's. Gibt bei den Atmel glaub ich auch nicht.

"bei ARM" ist falsch. Die SFR sind zum größten Teil nicht Bestandteil 
des ARM-Kerns, sondern kommen von den Chipherstellern. Das ist also 
überall anders, quasi das wahre Chaos. Es ist wesentlich einfacher, ein 
System von AVR32 nach Atmel SAM irgendwas (ARM) zu portieren als von 
STM32 nach Atmel SAM. Im ersten Fall ist die Peripherie gleich oder 
zumindest sehr ähnlich, und die unterschiedlichen CPU-Kerne werden durch 
den C-Compiler nivelliert. Im anderen Fall ist zwar der CPU-Kern gleich, 
aber Du darfst die Peripherieansteuerung komplett neu schreiben, was 
deutlich mehr Arbeit ist.

"bei den Atmel" ist auch falsch. Du meinst "bei den AVR". Atmel baut 
auch ARM-basierte Chips.

Sei präzise in Deiner Ausdrucksweise. Wer sich ungenau oder falsch 
ausdrückt, denkt auch falsch.

fchk

von marco (Gast)


Lesenswert?

Frank K. schrieb:
> Wer sich ungenau oder falsch
>
> ausdrückt, denkt auch falsch.

Kann gut sein, hab schließlich geschrieben, dass ich noch Anfänger bin. 
Daher Danke für die Info.

Könnt ihr mir vielleicht noch andere µC-Hersteller neben den 
ARM-basierten Chips nennen, bei denen die Debug-Schnittstelle 
offengelegt ist, damit man sie "billig" über JTAG programmieren kann und 
desweiteren 8-Bit breit sind.
Die ARM-basierten sind doch alle 32-Bit breit, was ich als Anfänger 
etwas abschreckend finde.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

marco schrieb:
> Könnt ihr mir vielleicht noch andere µC-Hersteller neben den
> ARM-basierten Chips nennen, bei denen die Debug-Schnittstelle
> offengelegt ist, damit man sie "billig" über JTAG programmieren kann und
> desweiteren 8-Bit breit sind.

Zwar nicht offengelegt, und auch nicht 8, sondern 16 Bit:
MSP430.

Dafür gibt es zwei unterschiedliche Programmier- und 
Debugschnittstellen, 4-Draht-JTAG, das notfalls mit einem 
Parallelport-Frickeladapter ("Wiggler") bedient werden kann und SBW, was 
so eine Art "2-Draht-JTAG" ist. Das unterstützen nur neuere 
MSP430-Varianten, aber aus Kostengründen will man sich mit den älteren 
auch nicht beschäftigen.
Einen USB-SBW-Adapter verkauft TI in Form des Launchpads für 4.30 USD 
inklusive Versand.

Mit dem 'G2553 gibt es sogar einen für manche Anwendungen durchaus gut 
ausgestatteten Controller im Bastler- und Frickelboardfreundlichen 
20poligen DIL-Gehäuse.
(512 Byte RAM, 16 kByte ROM, flexible Takterzeugung mit bis zu 16 MHz 
Takt, die üblichen Schnittstellen, 10-Bit-ADC ...)
http://www.ti.com/product/msp430g2553

Ansonsten muss man sich allerdings an SMD-Gehäuse gewöhnen, und 
prinzipiell auf 5V-Technik verzichten.

von Lothar (Gast)


Lesenswert?

marco schrieb:
> Die ARM-basierten sind doch alle 32-Bit breit, was ich als Anfänger
> etwas abschreckend finde.

Was ist denn Deiner Meinung nach der "massive" Unterschied zu 8-Bit? ARM 
ist sogar in Assembler wesentlich einfacher als 8051 oder AVR.

von Matthias (Gast)


Lesenswert?

marco schrieb:
> Die ARM-basierten sind doch alle 32-Bit breit, was ich als Anfänger
> etwas abschreckend finde.

Eigentlich ist Gegenteiliges der Fall. Du hast zwar Recht dass die 
meisten ARM-MCUs sehr komplexe Peripherie haben. Das liegt aber eher 
daran dass die Architektur solche umfangreichen SFR-Addressräume erst 
möglich gemacht hat und die Chiphersteller das dankend annehmen.
Das allgemeine Programmiermodell eines ARMs mit seinen 4GB linearem 
Adressraum ist dafür Welten einfacher als auf jedem 8 bzw. 16-bitter den 
ich kenne. Speicherzugriff, egal auf was, ist immer gleich. Kein Paging, 
kein Banking, keine gesonderten Speicherbereiche und Zugriffsvarianten.

von 123 (Gast)


Lesenswert?

Lothar schrieb:
> marco schrieb:

> Was ist denn Deiner Meinung nach der "massive" Unterschied zu 8-Bit? ARM

Ist doch einfach: 32 bit ist 4-mal so schwer zu handhaben...

von marco (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Einen USB-SBW-Adapter verkauft TI in Form des Launchpads für 4.30 USD
>
> inklusive Versand.

Und wieso ist der JTAG-Adapter beim MSP430 dann wieder so billig, wenn 
die Debug-Schnittstelle nicht offengelegt ist. Finde das irgedwie immer 
noch alles ziemlich verwirrend.

Welche IDE kann man für die MSP430 verwenden? Kann ich hier Keil µVision 
verwenden?

von 123 (Gast)


Lesenswert?

>Finde das irgedwie immer noch alles ziemlich verwirrend.

Noch nie erlebt, dass "mehr" weniger kostet?

von marco (Gast)


Lesenswert?

Doch. Aber das beantwortet jetzt nicht meine Frage.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

marco schrieb:
> Und wieso ist der JTAG-Adapter beim MSP430 dann wieder so billig, wenn
> die Debug-Schnittstelle nicht offengelegt ist.

Marketing. Der Adapter wird schließlich von TI höchstselbst gefertigt; 
und wenn man sich die darauf befindlichen Bauteile ansieht (u.a. ein 
'F1611), dann sind die alleine schon teurer als das gesamte Launchpad.

marco schrieb:
> Kann ich hier Keil µVision verwenden?

Auch wenn Du zuviel Geld hast: Nein.

Es gibt einerseits eine gcc-Portierung, und andererseits mit Rowley 
Crossworks, IAR Embedded Workbench und TI CodeComposerStudio auch 
mehrere unterschiedlich teure kommerzielle Produkte.

Sowohl den CodeComposer als auch die Embedded Workbench kann man in 
codegrößenbeschränkter Variante kostenlos von TI beziehen.

von Frank K. (fchk)


Lesenswert?

marco schrieb:
> Frank K. schrieb:
>> Wer sich ungenau oder falsch
>>
>> ausdrückt, denkt auch falsch.
>
> Kann gut sein, hab schließlich geschrieben, dass ich noch Anfänger bin.
> Daher Danke für die Info.
>
> Könnt ihr mir vielleicht noch andere µC-Hersteller neben den
> ARM-basierten Chips nennen, bei denen die Debug-Schnittstelle
> offengelegt ist, damit man sie "billig" über JTAG programmieren kann und
> desweiteren 8-Bit breit sind.

Du kannst jeden PIC nehmen, egal ob 8 (PIC18), 16 (PIC24/dsPIC) oder 32 
(PIC32) Bit. Microchip verwendet zwar kein JTAG, sondern ihr eigenes 
ICSP, aber das zugehörige PicKIT3 kostet im Original 50€, als Nachbau 
20-30€. Plus: Du verlierst nur zwei Portpins - bei JTAG sind es 4-5. Und 
im Gegensatz zu AVR kannst Du jeden PIC über ICSP nicht nur 
programmieren, sondern auch debuggen.

Es gibt auch diverse Programmer zum Selberbauen. Das hat bei den kleinen 
PICs Tradition, da die ersten anno 198x noch kein Flash, sondern 
EPROM-Zellen hatten. Mit diesen "Brennern" kannst Du natürlich nicht 
debuggen. Heutzutage empfehle ich das daher nicht mehr.

fchk

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.