t-hack.com

German - X300T / X301T => Software => Topic started by: asgard on 09. Jan 2008, 17:15

Title: Microkontroller - JTAG
Post by: asgard on 09. Jan 2008, 17:15
Hallo Zusammen,

vielleicht haben wir den ein oder anderen hier, der sich gut mit Mikrokontrollern auskennt und Lust hat ein wenig mitzuhelfen ;)

Es wäre schon, wenn sich jemand melden würde, der den Bootloader-Patcher in eine Mikrokontroller-Variante umsetzt.

Sourcecode vom patcher ist hier verfügbar:
http://www.t-hack.com/wiki/index.php/Disable_X300T_Signature_Check

Es soll eine lösung entstehen, mit der es möglich ist, einen Mikrokontroller direkt auf den Jtag-Anschluss der X30XT zu löten. Dieser soll dann den Bootloader patchen, damit man die Box nicht immer am rechner haben muss...(über jtag verbunden)

Ich persönlich hab leider viel zu wenig erfahrung...dachte es sei leichter...

Grüße
Asgard
Title: Re: Microkontroller - JTAG
Post by: The Invisible on 10. Jan 2008, 12:47
ich hab hierzu mal topsoft angeschrieben ob der sowas anbieten könnte er ist derjenige der sowas für den 1000er humax gemacht hat damit man nicht immer über pc booten muss. vielleicht meldet er sich ja.
Title: Re: Microkontroller - JTAG
Post by: T-Paul on 15. Jan 2008, 21:28
Habe mich eben mit einem guten Bekannten (ein ziemlicher Elektronik Freak) über ne Microcontroller Lösung unterhalten. Da er selber hier nicht aktiv ist, hat er mich gebeten dies hier für Ihn zu posten:

Quote

Die Software ist sicher mit einem Microcontroller machbar wenns über den parallelport geht. Es dürfte sogar ein einfacher 8051 Prozessor (der hat einen 8 Bit Datenbus) ausreichen, die Pins des Datenbusses kannste wie den Parallelport softwaretechnisch für viele Zwecke misbrauchen, also müsste die Software in 8051 ASM übersetzt werden, bzw. viel einfacher mit einem C Compiler für 8051 Prozessoren umgesetzt werden. (geht natürlich NICHT 1:1). Achso nochwas: je nach dem was genau zu machen ist (an signalen) ist evtl. sogar ein einfacherer chip möglich, das könnte man sagen nachdem man das C Proggie mal durchpflügt hat.


Hab das nun mal 1:1 aus ICQ rüber kopiert.
Title: Re: Microkontroller - JTAG
Post by: mce2222 on 15. Jan 2008, 21:55
mit einem 8051 wirds bestimmt gehen, aber ich denke das dürfte etwas overpowered sein ;)

ein PIC12F629 die optimale Lösung sein. Der hat 8pins, kommt mit 2-5.5V klar, eingebauten Oszillator, 1KB Flash und kostet fast nichts ;)
keinerlei externe Beschaltung notwendig... also 7 kabel ran und fertig... vielleicht noch ein achtes wenn wir irgendwo eine Reset Leitung auftreiben.
Title: Re: Microkontroller - JTAG
Post by: plenkk on 30. Jan 2008, 21:04
Ich könnte das eigentlich spaßeshalber mal in AVRASM (bin kein PIC-Mensch :)) bauen. Fertige JTAG-Lösungen dafür dürfte es ja auf jeden Fall geben. Muss mal schauen, ob ich noch einen kleinen AVR rumliegen habe.

Ist der X30xT komplett 3.3V?
Title: Re: Microkontroller - JTAG
Post by: Paul on 30. Jan 2008, 21:24
+ - 0,2v was ich so gemessen hab
Title: Re: Microkontroller - JTAG
Post by: asgard on 31. Jan 2008, 08:11

Ich könnte das eigentlich spaßeshalber mal in AVRASM (bin kein PIC-Mensch :)) bauen. Fertige JTAG-Lösungen dafür dürfte es ja auf jeden Fall geben. Muss mal schauen, ob ich noch einen kleinen AVR rumliegen habe.


da bin ich ja gespannt :)! Freu mich schon auf deine Lösung!
Title: Re: Microkontroller - JTAG
Post by: plenkk on 31. Jan 2008, 09:04
Erstmal muss ich JTAG an meinem X301 aktivieren... mal sehen, ob ich das hinbekomme mit der Lötstelle. Habe ihn ja erst seit zwei Tagen :D

Wenn mir jemand einen X300 zuschickt, gehts schneller ;D
Title: Re: Microkontroller - JTAG
Post by: Paul on 31. Jan 2008, 13:02
zuschiken nicht aber da können wir ggf schon was deichseln das bei mir auf dem testen kannst.

hardware sollte alles vorhanden sein (fun pic atmels progger usw.) jtag ist gemoddet und läuft.

Title: Re: Microkontroller - JTAG
Post by: asgard on 02. Feb 2008, 15:51
Hey plenkk,


Erstmal muss ich JTAG an meinem X301 aktivieren... mal sehen, ob ich das hinbekomme mit der Lötstelle. Habe ihn ja erst seit zwei Tagen :D



wie sieht's aus? Jtag schon am laufen? Ich warte schon ganz sehnsüchtig auf dein ergebnis  ::)

Im Notfall leihe ich dir meine X300T...  :P
Title: Re: Microkontroller - JTAG
Post by: plenkk on 03. Feb 2008, 19:06
Ja, beim zweiten Versuch läuft nun JTAG, seit gerade eben. Zumindest läuft gerade das Dump-Tool und hat keine Fehlermeldung geworfen.

Könnte gut sein, dass ich in ein paar Tagen soweit bin mit dem "Modchip" :)
Title: Re: Microkontroller - JTAG
Post by: asgard on 03. Feb 2008, 19:10

Könnte gut sein, dass ich in ein paar Tagen soweit bin mit dem "Modchip" :)



gogogogo!  ;D
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 26. Feb 2008, 14:06
Hallo, ich bin ganz neu hier und über den Umbau meiner S100 auf das Forum hier gestoßen. Ich mich den Vormittag mal eingelesen. Ist ja alles sehr interessant was ihr schon geschafft habe. Vor allem in der recht kurzen Zeit.

Ich könnte vielleicht behilflich sein bei der Programmierung des Modechip. Ich habe schon ein paar Sachen mit AVRs gemacht und hätte auch Lust meinen Beitrag zu leisten. Ich habe zwar noch keine Box aber macht ja nix.

@plenkk: Ich würde mich freuen wenn ich dir behilflich sein darf.
Wie weit bist du denn schon?  Vielleicht können wir uns ein bisschen austauschen.
Arbeitet sonst noch wer daran?

Ich habe mir mal den Code angeschaut, weiß aber nicht ob ich das richtig verstanden habe.

Eigentlich muss doch nur die bootloderversion ermittelt werden und dann die Endsprechenden Daten an die richtige Adressen geschrieben werden, oder?
Also vereinfacht dargestellt müsste es diese Funktion sein um die Version zu bekommen
Code: [Select]


void apply_patch(char *filename, unsigned int start, unsigned int length)
{

if (!patchOk)
{
patchOk = patch1053();
}

if (!patchOk)
{
patchOk = patch1051();
}

if (!patchOk)
{
patchOk = patch1039();
}

if (patchOk)
{
printf("Patch applied !\n");
    printf("...   now press OK Button on the X300T.\n");

}
else
{
printf("unknown Bootloader version. please dump it !\n");
}
}



und diese um die Daten zu lesen und zu schreiben.  Dazu muss natürlich eine JTAG Kommunikation mit dem Prozessor aufgebaut werden und vielleicht noch einen seriellen Output um zu sehen was passier.

Code: [Select]


boolean patch1053()
{
unsigned int addr1, addr2, data1, data2, data3, data4;
addr1 = 0x93640150;
data1 = ejtag_read(addr1);
data2 = ejtag_read(addr1+4);
// printf("0x93640150: %x%x\n", data1, data2);
if (data1 != 0x0cd8dce4 || data2 != 0x24040001)     // Auswerten der Daten
{
return false;
}

addr2 = 0x93640250;
data3 = ejtag_read(addr2);
data4 = ejtag_read(addr2+4);
// printf("0x93640250: %x%x\n", data3, data4);
if (data3 != 0x0cd8dce4 || data4 != 0x24040001)
{
return false;
}

printf("Bootloader Version 1053 found\n");
ejtag_write(addr1, 0x10000019);   //  jal 0x93637390   -->  b 0x936401B8
ejtag_write(addr1+4, 0x00);
ejtag_write(addr2, 0x1000ffd9);   //  jal 0x93637390   -->  b 0x936401B8
ejtag_write(addr2+4, 0x00);
// hash always correct
ejtag_write(0x93641E90, 0x00000000);   //  b loc_93641EA8  -->  NOP    //Wenn alle daten zu der Version passen schreibe an die Adresse

// signature skip flag
addr1 = 0x937E1728;
ejtag_write(addr1, 0x01000000);                             //Signatur skip flag immer gleich!!!!
return true;
}

