-
Thread
Motorola 68k
#include <stdio.h> #include <target.h> int main(viod) { int hz1; INTERN.tpu.tmcr = 0x2000; INTERN.tpu.cfsr2 |=8: // DIO Funktion INTERN.tpu.c[4].p[0] = 0x0f; // Eingabe INTERN.tpu.cpr1 |=0x200; // mitlere Priorität INTERN.tpu.hsrr1 |=300; // initialisieren INTERN.tpu.hsqr1
-
Thread
Harvard vs. Von Neumann Gesperrt
0x0-0x1fff Flash Daten-Raum: 0x0-0xff RAM Dagegen bei v. Neumann: 0x0- 0x1fff Flash 0x2000-0x20ff RAM Daher kommt dir oben angesprochene Notwendigkeit für verschiedene Befehle bei Harvard (je nachdem woher gelesen werden soll). Zur Performance: Bei denn schnellen, "grossen" uCs mit
-
Thread
W3100A - Speicheraufteilung
und empfangen will wieso ist dann in den abgebildeten Diagrammen sowohl der sende buffer von 0 bis 0x2000 als auch der Empfangsbuffer von 0 bis 0x2000 und wieso sieht das in der Speicherübersicht ganz anders aus ?? ist es richtig das bei der TCP Initialisierung ich die Pointerregister mit folgenden
-
Thread
MegaLoad für avr-gcc
Recht. Wegen 0x1E00: - Der Linker den Offset in Bytes erwartet, nicht als Worte. 8 kBytes = 0x2000 Bytes. 256 Worte = 512 Bytes = 0x200 Bytes. 0x2000 - 0x200 = 0x1E00; Also liegt der Bootloader auf 0x1E00, logisch ;)
-
Thread
Frage zu "sections" im ext. memory
externem SRAM scheinen relativ erfolglos zu sein. Angenommen, das externe SRAM liegt ab Adresse 0x2000 (0x802000 für den Linker). Ich möchte gleich zu Anfang des externen SRAMs eine section "bekannt machen". Dazu habe ich folgende Zeile im Makefile ergänzt: LDFLAGS += -Wl,--section-start=.extmem=
-
Thread
linker: symbol referencing errors
RW) : origin = 0x000400, length = 0x400 PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000 } SECTIONS { /* 22-bit program sections */ .reset : > RESET, PAGE = 0, TYPE = DSECT .pinit : > PROG, PAGE = 0 .cinit : > PROG, PAGE = 0 .text : > PROG, PAGE =
RW) : origin = 0x000400, length = 0x400 PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000 } SECTIONS { /* 22-bit program sections */ .reset : > RESET, PAGE = 0, TYPE = DSECT .pinit : > PROG, PAGE = 0 .cinit : > PROG, PAGE = 0 .text : > PROG, PAGE =
-
Thread
Feste Speicheradressen mit WinAVR und AVRStudio
definiert. Dem Linker muss man dann die Section my_section mit --change-section-address=.my_section=0x2000 bekannt machen (hier: feste Adresse 200hex). Leider funktioniert dieses Vorgehen nicht mit AVRStudio (getestet mit den Versionen 4.09 und 4.10 sowohl mit extcoff als auch mit dwarf-2). Die neu
-
Thread
AVR Ethernet Platine
Config-Byte im CPLD umschaltbar machen. Alles andere (RTL, FTDI, CPLD-Config Byte(s)) wird dann ab 0x2000 in 256 Byte großen Fenstern eingeblendet. So spart man sich das TTL-Grab für die Adressdekodierung und es bleiben noch ein paar Pins und Makro-Zellen für extra Hardware im CPLD frei. Ich denke da
Config-Byte im CPLD umschaltbar machen. Alles andere (RTL, FTDI, > CPLD-Config Byte(s)) wird dann ab 0x2000 in 256 Byte großen Fenstern > eingeblendet. So ähnlich geht der obige MMB Source vor. Wenn ich Guido aber richtig verstanden habe so möchte er das Memory Mapping unterhalb 0xFFFF haben. >So
-
Thread
Einstellung unter ICC12 für Motorola HC912DG128A???
habe die einstellungen gefunden: "custom" Program Memory: 0x4000 Data Memory: 0x2000 Stack Pointer: 0x4000
-
Thread
Keils uVision2
beispielsweise den Code-Bereich woanders hinzulegen, in der Zeile für Code: ?CO?programmname(0x2000) eingeben, um den Code-Speicher ab 0x2000 anfangen zu lassen. Alle mit code gekennzeichneten Variablen werden dann ab dieser Adresse angefangen abgelegt.
-
Thread
Absolute Speicheradressierung in C
Was passiert, wenn da folgendes hingeschrieben wird? code unsigned int max_drehzahl _at_ 0x2000 = 0x1234; (wäre irgendwie naheliegend, oder?)
; definieren -In den Linker-Optionen BL51Locate in die Zeile für Code: ?CO?programmname(0x2000) Denn werden alle mit code definierten Variablen der Reihe nach ab 0x2000 abgelegt. Aber ich hätte das gerne so gehabt, dass ich jeder Variablen explizit den Speicherplatz zuweisen kann wie mit
-
Thread
Was _genau_ macht wrap relative jump?
jump" ausschließlich bei AVRs mit 8kB Flash. Der Assembler denkt dann, daß die Adresse 0x0000 an 0x2000 gespiegelt wird usw. Peter
-
Thread
externes SRAM
also im internen RAM), so funktioniert das ganze. Stelle ich sie auf das externe RAM um (z.b. 0x2000) kommt nicht der gewünschte Wert zurück - sondern irgend ein anderen (nicht aus dem RAM - das ich bis auf die obere Adresse leer). Mit dem Oszi hab ich schon Aktivität gemessen ... Also funktionieren
-
Thread
Problem mit Timer und Input Capture
meine ich, komplett durchlaufen lassen, kein CTC, kein stoppen, kein reset. Bsp: 1.Messung :0x2000 2.Messung :0x3000 Differenz=0x1000, davon die Hälfte 0x800, also setzt du OCR auf 0x3800, da kommt dann der OCR-Int zwischen diesem und dem nächsten ICP-Ereignis (falls die Impulse halbwegs konstanten
Überlauf ist kein Problem: 1.Messung: 0xf000 2.Messung: 0x1000 Differenz (mit unsigned int!) =0x2000 und auch dann klappts: 1.Messung: 0xf000 2.Messung: 0xfff0 Differenz 0xff0, davon die Hälfte 0x7F8, addiert zu 0xfff0=0x07e8 als neuer OCR-Wert.
-
Thread
i2c Karte löschen
bin ich mir nicht. Aber manchmal löscht er die 64K Karte bis 0x4000 und eine anderes mal nur bis 0x2000 oder so.
-
Thread
Fernbedien RC5 Empfänger
cycle if( ++rc5_time > PULSE_MAX ){ // count pulse time if( !(tmp & 0x4000) && tmp & 0x2000 ) // only if 14 bits received rc5_data = tmp; tmp = 0; } if( (rc5_bit ^ xRC5_IN) & 1<<xRC5 ){ // change detect rc5_bit = ~rc5_bit; // 0x00 -> 0xFF -> 0x00
OVF_vect) wird gesprungen, aber rc5_data wird nie gültig. D.h. [c]if( !(tmp & 0x4000) && (tmp & 0x2000) ){ // only if 14 bits received rc5_data = tmp; [/c] wird nie erreicht. Hat jemand eine Idee? LG. moo
-
Thread
Laptop-TFT am PC Gesperrt
eventuell,nur rein zufällig,nurmal so angenommen sein das es Leute gibt die sich nicht unbedingt mit 6x2000W PMPO die Akustische Kugel geben müssen und einfach nur ihre Systemmeldungen bekommen wollen ? Kann es sein das es auch Leute gibt die an ihren Rechnern Arbeiten und damit wenig wert auf Kalngliche
-
Thread
SP14Q002-A1 aus eBay - Erfahrungsaustausch
vielleicht auf 2 seiten aufteilen :) mit bauanleitung für alle teile würde das ja noch ein 2500 x 2000 pixelbild. so bin müde genug .. schluss für heute
-
Thread
Temperaturmessung
auch kein Problem, wenn du die Berechnung mit unsigned int durchführst. t1 0xf000 t2 0x0000 t3 0x2000 kommt zum selben Ergebnis. Der Vorteil dieser Methode: die Zeiten werden unabhängig von Softwarelaufzeiten mit der max. möglichen Genauigkeit gemessen.