Polský programátor z GME a Atmel Studio

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Mara88
Příspěvky: 38
Registrován: 30 zář 2016, 00:00
Bydliště: Brno

#31 Příspěvek od Mara88 »

tak mám propojeno jp3 i jp1 jak si psal, ale stejná hláška na atstudiu i avrdude... myslím, že to ale nebudu mít uplně nastaveno
Přílohy
avrdude.jpg
(76.5 KiB) Staženo 193 x
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#32 Příspěvek od FHonza »

Už sem téměř bez nápadů jak dál :) Změř jestli po připojení programátoru je na programovaném procesoru napětí (piny 7, 8 ). Jestli máš tu možnost, podívej se jestli něco smysluplného "leze" na SCK.

Když všechno selže, tak mi pošli přes SZ adresu, pošlu ti zaručeně funkční ATMegu8 ať se zjistí v čem je chyba.
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#33 Příspěvek od mtajovsky »

Pánové, :) ta hláška nemá nic společného s propojením na cílový programovaný processor, s jeho hodinami nebo napětím na něm a tak dále.

Když FW USBasp dostane povel USBASP_FUNC_SETISPSCK, tak si pouze nastaví periodu hodin a jde od toho:

Kód: Vybrat vše

. . .
else if (data[1] == USBASP_FUNC_SETISPSCK) {

      /* set sck option */
      prog_sck = data[2];
      replyBuffer[0] = 0;
      len = 1;
} else if . . .


Pokud takový příkaz nezná - stará verze FW - tak zůstává nastavena délka odpovědi na 0 (začátek funkce usbFunctionSetup() ):

Kód: Vybrat vše

uchar usbFunctionSetup(uchar data[8]) {

   uchar len = 0;

. . . zpracování příkazů ...

        return len;


Podívejte se do zdrojáků USBasp na modul main.c, jestli mi nevěříte. Dříve jsem popsal, která rutina v avrdude inkriminovaný příkaz posílá a jak to vyhodnotí:

Kód: Vybrat vše

int nbytes =
    usbasp_transmit(pgm, 1, USBASP_FUNC_SETISPSCK, cmd, res, sizeof(res));

  if ((nbytes != 1) atd. ... tak chyba


A protože vrácené len od USBasp je 0, tak nbytes na straně avrdude je také 0 - nerovná se 1. Pak se vypíše chyba a šmitec.
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#34 Příspěvek od FHonza »

Já Ti věřím :) Jak jsem psal, mám programátor se starou verzí firmware, která nepodporuje -B. Když je rozpojená propojka "Slow SCK" na programátoru a procesor je nastavený na interní oscilátor s předděličkou, tak to skončí přesně hláškou, kterou psal Mara88. Po přepnutí, kdy dojde ke snížení taktu SCK pak vše funguje.
Tou samou hláškou skončí programování bohužel i v dalších případech. Když není procesor napájen, když není SCK, MISO a MOSI správně zapojeno ... Včera jsem to schválně zkoušel.
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#35 Příspěvek od mtajovsky »

To co jsem popsal - úryvky zdrojáku - je chování nové verze FW. Starší verze, která nezná příkaz pro nastavení hodin, také nemusí být ještě jediná verze. Tvoje verze FW pravděpodobně umí číst stav propojky a podle toho se zařídit, otázka je, jakou verzi FW má Mara88. Já jsem taky nejdřív laboroval a po update FW nemám problém ani v AtmelStudiu ani v Arduinu ani jinde. Asi nejčistší řešení by byl update FW, pak se zbaví nutnosti laborování s propojkou a tak dále.

Obecně - co mě zaráží, že firmy prodávají tohle zařízení, vydělávají na open source projektech a přitom ani nezajistí funkční verzi FW.
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#36 Příspěvek od FHonza »

Podle schématu tam "Slow SCK" propojku má, podle fotky není osazená ...

Podle stránek Thomase Fischla je poslední verze firmware 2011-05-28, to je ta co máš Ty ? Že bych taky upgradoval. I když na druhou stranu žádný problém nemám.
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#37 Příspěvek od mtajovsky »

Ano, dal jsem tam poslední verzi z jeho stránek.
Uživatelský avatar
Mara88
Příspěvky: 38
Registrován: 30 zář 2016, 00:00
Bydliště: Brno

#38 Příspěvek od Mara88 »

Ano na pinech je napětí a bohužel sck nejsem schopen zjistit...
mám takový pocit, že je chyba v programátoru a možná i to moje atmel studio je blbuvzdorné, jelikož když chci kompilovat program, který je zaručeně napsán správně, tak mi to hodí hlášku:
Severity Code Description Project File Line
Error recipe for target 'main.o' failed GccApplication1 c:\users\admin\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\Debug\Makefile 79

a

Severity Code Description Project File Line
Error until/delay.h: No such file or directory GccApplication1 c:\users\admin\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\main.c

jinak já mám tu poslední verzi nahranou o které se bavíte...

Ničemu se nebráním, rád to udělám, ale prosil bych postup trošku pro blbce abych věděl:-)
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#39 Příspěvek od mtajovsky »