boolean patch1051()
{usw.



Habe ich in dem Code was übersehen? Sind noch mehr Sachen nötig um den bootloader zu patchen, oder sind das nur die zwei Adressen die da geändert werden?

1. Also JTAG Verbindung zu dem Prozessor aufbauen
2. Adressen 1, 2, 3, 4, lesen und vergleichen zu welcher Version das passt
3. Passende Daten schreiben
Fertig!

Würde mich freuen wenn das was werden würde.
Die Box scheint ja wirklich ein sehr interessantes Gerät zu sein. 

Mfg
Jabberwock 
Title: Re: Microkontroller - JTAG
Post by: andi on 26. Feb 2008, 19:42
hey,

also grob zusammengefasst sind die 3 punkte völlig ausreichend!
mich würde auch mal interessieren, wie weit denn plenkk nun gekommen ist?

hier wurde ja die version mit pic favorisiert. da ich persönlich eher aus die avr's bevorzuge, könnte ich mir auch ne realisierung mit attiny11/12 vorstellen ..


grüße
andi
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 27. Feb 2008, 14:35
Hi,

ich habe den Code mal im AVRStudio eingefügt und ein bisschen angepasst aber ganz lässt es sich nicht kompelliert 
Ich habe immer noch 3 Fehler die ich nicht wegbekomme. Ganz zu schweigen von den vielen Warnungen. Da sind auch ein Haufen Variablen die gar nicht genutzt werden. Ich glaube den Code so direkt aus dem Windows Programm zu übernehmen wird nicht so einfach. Zwar sind die Funktionen zum lesen und scheiben schon ok so nur wird die Verbindung ja über den Parallelport hergestellt und den gibt es ja hier nicht. Ich habe leider keine Ahnung wie ich so eine Verbindung zu dem Prozessor herstellen könnte.

Ich habe aber eine Idee, es gibt diesen nachbau JTAGICEhttp://www.uc-projects.com/JTAG_Software.htm (http://www.uc-projects.com/JTAG_Software.htm) und es gibt ein Kommunikationsprotokoll   http://www.atmel.com/dyn/resources/prod_documents/doc2524.pdf (http://www.atmel.com/dyn/resources/prod_documents/doc2524.pdf). Der Programmer wird seriell angesprochen. Wenn man jetzt an den Code des Programmes kommt könnte man ihn dazu bringen die entsprechenden Aktionen durchzuführen in dem er die Befehle per URAT an sich selber sendet. Also einfach den RX Pin mit dem TX Pin verbinden. Das müsste eigentlich gehen. Nur weiß ich nicht ob man an den Code des Programmers kommt. Oder man nimmt einen zweiten Chip der die Befehle dann an den Programmer sendet. Dann müsste der Code nicht geändert werden.

Ich glaube ich werde mir erstmal eine Box besorgen müssen bevor es weiter gehen kann…
Title: Re: Microkontroller - JTAG
Post by: mce2222 on 27. Feb 2008, 17:54
ich glaub dein Ansatz ist nicht so optimal.
als erstes solltest Du dich auf den IO Code konzentrieren.... der Rest kann erstens sowieso nicht vom bestehenden Code portiert werden sondern muss speziell für den
Anwendungfall entworfen werden.
Denn der Microcontroller muss alleine wissen wann er die Speicherstellen patchen muss...

also muss da mindestens sowas wie n Timer und im Optimalfall auch noch ein interrupt handler für n Reset trigger implementiert werden.  All das gibt es bei der Windowsversion natürlich nicht.

Abgesehen davon ist in der Windowsversion haufenweise Restmüll von dem original OpenWRT Tool. Also mindestens 50% kann man komplett wegschmeissen.
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 28. Feb 2008, 06:59
ja das ist mir schon klar, ist auch soweit schon fertig.
Ich habe alle "printf" Ausgaben auf die serielle Schnittstelle gelegt um am Terminal zu sehen wie weit er kommt. Zurzeit würde der Patchvorgang durch eine Tastatureingabe gestartet werden. Da ich noch keine Box habe konnte ich den original patch noch nicht durchführen und weiß nicht genau wann der gestartet werden soll/muss und woran man erkennt das der richtige Zeitpunkt da ist.

Mein Problem ist das ich nicht weiß wie die Verbindung zum Prozessor funktioniert und irgendwie finde ich dazu auch nicht soviel im Netz.

Wenn jemand Interesse an dem Code hat einfach melden. Ich mache das ja auch nur nebenbei. Vielleicht bekommt ja jemand die letzen Fehler raus.   

mfg
Jabberwock
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 28. Feb 2008, 09:05
Hi,
ich habe mir das grade noch mal angeschaut, kann mir jemand den folgenden Code erläutern, beziehungsweise meine Überlegung dazu mal prüfen?

Die Funktion clockin wird von den einigen andern Funktionen aufgerufen unter andrem ReadWriteData, ReadData und WriteData was ja grade die interessanten Funktionen sind.

if(wiggler) data = (1 << WTDO) | (0 << WTCK) | (tms << WTMS) | (tdi << WTDI) | (1 << WTRST_N);
Das sind genau die Pins die im Wiki für das Wiggler Interface beschrieben sind.

Wenn ich jetzt einfach 5 Pins am AVR wie oben definiere dann wäre das doch der gleiche output wie am Parallelport, oder nicht?
Ist die clockin die Outputfuktion?  Könnte da so funktionieren?

Code: [Select]
static unsigned char clockin(int tms, int tdi)
{
   unsigned char data;

   tms = tms ? 1 : 0;
   tdi = tdi ? 1 : 0;
   
   if(wiggler) data = (1 << WTDO) | (0 << WTCK) | (tms << WTMS) | (tdi << WTDI) | (1 << WTRST_N);
   else        data = (1 << TDO) | (0 << TCK) | (tms << TMS) | (tdi << TDI);
   #ifdef WINDOWS_VERSION   // ---- Compiler Specific Code ---- 
      _outp(0x378, data); 
   #else 
      //ioctl(pfd, PPWDATA, &data);  Was ist das???
   #endif

   if(wiggler) data = (1 << WTDO) | (1 << WTCK) | (tms << WTMS) | (tdi << WTDI) | (1 << WTRST_N);
   else        data = (1 << TDO) | (1 << TCK) | (tms << TMS) | (tdi << TDI);
   #ifdef WINDOWS_VERSION   // ---- Compiler Specific Code ---- 
      _outp(0x378, data); 
   #else 
      //ioctl(pfd, PPWDATA, &data);  Was ist das???
   #endif

   #ifdef WINDOWS_VERSION   // ---- Compiler Specific Code ---- 
      data = (unsigned char)_inp(0x379); 
   #else 
    //  ioctl(pfd, PPRSTATUS, &data); 
   #endif

   data ^= 0x80;
   data >>= (wiggler ? WTDO : TDO);
   data &= 1;

   return data;
}



patch()                           ruft          ejtag_read(addr1)                  auf
ejtag_read(addr1)             ruft          ejtag_pracc_read(addr)           auf
ejtag_pracc_read(addr)      ruft          ExecuteDebugModule(pracc_readword_code_module)   auf    (pracc_readword_code_module) ist die Assembler Funktion um den Speicher zu lesen denke ich   

ExecuteDebugModule(pracc_readword_code_module)    ruft  ReadWriteData(PRACC | PROBEN | SETDEV)   und    ReadData()    mehrfach auf
ReadData() WriteData()  ReadWriteData()   rufen die oben beschreibende clockin() auf.

Also landet alles irgendwann da und wird über die Pins rausgeschickt.

Ich weiß nicht ob ich das alles richtig verstanden habe aber es scheint mir schon so zu sein.
Kann das jemand so bestätigen?
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 28. Feb 2008, 12:09
So... ich habe jetzt alle Fehler soweit raus und kann es Kompillieren  ;D  Es sind allerdings noch ein paar Warnungen da und beim Simulieren kommen  Stack Overflows. Aber ich habe es einfach mal auf den AVRButterfly geschoben und es läuft! Zumindes soweit wie ich es ohne Box testen kann.
Es kommen schön die Fehlermeldungen auf dem Terminal an.

Das ist die Ausgbe die ich bekommen:
Quote
Probing bus ... Done

                    CPU Chip ID: *** Unknown or NO CPU Chip ID Detected ***

                                        Issuing Processor / Peripheral Reset ... Done
                                        Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done
                            Clearing Watchdog ...


Bei Clearing Watchdog ... bleibt er hängen da kein Watchdog da ist ...


Title: Re: Microkontroller - JTAG
Post by: asgard on 28. Feb 2008, 12:19
HI,

was brauch ich, um es zu probieren? Kann ich einen ATMega32 verwenden?


Grüße
Asgard
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 28. Feb 2008, 12:42
Es ist jetzt für den Butterfly angepasst weil ich keinen anderen hier habe. Da benutze ich den externen Uhrenquarz um den internen Oszillator zu kalibrieren. Das wird natürlich auf dem Mega32 dann nicht gehen, kann sein das dann die rs232 nicht richtig geht. Außerdem werden einige Register nicht passen. Aber ich kann es dir schicken und du kannst es versuchen. 
Das gilt auch für alle anderen die sich dran versuchen möchten.
Aber die Verbindung zur Box noch nicht wirklich da, deshalb  laufen alle lese- und scheibversuche ins Leere.
Da ist noch ein bisschen was zu tun.

Aber ich bin schon mal froh dass ich es jetzt endlich mal Kompiliert bekommen habe.

Wie ist das eigentlich mit dem Patch, muss der an einer bestimmten Stelle ausgeführt werden? Oder ist das egal wann man den startet?

Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 03. Mar 2008, 09:28
Hi, ich habe dir das jetzt mal passend für den Mega32 gemacht.
Ich nutze AVRStudio mit GCC. In dem .Zip ist das komplette Projekt mit fertigem .hex drin.

Wenn du den hexfile auf dem Chip hast kannst du ihn per rs232 an den Rechner hängst und solltest dann im Terminal. (9600 8N1 Fluss= keine) bei Eingabe einer "1" den String "Verbindung OK" bekommen. Wenn das nicht geht. Haut die serielle Verbindung nicht hin. Dann würde ich einen externen Quarz empfehlen. Weil ohne hast du keine debugmöglichkeit. Später kann man das ja dann weg lassen. Wenn es geht kannst du mit "2" den Patchvorgang starten.

Es sind noch keine Pins für das Wigglerkabel festgelegt. Am besten erstmal testen ob es überhaupt läuft. Dann können wir weiter sehen.
In dem Code kannst du per "uart_puts("debug")"  ausgaben erzeugen.

Es ist noch nicht fertig!!!! Aber ohne Box kann ich erstmal nicht mehr viel machen.
Wenn Fragen sind, Mail oder (icq: 269780240)


EDIT: Müsste auch auf ATMega16 laufen

mfg
Jabberwock
Title: Re: Microkontroller - JTAG
Post by: asgard on 03. Mar 2008, 10:24
Hi,

super! Ich werde es heute abend gleich mal probieren....jetzt muss ich leider noch ein wenig lernen :(

Grüße
Asgard
Title: Re: Microkontroller - JTAG
Post by: Paul on 04. Mar 2008, 07:02
heut hätt ich etwas luft, eine box, die ltag enabelt ist, in meiner krimskramskiste findet sich sicherlich einer der genannten chips, löten kann ich glaub ich auch.  ;D

jetzt noch kurz ne zwischenfrage,
bezieht sich das mega32 bzw 16 auf die kapazität (speichergrösse) des chips?
und könnten ggf auch smartcards wie fun, pic oder atmega gehen?

ich würde dann nämlich nen kartenslot einbaun.
Title: Re: Microkontroller - JTAG
Post by: Paul on 04. Mar 2008, 07:07
also grad mal gegruschtelt

mega32 hab ich auch da  ;D

wie muss nun das file (modchip.hex ?? ) auf den chip? hab hier ein pollin evaluationsboard 2.0 pollin (http://www.pollin.de/shop/shop.php?cf=detail.php&pg=NQ==&a=MTY5OTgxOTk=)
da, zum programmieren und geh mal davon aus das des per ponyprog geschrieben wird. aber die konfigs dafür bräucht ich.

und welches beinchen muss wo hin am jtag. stimmt das so? atmega32pinout (http://www.howell1964.freeserve.co.uk/parts/ATMEGA32.htm)

***edit die 598zigste***
so ich editier mal meine ergebnisse hier rein und führ der doku wegen ne alleinunterhaltung.  ;D
so wie es auschaut hab ich das hex auf dem at mega32. nach eingänigen studien des layouts des evoboard und des pinouts des atmega mein ich kann ich das board direkt an den x300t anschliessen. nun eine frage vorab
müssen die widerstände (100ohm) zum jtag auch rein oder kann man da volldampf drauf?
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 04. Mar 2008, 09:23
Also das wird so nicht funktionieren... da muss noch einiges an Debugarbeit getan werden und sei mir nicht böse aber wenn du schon scheiterst beim aufspielen der .hex dann wird das wohl eher schwierig  werden.

Es kann damit noch nichts gepatcht werden!!! Es müsste jetzt erstmal geschaut werden ob die serielle Schnittstelle funktioniert, ich denke nicht dass es geht weil der interne Oszillator zu ungenau ist. Aber das kann man hinbekommen. Bei mir geht sie aber ich habe einen anderen uC, ohne die wird das weitere Debuggen sehr schwierig.
Wenn das geht dann kann man anfangen Bits an das JTAG zu senden und zu schauen was die Box davon hält. Dazu ist es aber nötig weiter zu programmieren. Eigentlich kann jetzt jeder daran weiter basteln.
Ich würde den AVR erstmal mit einer externen Spannung versorgen und dann per ISP http://s-huehn.de/elektronik/avr-prog/avr-prog.htm (http://s-huehn.de/elektronik/avr-prog/avr-prog.htm) und PonnyProg die .hex drauf schieben. Im Datenbaltt die Pins (RX, TX, GND) des UART (serielle Schnittstelle) suchen und mit einem Stecker für den Rechner versehen. Dann im Terminal schauen ob bei Eingabe von "1" die Antwort "Verbindung OK" kommt. Wenn nicht, am einfachsten einen Quarz nutzen. Welche Frequenz ist eigentlich egal, muss dann halt im Programm angepasst werden.

Wenn das geht suchen wir uns ein paar Pins aus an die das JTAG kabel kommt. Aber erstmal Grundlagen schaffen...

mfg
Jabberwock

Title: Re: Microkontroller - JTAG
Post by: Paul on 04. Mar 2008, 12:05
sorry aber das verstehe wer will.

ich biete hier meine hilfe an in dem ich recht genau abstecken kann was ich kann und was nicht!
der atmega hat dein hex drauf nur obs so funktioniert lass ich mal dahin gestellt. gibt da abertrillion varioationen an lockbits etc.
aber wie bereits gesagt das hex ist drauf und das ohne murren.

die steckerleisten für jtag ist auf dem x300t board jtag enable ist am sigmar angelötet und funktioniert.
das ich kein guru im bauen von programmen bin geb ich offen und ehrlich zu aber mit etwas zutun bekommst heut und jetzt die info ob das was du da gebastelt hast funktioniert oder nicht. einfach sagen
ja der chip kommt direkt an das jtag oder halt mit vorwiderstand. dann ggf noch kurz info darüber ob die uart schnittstelle parallel zu dem jtag laufen soll oder ob die terminal ausgabe via jtag erfolgt.
ich bau das kurz ein und sag bescheibt obs geht.
bringt ja nix wenn du was machst was du nicht testen kannst.
zu dem "quarz" , das ist soweit mir bekannt in den genannten chipkarten mit drin.
Title: Re: Microkontroller - JTAG
Post by: Jabberwock on 04. Mar 2008, 12:36
Ok, da ist kein Quarz drin sonder ein Oszillator. Ein Bauteil das die Funktion eines Quarzes nachahmt, also Takte erzeugt. Dieser ist aber sehr ungenau in seiner Frequenz. Deshalb kommt es zu Problemen mit der seriellen Übertragung von Daten. Das kann man am einfachsten umgehen in dem man einen "echten" Quarz nimmt, oder den internen kalibriert.

Die Fusebits kann ich dir auch nicht aus dem Kopf sagen. Einfach erstmal so lassen. Wenn du da nichts verstellt hast sollte das schon passen.

JTAG und UART können parallel laufen.
Aber am Rechner kannst du nur per UART etwas empfangen

Für JTAG kannst du PORT A nehmen. Wenn alles so geht wie ich mir das denke dann müsste das mit der Belegung passen.

Portpin |  Pin am JTAGkabel/ParallelPort
PA0     =     frei
PA1     =     Pin 4
PA2     =     Pin 3
PA3     =     Pin 2
PA7     =     Pin 13
GND    =      GND 

Aber wie schon gesagt, das geht noch nicht...
Hast du denn die UART Schnittstelle schon am laufen? Bekommst du eine Antwort im Terminal?
Bevor das nicht geht brauchen wir nicht weiter machen weil wir nicht sehen können was passiert.
Title: Re: Microkontroller - JTAG
Post by: Metrex on 05. Mar 2008, 13:50
So, tach auch,

also ich hab vor ner Woche auch angefangen nen ModChip zu programmieren. Ich halte von den Atmel-uC nicht so viel, da sie technisch nicht so viel her machen und vor allem nervt, dass die Debug-Geräte so schweinisch teuer sind.

Ich arbeite seit einiger Zeit mit SiLabs (Silicon Laboratories) und bin überaus zufrieden. Die uC sind zwar bis auf einen nur in SMD-Bauform verfügbar, aber das soll ja nicht weiter stören. Naja, lange Rede kurzer sinn:

[font=tahoma]Ein SiLabs-Modchip ist fertig und funktioniert bestens![/font][/color]

Die Frage ist jetzt wie hat die Allgemeinheit am meisten davon? Es bestehen folgende Optionen
- Man erstellt ein PCB, mit Modchip (smd) und Stecker zum JTAG-Port, das müsste dann bestückt, gelötet und programmiert werden (fehlt vermutlich die Nachfrage, dass sich das lohnt)
- Ich stelle den Quellcode hoch (siehe Anhang) und er kann für z.B. Atmel angepasst werden
- Man kauft sich ein SiLabs "Toolstick Starter Kit" (25$) mit dem kann man Programmieren, Debuggen, und aus dem "Daughterboard" einen Modchip machen. Somit sind die Kosten für einen Modchip via "Daughterboard" bei 10$ (Einfachste Lösung) http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/en/USBToolStick.htm (http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/en/USBToolStick.htm)

Nu denn, wünsche euch viel Spaß damit,

Gruß Metrex
Title: Re: Microkontroller - JTAG
Post by: asgard on 05. Mar 2008, 14:23
Hey,

super sache :)

Wie hast du das realisiert, wenn die box einen reboot macht? Woher weiß dein modchip dann, dass ein neustart gemacht wurde...oder schaltest du die box komplett aus und einfach wieder ein...?

Grüße
Asgard

@Metrex: kannst du vielleicht ein Foto von dem eingebauten Modchip machen und hier uppen?
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 05. Mar 2008, 14:24
Rein rechnerisch wäre eine der billigsten flexibelsten und einfachsten Lösungen bei ebay 10€ + 5€ Versand für ein 300HS Modem auszugeben und das anstelle eines µcs zu verwenden ;)
GPIOS hat der adm5120p auf jeden Fall genug, und mein kleingeldbewusstes Studentengewissen tendiert irgendwie immer zu den günstigen Lösungen, zumal ich ja eh ein Bastelmodem rumliegen hab...
Title: Re: Microkontroller - JTAG
Post by: Metrex on 05. Mar 2008, 14:59
@asgard: Naja, ein Foto ist sehr unspektakulär, da ich im Moment meinen ToolStick verliehen hab und deshalb ein großes Entwicklungsboard dran hängen hab, so wie dieses: http://www.c8051f.com/UpFile/2006/10/7/200610072248411225.jpg (http://www.c8051f.com/UpFile/2006/10/7/200610072248411225.jpg)

Aber der ModChip mit dem Daughterboard könnte so aussehen wie das Bild im Anhang.

Also um das mit dem Reboot hab ich mich noch nicht gekümmert, macht die Box denn überhaupt einen Reboot? Ich hab die immer komplett ausgeschaltet.
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 05. Mar 2008, 16:18
Ja, sie macht einen Reboot, wenn sie richtig böse crasht ;)
Insofern wäre es schade wenn man dann gerade nicht da ist und währenddessen die Box ihr desaster recovery durchführt, ist mir vor zwei Wochen passiert.
Seitdem hat das ding nach dem Booten Netzwerkverbot.
Title: Re: Microkontroller - JTAG
Post by: hackholly on 07. Mar 2008, 11:14
Hallo Leute wie wäre es mit der MICRO-C-Control ist sehr kompakt und dürfte genügen.

Außer Preis um 18 Euro ganz praktisch.

Müßte nur den C-Code auf Assembler oder Basic umschreiben.

Feedback
Title: Re: Microkontroller - JTAG
Post by: Björn on 15. Mar 2008, 22:20

Ja, sie macht einen Reboot, wenn sie richtig böse crasht ;)
Insofern wäre es schade wenn man dann gerade nicht da ist und währenddessen die Box ihr desaster recovery durchführt, ist mir vor zwei Wochen passiert.
Seitdem hat das ding nach dem Booten Netzwerkverbot.


