naprogramovanie ATmega164A

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 11:34

tdravím :D

potrebuje si naprogramovat tento mikroprocesor no a používam AVR8-Burn-O_ma a programator http://www.fischl.de/usbasp/
normálne som si nastavil v menu tento mikroprocesor a ako prve som chcel prečítat fuse ako su nastaven no nejde mi ich prečítat Burn o mat napíše toto :
avrdude.exe: AVR Part "m164" not found.

skušal som aj slov sck na programatore ale no nepomohlo

mal by som stiahnut novšiu verziu Burn-O _Mat alebo čo hmm ?
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: naprogramovanie ATmega164A

Príspevok od používateľa Tribec Zacks » 07 Feb 2018, 13:06

ak nemas analyzer, skus dat ledky cez rezistor na sck a data a nejaky pomaly clock speed, mali by prebliknut ked chces detekovat alebo programovat mcu, zistis tym ci ten programmer chce nieco s mcu robit. ak nemas externy krystal na mcu a ten bol predtym naprogramovany na externy krystal, tak ho musis pripojit. a hlavne skontroluj vsetky prepojenia poriadne. a jj stiahni novsiu verziu, najlepsie aj niekde v release note pozret podporu mcu a bugy.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: naprogramovanie ATmega164A

Príspevok od používateľa dan21 » 07 Feb 2018, 13:14

pozri ci ma AVR8-Burn-O_ma v konfiguracnom subore podporu pre m164. Avrdude ma config kde to mas definovane
Vyzera to ze tvoj soft nepozna (nema definovane) m164
0

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 14:31

v tom config subore bolo napísane toto :

#------------------------------------------------------------
# ATmega164P
#------------------------------------------------------------

# close to ATmega16

part
id = "m164p";
desc = "ATMEGA164P";
has_jtag = yes;
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
avr910_devcode = 0x74;
signature = 0x1e 0x94 0x0a;
pagel = 0xd7;
bs2 = 0xa0;
chip_erase_delay = 9000;
pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
"x x x x x x x x x x x x x x x x";

chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
"x x x x x x x x x x x x x x x x";

timeout = 200;
stabdelay = 100;
cmdexedelay = 25;
synchloops = 32;
bytedelay = 0;
pollindex = 3;
pollvalue = 0x53;
predelay = 1;
postdelay = 1;
pollmethod = 0;

pp_controlstack =
0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
hventerstabdelay = 100;
progmodedelay = 0;
latchcycles = 5;
togglevtg = 1;
poweroffdelay = 15;
resetdelayms = 1;
resetdelayus = 0;
hvleavestabdelay = 15;
chiperasepulsewidth = 0;
chiperasepolltimeout = 10;
programfusepulsewidth = 0;
programfusepolltimeout = 5;
programlockpulsewidth = 0;
programlockpolltimeout = 5;

idr = 0x31;
spmcr = 0x57;
allowfullpagebitstream = no;

memory "eeprom"
paged = no; /* leave this "no" */
page_size = 4; /* for parallel programming */
size = 512;
min_write_delay = 9000;
max_write_delay = 9000;
readback_p1 = 0xff;
readback_p2 = 0xff;
read = " 1 0 1 0 0 0 0 0",
" 0 0 x x x x a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";

write = " 1 1 0 0 0 0 0 0",
" 0 0 x x x x a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_lo = " 1 1 0 0 0 0 0 1",
" 0 0 0 0 0 0 0 0",
" 0 0 0 0 0 0 a1 a0",
" i i i i i i i i";

writepage = " 1 1 0 0 0 0 1 0",
" 0 0 x x x x a9 a8",
" a7 a6 a5 a4 a3 a2 0 0",
" x x x x x x x x";

mode = 0x41;
delay = 10;
blocksize = 128;
readsize = 256;
;

memory "flash"
paged = yes;
size = 16384;
page_size = 128;
num_pages = 128;
min_write_delay = 4500;
max_write_delay = 4500;
readback_p1 = 0xff;
readback_p2 = 0xff;
read_lo = " 0 0 1 0 0 0 0 0",
" 0 0 a13 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";

read_hi = " 0 0 1 0 1 0 0 0",
" 0 0 a13 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";

loadpage_lo = " 0 1 0 0 0 0 0 0",
" 0 0 x x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_hi = " 0 1 0 0 1 0 0 0",
" 0 0 x x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

writepage = " 0 1 0 0 1 1 0 0",
" 0 0 a13 a12 a11 a10 a9 a8",
" a7 a6 x x x x x x",
" x x x x x x x x";

mode = 0x21;
delay = 6;
blocksize = 128;
readsize = 256;
;

memory "lock"
size = 1;
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
"x x x x x x x x x x o o o o o o";

write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
"x x x x x x x x 1 1 i i i i i i";
min_write_delay = 9000;
max_write_delay = 9000;
;

memory "lfuse"
size = 1;
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
"x x x x x x x x o o o o o o o o";

write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
"x x x x x x x x i i i i i i i i";
min_write_delay = 9000;
max_write_delay = 9000;
;

memory "hfuse"
size = 1;
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";

write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
"x x x x x x x x i i i i i i i i";
min_write_delay = 9000;
max_write_delay = 9000;
;

memory "efuse"
size = 1;

read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";

write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
"x x x x x x x x 1 1 1 1 1 i i i";
min_write_delay = 9000;
max_write_delay = 9000;
;

memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
"x x x x x x a1 a0 o o o o o o o o";
;

