hurtowe programowanie AVR ?

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

Jak się pogrzebie na stronie, to da się obejść podawanie swoich danych osobowych :) Wystarczy elementowi id="download_button" usunąć ukrywanie :)

Żadne klikadło nie pobije skryptu :)

Reply to
Grzegorz Niemirowski
Loading thread data ...

no i przechwaliłem. Jest tak ; kiedy ustawię fusy (via MkAVR kalkulator) w procesorze, to mi ten skrypt działa :

avrdude -p atmega8 -c usbasp -P usb -u -U lfuse:w:0x3F:m -U hfuse:w:0xC8:m

avrdude -p atmega8 -c usbasp -P usb -U flash:w:"C:\Users\sundayman\Desktop\Ziff preprogram files\Firmware

851\M8\M8 hardware 4_38 bootloader 1 & firmware 17.hex":i -D -U eeprom:w:"C:\Users\sundayman\Desktop\Ziff preprogram files\Firmware 851\M8\M8 hardware 4_38 bootloader 1 & firmware 17 EEPROM.eep":i

avrdude -p atmega8 -c usbasp -P usb -U lock:w:0x14:m

ale- kiedy biorę czysty procesor, to wywala mi się po każdej linijce : target doesn't answer

o co biega ?

Reply to
sundayman

W dniu 2016-04-18 o 23:09, sundayman pisze:

Problem z kablem USB lub samym programatorem? Może i dlatego wersja okienkowa nie działa :)

Reply to
Marcin

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

W USBasp można ustawiać prędkość magistrali SPI, szybszą albo wolniejszą. Pewnie ustawiłeś szybszą i świeży procek, z domyślnym taktowaniem 1 MHz, nie nadąża. W tamtych używanych pewnie masz już ustawione taktowanie 4 albo 8 MHz i dlatego działa. Przestaw zworkę w USBasp na mniejszą prędkość.

Reply to
Grzegorz Niemirowski

ale via MkAVR nie muszę nic przestawiać - w świeżym mcu można ustawić fusy (kiedy jest jeszcze na 1Mhz), a potem wgrać program (kiedy już fusy są przestawione).

Te linie skryptu skopiowałem z okienka MkAvr czyli powinno to jakby działać ?

Reply to
sundayman

czyli może inaczej - jak zrobić, żeby 1 linia czyli ustawienie fusów poszło wolno, a reszta szybko ?

No bo oczywiście mogę założyć zworkę na programator, ale jeżeli mam ją potem zdejmować, żeby reszta poszła szybko - to bez sensu, bo to już 1 skryptem się nie da.

A całość programować wolno - też bez sensu. Za długo to trwa.

Reply to
sundayman

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

Pewnie miałeś ustawioną zworkę na wolniejszą prędkość.

Bo ten program jest tylko nakładką na AVRDUDE, sam nic nie programuje.

Reply to
Grzegorz Niemirowski

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

Niestety.

USBasp ma tylko ręczne przestawianie prędkości.

Reply to
Grzegorz Niemirowski

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

A jaki masz dokładnie programator? Bo jeśli MkAVR sobie radzi, to znaczy, że masz nowszą wersję USBasp, w której można zmieniać prędkość przez USB. I wtedy używasz opcji -B do ustawienia okresu taktowania. Spróbuj ustawiać fusy samą opcją -B, a programować już z opcją -B 1

Reply to
Grzegorz Niemirowski

ale właśnie nie. Zworkę mam cały czas zdjętą.

I - kiedy jest MkAVR zaznaczony "Auto SCK speed", to bez żadnego przestawiania można na "świeżym" mcu zaprogramować fusy na szybki kwarc, i potem też bez żadnego przestawiania już na pełnej prędkości wgrać resztę.

Ale chyba rozwiązałem - po dodaniu do pierwszej linii parametru -B 5 ( podobno na 1Mhz) działa OK.

Tj. programuje fusy - a potem już leci "na szybko" z flashem i eepromem. Dziwne, ale działa.

Reply to
sundayman

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

Tak, to jest właśnie to. -B pozwala zmienić programowo prędkość zegara SPI/ISP. Zapomniałem, że jest taka opcja.

Reply to
Grzegorz Niemirowski

Znaczy np. jeżeli mam przestawiony zegar na zewnętrzny kwarc 14.7Mhz, to jaki ten parametr powinien być ?

Reply to
sundayman

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

Dla 14,7 MHz zegar SPI nie powinien być szybszy niż 3,6 MHz. Okres nie powinien być więc krótszy niż ok 0,3 mikrosekundy. Nie wiem jakie maksymalne prędkości wspiera USBasp. Spróbuj z opcją -B 0.3. Jak nie zadziała, to -B

0.5 lub -B 0.7. Możliwe, że 1 to najmniej, ale najlepiej sprawdź doświadczalnie przy jak małej wartości jeszcze da się programować Flash. Sam Flash w procku pewnie też ma jakieś ograniczenie.
Reply to
Grzegorz Niemirowski

dobra, już jest prawie idealnie :) Znaczy programuje i jest ok.

Ale - jeżeli w jakiejś linii skryptu pojawia się błąd, to skrypt się nie zatrzymuje, tylko leci dalej. A ponieważ jest tego sporo do ogarnięcia, fajnie by było, żeby na jakiś error się całość zatrzymała. Da się tak ?

Reply to
sundayman

sundayman snipped-for-privacy@poczta.onet.pl> napisał(a):

Musisz sprawdzać, czy wystąpił błąd. Masz do dyspozycji zmienną %errorlevel% ustawianą przez AVRDUDE po każdym uruchomieniu. Jak nie ma błędu, to wynosi

0, jak jest błąd, to 1.

avrdude.exe ........ IF ERRORLEVEL 1 GOTO END avrdude.exe ........ :END

Reply to
Grzegorz Niemirowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.