Netzwerkverbot?
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 16. Mar 2008, 01:39
Einfach den Stecker raus ;D
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 18. Mar 2008, 22:13
Das mit dem Reboot muesste sich doch loesen lassen, wenn man einfach den Rx des Controllers mit dem Tx der Box verbindet und ihn auf den Startstring des Bootloaders horchen laesst?

edit: Evtl. gibt es auch ein Signal mit dem der SMP dem AVR auf dem Frontpanel einen Reboot signalisiert, waehre vielleicht noch einfacher.

Wenn der Code da drin nicht all zu viel Platz braucht und leicht nachzuprogrammieren ist koennte man den Hackcode vielleicht direkt in den Frontpanel AVR integrieren und diesen mit dem JTAG verbinden, waere auch 'ne lustige Sache :P

EDIT 2: Der AVR auf dem Panel ist uebrigends nicht code-protected und es ist auch noch etwas Platz in dessen Flash, koennte vielleicht nuetzlich sein.
Title: Re: Microkontroller - JTAG
Post by: mce2222 on 19. Mar 2008, 11:52
also den serielle debug output auszuwerten ist etwas aufwendig finde ich.

am mini-pci slot ist definitiv ein reset-pin. ich denke das ist die einfachste Möglichkeit etwas von einem Reset mitzubekommen.

Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 19. Mar 2008, 18:59
Ich habe nach einiger Arbeit gerade meinen ersten AVR Modchip gebrannt, der auch funktioniert :)

Habe ziemlich viele Änderungen am Code gemacht, ich werde das Ganze noch etwas Dokumentieren und packen lade es dann später hier zum testen hoch.
Das Ganze läuft auf einem ATMEGA8, sollte aber auch für andere gleichwertige oder bessere ATMEGA compilierbar sein.
Solange sie 8MHz intenen Clock verwenden sollten nicht einmal Anpassungen nötig sein.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 19. Mar 2008, 19:55
Soa, das gind schneller als gedacht.