Mara88 píše:... Error until/delay.h: No such file or directory GccApplication1 c:\users\admin\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\main.c ...

until/delay.h bude špatně, spíš bych to viděl na util/delay.h

Stránku, kde je popsáno jak udělat update FW, jsem již sem dával. Tak ještě jednou:

http://shannonstrutz.com/uncategorized/ ... l-studio-6
Uživatelský avatar
Mara88
Příspěvky: 38
Registrován: 30 zář 2016, 00:00
Bydliště: Brno

#40 Příspěvek od Mara88 »

ok, 10x jsem to četl a bohužel jsem si nevšiml...

tak jsem to nainstaloval znovu podle návodu co jsem dostal naposled a pořád stejné, akorát jsem teda použil atmel studio 7 místo 6...
jako parametr jsem použil:
-p m32 -c usbasp -P usb -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

jelikož mám atmega8

A ještě tam zmiňuje něco o druhém programátoru a ArduinoAsISP sketch, to nevím jak si mám vyložit. Stačí mi teda ten jeden nebo musím mít 2?
Stejná hláška jako předtím, co jsem to instaloval podle Honzova návodu.
Uživatelský avatar
Victronix
Příspěvky: 978
Registrován: 23 lis 2007, 00:00
Bydliště: Vážany

#41 Příspěvek od Victronix »

Musíš mít 2.
Teď jsem to zkoušel.
Měl jsem 2 kusy z E-bay.
Jeden fungoval a jeden ne.
Ten co funguje jsem dal do USB.
Ten druhý jsem připojil přes 10-pin k tomu v USB.
Na tom prvním jsem nastavil jumper na 5V.
Na tom druhém jumper na 5V a ještě jumper na druhý JP2, který jsem musel přidat /připájet nový/. Je to propojka, která umožňuje naprogramování tohoto procesoru.
V programu extreme burner jsem otevřel usbasp.atmega8.2011-05-28.hex (stažený z http://www.fischl.de/usbasp/) a napálil jej do toho nefunkčního USBasp (přes ten funkční USBasp).
A už fungují oba dva.
Uživatelský avatar
Mara88
Příspěvky: 38
Registrován: 30 zář 2016, 00:00
Bydliště: Brno

#42 Příspěvek od Mara88 »

Takže bud koupit druhej a mít jeden navíc nebo ho někomu půjčit at mi ho naprogramuje:-) Kdo se hlásí?
Uživatelský avatar
Victronix
Příspěvky: 978
Registrován: 23 lis 2007, 00:00
Bydliště: Vážany

#43 Příspěvek od Victronix »

Kdyby jsi si vyplnil bydliště tak se třeba někdo blízký najde.
Uživatelský avatar
Mara88
Příspěvky: 38
Registrován: 30 zář 2016, 00:00
Bydliště: Brno

#44 Příspěvek od Mara88 »

a po 3 týdnech se zjistilo, co je špatně:-) Kdyby mi někdo chtěl nabídnou pomoc tak jsem u Slavkova u Brna... Díky
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#45 Příspěvek od FHonza »

Jestli zvládneš postavit programátor na nepájivém poli, tak ti pošlu naprogramovanou Megu8 s nejnovějším firmware. Pak s tím můžeš přeprogramovat svůj programátor. Když tak mi pošli SZ s adresou.
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“