-
Thread
Kolibri OS, vergrößerung der Community. Programmierung mit C
auf 6 Disketten a 1,44MB. Die VGA-Grafik brauchte wohl nur eine Diskette - aber da war noch was mit gcc/gdb, das brauchte 4 Disketten. https://en.wikipedia.org/wiki/MuLinux
tatsächlich lausig bis garnicht dokumentiert ist, ist das Verhalten der Compiler bezüglich der Optimierung...
-
Thread
ARM7 Bit setzen mit Konstante oder Variable
Wen es interessiert Mein gcc macht aus den folgenden Anweisungen folgenden Code. [CODE] // gcc mit Optimierung auf Speed #define Mask #0x00000001 FIO0SET = 0x00000001; 0x000052C0 E3E03103 MVN R3,#0xC0000000
einfach mit Instruktionen zählen:). Wenn es aber so ist wie du schreibst, dann bekommt die Ausgabe des gcc doch wieder einen Sinn. Beste Grüsse Geri
-
Thread
24 bit - 3byte Variable in C
} MYTIME_T; MYTIME_T Times[100]; // 100 * 3Byte sizeof(Times) ist somit 300, zumindest mit GCC ;-)
MYTIME_T; > > MYTIME_T Times[100]; // 100 * 3Byte > > sizeof(Times) ist somit 300, zumindest mit GCC ;-) Ist ja hochinteressant. Vielen Dank.
-
Thread
Object Oriented Forth
Hab' vor Jahren mal eines für ein ST7735 1,8" TFT geschrieben. Hat einen Tag gedauert. Inklusive Optimierung.
Stackmaschinen mies aus. Der Punkt ist halt schlussendlich in der klassischen embedded Entwicklung der: GCC oder nicht GCC (oder dito LLVM). GCC ist aber klar auf Registermaschinen ausgelegt und 'kennt' die Forth-Denke nicht. Also bleibt praktisch gesehen Forth nur noch allenfalls fuer paralleles Multiprozessing
-
Thread
Ungenutzte Bibliotheksfunktionen aussortieren
der Thread https://www.mikrocontroller.net/topic/443383 macht mich ein wenig stuzig. Wenn eine Optimierung dazu führen *könnte*, dass ein leerer, von mir definierter Callback, einen Usercallback überschreibt dann ist das vollkommen inakzeptabel und der falsche weg. Und somit komme ich wieder zu Funktionszeigern
Da meine Funktionen leer sind, würde *__naked* sinn ergeben, aber das ist auf der x86 Architektur (gcc) scheinbar nicht definiert. Bliebe noch die Möglichkeit *__always_inline* Wie würdet ihr das Problem lösen?
-
Thread
Kann man prozessorinterne Datenregister benutzen?
Mach dir keine sorgen. Wenn es nur eine lokale Hilfsvariable ist, und du die Compilier-Optimierung nicht deaktiviert hast, wird der Compiler die Variable eh nur in einem Register anlegen.
>Kann man AVR-GCC benutzt von sich aus bevorzugt Register. Man sollte dem gcc in der Regel diese Freiheiten lassen, meist weiß er sehr gut was sinnvoll ist. Tatsächlich kann man irgendwie auch feste Register erzwingen
-
Thread
suche Kritik zum Programmierstil ;o)
wegoptimiert werden oder???? sollte das nicht 'volatile asm("nop")' sein??? ich sollte wieder mal die gcc docu mir zu gemüte führen ... 73 de oe6jwf
entsprechent volatile definieren oder, als schlechtere Variante, den asm volatile(" nop") einfügen. Optimierungen sind schon ein Fall für sich. Kann einen manchmal verzweifeln lassen. :-) ciao, Stefan.
-
Thread
Speicher voll durch Multiplikation
für AVR? (Linker Option: -lm), die ist für AVR optimirt und wesentlich schlanker als die generische GCC Math-Lib (welche unsinnigerweise meistens defaultmässig dazugelinkt wird)
fällt mir noch was ein. Nachdem der TO die Projekt Einstellungen anscheinend nicht kennt: Die Optimierung ist aber eingeschaltet?
-
Thread
Vergleich von signed und unsigned
int ist (egal ob signed oder unsigned) wird zu int. Das ist auch eines der Probleme, warum der gcc manchmal mit sanfter Gewalt zu Optimierungen gezwungen werden muss und sich als 'Universalcompiler' auf Byteebene manchmal schwer tut. Spezialcompiler für µC nehmen es mit dieser int-Promotion in manchen
Bei GCC nur wenn explizit gefordert mit -Wconversion. Weder -Wall noch -Wextra enthalten das.
-
Thread
GCC bei vielen Bitshiftingfunktionen sehr suboptimal?
arbeitet, aber ein weeeeenig kann ich ja wohl von ihm erwarten? Teilweise klappts ganz gut mit der Optimierung, aber eben an einigen Ecken und Kanten nicht. Ich benutze übrigens -Os als Optimierungsstufe. Vielen Dank, Matthias
etwas > mitdenken sollte :-) Allerdings. Aber mich wundert teilweise schon, wie intelligent der GCC doch ist. Der ersetzt mir doch tatsächlich eine Subtraktionsschleife durch einen Aufruf von _divmodqi4...
-
Thread
AVR-CC
4) Siehe http://www.mikrocontroller.net/avr-gcc-faq.htm Andreas
long long uint64_t; typedef int16_t intptr_t; typedef uint16_t uintptr_t; int ist also (bei avr-gcc) 16 bit breit, aber geht von -32768 bis +32767. Das müsste also ein unsigned int sein.
-
Thread
Einzelne Bit in Bitfeld in for Schleife ansprechen
wir hier C++ haben, könntest du auch den [] und = Operator überladen. Nur leider liefert der AVR-GCC ja die C++ stdlib nicht mit.
/articles/AVR-GCC-Codeoptimierung#Prinzipien_der_Optimierung [c] bool outputs[13]; // einfach, schnell, ein paar Bytes "verschwendet" uint16_t outputs; // Zugriff über Bitmasken, minimaler RAM-Bedarf, etwas
-
Thread
Detected loop counting up. Recommend loops count down as detecting zeros is easier
einzige Konsequenz ist, dass die Schleife pro Durchlauf einen Takt mehr benötigt. TI empfiehlt die Optimierung auf "-o2" zu setzen. http://processors.wiki.ti.com/index.php/Compiler/diagnostic_messages/MSP430/1544
unter Anwendung der Regeln von C rauskommen darf, darf er machen was er will. Wobei mit und ohne Optimierung auch verschiedene Ergebnisse rauskommen dürfen, wenn beide in diesem Sinn zulässig sind.
-
Thread
GCC Präprozessor soll Anzahl der Einsen in einem Byte ermitteln
Laufzeit fix ist. Dann verwende __builtin_popcount. Wenn der Wert zur Compilezeit bekannt ist, wertet GCC das aus und ersetzt es durch die entsprechende Konstante. Da Makro oben von A.K. müsste auch gehen; gcc sollte den entstehenden recht komplexen Ausdruck zu ner Konstanten falten (falls ihm nicht irgendwelche "Optimierungs-Kapriolen" zu Kopfe steigen). Johann
-
Thread
AVR Simulator mit grafischer Benutzeroberfläche für Linux
Mittlerweile kann das Programm auch die "elf"-Objektdateien, welche avr-gcc 4.9.2 erzeugt, einlesen und die Quelltext-Zeileninformationen aus den debug-daten verarbeiten. Das avr-gcc_sample ist das Testprojekt, welches mir zum Evaluieren dient. Es besteht aus einem "C"-Hauptteil
Hallo Ingo, habe mir gleich mal die "avr-gcc_sample.zip" gezogen. In dem c-Skript werden leider nur *.S-Dateien kompiliert und gelinkt: [code]#!/bin/bash # Assembling: main.S avr-gcc -c -mmcu=atmega8 -I. -x assembler-with-cpp -Wa,-adhlns
-
Thread
C++ Mc gcc Object löschen
nicht vollständig spezifiziert. Es wird aber in der Praxis nicht genutzt. Ist auch egal, denn der GCC für ESP kann das bestimmt nicht.
für > verschiedene MCUs zu analysieren: Mit objdump geht das auch lokal. Schalte mal die Optimierungen ein!
-
Thread
liB_AT91SAM7A3.h bläht binfile riesig auf
Hallo, ich benutze GCC 4.1.1 in der YAGARTO Zusammenstellung. damit programmiere ich einen ATMEL ATSAM7A3. ATMEL hat da einige Beispiele, und auch ne nette lib mit Systemfunktionen. lib_AT91SAM7A3.h Ich benutze keine
inline definiert und nun klappts auch mit dem Nachbarn. Hier noch was Lesestoff dazu : http://gcc.gnu.org/onlinedocs/gcc/Inline.html Gruß, Andreas
-
Thread
Datenrekorder auf SD-Karte mit mega88
FOR A PARTICULAR PURPOSE. Compiling C: ../../Logger/MrData/spi.c avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./../../Logger/MrData/spi.lst -std=gnu99
alle optimierungen abdrehen
-
Thread
Frage zu Rekursion und StackOverflow in C
Vor allem da die Funktion mit einem ordentlichen Compiler dank tail-recursion keinen Stack benötigt (gcc ab -O2 oder -Os.
Aufrufebene etwas Stack, so dass der bei zu großer Tiefe nicht mehr ausreicht (Sofern die Compiler-Optimierung das nicht auflöst).
-
Thread
XOR / pointer - Problem
seh ich auch so... avr-gcc (GCC) 4.2.2 (WinAVR 20071221) zumal es an anderer Stelle im programm funktioniert... [c] char S8_Box[] = { 0x28, 0x0C, 0x09, 0x39, 0x12, 0x16, 0x02, 0x1D}; [/c] macht was es soll...
. alles was ich bisher dazu > gelesen hatte war > http://www.roboternetz.de/wissen/index.php/Avr-gcc/Interna Vielleich hilft es, alles zu lesen, etwa den Abschnitt " Frühe Codeausführung vor main()" darin... http://www.roboternetz.de/wissen/index.php/Avr-gcc/Interna#Fr.C3.BChe_Codeausf.C3.BChrung_vor_main
-
Thread
Inline Funktionen die Xte
CALL aufgerufen werden würde). Mal findet man __inline__, dann inline, die einen sagen was von Optimierung O2 und wiederum der andere erzählt was von attributen, die das inlinen erzwingen. Alles habe ich in fast jeglicher Kombination ausprobiert. Meistens wird die Funktion aber immernoch mit CALL aufgerufen
vielleicht auch verstehen, wo sein Problem liegt. Ich würde mich freuen, wenn hier mal einer der GCC Spezies unter die Arme greifen könnte ;) Vielen Dank PS: Ich verwende den AVR-GCC
-
Thread
XMega Clksystem
Hallo Forum, ich benutze einen AtXMega128A1 Rev.H mit GCC 4.3.2 und Studio 4.17.666 Seit gestern versuche ich, nicht den internen 2MHz oder 32MHz RC Osc zu verwenden, sondern einen externen 16Mhz Oszillator. Ich brauche für Frequenzmessungen einen genaueren
Andere Initialisierungen: keine Chance, er springt immer auf den internen 2Mhz RC Osz. Verwendet AVR GCC 4.3.2 (WINAVR 2090313) mit allen untersch. Optimierungen auf XMega 128A1, BGA, Rev. H Gruß Helmut
-
Thread
Wie auf C-struct elemente in assembler function zugreifen
berechnen zu lassen und diese in ein "ldr" zu übergeben. Hier ein paar sehr hilfreiche Seiten bzgl. GCC Inline Assembly: http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html#ss5.3 http://www.ethernut.de/en/documents/arm-inline-asm.html http://hardwarebug.org/2010/07/06/arm-inline-asm-secrets/ GCC Inline Assembly korrekt zu verwenden ist etwas tricky, es gibt da diverse Fallen durch die Optimierung, zB wenn man sich temporäre- und Input-Register geben lässt und die sich überschneiden könnten.
-
Thread
arm-none-eabi-gcc: Verwendung von "immediate offset" erzwingen
RY, [RX, (1<<5 + 1<<2)] STR RZ [RX, (2<<5 + 2<<2)] STR RY, [RX, (3<<5 + 3<<2)] Bisher habe ich gcc aber nur bei Zugriffen wie RCC->CFG dazu gebracht, Zugriffe mit "immediate offset" zu generieren. Egal, wie ich den Zugriff formuliere, der Zugriff erfolgt ohne Offset uns sieht wie folgt aus MOV RY
, 0] MOV RX, LowWord(BBR + 3<<5 + 3<<2] MOVT RX, HighWord(BBR + 3<<5 + 3<<2] STR RY, [RX, 0] GCC ist gcc version 4.6.0 (GCC). Ist das ein Manko von GCC oder hat jemand andere Hinweise
-
Thread
überflüssiges extern?
verwenden. Was Prototypen betrifft, z.B. -Wstrict-protoypes -Wmissing-prototypes aktivieren falls GCC zum Einsatz kommt.
Funktionsdefinitionen. In C gibt es diese Möglichkeit allenfalls als Spracherweiterung, wie bspw. beim GCC.
-
Thread
ARM malloc / Heap - problem lpc2378
Codelesbarkeit. Hab auch nirgendwo ein funktionierendes malloc Beispielprojekt im Netz gefunden was auf GCC basiert...
Definitionen ersetzt usw. Kompiliert einwandfrei durch aber erzeugt mal eben 50kb neuen Code. Wieso der GCC den nicht benutzen Code nicht ausblendet weiss ich nicht. Optimierung geht wegen eines Bugs (laut Rowley FAQ) nicht, sonst sind meine ISRs futsch. Ich erhalte dann ständig die Fehlermeldung: Writeback
-
Thread
casting in C
in double gerechnet - was aber hier vermutlich keinen Unterschied macht, da es sich um Code für AVR-GCC zu handeln scheint.
". Hab ich ja geschrieben: Rolf M. schrieb im Beitrag #6158129: > Double kennt auch der avr-gcc. Aber es ist dort genauso klein wie float.
-
Thread
Arduino: Größe eines Pointers
Joachim B. schrieb im Beitrag #5605937: > habe gerade mal geschaut: > "A little more on the issue: GCC pointers - of all types - are only > 16-bits in length. ..." Aufpassen! Das ist eine Aussage über *diese eine* Implementierung mit dem Namen avr-gcc. Es ist keine allgemeingültige Aussage über gcc
support embedded processors" http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1275.pdf Beim AVR-GCC gibt es konform dazu 24-Bit Pointer, die Daten in sowohl ROM als auch RAM adressieren können. Ist natürlich zur Laufzeit etwas aufwändiger. https://gcc.gnu.org/onlinedocs/gcc-8.2.0/gcc/Named-Address-Spaces.html
-
Thread
USB Mass Storage + Virtual COM Port, SD Card als Bibliothek für "Arduino"-Ähnliche?
Tastern, UART basteln/zusammenklicken, d.h. in kürzester Zeit mit niedrigstem Aufwand und keinerlei Optimierung :-) Welche Hardware/IDE-Kombination (Arduino und Konsorten) bietet Bibliotheken zu diesem Zweck?
hab noch einige PIC18Fxx rumliegen, würde dir aber die PIC24/dsPIC empfehlen, da ist die Toolchain GCC basiert und die CPU ist deutlich stärker
-
Thread
AVR, Pointer auf Flash-Speicher per Assembler
>solche Tabellen immer in die untersten 64 kiB legt? Nein, EIN C-Compiler nicht, aber DER avr gcc. Will man mehr, muss man workarounden ;-) [[AVR-GCC-Tutorial]] -> Variablenzugriff >64kB
> Nein, EIN C-Compiler nicht, aber DER avr gcc. Will man mehr, muss man > workarounden ;-) > > AVR-GCC-Tutorial > > -> Variablenzugriff >64kB Hier wendet sich der Gast mit Grausen... Entschuldigen Sie die Störung, ich bleibe bei Assembler
-
Thread
SPI Compilerunterschiede
abe mal eine grundsätzliche Frage. Mein Problem ist, das ich ein Projekt erstellt habe mit dem avr-gcc (GCC) 3.6.?. Das gleiche versuche ich momentan mit dem avr-gcc (GCC) 4.2.2 zu kompilieren, aber es klappt nicht so ganz. Also es werden keine compiler errors generiert aber es scheint einen unterschied
dein SPI haben. Ich vermute du hast einen Fehler im Program (undefined behavior), der mit dem 3er GCC zufällig "das Richtige" macht. Oder du stolperst über anderes Timing durch geänderte Optimierung... Kompilier mal mit "-Wall -Werror" in den Compileroptionen. Wenn da keine Warnings mehr kommen
-
Thread
[ARM / Cortex-M0(+)] delay-Funktionen "avr-libc style"
das Ergebnis mit "inline": Danke fürs Testen! Ein bisschen mysteriös ist es schon, dass der GCC den Gleitkommaausdruck (wie er aus dem Präprozessor dann rausfällt) ohne Optimierung trotzdem zur Compilezeit ausrechnet, die inline-Funktion jedoch nicht. Naja, lässt sich dann wohl nicht ändern
nehmen. Ich hatte übrigens gar nicht damit gerechnet, dass der Compiler diese Ausdrücke ohne Optimierung jemals zur Compilezeit umsetzt, daher hatte ich den Fall „Optimierung ist aus“ gedanklich für so ein Vorhaben ausgeklammert. (Wer nicht optimiert, dem ist die Ausführungszeit ja sowieso egal
-
Thread
PGM_P Verwirrung
__attribute__((progmem)) in typedef wird nicht unterstützt in avr-gcc, es ist ein *nicht-dokumentiertes* Feature. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38342#c9 http://savannah.nongnu.org/bugs/?33716 Am besten verzichtest du auf das ganze prog_char, prog_void
PROMEM wie es im Compiler dokumentiert ist -- nämlich nur für Variablen im static Storage. http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html#Variable-Attributes
-
Thread
Zündkurve verstellen beim 2Takter
jede Umdrehung deinen Winkel individuell festlegen. Man könnte evtl. sogar eine automatische Optimierung nach Schema Klopfsensor anbringen (als "nicht-Bezin-Murkser" weiß ich nicht wie akut das bei nem 2 Takter is).
ich endlich mal auf einen gscheidn Link gestoßen: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR Und hab gleich meine erste Frage: Wie kann ich das TCCR auf Prescale 64 setzen? TCCR1 = ?? Lg
-
Thread
string buffer löschen
Parametern? Denn diese liegen auf dem Stack. Alle Variable global zu machen hat auch nachteile in der optimierung. Sollte man also nicht machen.
Variablen können in Registern gehalten werden, was >Geschwindigkeitsvorteile bringt. Da wir uns hier im GCC-Forum befinden, müsste der Compiler grundsätzlich von Registern ausgehen, heutzutage. Vor nicht alzu langer Zeit sah das anders aus.
-
Thread
Verständnisfrage ==
if( *p ) f( p ); } [/C] Wenn du nicht glaubst, dass sei eine Schleife, dass zieh es mal durch GCC.
Es bleibt eine Rekursion, auch wenn es einen Compiler gibt, der das im Zuge seiner Optimierung durch eine Schleife ersetzt.
-
Thread
Wie lange dauert ein Funktionsaufruf?
Oftmals spart das sogar Zeit. Einfach deshalb weil die Optimierung des Compilers mit kleinen Programmstücken besser klarkommt.
Funktion auslagerst und diese Funktion konsequenterweise als "static" deklarierst, dann wird zumindest GCC diesen ausgelagerten Code bei der Codeerzeugung gleich wieder einlagern und garkeine separate Funktion erzeugen.
-
Thread
Warum dauert Dateisuche eigentlich so lange?
lahmgelegt, keine Ahnung was das Filesystem da war. Bei mir (Win10) etwas läuft der clang-cl und der gcc Compiler im Vergleich zum MS cl deutlich langsamer (2-3x). Ich weiss aber, das der unter Linux deutlich schneller ist. Offensichtlich liegt es an irgendwelchen libc Optimierungen, die unter Windows
Dateien unter Windows zumindest nicht 100%ig. > Bei mir (Win10) etwas läuft der clang-cl und der gcc Compiler im > Vergleich zum MS cl deutlich langsamer (2-3x). Ich weiss aber, das der > unter Linux deutlich schneller ist. Offensichtlich liegt es an > irgendwelchen libc Optimierungen, die unter
-
Thread
Frage zu einer Codezeile in C
Timmo H. schrieb im Beitrag #4731155: > Tatsache... mein gcc schmeisst mit -Wall zwar kein Fehler aber das > Programm schmiert ab liegt aber mehr oder weniger an deinem System. Der Absturz kommt, weil der String in einer Read-Only-Page im Speicher liegt
Timmo H. schrieb im Beitrag #4731155: > Tatsache... mein gcc schmeisst mit -Wall zwar kein Fehler aber das > Programm schmiert ab Peter II schrieb im Beitrag #4731156: > liegt aber mehr oder weniger an deinem System. > > Der Absturz kommt, weil der String
-
Thread
AVR-GCC optimiert TIME & DATE weg
Die beiden unten stehenden Zeilen werden vom Compiler weggeputzt (Optimierung: Os). Es gibt keinen Bezug im Quelltext auf die Bezeichner s1 & s2. Das Schlüsselwort "volatile" hat keinen Einfluss. Wie kann ich den Compiler überreden TIME & DATE im Flash abzulegen? [C
Probiers mal hiermit: [c] #pragma GCC push_options #pragma GCC optimize ("O0") dein code #pragma GCC pop_options [/c] Aber ich muss OldMan eigentlich Recht geben...
-
Thread
Startup Code ohne Interruptvektoren
Zum Beispiel das Erkennen der Resetquelle, Schalten die Diagnose LED usw. Na ja, und was die Optimierung angeht: alle globalen Variablen sind in Registern gehalten, ich habe alle Optimierungsstufen des Compilers ausprobiert, der Code ist einfach geschrieben, damit der Compiler ihn gut versteht und
Also wenn ich http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/AVR-Options.html#AVR-Options richtig verstehe würde -mno-interrupts dafür sorgen dass keine Interrupt Tabelle generiert wird.
-
Thread
Warum signed int bei delay?
Wert nicht in signed int (bzw. int16_t) darstellen lässt, was hier durchaus der Fall sein kann. Der GCC liefert hier zwar das erwartete Ergebnis, sauberer ist es aber, sich gar nicht erst auf solche implementation-defined Features zu verlassen.
Abfrage erzeugen, ob bei d += TCNT1 ein Überlauf auftritt, und dann sofort zurückkehren. Geniale Optimierung, weil die Funktion dann in einigen Fällen schneller fertig wird...
-
Thread
Kleines Makro, inline asm so richtig?
ihr wisst ja selber was der compiler daraus macht... Ja, ein SBI - normalerweise. Hast du die Optimierung ausgeschaltet? Oder wofür soll das Makro sonst gut sein?
ne optimierung ist auf default 0s ((BYTE) |= (1<<(BIT)) daraus macht er mit sicherheit kein sbi... er setzt ne odermaske über ein geshiftetes bit, also minimum 2 befehle macht er daraus!
-
Thread
MPLAB IDE Lizenz Warnung
Machenschaften. Wie Lehrmann Michael auch schon aufführte werden bei der LITE-Version bestimmte OPtimierungen eingeschränkt. Falls jemand noch was Produktives weiß bitte posten, ansonsten wende ich mich mit meinem Problem mal an ein nicht so AVR-lastiges Forum. Gruß Michl
eine Möglichkeit, wie man an einen vollwertigen C30-Compiler kommen kann. Da der C30 Compiler ein GCC Compiler ist, gibts den Quellcode auf der Microchip-Seite frei zum Runterladen. Im Netzt gibts genug anleitungen, wie man den Quellcode compiliert (der muss vorher gepatcht werden). Microchip verlangt
-
Thread
Einstieg AT91SAM7S256 **gesuchteHeaderfiles**
eine vorkompilierte GNU-Toolchain mit etwas Zubehoer. Im Prinzip sollte man jeden Code fuer arm-elf-gcc damit uebersetzen koennen. - debuggen: Stichwort OpenOCD. Aktuelle Version nutzen, die in WinARM 20060606 ist inzwischen recht alt. Vgl. auch ww.yagarto.de Martin Thomas
erst aussah, die mmc Routinen die es bei Olimex zum Download gibt liessen sich auch sofort mit dem gcc übersetzen und liefen auf Anhieb (auch wenn nur low Level Block r/w). Die Hinweise zu OpenOCD habe ich inzwischen auch gefunden, das sehe ich mir auch mal an.
-
Thread
Syntaktische Analyse mit Flex/Bison
Karl heinz Buchegger schrieb im Beitrag #1694036: > Wenn nicht, hol dir die gcc-Sourcen Der nicht. Früher hatte GCC mal Bison verwendet, aber seit GCC wirklich brauchbare Fehlermeldungen bei syntaktischen Fehlern auswirft tut er das nicht mehr.
Beitrag #1694044: > Karl heinz Buchegger schrieb im Beitrag #1694036: > >> Wenn nicht, hol dir die gcc-Sourcen > > Der nicht. Früher hatte GCC mal Bison verwendet, aber seit GCC wirklich > brauchbare Fehlermeldungen bei syntaktischen Fehlern auswirft tut er das > nicht mehr. Ah. ok. Danke Hab
-
Thread
32Bit Zahl zusammensetzen
Auch wenn ich von den C-Experten gesteinigt werde: Ich verwende den GCC ausschließlich als AVR-GCC im AVR-Studio, und dort erzeugen die Casts mit Union genau den Code, den ich erwarte. Bei jeder anderen Lösung (sogar mit dem expliziten Typecast zu einem Array of unsigned
Also ich habe AVR-GCC genutzt. Wo erfahre ich denn etwas welchen endian meine Architektur hat?
-
Thread
Microchip Studio, XC8, AVR-GCC und Speicherbedarf
Meines Wissens nach fehlen bei der kostenlosen Version dem XC8-Compiler die Optimierungen. Oliver
Georg M. schrieb im Beitrag #7458501: > Für den AVR-GCC Compiler muss die Zeile > ... > ersetzt werden. Sollte aber gehen. https://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#gaea2b6be92ead4673bc487b271b7227fb
-
Thread
C++17, alignment-check template Interface reduzierbar?
Ich kann das ganze so noch nicht mal mit dem gcc9.2 auf einem x86-64 Rechner kompilieren. error: size of array is not an integral constant-expression char for_sizeof[(char *)&(TV::value.*MPtr) - (char *)&TV::value]; Ich würde dir aber aus
M.K. B. schrieb im Beitrag #6177085: > Ich kann das ganze so noch nicht mal mit dem gcc9.2 auf einem > x86-64 > Rechner kompilieren. > > error: size of array is not an integral constant-expression > char for_sizeof[(char *)&(TV::value.*MPtr) - (char *)&TV::value]; > > Ich würde