Anbei sind sourcecode und ein hexfile für den ATMEGA8.

Auf den Bildern ist zu sehen wo man das Resetsignal abgreifen kann.

Das Ganze funktionierte hier im Test um mit der Box Linux zu booten.
Aber es ist dennoch nicht auszuschliessen das es bei einer anderen Box nicht klappen könnte, deshalb das Ganze erst einmal als frühe Testversion sehen :)
Das Timing für den Patch scheint recht kritisch zu sein und hat etwas Probieren erfordert bis es funktionierte.
Title: Re: Microkontroller - JTAG
Post by: asgard on 20. Mar 2008, 06:14
Hey Schneeleopard,

sieht gut aus :)

Kannst du noch ein Foto vom eingebauten Modchip machen?
Zudem wäre es super, wenn du noch genauer erklären könntest, wo du VCC und sonstiges anschließt.

Einfach noch ein bissle mehr details  ;D

Vielen Dank und super leistung!

Grüße
Asgard
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 21. Mar 2008, 22:12
Werde ein Bild davon machen, sobald ich das Ganze fertig habe, im Moment hängt da noch ein anderes meiner Projekte dran, dessen ATMEGA ich dafür zweckentfremdet habe.

Vcc kann man auch vom JTAG-Port nehmen, sofern man einen ATMEGA der L Reihe (3.3V fähig) hat.
Die aus der normalen Reihe können bei 8MHz auch oft mit 3.3V laufen, muss man sonst testen, ob der Chip den man gerade da hat das kann.
Ansonsten muss man sich irgendwo 5V abgreifen, z.B. direkt Netzteil<->Mainboard Stecker.
Nicht vergessen alle GND und Vcc Pins des ATMEGA anzuschliessen, der hat nämlich mehrere.
Ein 100nF Kondensator zwischen GND und Vcc möglichst nahe am ATMEGA wäre auch zu empfehlen.

Ich werde bei der nächsten Aktualisierung der Firmware die Informationen in der README noch etwas ausführlicher formulieren und ein Bild und Anschlussdiagramm des fertigen Chips anfügen.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 24. Mar 2008, 01:19
Scheint als würde TDO permanent auf 0V gezogen sein.
Zeigt er denn FFFFFFFF als CPUID wenn du TDO unverbunden lässt?

Ansonsten habe ich es auf einem atmega16 noch nicht getestet, kann es die Tage mal auf einem atmega32 testen, ob es dort funktioniert.
Ich habe übrigends auch keine 3.3V Version zum testen verwendet, nur eine von externen 5V versorgte 5V Version.
Title: Re: Microkontroller - JTAG
Post by: asgard on 24. Mar 2008, 13:41
Hey,

danke für deine Debugarbeit und dein Testen. Vielleicht kannst du deine Erfahrungen die nun gesammelt hast ins Wiki eintragen...und dort ne art Einbauanleitung machen....mein Atmega kommt hoffentlich die woche :))

Grüße
Asgard
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 24. Mar 2008, 14:21
Gut das es nun funktioniert und danke für die Arbeit :)

Es könnte evtl. helfen die Delays in der clockin() funktion auf 20 oder 30 µs zu erhöhen um längere Leitungen zu kompensieren.
Wenn er trotz Meldung, dass der Patch korrekt eingespielt wurde nicht korrekt läd kann es evtl. helfen das Timing, wann er den Patch ausführt etwas zu ändern,
while(patchtime < 120);
ist dafür zuständig, jede Erhöhung oder Reduzierung um 30 ändert das Timing um etwa eine Sekunde.
Standardmäßig patcht er 4 Sekunden nach dem Resetsignal.

Ich werde mal MACRO-Defines dafür in die nächste Version einfügen.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 24. Mar 2008, 15:01
So, hab mal die neue Version fertig gemacht.

Aenderungen:
-MACRO-Defines fuer JTAG-Clock-Verzoegerung und Patchzeitpunkt.
-Standard JTAG-Clock-Verzoegerung auf 15 erhoeht.
-Zusaetzlich hex und bin files fuer ATMEGA16 und 32.
-Kleinere Optimierung der USART-Ausgabe die die Codegroesse ein paar hundert Bytes reduzierte.
-README etwas erweitert und Bilder fuer Anschluss des Resetkabels beigefuegt.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 24. Mar 2008, 15:21
Hier ist noch eine neue Version mit geaenderten port pins um das problem mit dem JTAG-Port auf ATMEGA16 und 32 MCUs zu umgehen.

Aenderungen:
-Die Pins fuer die JTAG-Verbindung zum x30Xt sind nun PD3, PD4, PD5 und PD6.
-Die Jumper fuer LX.BIN und YA.BIN liegen nun auf PB1 und PB2.

Ansonsten wurden keine Aenderungen gemacht.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 25. Mar 2008, 14:18
Wieso sollte ich etwas dagegen haben? :)

Ich bin im Moment gerade noch mit einem anderen Projekt beschaeftigt, werde wohl auch die naechsten paar Tage nicht dazu kommen da etwas neues zu implementieren.
Title: Re: Microkontroller - JTAG
Post by: asgard on 25. Mar 2008, 17:41
Hey Peterfido,

super sache :)

Kannst du vielleicht noch ein paar fotos machen...dann fällt es mir/allen deutlich leichter alles nachzubauen   ::)

Grüße und Danke
Asgard
Title: Re: Microkontroller - JTAG
Post by: smplasma on 25. Mar 2008, 22:38
Klasse wie schnell das voran geht.Respekt
Eine Liste der Bauteile bei Reichelt, oder Conrad wäre für die
nicht so Hardwarekundigen auch bestimmt von Vorteil.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 26. Mar 2008, 13:20
Ich habe mal schnell eine Bauteilliste für Reichelt zusammengestellt.
Sollte alles drauf verzeichnet sein, hoffe ich mal.

Die wichtigsten Teile (Angenommen die Gründausstattung Lötstation oder geeigneter Lötkolben und einiges an dünner Litzenleitung sind vorhanden):

Der unbedingt nötige Teil (Reicht wenn Möglichkeit zum Programmieren vorhanden):
Der ATMEGA8 selbst in der 3.3V-Version:     Artikel-Nr.: ATMEGA 8L8 DIP          1,85 €
IC-Sockel für die MCU:                             Artikel-Nr.: GS 28P-S                    0,36 €
100nF Kondensator:                                 Artikel-Nr.: Z5U-5 100N                0,070 €

Wenn noch ein paar Funktionen zusätzlich angebaut werden sollen (RS-232 Interface, LEDs) empfielt sich
der Aufbau auf einer Lochrasterplatine, dann kommen noch dazu:
Lochrasterplatine 50x100mm:                     Artikel-Nr.: H25PR050                   0,63 €
Silberdraht 0.6mm (Wenn nicht vorhanden): Artikel-Nr.: SILBER 0,6MM              1,80 €
Zweiter 100nF Kondensator:                      Artikel-Nr.: Z5U-5 100N                0,070 €
Stiftleiste für YA.BIN, LX.BIN jumper            Artikel-Nr.: LU 2,5 MS 3                0,23 €
Jumper (Wenn nicht vorhanden)                 Artikel-Nr.: JUMPER 2,54 SW          0,041 €

Serielles Interface (Wenn gewünscht):
(Der RS232-USB Umsetzer unten auf dieser Seite http://www.t-hack.com/wiki/index.php/UART0
sollte anstelledessen auch funktionieren)
RS232-Pegelumsetzer 3.3V fähig:               Artikel-Nr.: MAX 3232 CPE             3,50 €
4x 100nF Kondensator:                            Artikel-Nr.: Z5U-5 100N                0,070 € (Stück)
8MHz Quartz für ATMEGA                                 Artikel-Nr.: 8,0000-HC18               0,24 €
(Um stabilen Clock für RS232 zu gewährleisten)
2x Keramik-Kondensator 22P                     Artikel-Nr.: KERKO 22P                  0,041 € (Stück)
(Für Quartz Schwingstabilisierung nötig)
Sockel für RS232-Umsetzer:                      Artikel-Nr.: GS 16                        0,041 €
SUB-D 9 Stecker (Serieller Port):                Artikel-Nr.: D-SUB ST 09              0,083 €
Kappe für Stecker:                                  Artikel-Nr.: KAPPE CG9G               0,092 €
Kabel zur Verbindung mit dem PC
(Wenn nicht vorhanden)                           Artikel-Nr.: AK 143                      1,40 €

LED-Anzeige (Wenn gewünscht):
Low-Current LED Gelb                               Artikel-Nr.: LED 5MM 2MA GE        0,092 €
Low-Current LED Grün                               Artikel-Nr.: LED 5MM 2MA GN        0,092 €
Low-Current LED Rot                                 Artikel-Nr.: LED 5MM 2MA RT        0,092 €
3x Vorwiderstände für LEDs                        Artikel-Nr.: METALL 750               0,082 € (Stück)

Ein einfacher Programmieradapter lässt sich mit einem subD25-Stecker (Parallelport) und 4 100Ohm Widerständen aufbauen:
Stecker:                                                Artikel-Nr.: D-SUB ST 25              0,10 €
4x Widerstände:                                      Artikel-Nr.: METALL 100               0,082 € (Stück)
Kappe für Stecker:                                  Artikel-Nr.: KAPPE CG25G              0,13 €
Kabel zur Verbindung mit dem PC
(Wenn nicht vorhanden)                           Artikel-Nr.: AK 404                      1,65 €

Wenn man das Ganze sauber aufbauen will ohne fliegende Verdrahtung würde es sich
empfehlen Stiftwannen und Pfostenstecker mit Flachbandkabel zu verwenden.

Ich werde demnächst noch ein Schaltbild für den Aufbau anhängen.
Irgendwann auch die fertig aufgebaute Version, wenn ich mal dazu kommen sie zu bauen :)

Beim Aufbau empfielt es sich zum Schutz vor elektrostatischer Aufladung erst die Schaltung Komplett an den Sockel zu löten und erst danach die ICs in die Sockel zu stecken.

EDIT: Habe mal einen Quartz und entsprechende Kondensatoren dazugeschrieben in der RS232 Sektion.
Ein Quartz zur Frequenzgenerierung wird empfohlen, da der RS232-Port recht genaue Frequenzeinhaltung erfordert (Und ich letztens zum ersten Mal einen ATMEGA erwicht habe bei dem der interne Clock so weit abwich, das am RS232 nur Hieroglyphen herauskamen).
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 26. Mar 2008, 14:02
Ich habe mal schnell einen Schaltplan dafür gemacht

