_LM_ 456 Napisano 7 kwietnia Udostępnij Napisano 7 kwietnia Taki prosty kod: #include <avr/io.h> #include <avr/pgmspace.h> const __flash char tab[] = "test"; int main(void) { for(;;); } Kompiluje się ekstra, ale w edytorze mam wciąż błąd składni który nawet nie jest opisany: Zaś konsolka jest czysta 22:01:15 **** Incremental Build of configuration Release for project constFlasz **** make all 'Building file: ../main.c' 'Invoking: AVR Compiler' avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c" 'Finished building: ../main.c' ' ' 'Building target: constFlasz.elf' 'Invoking: AVR C Linker' avr-gcc -Wl,-Map,constFlasz.map -mmcu=atmega16 -o "constFlasz.elf" ./main.o 'Finished building target: constFlasz.elf' ' ' 'Invoking: AVR Create Extended Listing' avr-objdump -h -S constFlasz.elf >"constFlasz.lss" 'Finished building: constFlasz.lss' ' ' 'Create Flash image (ihex format)' avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex constFlasz.elf "constFlasz.hex" 'Finished building: constFlasz.hex' ' ' 'Create eeprom image (ihex format)' avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex constFlasz.elf "constFlasz.eep" 'Finished building: constFlasz.eep' ' ' 'Invoking: Print Size' avr-size --format=avr --mcu=atmega16 constFlasz.elf AVR Memory Usage ---------------- Device: atmega16 Program: 114 bytes (0.7% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit) 'Finished building: sizedummy' ' ' 22:01:16 Build Finished. 0 errors, 0 warnings. (took 1s.344ms) Ma ktoś pomysł jak wyłączyć tego syntaxa? Cytuj Link to post Share on other sites
H1M4W4R1 561 7 kwietnia Udostępnij 7 kwietnia (edytowany) Nie mam Eclipse, ale może zadziała sztuczka z wirutalnymi makrami? Robisz makro, które rozwija się do czegoś, co w danym miejscu jest dozwolone, ale nie wpływa na kod. Umieszczasz je w specjalnym pliku nagłówkowym, co by móc je wyłączyć w kompilacji (oczywiście w IntelliSense musi działać). Wtedy IntelliSense powinien podłapać, że jest to makro i je rozwinąć, a kompilator zignorować i przetworzyć właściwy atrybut. Edytowano 8 kwietnia przez H1M4W4R1 Cytuj Link to post Share on other sites
BananWszyscy 47 7 kwietnia Udostępnij 7 kwietnia Też się chętnie dowiem jak przetłumaczyć eclipsowi, że _flash czy _memx czy cokolwiek dopisane jednak nie jest błędem składni Cytuj Link to post Share on other sites
_LM_ 456 8 kwietnia Autor tematu Udostępnij 8 kwietnia @BananWszyscy @H1M4W4R1 znalazłem https://www.elektroda.pl/rtvforum/viewtopic.php?p=14537733#gallery 1 Cytuj Link to post Share on other sites
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
_LM_ 456 10 kwietnia Autor tematu Udostępnij 10 kwietnia No to był ten moment że wiedziałem że gdzieś jest rozwiązanie ale nie mogłem skojarzyć gdzie. Niestety to wygenerowało mi inne problemy związane ze wskaźnikami we flash. Ale to jak już wyczerpią się wszystkie możliwości będę pytał. Cytuj Link to post Share on other sites
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!