-
Thread
String via Usart senden (Xmega)
gelade wird, der ist aber dort. Das habe ich mit dem Simulator getestet, der String liegt an Adresse 0x2000, hier fängt beim Xmega das SRAM an. Das erste Byte, welches in das Usart-Datenregister kopiert wird, ist das "H" ... kommt mir irgendwie unheimlich vor :-D Ich werde das alles auch noch mal mit
-
Thread
ATxmega16a4 und Bootloader
angepasst - Taster Port/Pin angepasst - Flash Adresse .text in den memory Settings von 0x10000 auf 0x2000 geändert - Die Signature Bytes angepasst Danach hat das beiliegende Programm (baudrate auf 19200 geändert) auch eine Kommunikation aufgebaut, bricht dann aber später mit folgender Meldung ab
-
Thread
Auslesen der CAN-Datenbytes direkt im Interrupthandler ?
get Acceptance Mask ----------------------------------------- if(((CAN_HWOBJ[ubObjNr].uwMOARH & 0x2000) == 0) && (CAN_HWOBJ[ubObjNr].uwMOAMRH & 0x2000)) // if IDE = 0 & MIDE = 1 { pstObj->ulMask = (CAN_HWOBJ[ubObjNr].uwMOAMRH & 0x1FFF) >> 2; } else { pstObj->ulMask = (((ulong
----------------------------------- pstObj->ubMOCfg |= (ubyte)((CAN_HWOBJ[ubObjNr].uwMOAMRH & 0x2000) >> 7); // set MIDE //----- get Frame Counter Value --------------------------------------- pstObj->uwCounter = CAN_HWOBJ[ubObjNr].uwMOIPRH; } // End of function CAN_vGetMsgObj
-
Thread
Linux: Hex-File erstellen?
11kB groß geworden! Es gibt einen wrap-around, weil der ATmega nur 8k Flash hat. Somit wird Byte 0x2000 an Adresse 0 geschieben usw. Beim Auslesen ergibt sich dann ein Fehler.
-
Thread
[MSP430] Struct Daten auf FLASH Speicher dauerhaft sichern
Gut, geht jetzt wohl. Ich habe einfach den Speicherbereich ab 0x2000 anfangen lassen, ist ja massig Platz im Flash, wahrscheinlich ist da ein teil kaput gegangen, auf jedenfall geht es jetzt, werde es morgen noch bis zum exess Testen, auch mal mit anderer Hardware.
-
Thread
size und objdump Unterschiede (SPARC)
. */ . = ALIGN (0x10000) - ((0x10000 - .) & (0x10000 - 1)); . = DATA_SEGMENT_ALIGN (0x10000, 0x2000); /* Ensure the __preinit_array_start label is properly aligned. We could instead move the label definition inside the section, but the linker would then create the section even if
-
Thread
Speicherbereich der Variablen beim PIC18F2550: wohin damit?
Tool (Assembler) je nachdem, in welche Variable Du die Konstante schreiben willst mal 0x20, mal 0x2000 oder mal 0x20000000 daraus macht erhöht das die Fehlerwahrscheinlichkeit enorm. Darum bin ich mir auch relativ sicher, dass diese obskure Sonderregel nur für Addressen gilt und nicht für sonstige Arithmetik
-
Thread
7026 50-100% PWM ausgeben
ermöglichen PWMCON = 0x0001; // PWM generell ermöglichen PWMDAT0 = 0x2000; // Periodendauer PWMDAT1 = 0x00; // Totzeit 0 (muss gesetzt werden) PWMDAT2 = 0x00; // Pulsbreite PWMCFG = 0x00; // Chop auf 0 PWMEN = 0x12F; // 0 bis 50% auf port
-
Thread
3 CMOS Sensoren an einem FPGA + MJPEG oder H.264
Pocket DV Camcordern erzählst die gerade mal 1280x720 schaffen (5M Pixel wären ja was um die 2500x2000 Pixel und das mal 3 ;) ) glaub ich das eher nicht?
-
Thread
Fertiger Experimentierkasten oder selber Bauteile beschaffen?
Schaltungen übergegangen und habe die Versuche gar nicht mehr gemacht. Das Anleitungsbuch zum X1000 - X2000 ist zwar recht unterhaltsam gewesen, hat aber leider nicht alles komplett erklärt. So ist das Verstärkermodul für mich lange eine Blackbox geblieben. Wenn es auch faszinierend ist, was man damit alles
-
Thread
eZdspF28335 SPI
McbspbRegs.RCR1.bit.RWDLEN1=2; McbspbRegs.XCR1.bit.XWDLEN1=2; McbspbRegs.SRGR2.all=0x2000; McbspbRegs.SRGR1.all= 0x000F; McbspbRegs.SPCR2.bit.GRST=1; delay_loop(); // Wait at least 2 SRG clock cycles McbspbRegs.SPCR2.bit.XRST
McbspaRegs.RCR1.bit.RWDLEN1=2; McbspaRegs.XCR1.bit.XWDLEN1=2; McbspaRegs.SRGR2.all=0x2000; McbspaRegs.SRGR1.all= 0x000F; McbspaRegs.SPCR2.bit.GRST=1; delay_loop(); McbspaRegs.SPCR2.bit.XRST=1; // Release TX from
-
Thread
Umschaltung Akku/Netz mit Ladeschaltung
kann man bis Kapazität/10 hochgehen. Das Netzteil muss den Strom natürlich auch bringen. Bei 2x 2000mAh -> 400mA + deine Schaltung
-
Thread
Wo bekommt man so einen Entstörfilter?
liegen und die 2x2000 pF parallel geschaltet sind?
-------+-----------o grün 0,06 µF PE o---------------------------o gelb/grün 2x2000 pF [/pre] Sehe ich das richtig, daß da intern jeweils 2000 pF von Netz (grün und schwarz) gegen PE verschaltet sind, die 0,02 µF rot/grün gegen schwarz und die 0,06 µF grün auch gegen schwarz?
-
Thread
dpi angabe bei bildern
> > a) Das Bild hat 3000x2000 Pixel > > Bei der Angabe hab ich aber keine Möglichkeit wieder auf die 15x10xm zu > kommen ohne die DPI Anzahl zu kennen... Aber ja doch. Die dpi-Zahl berechnet sich als Quotient aus Größe und
und > Pixelzahl. Wie groß ist denn eines der 3000x2000 Pixel des Bildes auf dem Drucker?
-
Thread
avr-gcc: Array an 256 Byte ausrichten?
Linker-Script wuerde ich mir gerne ersparen): [pre]LDFLAGS += [...] -Wl,--section-start=.bigalign=0x2000[/pre] Im Map File steht nun das am Ende: [pre].bigalign 0x00002000 0x800 .bigalign 0x00002000 0x800 font.o 0x00002000 font[/pre] Ich
Compiler zur Compilezeit. Die Lösung mit der Kommandozeile -Wl,--section-start=.bigalign=0x2000 ist hölzern (weil an bestimmten AVR gebunden) aber übersichtlich. Die Angabe 0x2000 ist dabei gcc-typisch eine Byteadresse. Es geht auch eleganter über ein _zusätzliches_ Linkerskript:
-
Thread
JTAG-Debugging mit AduC7020 im ROM
the entire SRAM as working area $_TARGETNAME configure -work-area-phys 0x10000 -work-area-size 0x2000 ## flash configuration # only target number is needed flash bank aduc702x 0x80000 0xf800 0 0 ## If you use the watchdog, the following code makes sure that the board ## doesn't reboot when
-
Thread
ARM7: RAM Run einstellen - wie?
PowerUp auch gleichzeitig auf Adresse 0x0000 0000 "gemapt". Das RAM befindet sich auf der Adresse 0x2000 0000. Nach dem Remap Befehl (ist ein einfacher toggle) wird die Adresse vom RAM auf die Adresse 0x0000 0000 "gemapt". Somit steht dann ein RAM an Adresse 0x0000 0000 zur Verfügung. Sinn macht der
-
Thread
Keil ; ARM; LPC; PC Program Counter setzen
Funtionsteile voneinander gekapselt (der spätere Bootloader liegt in den ersten beiden Sektoren 0x0000 - 0x2000 und die Applikationssoftware liegt ab Adresse 0x2000). Ich will die Programme erst später auftrennen, aber auch dann muss ich vom Flashbooter auf eine definierte Adresse (in meinem Fall 0x2000) springen
Naheliegend: typedef void (*fcn_ptr)(void); fcn_ptr application = (fcn_ptr)0x2000; application();
-
Thread
Load geht nicht mit neuem OpenOCD
7 off flash protect 1 0 1 off } $_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x2000C000 -work-area-size 0x4000 -work-area-backup 0 #flash bank str7x <base> <size> 0 0 <target#> <variant> flash bank str7x 0x40000000 0x00040000 0 0 0 STR71x flash bank str7x 0x400C0000 0x00004000
-
Thread
Insight Debug-Problem mit ARM LPC2103
arm7tdmi-s_r4 $_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x40000000 -work-area-size 0x2000 -work-area-backup 0 flash bank lpc2000 0x0 0x8000 0 0 0 lpc2000_v2 13506 calc_checksum Gruß Robert
-
Thread
Versionsstand der SW im Flash ablegen
Byteadressen!). Bei einem ATMega8 z.B. sind es 8KB = 8192 Bytes. In hexadezimaler Schreibweise sind das 0x2000 Bytes. Auch wenn Du links noch mehr Nullen davorhängst, und z.B. 0x0002000 schreibst, sind es immer noch nur 8192 Bytes. Du hast in deinem Makefile 0x000BC000 angegeben. Das sind 770048 Bytes = 752KB
-
Thread
ARM7 heap in anderen Speicherbereich legen
Anfang und Ende des heaps absolut festlegen --defsym=__heap_start = 0x1000 --defsym=__heap_end = 0x2000 Mehr noch man kann sogar explizit den malloc Bereich definieren: __malloc_heap_start __malloc_heap_end Funktioniert das auch beim arm-elf-gcc, oder irgendwas anderes mit vergleichbarem Resultat
-
Thread
CNC Kreis mit konstanter Geschwindigkeit fahren
Also 5,82 gleich +8% Fehler. Bei 100x/200y wäre der unterschied 241/223,6 (+7,8%). Bei bei 1000x/2000y wäre der Fehler ähnlich 2410/2236. Also durchaus machbar.
-
Thread
Probleme mit dem Remap Befehl beim AT91SAM7X mit RTOS
gesamten Code aus dem Flash in den RAM und setzte dann das Remap Bit. memcpy(0x00200000,0x00100000,0x2000); AT91C_BASE_MC->MC_RCR = AT91C_MC_RCB; Das ganze mache ich in der LowLevelInit.c, welche nach den Befehlen mit dem Wort SECTION ausgeführt wird (siehe unten). Von den Speicherbereichen passt
Code aus dem Flash in den RAM und setzte dann das Remap Bit. > > memcpy(0x00200000,0x00100000,0x2000); > AT91C_BASE_MC->MC_RCR = AT91C_MC_RCB; Dem Linker wurde nicht mitgeteilt, dass ein Teil der RAM-Bereichs für Code genutzt werden soll. Wenn man alle sections in die RAM region linkt, sollte
-
Thread
Rudimentäres Event System für AVR
, 0x0080, .... 0x1000, 0x2000, 0x4000, 0x8000 ); if ( EventFlagBuffer & pgm_read_word(au8Maske[i]) ) ... [/c]
-
Thread
Pullup an 3,3V oder 5V?
Trink weniger Tee und benutze keinen Fön. 6min x 2000W = 75kWh pro Jahr.
-
Thread
Xmega 128A1 ADC erreicht nie 0
; hier weiß ich nicht genau ob das 8 Bit Ergebniss im H oder L Register zu finden ist sts 0x2000,temp sts PortC_out,temp pop temp sts CPU_SREG,SREG_sich reti
-
Thread
NGW100 RS232
hComPort = open (DEV_COM1, O_RDWR | O_NOCTTY | O_NONBLOCK); fcntl(hComPort, F_SETFL, 0x2000); if (hComPort == -1) { printf ("Error. Can t open serial port\r\n"); return (0); } // get the current serial settings... tcgetattr (hComPort, &oldtio); /
-
Thread
AtxMEga EBI benutzen.
//memory usage: 0x0000 - 0x0FFF internal I/O stuff // 0x1000 - 0x1FFF EEPROM // 0x2000 - 0x3FFF internal SRAM // **GAP** // 0x6000 - 0x6FFF FPGA, CS0 area #define MEM_ADDR 0x6000 #define MEM(addr) ((uint8_t *) MEM_ADDR)[addr] ... PORTH.OUT = 0xFB; // active
-
Thread
Wie funktioniert der DMA am Xmega
ich versuche Krampfhaft die Ergebnisse einer 3 Kanal AD-Wandlung per DMA in den RAM ab Adresse ab 0x2000 zu schreiben ich möchte das nicht per Interrupt erledigen sondern per DMA wenn die Wandlung beendet ist. Ich habe zum ersten mal was mit einem DMA zu tun und weiß auch das ich Adressen vorgeben muss
greife hier direkt auf das Result Register CH0 des AD Wandlers zu und schiebe das in den Ram ab 0x2000. 4. Enable DMA Kanal 0 Jetzt eine Frage Das Enable Kanal 0 Bit wird nach jeder Übertragung ausgeschalten soll das so sein denn die Triggerquelle ist der AD Wandler B. Ich dachte ich kann das automatisch
-
Thread
Deklarieren von Konstanten
follows: * * * * * * Alarm Bits * * * * * 0x8000 OVER_CHARGED_ALARM 0x4000 TERMINATE_CHARGE_ALARM 0x2000 Reserved 0x1000 OVER_TEMP_ALARM 0x0800 TERMINATE_DISCHARGE_ALARM 0x0400 Reserved 0x0200 REMAINING_CAPACITY_ALARM Könnt ihr damit irgendwas anfangen?