Kleiner Fehler im Plan, man denke sich +3.3V wo +5V steht :)

EDIT: Die resetsource hatte ich auch vergessen einzuzeichnen :/
Habe mal den korregierten Plan angehängt, nun auch mit 3.3V.

Ausserdem noch ein Plan, wie der Minimalaufbau aussieht der zum reinen Betrieb des Chips nötig ist.
Wenn man nur den Signaturpatch braucht und kein Linux oder Yamon booten will kann man sogar den Jumper noch weglassen.

EDIT: Quartz für RS232 in Schaltplan eingefügt.
Title: Re: Microkontroller - JTAG
Post by: smplasma on 26. Mar 2008, 14:09
klasse, danke für die schnelle antwort.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 26. Mar 2008, 14:53
Hier ist auch noch ein Schaltbild für den simplen PonyProg kompatiblen Programmieradapter zu finden:

http://www.blafusel.de/bilder/misc/upc/atmega8_isp_sp2.gif
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 26. Mar 2008, 23:03
Netter Aufbau :)

Zum Thema Vorwiderstand... Mir ist gerade aufgefallen dass ich die Vorwiderstände der LEDs auf meinem Plan aus purer Gewohnheit für 5V statt für 3.3V berechnet habe, für 3.3V sollten es 750Ohm sein und nicht 1,6kiloohm.

Sorry, falls jemand schon die Teile bestellt hat, es sollte auch mit den 1k6 Widerständen funktionieren, die LEDs werden aber wohl deutlich dunkler sein.

Ich ändere das gerade mal in der Teilelisteun dem Plan.
Title: Re: Microkontroller - JTAG
Post by: plenkk on 20. May 2008, 17:56
Ich bin wieder da! ;)

Sorry, war im Umzugsstress... aber wie ich sehe, seid ihr ja auch glänzend ohne mich klargekommen :)

Ich bin jetzt auch endlich mal dazu gekommen, an meinem Modchip weiterzuarbeiten. Es gibt zwar inzwischen auch andere, aber wo ich schonmal damit angefangen habe...
AVR und SMP8634 sprechen auch schon miteinander. Ich muss nur noch ein bisschen bugfixen.

Mein Code ist übrigens komplett in Assembler. Warum? Weil es mir so mehr Spaß macht! ;D Ein wirklichen Vorteil hat man davon in der Praxis wohl eher nicht. Höchstens, dass man einen kleineren, günstigeren Controller nehmen kann.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 24. May 2008, 13:05
Hut ab davor so ein recht komplexes Teil (Inkl. 32Bit dwords) in Assembler zu coden.
Assembler ist nett, nur leider später etwas schwer zu lesen wenn man kein Profi darin ist :)

Habe an meinem Projekt auch noch etwas geändert, in Bautteilliste und Schaltplan sind jetzt ein 8MHz Quartz und 2 22pF Kerkos dazugekommen sofern man das RS232-Interface nutzen will.
Ich hatte letztens das erste mal einen AVR bei dem der interne Oszillator so weit abwich, dass am RS232 nur Hieroglyphen kamen.
Das kann man zwar mit dem OSCCAL register etwas abmildern, aber optimal ist es nur mit externem Quartz.

In dem Fall müssen die Fuses dann auf "External Crystal/Ceramic Resonator slowly rising" (CKOPT - 1, CKSEL 3..0 - 1111, SUT 1..0 - 11) gestellt werden.
Aber bitte NUR den externen Oszillatormodus wählen, wenn tatsächlich ein Quartz angeschlossen ist, sonst reagiert der AVR nicht mehr.

Fuse bits für den Internen Oszillator (Funktioniert immer, aber evtl. zu ungenau für RS232): (CKOPT - 0, CKSEL 3..0 - 0100, SUT 1..0 - 10)
Für den internen Oszillator sollte man eigentlich noch das Oscillator Calibration Byte für 8MHz mit dem Programmiergerät auslesen und am Anfang der main() routine ins OSCCAL register schreiben.
Das werde ich in der nächsten SW-Version vorsehen.
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 08. Jul 2008, 20:15
Ich habe mal ein sourceforge Projekt für den Modchip-Code gemacht, damit ich kleinere Änderungen einfügen kann ohne damit gleich das Forum zuzuspammen.

Zu finden ist es unter: http://mramc.sourceforge.net/
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 12. Jul 2008, 08:31
Wo greift ihr am besten die 3.3V spannung für den modchip ab ab?

nach etlichen versuchen habs nach der hier vorgegebenen anleitung gebaut, bekomme ich im ponyprog imemr die meldung das es nicht angeschlossen sei. ich habe 3.3v pin 14 angewand vll ist da bei mri kein 3.3V mehr wie bei älteren boards. auf jeden fall habe ich alles nach anleitung angeschlossen.

proplem gelöst :)

problem war ponyprog irgend wie sponn es rum hab nun Yaap benutzt damit konte ich den mega8 beschreiben.

jedoch hab ich entweder selber oder es ist im schlatplan irgend was durcheinander was ich bezweifle. auf jeden fall, hab ich nun alles so gemacht wie Schneeleopard es in seiner explosions zeichnung hat. jedoch sobald ich die NK.bin austausche mit der wo die gepatchte BooterCe drine ist und die platte wieder einbaue. macht er sofort nen firmware update ich weiss im moment auch nicht weiter vll habt ihr ne idee ggf werde ich morgen mal die platine komplett neu machen als einfachen chip ohne RS232 ind ISP vll hab ich irgend wo einen fehler.
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 15. Jul 2008, 12:29
so mitlerweile ist mein Atmega8 geflasht, und auch das auslesen geht. somit sollte der chip funktionieren,

habe sehr sehr kurze AWG32 kabel alles richitg verbunden und egal wie hab jetzt meinen 3. chip auf bau hab erst komplet mit RS232 und ISP und allem gehabt dan hab ich nur einen mit ISP und nun nen reine chiplösung per jtag lässt sich das ding problemlos patchen nur irgend wie will das teil nicht mit dem chip hab jetzt alle versuche hinter mir ohne erfolg einzigste könnte die 3.3v sein die normaler weise hja an Pin 14 liegt. ansonsten ist alles richitg eingebaut.sonst noch einer eine idee woran es liegen kann?
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 15. Jul 2008, 18:00
So erledigt.

zum einen hab ich nun andere kabel verwenet normale litzen kabel statt AWG32 und nun kann ich das ding mit 3 mal reset in den destroy recovery modus bringen.

aber wäre es net ne idee. das man das chip das direkt macht?

also so ne while schlife das der beim ersten start nen counter von 3 setzt und dann 3 mal vom chip aus resetet wird und bei jedem start einmal runter gerechnet wird. oder man ne abfage macht wobei ich nicht weiss in wie weit das möglich ist, das man den chip horchen läst nach den destroy recovery mode, das der solange resetet bis die meldung kommt. weil jedes mal die kiste beim einschalten 3 mal neustarten ist blöde.
Title: Re: Microkontroller - JTAG
Post by: mce2222 on 15. Jul 2008, 19:43
das sollte eigentlich nicht notwendig sein.

also bei mir wird der patch in 95% der Starts korrekt durchgeführt.

für die restlichen 5% hab ich einen kleinen Trick der dir wahrscheinlich auch helfen wird:

wenn keine NK.BIN Datei vorhanden ist, macht der bootloader sofort einen Reset.
daher die orginal NK.BIN löschen oder umbenennen, und die zu ladende NK.BIN in YA.BIN oder LX.BIN umbenennen.
Per Jumper oder besser noch per Schalter dann so einstellen das die passende Datei gebootet wird.

so gibt es nur 2 Möglichkeiten, entweder der patch klappt und die richtige Datei wird gebootet,
oder der Patch klappt nicht und die NK.BIN wird nicht gefunden -> Neustart... solange bis es klappt.



Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 15. Jul 2008, 20:01
THX das ist ne gute idee das blöde ist das ich jedes mal die blöde netzwerk leitung ziehen muss damit das teil keine neue NK.bin zieht.

dazu muss ich noch den jumper in funktion nehmen dazu muss man mal raus bekommen was LX udn wsa YX ist. aber das bekomme ich auch noch raus.

so nun mal schauen das ich mich durch die ganzen XML seiten wühle und mal sehen was sich da sonst noch so machen kann :)

und mir ne schöne ide platform beschaffen um ggf mal nen bissel was zu basteln.
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 16. Jul 2008, 10:55
wasbeimir auffält ist , das nach dem einschaltenfürnicht ne sekunte startim display steht udn der direkt zum update fenster springt ohne irgrend was ich denke da leigt der hund begraben ansonsten muss ich den per power knopf so oft starten bis der die LX.bin bootet  nen reboot weil keine NKbin vorhanden ist machter bei der X301 nicht der bleibt solange im update fenster stehen bis irgend wannd ie meldung im display erschient keine verbindung.  in dem punkt unterscheitet sich die box von der 300. mal sehen wie man das im chip code anpassen kann. und wo der genaue zeitpunktist wo der patch ausgeführt wird.

Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 21. Jul 2008, 12:54
nach vielen versuchen finde ich immer noch nicht die antwort...

also ich hab den modchip von scheeleopard gebaut, der funktioniert ja auch. nur ich muss etliche male reseten vevor er überhaupt mal richitg patcht.

di ekabel sind max 5cm lang kürzer gehts net, kabel an reset ligt auch und funktioniert auch.

aber ich verzweifle echt das ich jedes mal 40  bis 50 resets durch führen muss bevor der chip patcht.

also ich denke mal nich das es an den kabels liegt da er ja gelegentlich nach unterschiedlichen intervallen ja greifft. einzigste ist der patchzeitpunkt. aber da mal den richitgen zeitpunkt erwichen das ist eine große frage.

egal wie ich die starte mit Nk.bin auf der plate ohne nk.bin nur mit ya oder Lx also nix 40-50 versuche.

vll hat schneeleopard ja ne idee, ich hab den letzten patch im einsatz den er auf sourceforce liegen hat.


Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 12. Aug 2008, 11:24
Hallo,

compilierst du den Sourcecode selbst?

Wenn ja, der Patchzeitpunkt wird in ter x30xtmodchip.h Datei eingestellt.
Welche Bootloader Version hast du? evtl. wurde da ja seitens der Telekom etwas verändert was den Zeitpunkt zu dem gepatcht werden muss verschiebt.
Einfach mal versuchen den Patchzeitpunkt etwas höher oder niedriger zu setzen, so bis zu +-1 Sekunde.
Wenn das nicht hilft könnte es vielleicht auch helfen die JTAG-clocktime etwas zu erhöhen.

Falls beides nicht geht wird es schwer das ganze richtig zu debuggen ohne serielle Interfaces an den Receiver und den Chip zu bauen.
Evtl. mal als günstige Zwischenlösung die Debug LEDs anlöten, wenn noch nicht geschehen, um zumindest zu sehen ob das Patchen selbst korrekt funktioniert.

