AVR-studio 5 beta

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
inseyn
Inlägg: 1
Blev medlem: 26 januari 2011, 15:48:28

Re: AVR-studio 5 beta

Inlägg av inseyn »

Kollade just deras hemsida och det har kommit en beta 2:a av AVR studio 5. Den ska klara stk500.

http://www.atmel.com/dyn/resources/prod ... e_note.pdf

Laddar ner nu:)
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: AVR-studio 5 beta

Inlägg av jesse »

Jag rapporterade nyligen en bugg till Atmel i första betaversionen. De kände inte till buggen och är mycket intresserade av mer info. Så jag ska skicka en del data till dem. Det var en grej i deras simulator.
Kongo
Inlägg: 29
Blev medlem: 18 december 2007, 17:22:19
Ort: Halmstad

Re: AVR-studio 5 beta

Inlägg av Kongo »

Kan man ha 4:an och 5:an installerade parallellt eller uppdaterar installationsprogramvaran 4:an till 5:an?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: AVR-studio 5 beta

Inlägg av thepirateboy »

Det går bra att köra parallellt, det blir två olika installationer.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: AVR-studio 5 beta

Inlägg av jesse »

4:an kan ligga vid sidan om. De påverkar inte varandra.


Angående buggen i AVRStudio5 beta (första betaversionen):

Utvecklarna i Norge kunde inte upprepa felet med sitt system, trots att de fick hela mitt projekt att testa på.
Så här ser buggen ut:

I watch-fönstret vid debugging kan man visa arrrayer av struct-typer. Men i ett fall blev adresserigen fel i enskilda element i arrayen. Här är mitt exempel:

Kod: Markera allt

struct loggtyp {
	uint8_t intervall;	// intervall i sekunder. 0 = inaktiverad
	uint16_t loggdata;	// typ av data som ska loggas
	uint8_t counter;	// räknar ner sekunder
	uint8_t flagga;		// flagga är satt om timer nått noll.
};

struct loggtyp           logg[ANTAL_LOGGAR];

void setDefaultLogg(void) {
	clear_all_loggs();
	logg[1].intervall = 0x10;
	logg[1].counter   = 0x20;
	logg[1].loggdata = 0xaabb;
}
och i watch ser man då att om adressen till @logg[0] = 0x6600 så blir adressen till logg[1] = 0x6601, @logg[2] = 0x6603 osv... dvs. helt fel! varje element är ju 5 bytes lång och det borde vara @logg[1] = 0x6605, @logg[2] = 0x660a osv...

Felet gör att data visas fel i watchfönstret. I exemplet ovan lägger jag t.ex. in 0x10 i logg[1].intervall vilket är detsamma som att lägga in 0x10 i byte 5 i arrayen. Men i watchfönstert visas detta som: (observera hur 0x10 förekommer överallt där adressen antas vara @6605)

Kod: Markera allt

logg[0]
	logg[0].intervall  = 0x00;        @6600
	logg[0].loggdata   = 0x0000;      @6601
	logg[0].counter    = 0x00;        @6603
	logg[0].flagga     = 0x00;        @6604
logg[1]
	logg[1].intervall  = 0x00;        @6601
	logg[1].loggdata   = 0x0000;      @6602
	logg[1].counter    = 0x00;        @6604
	logg[1].flagga     = 0x10;        @6605
logg[2]
	logg[2].intervall  = 0x00;        @6602
	logg[2].loggdata   = 0x0000;      @6603
	logg[2].counter    = 0x10;        @6605
	logg[2].flagga     = 0x00;        @6606
logg[3]
	logg[3].intervall  = 0x00;        @6603
	logg[3].loggdata   = 0x1000;      @6604
	logg[3].counter    = 0x00;        @6606
	logg[3].flagga     = 0x00;        @6607
Skriv svar