Čaute, tak som narazil na ďalší (ako inak než neočakvaný) problém. Svoje čipy Atmaga8L som programoval pomocou bootloaderu vnich cez sériovku a avrdude. Bootloader by mal mať velkosť okolo 1,024 Kilo, a je nastavená ochrana proti jeho prepisu. Atmel s týmto bootloaderom má 8Mhz vnútorný RC a disabled reset. (čiže cez ISP sa do neho nedostanem). Napájaný je 5V. Keď však cez avrdude nahrávam do procesora program, odosielanie aj čítanie prebehne úspešne, no na konci vyhlási chybu:
verification error: first mismatch 0x1800
0x00!=0xff
prvá otázka znie, nemalo by mi to robi´t problémy až okolo 7KB?
povedal som si… nič to, mám tu pár nových atmeg8L naprogramujem to do nich cez ISP. ISP programátor mám tento plesnik.sk/nanoSoft/stavebni … index.html.
v čipe som nastavil tieto fuses:
SUT1, SUT0, CKSEL3, CKSEL1, CKSEL0, SPIEN, BOOTSZ1, BOOTSZ0
nahral som do neho ten istý program , ktorý mi v atmege s bootloaderom ešte fungoval. Spustil som ho v aplikácii… keďže mám delay na začiatku aplikácie, odsledoval som že začína vysielať na SPI ku ostatným atmelkom za rovnaký čas ako ten funkčný(to by asi malo znamenať, že budú mať rovnaké hodinky), no vyzerá to tak, že si s ostatnými atmelmi po tej zbernici nerozumie poriadne…(neovláda proste nič, a prenosy trvajú tak dlho, až nakoniec prenášanie vzdajú, lebo zistia, že si proste nerozumejú). Používam vlastný protokol prenosu, v ktorom sa v jednom kroku pošle informácia ku slave zariadeniu a v druhom prenose slave posiela čo dostal. Takto si master potvrdí, že prenos prebehol úspešne. Robím chybu niekde v nastavení fuses, že tá sériovka nechce fungovať ako má? V tom programe ktorý tam nahrávam sa SPI prekonfiguruje, aby sa z čipu stal master.
Vopred díky za rady.
administrator: přejmenováno z "Programovanie avrdude vs ISP"