Die Patchzeitpunkterkennung ist leider noch ein ziemlicher Hack und der Grund warum der Code noch im pre-Beta Zustand ist.
Die einzige Information die der Modchip vor dem Patchen vom Receiver bekommt ist bisher das Reset-Signal und von da aus wartet er ein paar Sekunden und patcht dann.
Bisher kenne ich leider keine wirklich bessere Methode den richtigen Zeitpunkt zu bestimmen...

MfG
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 12. Aug 2008, 12:26
Ach ja, eine Sache noch, hast du bei deinem AVR auch die Fuse-Bits für den internen Taktgenerator geändert?

CKSEL3..0
   0100

Wenn nicht läuft der nur mit 1MHz statt den 8 auf die das Programm ausgelegt ist, dann stimmt entsprechend das gesamte Timing nicht mehr.

(Bei Fuses beachten -> Falls PonyProg verwendet wird entspricht eine 1 einem deselektierten Kästchen)

(http://www.mikrocontroller.net/articles/AVR_Fuses)

EDIT: Daran, dass du eine 301t hast sollte es nicht liegen, solange T-Home die nicht in den letzten Monaten wieder verändert hat, ich habe auch nur eine x301t.

Was auch noch sein kann: Ist deine Reset-Quelle in Ordnung?
Evtl. mal mit Multimeter messen ob das Reset-Signal auch low geht, wenn die Box resetted wird.
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 19. Aug 2008, 13:42
da ponyprog selber komischwerweisse mien selbst gebauten chreiber net erkennt benötige ich den yaap damit kann ich problem los den avr proggen. müsste mal schauen wie ich da den fusebit setze könnte durch aus das problem erklären was ich habe scheinbar läuft er nämlich net mit 8mhz.

ich weiss auch net wieso ponyprog den avr net erkennen will benutze halt nen standart atmega8_isp wie im folgendem bild

(http://www.blafusel.de/bilder/misc/upc/atmega8_isp_sp2.gif)
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 01. Sep 2008, 12:26
also mitlerweile reagiert er öfters beim reboot, aber i mmer noch unbefriedigent.

hier mal nen bild im anhang wegen des fusebit ob es vll doch daran liegt.


Edit oder sollte es so aussehen:

[X] CKSEL0
[X] CKSEL1
[_] CKSEL2
[X] CKSEL3
[X] SUT0
[_] SUT1
[_] BODEN
[_] BODLEVEL
[X] BOOTRST
[X] BOOTSZ0
[X] BOOTSZ1
[_] EESAVE
[_] CKOPT
[_] SPIEN
[X] WTDON
[_] RSTDISBL


weil wenn ich das bild unten richtig betrachte müsste der interne osc 1MHZ 6CK 64 ms haben das sollte dann entsprechent falsch sein bevor ich aber irgend was falsch einselle wäre ich dankbar für hilfe :D
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 02. Sep 2008, 03:22
Hab gerade auch meinen ersten Modchip in Betrieb genommen. Hatte bisher immer einen alten fürchterlich lauten Server mit Parallelport als Patcher benutzt, daher war das "Basteln" eines Programmieradapter nurnoch ein umkonfigurieren des Pinouts in der avrdude-config, als GUI hab ich dann http://avr8-burn-o-mat.aaabbb.de/ benutzt, und es ging auf Anhieb mit dem beiliegenden Hexfile für den mega8.
Was die Fusebits angeht : Je nach Programmer/GUI den man Verwendet sind die Fusebits "aktiv 1" oder "aktiv 0", am einfachsten findet man raus wie es ist indem man erstmal die Fusebits ausliest, die im Auslieferungszustand des atmega8 auf 1mhz eingestellt sind (also CKSEL3,2,1 0 und CKSEL0 1), dann sieht man ja, wie sie Angezeigt werden.
Auf jeden Fall auch von mir ein grosses Dankeschön an Schneeleopard für die gute Arbeit ;)
Title: Re: Microkontroller - JTAG
Post by: mce2222 on 02. Sep 2008, 09:04
allerdings könnte der Patch ansich noch etwas verbessert werden, denn es ist z.B. störend und unnötig, dass der bootloader den Videoausgang
abschaltet...
ausserdem wird irgendwo im bootloader scheinbar ein Schreibschutz für bestimmte Register gesetzt (wahrscheinlich der Grund warum die uCodes unter Linux nicht geladen werden können)

das wär also noch ein Aufgabenbereich für Assembler-Profis ;)
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 02. Sep 2008, 10:10
also ich für meinen teil muss sagen Jtag so geht microcontroler nur wenn er will.

resetleitung ist auch i ordnugn fuse bit hab ich nun auch richitg gesetzt denke ich mal von daher sollte der auf 8 Mhz laufen aber dennoch will er net was mich verrückt macht.

an der verkabelung kann es auch net liegen da ich die leitng so kurz wie möglich gehalten habe.

kann nru der microcontroler selber sein (ATmega8L-8PU) oder halt irgend was anderster.

ich weiss auch nimmer weiter hab schon etliche einstellugnen versucht.

da ich nicht so bewandert mit microcontroler bin kanns auch daran liegen bezweifle ich da dieanleitung recht simpel ist ud wenn man alle infos hat sollte es ja auch klappen.


da ich keinen hinweiss zur spannugns versorgung gefunde habe, weiss ich nciht ob das überhaupt der richitge ist.

Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 02. Sep 2008, 22:42
Mit meinem atmega8-16pu braucht das ding zwar 5v statt 3,3 (gibts am USBport), funktioniert aber ansonsten problemlos -korrektur: nun garnicht mehr ?! nach "CLEAR WARCHDOG" ist schluss. Hmm.
Weniger schön das ich heute 8h lang gefummelt hab bis endlich mal das rs232 mit MAX232N ging, ich hasse einfach Streifenraster, schnell gebaut, aber danach bin ich dann ewig und drei Tage lang auf der Suche nach irgend einem haarfeinen Kurzschluss der sich durch das wegdremeln der Streifen ergibt. Zusätzlich hab ich Schussel auchnoch das reset-Lötpad am minipci-Anschluss abgerissen und musste da mit Leitsilber pfuschen...


edit nr 3: ahaa ! da MÜSSEN Widerstände zwischen einen 5v-atmega und den JTAG-Port, genau wie beim Parallelport, sonst geht das Patchen nur halb oder garnicht. Hab nun überall 100 Ohm dazwischen ausser bei TDO, und nun geht der Patcher jedes Mal auf Anhieb.
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 03. Sep 2008, 06:42
vlleicht sollte ich es auch malmit wiederständen versuchen :D

das ist im grunde das was ich auch habe,

anfang gings dann gings net und irgend wann doch
denke mal das es genau der gleiche effect bei mri ist werde ich auchmal versucen :D
Title: Re: Microkontroller - JTAG
Post by: Schneeleopard on 03. Sep 2008, 15:29
Das mit den Widerständen kann gut sein, wenn der AVR mit einer höheren Spannung betrieben wird als der MediaReceiver, danke für den Hinweis.
Werd ich demnächst mal in den Schaltplan einfügen, schaden sollte es auch bei gleichen Spannungen nicht.

Ansonsten zum Problem von MatrixOne:
Wenn die FuseBits nun definitiv richtig gesetzt sind, die Spannungsversorgung stimmt (Für normalen ATmega USB port, ansonsten sollten auch 3.3V am JTAG port bereitstehen) und das Resetsignal in Ordnung sind dann gehen mir auch langsam die Ideen aus, vor allem weil es ja ob und an zu funktionieren scheint.

Ansonsten würde so spontan wohl nur noch helfen ein debug Interface (Wie RS232 oder zumindest die LEDs) zu haben, um zu sehen wo es hängt.
Aber vielleicht hat ja sonst noch jemand eine andere Idee.

Die Fuses bei YAAP müssten korrekt sein wenn folgende der CKSEL und SUT Kästchen gesetzt sind: CKSEL0, CKSEL1, CKSEL3 sowie SUT0 die Anderen davon ungesetzt.
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 05. Sep 2008, 08:26
einzigste was mir jetzt einfällt, das der atmega ggf nen schuss weg hat.

laut datenblatt hat der Atmega8L 8PU ein VCC eingang von 2,7 - 5,5V

    * Atmel AVR ATmega8L-8PU
    * RoHS
    * 8 kByte Flash Programmspeicher, 10.000 Schreibzyklen
    * 1 kByte internes SRAM
    * 512 Byte internes EEPROM, 100.000 Schreibzyklen
    * Bis zu 8 MIPS bei 8MHz
    * Hardware Multiplyer
    * Optional Boot Code Section für Bootloader
    * 2 8 Bit Timer/Counter
    * 1 16 Bit Timer/Counter
    * Real Time Counter mit separatem Oszillator
    * 3 PWM Kanäle
    * 6 AD Wandler Kanäle
          o 4x 10 Bit Genauigkeit
          o 2x 8 Bit Genauigkeit
    * TWI Schnittstelle, zB für I2C
    * USART
    * Master/Slave SPI Schnittstelle
    * Watchdog Timer
    * Analog Comparator
    * 28 PDIP Gehäuse
    * 2,7 - 5,5V
    * 0 - 8MHz


da so nen atmega8 net die welt kostet werde ich mir noch mal ne hand voll bestellen... und werde den mal auf 5v laufenlassen.

was noch sein kann ist, das der  kondensator nen schuss weg hat muss ich mal testen hab irgend wo noch welche. und dann noch weiter testen.
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 05. Sep 2008, 20:31
Nicht wahllos fummeln, mit System eine rs232-Debugschnittstelle bauen und schauen was das Problem ist...
Alles andere führt zu nix.
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 09. Sep 2008, 18:15
bei mir leuchten 2 LED laut einbau anleitung ist es rot undgrün bei mir ist es gelb und grün
muss ich noch anpassen an den layout hab es eben schnell eingelödet.
Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 10. Sep 2008, 13:22
axo nachtrag nach dem ich ihn ja auf 8mhz eingestellt habe läuft da nix mehr unzählige versuche aben nix gebracht als ich den noch auf 1mhz laufen hatte reagierte er öffters bzw überhaupt.
Title: Re: Microkontroller - JTAG
Post by: -sw- on 05. Oct 2008, 19:13
Hallo,

stellt sich hier jemand zur Verfügung einen Atmega gegen Aufwandsentschädigung zu flashen?
(in ermangelung von Rechnern mit LPT-Port....)

Bitte per PM melden - Danke!

-sw-
Title: Re: Microkontroller - JTAG
Post by: bdn on 28. Nov 2008, 00:42
Hi,

nur so um thema  auszuweiten...