memory "calibration"
size = 1;

read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
"0 0 0 0 0 0 0 0 o o o o o o o o";
;
;
0

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: naprogramovanie ATmega164A

Príspevok od používateľa dan21 » 07 Feb 2018, 15:07

takze skus pouzit m164p :-)
0

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 15:13

no a jak ? :D
Prílohy
obrazok.jpg
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: naprogramovanie ATmega164A

Príspevok od používateľa Tribec Zacks » 07 Feb 2018, 15:30

V klude prepis ID v tom konfiguraku na 'm164'
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: naprogramovanie ATmega164A

Príspevok od používateľa dan21 » 07 Feb 2018, 15:30

V tomto ti neporadim, kedze AVR8-Burn-O_ma nepouzivam a ani nepoznam
0

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 15:45

no prepísal som to na configu na 'm164'
a začalo sa diat toto:


avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x1e940f
avrdude.exe: Expected signature for ATMEGA164P is 1E 94 0A
Double check chip, or use -F to override this check.

avrdude.exe done. Thank you.




či som mal všade prepísat to na m164 ?
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: naprogramovanie ATmega164A

Príspevok od používateľa Tribec Zacks » 07 Feb 2018, 16:12

Vypada to ze budes muset poguglit presny konfig pre tvoj mcu do avrdude, neviem ake su presne rozdiely medzi "164" a "164p", ale ak nepouzivas nic specificke co je medzi nimy rozdielne, tak by ti program mal fungovat, pridaj flag -F k spustaniu avrdude. Flashnut ti to flashne a malo by to ist, ale nerucim ti to, ak su rozdiely v poistkach, alebo v niecom podobnom tak tam je riziko ze nieco nepojde.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 16:16

a ako tam dam to -F ?
0

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: naprogramovanie ATmega164A

Príspevok od používateľa dan21 » 07 Feb 2018, 16:18

alebo v konfiguraku skopiruj celu definiciu m164. Prepis meno, signature ..........
0

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 16:35

dobre prepísal som v configu na signaturu už mi to ide a ide to na vnutornom RC oscilatore a teraž chcem nastavit na externý 16MHZ kryštal tak by som mal dat takto ?
Prílohy
obr22222.jpg
0

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: naprogramovanie ATmega164A

Príspevok od používateľa dan21 » 07 Feb 2018, 16:37

0

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 16:59

možem sa spytat načo je tento bit ? CKDIV8 čo tým nastavím ? to ako ked mam tam 16MHZ on mi predeli frekvenciu 8 ? väčšínou robim s megami 16 a 32 a tam daco take nieje ?
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: naprogramovanie ATmega164A

Príspevok od používateľa Tribec Zacks » 07 Feb 2018, 17:05

fagi napísal:možem sa spytat načo je tento bit ? CKDIV8 čo tým nastavím ? to ako ked mam tam 16MHZ on mi predeli frekvenciu 8 ? väčšínou robim s megami 16 a 32 a tam daco take nieje ?
Clock divide by 8. Ano, vydeli 8.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 07 Feb 2018, 17:11

takže ked dam 16MH kryštal tak mi pojde na 2Mhz aj CPU aj periferie taže nema byt zašktrnuty dobre?
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: naprogramovanie ATmega164A

Príspevok od používateľa Tribec Zacks » 07 Feb 2018, 17:49

fagi napísal:takže ked dam 16MH kryštal tak mi pojde na 2Mhz aj CPU aj periferie taže nema byt zašktrnuty dobre?
16/8 = 2. <- co vsetko je clocknute tymi 2MHz sa docitas v datasheete, ale ano aj periferie u avr.

to ci ma byt zaskrtnuty, alebo nie, zalezi na tebe. ak potrebujes 16MHz, tak nema byt zaskrtnuty. ak ti netreba rychlost a potrebujes optimalizovat na spotrebu, tak to je jedna z moznosti ako ju znizit..
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: naprogramovanie ATmega164A

Príspevok od používateľa fagi » 08 Feb 2018, 20:30

cudný priebeh ,aj ked retenem to ta tak to zostane
cudný priebeh ,aj ked retenem to ta tak to zostane
este mam takú záhadu :confused:

som skušal napísal daco robit s casovacmi generovanie pwm no ale nefungovalo mi to ale vo while(1) mam taku cast programu čím kontrolujem ci to sa dakde mi nezacyklilo
nakoniec som ten program očesal až na to ninimum že to len akoby" bliká s ledkou" som tento program :


#define F_CPU 16000000UL
#include <avr/interrupt.h>
#include <avr/io.h>

int main(void)
{
DDRA |= (1 << PA0); //output pin

while(1)
{

PORTA |= (1<<PA0);
for(int i=0;i<4000;i++){}
PORTA &= ~(1<<PA0);
for(int i=0;i<4000;i++){}


}
}

proste obycajne blikanie no na osciloskope mi toto zobrazí niečo akokeby sa tam prerušovalo a ani resetom sa to nezmení ale až odpojením a pripojením programatora, zaujímave že je to dost taký nepredvídatelný problem, a neviem si vysvetlit čo ho spôsobuje
Prílohy
normalne po odpojení a pripojení programatora
normalne po odpojení a pripojení programatora
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: naprogramovanie ATmega164A

Príspevok od používateľa Tribec Zacks » 08 Feb 2018, 22:43

mas dobry pullup na resete? s pripojenym programmerom ti to moze robit sarapatu, zalezi co je v programmeri..
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok