JTAG krokování programu v AVR Studiu 4 v jazyku "C&quot

Zdravíčko.
Tak jsem se opět dostal k programování MCU, tentokrát jsem se rozhodl, že se naučím v jazyce C programovat AVRka.
Proto jsem si postavil JTAG programátor. Ale teď jsem se dostal do mrtvého bodu.
Když programuju v ASM v prostředí AVR Studiu 4 vše funguje jak má. Ale jak vytvořím projekt v Cečku a snažím se o krokování, nedej bože o spuštění tak nic.
Nevíte někdo jak na to? Nebo nemáte nějaký návod, jak to rozjet? Našel jsem návod na ECLIPSE, ale já bych radši to AVR Studio. Předem děkuji všem, kdo mi jakkoli poradí.

:arrow_right: administrator: přesunuto z "Ostatní"

Co je to za programátor?

jo to jsem zapomněl dodat. Jedná se o JTAG Ice Usb

Nikdo nic? Podařilo se mi najít, že k tomu budu potřebovat CodeVision a AVR studio. ALe nevím jak to mezi sebou propojit.

Nevim jestli to nějak pomůže, ale jeden můj kamarád s tímto něco dělal a popisoval mi to takto: V Codevision si zkompiluju projekt a pak na něco kliknu, tím se mi otevře avr studio a do něj se mi natáhne ASM soubor, který mohu krokovat. Nikdy jsem toto ale nezkoušel.

K JTAGICE potřebuješ určitě to AVR studio - ne však nutně Codevision, ten jenom používá debuger AVR studia, k AVR studiu si můžeš stáhout jako C compiller třeba Winavr.

Pak je taky důležité, co máš za typ mcu - skoro všechny s JTAG se dají programovat, ale jen některé ladit.

Nakonec to nemá s .asm souborem nic společného - pro debug se generuje soubor .cof . Teď nemám moc času, ale pokud mně někdo nedoplní dřív, tak ti sem hodím podrobný popis jak to spáchat - myslím tu kombinaci CV,AVR studio, JTAGICE.

Nejjednodušší cesta - stáhni a nainstaluj Winavr - třeba tady : winavr.sourceforge.net/download.html

Jelikož asi AVR studio znáš, tak víš jak založit projekt - jenom ve wizzardu v project type odklikneš “býka” (nebo co to je) AVR GCC místo Atmel AVR assembler. Napíšeš program, zkompiluješ klikneš na zelenou šipku a vesele ladíš - ale to už jistě znáš :wink:

Kdybys ale mermomocí touži po tom Codevisionu (není špatný) - tam je postup trochu jiný.

V settings/debugger si nastavíš AVR studio - po překladu tvojeho programu pak jen klikneš na “berušku” na liště a onose ti otevře s nabídkou New project/ Open - dáš Open - vybereš soubor typu COFF symbolic debug file samozřejmě ten z tvého projektu - po odkliknutí se otevře okno s nabídkou uložení souboru jako .aps (AVR studio project files).

Dál už je to pak stejné.

Jestli s C začínáš - doporučuju výborný nástroj (příloha) - kde si jenom jednoduše zaškrtáváním políček a výběrem v roletkách nastavíš všechny periferie a nastavení procesoru - ušetří to spoustu času stráveného hledáním v datasheetu.

To platí v případě volby Winavr - Code vision tento codewizzard (mnohem propracovanější) už obsahuje.
AvrWiz_0_009.zip (35.4 KB)

Tak už fakt nevím. Dělal jsem všechno podle návodu. Mám nainstalované jak AvrStudio 4, tak i WinAVR.

napsal jsem si zkušební, velmi jednoduchý program:

#include <avr/io.h>
#include <util/delay.h>

int main (void){
	DDRA = 0xFF;
	while (1){
		PORTA = 0xFF;		//zhasnuti DIOD
		_delay_ms(1000);
		}
}

ale opět a zase stejné hlášení při kompilaci v AVR Studiu.

dep/lcd.c:1: *** missing separator. Stop.

Nevíte, co jsem tomu AVR Studiu provedl?

Vůbec netuším proč ti to nejde, schválně jsem zkusil zkompilovat ten tvůj kód - a úplně v pohodě.
Netuším, proč ti to tam plete ten soubor lcd.c.

Nemáš nějakou chybu při zakládání projektu? A co máš vůbec za typ mcu?
Zkus ještě založit nový “čistý” projekt a tam vlož ten kód.
Jinak nevím - odinstalovat a znovunainstalovat AVR studio i Winavr.

Tak problém byl asi někde v AVR Studiu. Přeinstaloval jsem to, a už to nahrává,… . Ale mohl by mi někdo říct, jak nastavit pojistky? Protože ten Debug nějak blbne, tak jsem si říkal, že by to mohlo být v tomto.

To nevím, ale kdybys měl blbě pojistky tak se myslím ani s mcu nespojíš.
Zkusil bych odškrtnout ten OCDEN z výroby je nastavený na “1”- disabled a tys ho dal na “0” - enabled. Mně to teda chodí i bez něj.

Tak OCDEN jsem zrušil a nějak to už jede. Nyní si zkouším zapojení LCD, ale opět problém. Jsem začátečník, berte prosím na mě ohledy. Tady jsem vyfotil problém, ale nevím jak ho vyřešit. Můžete pomoci?

Nemáš tam definovanú frekvenciu procesora v #define F_CPU 1000000L (napr pre 1MHz). Predpokladám, že LCD_INIT a pod používa delay, kde potrebuje mať zadefinovanú frekvenciu procesora…

jjasné. Bylo tímto. Dík moc