wenn man atmega8l benutzt und debug haben will aber den Oszillator nicht einbauen will und der DCA500 vorrätig hat:

DCA500 vorbereiten laut wiki
osccal calibration wert aus atmega8 auselsen : ich hab das mit ponyprog (in ubuntu) gemacht (commmand->read osc calibration byte), avrdude war mir noch nicht klar genug (wurde es begrüssen wen mir jemand den befehl  mitteilen wurde?! ich weis nicht wie ich die  speicher  anschprechen soll... bin newbe... )
bei mir war es 0xB1
für 5V musste es ausreichen
für 3,3V laut

http://atmel.com/dyn/resources/prod_documents/doc2486.pdf seite 276

musste differenz etwa +0x10 sein also bei mir 0xC1 (was auch ohne weiteres geklappt hat!)
in x30Xtmodchip.c OSCCAL setzen
compilieren etc...

nach etlichen versuchen: differenz zwischen 5v und 3.3v ist etwa +0x16





Title: Re: Microkontroller - JTAG
Post by: bdn on 28. Nov 2008, 00:51
oops!

entsprechende pins verbinden (DX, TX, GND)

38400 8N1

8N2 macht es nicht!

edit:
avrdude ist ganz schwierig  ;)
in terminal mode (-t option) befehl lautet:
read calibration
oder mit option
-U cal:r:h:file_name
kann man die werte als hex ins file file_name zu dumpen





Title: Re: Microkontroller - JTAG
Post by: MatrixOne on 03. Dec 2008, 08:17
So mein Modchip problem hab ich nach langer abstnenz gelöst, hatte die X301 erstmal weg gepackt gehabt hat mich irgend wie gestresst das teil :D

heute da teil raus gehohlt und nach geschaut da ich das teil noch offen hatte fiel mir mein ISP kabel auf was noch dran hing mit den wieder ständen und nach entfernen des ISP kapels mit wieder ständen und das einschlaten der BOx bekahm ich auf einmal T-Home meldung was vorher ja nie da war. ... meisten liegt der fehler im auge des betrachters nur sollte man auch mal nen schritt zurück gehen um das problem zu sehen :D

so nun kann ich mich dem ganzen mal genauer witmen wieder so da ich ja jetzt weiss das der chip defiitiv läuft.
Title: Re: Microkontroller - JTAG
Post by: Peacemaker on 09. Feb 2009, 21:53
Hallo Jungs

Ich habe mal eine kleine frage bevor ich das rs232 bastel um zu debuggen, weil der mega8 nicht patcht.

Ich habe eine X300 Rev5 als Bootloader steht im Menü "156.16207980".

Wenn ich an dem Mega8 (5V Ver.) messe sieht alles gut aus Stromversorgung ist da, an den Pins vom Jtag liegen 3,4 Volt an ausser TDO da liegen 0,02 V an, am Reset liegen 3,4 Volt an geht beim ausschalten langsam nach 0.

Noch was ich habe VCC und GND vom Mainboard müssen das VCC und GND vom Jtag auch angeschlossen werden.

Schonmal Danke zu der Super Arbeit die ihr leistet!

MfG Peacemaker


Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 09. Feb 2009, 22:02
Irgend ein gnd sollte reichen, im Zweifelsfall benutz lieber das vom jtag. Zur 5v-Vserion : gibst du deinem Atmega auch wirklich 5v und hast du zwischen atmega und jtag Widerstände eingebaut ? Bei mir wollt er sonst nicht.
Title: Re: Microkontroller - JTAG
Post by: Peacemaker on 09. Feb 2009, 22:27
HI

VCC und GND für den AVR habe ich vom NT und es sind 5V  ;) mir ging es um die GNDs vom Jtag muss ich die nach GND legen?

Widerstände habe ich noch keine dazwischen muss erstmal welche auftreiben wie hoch kann ich denn gehen mit den Widerständen weil 100R habsch vlt. nicht.

Ist es Korrekt das der AVR TDO nach GND Zieht wenn ja dann läuft zmd. der AVR schonmal  ;)

cya


Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 09. Feb 2009, 23:27
Nein, das IST gnd am jtaganschluss, da gibts nix irgendwo hinzulegen. Bei mir gehen 100?. Zum avr, ka...
Title: Re: Microkontroller - JTAG
Post by: Peacemaker on 10. Feb 2009, 22:43
HI

Ich habe 220R genommen damit geht es auch nicht ??? Muss morgen mal das RS232 machen ohne ist halt mist.

Was Komisch ist ich habe nur die BooterCE.exe in das NK geladen und auf die Festplatte kopiert! wenn ich jetzt die Box Starte kommt "Donwload OK!" weil die Box die NK neu laden will, drücke ich "OK" kommt auf dem Display "Fehler".

Nehme ich den AVR raus fängt er an das NK neu zuladen!! merkt die Box wenn ich denn AVR drin habe?

cya




Title: Re: Microkontroller - JTAG
Post by: Peacemaker on 12. Feb 2009, 00:10
Hallo

Der Modchip läuft!

Man sollte immer das Wiki etwas genauer lesen!

Mein Fehler war vlt. dieser

"make sure to delete the TV2ClientCE.exe on the Content Folder, otherwise it will be started instead of the one inside the NK.BIN"


Btw. die Box brauch ein sehr gutes DVB-T Signal um flüssig zu laufen, am besten eine Außenantenne verwenden!

Jetzt kann ich mich um das miserable EPG bei DVB-T und vlt. einem MC-Extender gedanken machen!


cya Peacemaker


Ein fettes Danke an Schneeleopard ;-)




Title: Re: Microkontroller - JTAG
Post by: compi on 10. Mar 2009, 12:02
Hallo ich lese hier schon seit einigen Tagen und begeistert.

Nun möchte ich den Modchip nach @Schneeleopard Anleitung nachbauen.

Leider habe ich eine Verbindung nicht verstanden.

Was ist der ISP connenctor? Alles ander ist mir klar.
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 10. Mar 2009, 12:52
Das ist der Anschluss über den du den Atmel programmierst.
Title: Re: Microkontroller - JTAG
Post by: compi on 10. Mar 2009, 13:58
OK danke.

Aber wieso dann so viele Brücken mit Masse und die extra 3V?
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 10. Mar 2009, 14:11
Vermutlich weil das irgendeine Standardsteckerbelgung irgend eines AVR-Programmers ist.
Title: Re: Microkontroller - JTAG
Post by: ziroo on 16. Mar 2009, 16:39
Ich habe da ein Problem mit nachbauen des Modchips.
habe schon alles soweit verlötet und den controller beschrieben.
Aber irgend wie passiert nix wenn ich die box einschalte kommt nur ein Software Update Bild und die rote led beim Controller geht an.
Ich habe den verdacht das die verbindung für Jtag enable nicht richtig hergestellt ist möchte aber nicht umsonst noch mal am Prozesor rumbrutzeln, gibt es da eine Möglichkeit eindeutig festzustellen das es an der fehlerhaften Verbindung liegt?
Title: Re: Microkontroller - JTAG
Post by: bdn on 16. Mar 2009, 21:09
hi,

debug output soll es verraten (alles laut wiki & this)
Title: Re: Microkontroller - JTAG
Post by: Peacemaker on 16. Mar 2009, 22:41

gibt es da eine Möglichkeit eindeutig festzustellen das es an der fehlerhaften Verbindung liegt?


Hallo

Messe erstmal alle Leitungen nach ob da auch was drauf ist, das Reset Signal ist erstmal unwichtig wird nur für Software Reboots gebraucht.

Wenn du einen 5V Atmel hast dann nimm die Widerstände mit rein, und hast du die TV2ClientCE.exe in dem Content Ordner gelöscht?

Wenn das alles gemacht ist und es immernoch nicht geht dann hilft nur das RS232 mit an den Controller zu löten!



cya
Title: Re: Microkontroller - JTAG
Post by: ziroo on 17. Mar 2009, 08:39
Okay ich prüfe noch mal die ganzen verbindungen.
Hatte nicht die Reset Verbindung gemeint sonder die http://www.t-hack.com/wiki/index.php/EJTAG_on_SMP

so habe alles überprüft aber alle verbindungen sind okay
die datei ist auch gelösch aber es funktioniert trotzdem nix
Title: Re: Microkontroller - JTAG
Post by: ziroo on 18. Mar 2009, 15:29
Kann mein problem damit zusammen hängen das ich eine x301t benutze und alle Programme für x300t ausgelegt sind?
Die Datei TV2ClientCE.exe ist bei mir nicht im Conten Ordner sondern direkt eine ebene drüber.
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 18. Mar 2009, 15:50
Dein Problem liegt irgendwo am Modchip, nicht an irgendwelchen Dateien. Also bau den rs232-Adapter und schau was der Modchip zu meckern hat.
Title: Re: Microkontroller - JTAG
Post by: Peacemaker on 18. Mar 2009, 15:54

Kann mein problem damit zusammen hängen das ich eine x301t benutze und alle Programme für x300t ausgelegt sind?
Die Datei TV2ClientCE.exe ist bei mir nicht im Conten Ordner sondern direkt eine ebene drüber.



Oh Sorry!

Die TV2ClientCE.exe ist natürlich im TV2ClientCE Ordner die muss gelöscht werden.

cya
Title: Re: Microkontroller - JTAG
Post by: ziroo on 18. Mar 2009, 16:01
Habe das Kompelte MyAVR entwicklungs Board hier und kann direkt mit USB ran.
Könnte mir jemand erklären welche Software ich zum debugen benutzen sollte und was für Werte soll ich den erhalten.
Sorry falls ich irgen wie dumme Fragen stelle nur ich kenne mich damit überhaupt nicht aus.
Title: Re: Microkontroller - JTAG
Post by: Peacemaker on 18. Mar 2009, 18:36
Hi

Hast du eine RS232-Schnittstelle mit auf dem Board? meistens ist da ein Max232 drauf. (15 pol. Buchse)

Und du brauchst einen PC mit einem Seriellen Eingang, mit USB wird das nix das ist nur zum Programmieren da.

cya
Title: Re: Microkontroller - JTAG
Post by: rvk on 25. Mar 2009, 11:48
Vielen Dank erst einmal an alle die hier so fleißig mitgewirkt haben.
Ich habe mich jetzt einmal rangesetzt und eine Box umgebaut und mir eine Platine mit Modship und LED's gelötet, die direkt auf die JTAG-Buchse des Boards gesteckt wurde um lange Verdrahtungen zu vermeiden. JTAG Enable habe ich an dem SMP-Chip gelötet.
Jetzt gehen aber die Probleme los! Als Programmer benutze ich ein AVR-Programmer (ELNEC T51prog2). Habe schon diverse Einstellungen im Fuse-Menü probiert, aber leider will alles nicht so laufen wie es soll. Mal gehen keine LED's an, mal alle auf Dauerlicht, nur wenn ich den ATmega8L 8PU auf 1MHz stelle leuchtet erst die gelbe nach ca. 30sec. alle drei und nach weiteren 10sec. nur noch die grüne.
Wie und in welcher Reihenfolge müssen die LED's leuchten, wenn alles richtig wäre?

