Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Einstieg in die Mikrocontrollertechnik
Hallo erstmal,
um einen Einstieg in die Welt der Mikrokontoller..... zu finden habe ich u.a. das "kleine" Programm, das in dem
Buch Mikromodelle (Band1) auf den Seiten 49-51 zu finden ist, sorgfälitig abgekupfert und mit der aktuellen
Version des AVR-Studio 4.12528 umgewandelt. Trotz großer Sorgfalt beim ERfassen des Programms konnte das AVR-Studio keine hex-File erstellen. Ich bekomme vielmehr immer 4 Fehler angezeigt:
Undefined symbol EXT-Int
Undefined symbol PCINTaddr
Undefined symbol T1COMPasddr
Undefined symbol EERDYaddr
Hat jemand von euch vielleicht die gleiche "Erfahrung" machen müssen und kennt die Fehlerursache oder
kann mir da jemand helfen?
Leider habe ich die E-Mailadresse des Programmierers (M.Christl) nicht, sonst hätte ich ihn direkt auch
diesbezüglich gefragt.
Schicke auch gerne den erfassten Quellcode zu, falls ich das überhaupt darf. Aber ich denke, da das Programm
in dem Buch veröffentlich wurde, darf man es auch benutzen.
VG
Franz
Hallo Franz,
ohne den Quellcode ist es nicht so einfach, den Fehler einzugrenzen. Ich wage trotzdem mal eine Hypothese: Irgendwo in Deinem Assembler Programm steht ja vermutlich eine Zeile wie
.include "C:\........\AVR Tools\AvrAssembler2\Appnotes\tn2313def.inc" (in diesem Fall also die Definitionsdatei für den Attiny2313).
Jetzt kommt es durchaus vor, dass ATMEL die Namen von Adressen und Konstanten umbenennt, so dass der in Deinem Beispielprogramm benutzte Name einer Konstante nicht identisch ist mit dem Namen in der Definitionsdatei. Du kannst die Definitionsdatei im Assembler-Quelltext über die rechte Maustaste anklicken und öffnen, um das nachzuprüfen. Manchmal habe ich die Namen in der Definitionsdatei geändert; manchmal ändere ich die Konstanten im Quelltext, damit sie den Namen in der neuestes Version der Definitionsdatei entsprechen .... ATMEL achtet da nicht besonders auf Rückwärtskompatibilität.
Vielleicht stimmt ja meine Vermutung - sonst poste einfach mal ein paar Zeilen mit Fehlern (unter Angabe des verwendeten Chips).
Viel Erfolg!
Fred
#3 RE: Einstieg in die Mikrocontrollertechnik
danke für Deine PN. Damit andere evtl. auch etwas davon haben, hier als Posting weiter.
In Deinen Sprungvektoren steht:
--------------------------
.include "tn15def.inc"
.cseg
.org 0
rjmp RESET
rjmp EXT_INT
rjmp PCINTaddr
rjmp T1COMPaddr
rjmp OVF1addr
rjmp TO_OVF
rjmp EERDYaddr
rjmp ACIaddr
rjmp ADCCaddr
; hier geht's richtig los:
RESET:
--------------------------
Allerdings hast Du längst nicht alle dieser Werte definiert! Wenn Du die obigen Zeilen einfach folgendermaßen änderst, müsste der Assembler es formell fressen (d.h. allerdings noch nicht, dass sonst im Programm alles OK ist), da dann keine Konstanten mehr undefiniert sind:
--------------------------
.org 0
rjmp RESET
nop
nop
nop
nop
rjmp TO_OVF
nop
rjmp ACIaddr
rjmp ADCCaddr
--------------------------
Identisch, aber formell etwas "schöner" wäre:
--------------------------
.org 0
rjmp RESET
.org 5
rjmp TO_OVF
.org 7
rjmp ACIaddr
rjmp ADCCaddr
--------------------------
Viel Spaß und Erfolg!
Fred
PS:
ACIaddr z.B. ist in der ATMEL Defintionsdatei angegeben. Wenn Du diese Adresse benutzen willst, müsste es eher heißen:
.org ACIaddr
rjmp ADRESSE_AN_DER_MEINE_ANALOG_KOMPARATOR_ROUTINE_STEHT
irgendwo gefolgt von:
ADRESSE_AN_DER_MEINE_ANALOG_KOMPARATOR_ROUTINE_STEHT:
; ein bisschen Analog-Komparator-Bearbeitung
reti ; wie kehren von einem Interrupt zurück!
Es sieht also sehr danach aus, als ob Du zusätzlich zu den formellen Fehlern noch ein paar logische "Würmer" im Programm hast. Berichte mal, wie Du weiterkommst; ich versuche gerne, Die hier weiterzuhelfen.
- Rund um das Forum
- Mikromodellbau Magazin
- Nettiquette
- Änderungen im Forum
- Vorstellungen der Mitglieder
- Testbereich
- Einsteiger
- Grundlagen
- Probleme
- Tipps & Tricks für Einsteiger
- Fahrzeuge in 1:87 - 1:220
- Bike, Trike, Quad
- Baumaschinen
- Lieferwagen
- PKWs
- PKW Rennwagen
- LKWs
- Race Trucks
- Einsatzfahrzeuge
- sonstige Fahrzeuge
- Modellbahnen
- Schiffsmodelle
- Arbeitsschiffe
- Fähren
- Schlepper
- sonstige Schiffe
- U - Boote
- Eigenbauten
- Umbauten
- Tipps & Tricks
- Probleme
- Luftfahrt
- Flugzeuge
- Hubschrauber
- Luftschiffe
- Module
- Trial Module
- Straßenmodule
- Ortsfeste Funktionsmodelle ( Kräne, Silos u.a. )
- Tipps & Tricks zum Modulbau
- Modellbahn
- Zubehör
- Fernsteuerungen
- Ladegeräte
- Empfänger, Servos, Multiswitch
- Car System
- Eigenbauten & Umbauten
- Infracar
- DC Car
- Probleme
- Elektronik
- Bootloader System von Mikroantriebe
- Grundlagen
- Probleme
- Tipps & Tricks
- Deltang Empfänger DSM2 & DSMX
- Mechanik
- Eigenbauten
- Probleme
- Maschinen, Werkzeuge und Zubehör
- Tipps & Tricks
- Programmierung ( AVR, PIC ... )
- Harrys Modellbau Tinys
- Projekte
- Probleme
- Programme zum Download
- Bascom
- Bascom - Unser Einsteigerkurs
- 3D - Druck
- 3D Drucker
- Software zur Konstruktion, sowie zum Druck
- Projekte
- Kostenlose 3D Modelle zum Download
- Ätzen
- Ätztechnik
- Platinen Ätzen
- Bleche Ätzen
- Vorlagen Downloads
- Probleme
- Termine
- Ausstellungen
- Messen
- Treffen
- Online Stammtisch (Google Hangout)
- Suche
- Modelle
- Zubehör
- Sonstiges
- Biete
- Modelle und Bausätze
- Zubehör
- Sonstiges
- Dies & Das
- Lackierungen
- Alles was nichts mit Mikromodellbau zu tun hat
- Euer Arbeitsbereich
- Links
- Diverses
- Händler für Zubehör
- Private Homepages
Jetzt anmelden!
Jetzt registrieren!
Forenspende
|
Wir hoffen, dass dir unser Forum gefällt und du dich hier genauso wohlfühlst wie wir. Wenn du uns bei der Erhaltung des Forums unterstützen möchtest, kannst du mit Hilfe einer kleinen Spende dazu beitragen, den weiteren Betrieb zu finanzieren. Deine Spende hilft! Spendenziel: 346€
101%
|
