TSA6057
Michal
krestan
Středa Březen 17 14:36:43 CET 2004
Dobr? den
Nemohl by n?kdo znal? AVR a AVRGCC poradit?
Necht?l jsem u? pou??vat krekl? p?eklada? C\/A\/R, tak? (ale nejen) kv?li
tomu, ?e krek nen? 100% a n?kdy p?estane fungovat a je t?eba p?einstalovat
cel? wokna.
Tak se sna??m p?ej?t na AVRGCC, ktr? je free pod GNU.
V posledn? verzi na?t?s? postr?d?m nedostatek p?edchoz?ch, kde se nedalo
p?istupovat do SFR zp?sobem nap?. for(PORTA=0;PORTA>9;PORTA++){}; co? te? u?
jde a to je skv?l?.
Objevil se p?edemnou v?ak p?ed chv?l? z?va?n? probl?m:
V programu chci vyu??vat p?eru?en? od INT0, INT1 a od p?ete?en? ??ta?e.
Za??tek programu vypad? takto:
#define __AVR_4433__
#include <io.h>
#include <sig-avr.h>
#include <interrupt.h>
#include <progmem.h>
Ov?em takhle si to vysv?tluje p?eklada?.
Obsluha vektor? p?eru?en?: (zcela v pravo ozna?eny zdroje, kter? m?
zaj?maj?)
+00000000: C010 RJMP +0x0010 ; Destination: 0x000011
reset
+00000001: C02A RJMP +0x002A ; Destination: 0x00002C
INT0
+00000002: C029 RJMP +0x0029 ; Destination: 0x00002C
INT1
+00000003: C028 RJMP +0x0028 ; Destination: 0x00002C
+00000004: C027 RJMP +0x0027 ; Destination: 0x00002C
+00000005: C026 RJMP +0x0026 ; Destination: 0x00002C
+00000006: C025 RJMP +0x0025 ; Destination: 0x00002C
T/C01OVF
+00000007: C024 RJMP +0x0024 ; Destination: 0x00002C
+00000008: C023 RJMP +0x0023 ; Destination: 0x00002C
+00000009: C022 RJMP +0x0022 ; Destination: 0x00002C
+0000000A: C021 RJMP +0x0021 ; Destination: 0x00002C
+0000000B: C020 RJMP +0x0020 ; Destination: 0x00002C
+0000000C: C01F RJMP +0x001F ; Destination: 0x00002C
+0000000D: C01E RJMP +0x001E ; Destination: 0x00002C
Ze zcela nepochopiteln?ch d?vod?, ve v?ech p??padech p?eru?en?, sk??e na
adresu 0x2c
+0000002B: C15D RJMP main
+0000002C: CFD3 RJMP -0x002D ; Destination: 0x000000
A z adresy 0x2c sk??e na reset
Pro?????
Pro?????
Pro?????
Pros?m pora?te
Jakub Ladman
Další informace o konferenci Hw-list