Das austauschen der Dateien ist mir auch noch nicht ganz klar. Die nk.bin habe ich per binmod getatcht, drei Dateien im Content-Ordner ausgetauscht (BootstrapDiag.xml, Start.xml, tv2config.xml) und die TV2ClientCE.exe gelöscht. Ist das alles? Es wurde noch von einer Datei Namens TV2ClientCE2.exe geschrieben. Diese Datei existiert bei mir nicht oder muss ich die dann noch einspielen?
Title: Re: Microkontroller - JTAG
Post by: rvk on 26. Mar 2009, 14:20
Hat sich erledigt!
Habe jetzt ATmega8L 8PU aus einer anderen Serie genommen und die laufen auch mit 8MHz. Scheinbar laufen nicht alle ATmega8L 8PU mit 3,3V.
Title: Re: Microkontroller - JTAG
Post by: mastermind on 01. Aug 2009, 11:59
Hallo

Auch wenn der letzte Post etwas her ist ...
Evtl. kann mir da einer helfen.
Ich habe nun meine Platine incl. ISP-Connector fertig. Aber leider schaffe ich es nicht den ATMEL zu programmieren.
Also wenn ich den Programmer anstecke => Grüne und Rote LED leuchten.
Wenn ich X301T einschalte => Gelbe LED leuchtet.
Ist das soweit i.O.?!
Also ich bekomme mit meinem AVR Programmer immer die Fehlermeldung:
Code: [Select]
Reading FLASH input file.. OK
Entering programming mode.. FAILED!
Leaving programming mode.. OK!

Da leuchten dann kurzzeitig die Led´s etwas heller auf

Ich habe schon mehrfach nachgemessen ob ich irgendwo was falsch gemacht hab, aber kann bis jetzt nichts finden.
Title: Re: Microkontroller - JTAG
Post by: probutus on 31. Aug 2009, 19:53
Warum muss man eigentlich den Modchip mit dem MiniPCI-Rest-Pin verbinden? Kann man nicht einfach RST_N auf GND ziehen? Lt. eJTAG-Beschreibung sollte das doch die SRST (System Reset) Leitung sein die das Target zurücksetzt (im Gegensatz zu TRST_N wo nur der JTAG-TAP resettet wird)
Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 31. Aug 2009, 20:09
Die Resetleitung ist da damit der Modchip weiss wann er patchen soll, nicht um das System zu resetten.
Title: Re: Microkontroller - JTAG
Post by: probutus on 18. Sep 2009, 22:35
Ich habe mir alle Teile besorgt und will jetzt am Wochenende den Modchip bauen (finally...). Allerdings sind mir noch ein paar kleinigkeiten aufgefallen:

sind die 750 Ohm Vorwiderstände für die LEDs wirklich richtig? Ich habe mal gerechnet, und festgestellt, daß das für eine Spannung von 17V reichen würde; bei 3V3 sollten das 68 Ohm bzw 150 Ohm bei 5V sein, oder?

Kann ich die 3V3 für den Atmel gefahrlos von dem VIO-Pin am JTAG-Port abgreifen? (Ich habe hier in einem Thread gelesen, daß es da Probleme gibt). Wenn nein, wo gibt es einen Alternativpin?

In der EJTAG-Spec von MIPS habe ich gelesen, daß dieser Port Spannungen bis zu 5V verträgt(sonst könnte man ja auch das DLC5-Kabel nicht benutzen ohne die CPU zu grillen); d.h. falls ich den Atmel auf 5V laufen lassen muss, brauche ich keine Widerstände zwischen dem Atmel und dem eJtag-Port, oder?

Title: Re: Microkontroller - JTAG
Post by: Hoernchen on 18. Sep 2009, 23:35
Zumindest bei mir tut sich ohne die Widerstände mit meinem 5v-Atmel garnichts.
Title: Re: Microkontroller - JTAG
Post by: TheIch on 17. Sep 2010, 23:20
die 750 Ohm sind mehr oder weniger richtig:

rote LED Durchlassspannung 1,7V @ 2mA (low Current)
grüne LED Durchlassspannung 1,9V @ 2mA (low Current)
gelbe LED Durchlassspannung 1,8V @ 2mA (low Current)

(3,3V - Druchlassspannung) / 2mA = Widerstand
rot: (3,3V - 1,7V) / 0,002A = 800 Ohm
grün: (3,3V - 1,9V) / 0,002A = 700 Ohm
gelb: (3,3V - 1,8V) / 0,002A = 750 Ohm

Daher ist die grüne LED bisschen dunkler und die rote LED bisschen heller, sollte aber nicht spürbar sein.

Zu den anderen Sachen kann ich nix sagen, bin auch gerade am Anfang vom Projekt (dachte mir, dass das mal ein interessantes Bastelprojekt ist)
Title: Re: Microkontroller - JTAG
Post by: Praet0ri4n on 16. Jan 2011, 00:14

Ich habe mal schnell einen Schaltplan dafür gemacht

Kleiner Fehler im Plan, man denke sich +3.3V wo +5V steht :)

EDIT: Die resetsource hatte ich auch vergessen einzuzeichnen :/
Habe mal den korregierten Plan angehängt, nun auch mit 3.3V.

Ausserdem noch ein Plan, wie der Minimalaufbau aussieht der zum reinen Betrieb des Chips nötig ist.
Wenn man nur den Signaturpatch braucht und kein Linux oder Yamon booten will kann man sogar den Jumper noch weglassen.

EDIT: Quartz für RS232 in Schaltplan eingefügt.


Diese Schema finde ich unendlich hilfreich!!  ;) Nun kann ich sagen, dass ich fast alles zusammengesucht habe um die Teile zusammen zu tun. Nur nicht, wohin der PIN 4 meines ATMEGA8 chips hinführen wird, weil ich in meiner X301T keinen "Reset source" finde. Kurz habe ich gedacht ich hätte es gefunden laut der englischen "BT Vision.pdf" anleitung, nur ist diese für einen komplett anderen typ der BT und die orange markierte stelle kann ich ohne einer sollchen anleitung alleine wahrscheinlich nicht finden. Ich habe viel gegoogelt, glaubt mir!!! Deswegen danke für einen kleinen Hint hierzu im Voraus  8)

Ich habe vor, falls noch Newbies im Thema Elektrotechnik hier was unternehmen möchten, eine pdf mit detailierter beschreibung zusammenzuschreiben mit Fotos von meinem X301T gepachtem Kunstwerk, damit ich den anderen Nerven spare mit beantwortung der Basisfragen...
Title: Re: Microkontroller - JTAG
Post by: Praet0ri4n on 16. Jan 2011, 01:13
als ergänzung meiner obigen Frage wollte ich kurz wissen, wie der Reset Source mit dem USB Chip zusammen hängt (habe hier über einen sollchen USB chip gelesen)


no the reset pin which you connect to the usb chip.
remove the usb end of it (so the chip just has a floating lead connected to it) then momentaraly touch it to ground (any part of the chassis) - this should initiate a reset and make the leds toggle and at least change which indicates the chip is programmed


Überall steht nur Reset Source oder USB Chip. Wo sich dieser auf meiner Board befindet ist offensichtlich schwer zu erfahren. Im Anhang habe ich mein Foto hinzugefügt, wo ich folgendes markiert habe:

- rote Markierung zum JTAG (ist klar)
- 2. rote Markierung fürht zum JTAG enable? Kann dies hier jemand bestätigen? Bei mir heist dieser JP1
- ich habe eine Gelbe Markierung angedeutet, die vom der Prozessorstelle wegführt zum JP1(falls dies der richtige Pin ist für JTAG enable

Frage:
Kann jemand bitte das Foto ergänzen und eventuell ein orangen Punkt hinzumalen, wo "Reset Source" ungefähr liegen kann? Bzw wo in welchen Stellen sich mein USB Chip (falls ich überhaupt einen habe) befindet?

Besten dank. Jetzt muss ich wirklich mal schlafen gehen..... :o
Title: Re: Microkontroller - JTAG
Post by: bdn on 18. Jan 2011, 20:11
Hi,

die Bilder von http://www.t-hack.com/forum/index.php?action=dlattach;topic=47.0;attach=121 (http://www.t-hack.com/forum/index.php?action=dlattach;topic=47.0;attach=121) sind für x301T nicht zutreffend?
Title: Re: Microkontroller - JTAG
Post by: Praet0ri4n on 18. Jan 2011, 20:48
ach tatsächlich... danke für den Hint.... musste nochmals genauer nachsehen und dann kamen mir die Kontakstellen auf einmal bekannt vor :) Super!!! Na dan? Nur mehr mein ATMEGA8 chip abwarten...
Title: Re: Microkontroller - JTAG
Post by: Praet0ri4n on 07. Feb 2011, 15:12
Falls aber dennoch jemand hier vorbeiliest, dann bräuchte ich noch kurz ein kleinen Hint:

Pin 4 on the modchip goes to the Reset pad (marked orange) on the USB chip.
Pin 5 on the modchip goes to JTAG pin 3
Pin 6 on the modchip goes to JTAG pin 9
Pin 7 on the modchip goes to VCC on the box (3v)
Pin 8 on the modchip goes to GND on the box.
Pin 11 on the modchip goes to JTAG pin 7
Pin 12 on the modchip goes to JTAG pin 5
Pin 20 on the modchip goes to VCC on the box (3v)
Pin 22 on the modchip goes to GND on the box (3v)

Allgemein hätte ich eine kleine Ahnung. Wo sollen die rot markierten Pinouts wirklich hin? Wie habt ihr das Gebaut? Ich habe viel nachgelesen und probiert, nur ohne Erfolg. Mein Stück ist nämlich das x301T und diese englische PDF-Anleitung habe ich halt hergenommen weil die ATMEGA8 und JTAG-Verkabelung dieselbe sein dürfte, nur die anderen Kontaktstellen stimmen nicht überein (Power, Reset,...) ?

Ausserdem, mein ATMEGA8 hat ein VCC und AVCC, sind diese gleichwertig? Und die GNDs, kann man die beiden Füsschen des ATMEGA8 kurzschliessen? Und eigentlich würde mir reichen, wenn mir jemand erklärt, was von der Anleitung aus das "on the box" mit oder ohne 3V heisst. Vielleicht einfach eine genauere Erklärung, wo die nötigen Kontaktstellen liegen, oder ein Bild, wie es jemand aderer verkabelt hat :) Grossen Dank! Dann habe ich das ganze nämlich...